TCP/IP Network Essentials

Similar documents
IP Basics Unix/IP Preparation Course June 29, 2010 Pago Pago, American Samoa

Networking Fundamentals

IPv4 exhaustion and Implications

TCP/IP and the OSI Model

Addressing and Routing

The Internet Protocol (IP)

Chapter 5 Network Layer

Vorlesung Kommunikationsnetze

Network Administra0on

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

LAN Setup Reflection

1/18/13. Network+ Guide to Networks 5 th Edition. Objectives. Chapter 10 In-Depth TCP/IP Networking

Networking Basics. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

Fundamentals of Computer Networking AE6382

Networks. an overview. dr. C. P. J. Koymans. Informatics Institute University of Amsterdam. February 4, 2008

Chapter 7. Local Area Network Communications Protocols

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

LAN Setup Reflection. Ask yourself some questions: o Does your VM have the correct IP? o Are you able to ping some locations, internal and external?

OSI Data Link & Network Layer

Linux System Administration

THE INTERNET PROTOCOL INTERFACES

Network Reference Models

The Internet Protocol

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

THE INTERNET PROTOCOL/1

Internet. Organization Addresses TCP/IP Protocol stack Forwarding. 1. Use of a globally unique address space based on Internet Addresses

Network+ Guide to Networks 5 th Edition. Chapter 10 In-Depth TCP/IP Networking

Computer Networking: A Top Down Approach Featuring the. Computer Networks with Internet Technology, William

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

TCP/IP Protocol Suite and IP Addressing

Introduction to Computer Networks. CS 166: Introduction to Computer Systems Security

Experimenting Internetworking using Linux Virtual Machines Part I

Agenda L2 versus L3 Switching IP Protocol, IP Addressing IP Forwarding ARP and ICMP IP Routing First Hop Redundancy

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

Objectives. Chapter 10. Upon completion you will be able to:

Computer Networks Security: intro. CS Computer Systems Security

Lab Using Wireshark to Examine Ethernet Frames

C18: Network Fundamentals and Reliable Sockets

OSI Data Link & Network Layer

Advanced Linux System Administra3on

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

CCNA Exploration Network Fundamentals. Chapter 06 Addressing the Network IPv4

Material for the Networking lab in EITF25 & EITF45

Communication Networks ( ) / Fall 2013 The Blavatnik School of Computer Science, Tel-Aviv University. Allon Wagner

OSI Data Link & Network Layer

Lab Using Wireshark to Examine Ethernet Frames

TCP/IP protocol suite

Chapter Motivation For Internetworking

Computer Networks. Lecture 9 Network and transport layers, IP, TCP, UDP protocols

IP: Addressing, ARP, Routing

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Computer Communication & Networks / Data Communication & Computer Networks Week # 03

Lab Exercise Sheet 2 (Sample Solution)

Introduction to TCP/IP

IT220 Network Standards & Protocols. Unit 8: Chapter 8 The Internet Protocol (IP)

Network+ Guide to Networks 6 th Edition. Chapter 9 In-Depth TCP/IP Networking

ROUTING INTRODUCTION TO IP, IP ROUTING PROTOCOLS AND PROXY ARP

TCP/IP. Model and Layers Bits and Number Bases IPv4 Addressing Subnetting Classless Interdomain Routing IPv6

Internet Addresses (You should read Chapter 4 in Forouzan)

Sirindhorn International Institute of Technology Thammasat University

Define TCP/IP and describe its advantages on Windows Describe how the TCP/IP protocol suite maps to a four-layer model

TCP /IP Fundamentals Mr. Cantu

Network Security. Introduction to networks. Radboud University, The Netherlands. Autumn 2015

Network Layer/IP Protocols

Copyleft 2005, Binnur Kurt. Objectives

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Chapter 19 Network Layer: Logical Addressing

Introduction Layer 3. IP-Header: and RFC-760 Addressing schemes Subnetting Routing. Layer 3 Solution in Trains

Networking Models OSI Model Created by International Organization Standardization

OSI Network Layer. Chapter 5

The Internet Protocol. IP Addresses Address Resolution Protocol: IP datagram format and forwarding: IP fragmentation and reassembly

( A ) 1. WAP is a (A) protocol (B) hardware (C) software (D) network architecture

CHAPTER-2 IP CONCEPTS

Network Architecture Models

CS 43: Computer Networks. 21: The Network Layer & IP November 7, 2018

CNBK Communications and Networks Lab Book: Purpose of Hardware and Protocols Associated with Networking Computer Systems

TCP/IP Fundamentals. Introduction. Practice Practice : Name. Date Period

Outline. IP Address. IP Address. The Internet Protocol. o Hostname & IP Address. o The Address

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Setting Up a Multihomed System

1. IPv6 is the latest version of the TCP/IP protocol. What are some of the important IPv6 requirements?

Network+ Guide to Networks, Seventh Edition Chapter 2, Solutions

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Networking Background

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

This tutorial will help you in understanding IPv4 and its associated terminologies along with appropriate references and examples.

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

Communication Systems DHCP

Subnet Masks. Address Boundaries. Address Assignment. Host. Net. Host. Subnet Mask. Non-contiguous masks. To Administrator. Outside the network

ICS 351: Networking Protocols

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

Chapter 6 Delivery and Routing of IP Packets

LAB THREE STATIC ROUTING

Chapter 18 and 22. IPv4 Address. Data Communications and Networking

The Network Layer. Internet solutions. Nixu Oy PL 21. (Mäkelänkatu 91) Helsinki, Finland. tel fax.

Chapter 6 Addressing the Network- IPv4

Unit C - Network Addressing Objectives Purpose of an IP Address and Subnet Mask Purpose of an IP Address and Subnet Mask

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

The Interconnection Structure of. The Internet. EECC694 - Shaaban

Transcription:

TCP/IP Network Essentials Linux System Administration and IP Services AfNOG 2012

Layers Complex problems can be solved using the common divide and conquer principle. In this case the internals of the Internet are divided into separate layers. Makes it easier to understand Developments in one layer need not require changes in another layer Easy formation (and quick testing of conformation to) standards Two main models of layers are used: OSI (Open Systems Interconnection) TCP/IP

OSI Model

OSI Conceptual model composed of seven layers, developed by the International Organization for Standardization (ISO) in 1984. Layer 7 Application (servers and clients etc web browsers, httpd) Layer 6 Presentation (file formats e.g pdf, ASCII, jpeg etc) Layer 5 Session (conversation initialisation, termination, ) Layer 4 Transport (inter host comm error correction, QOS) Layer 3 Network (routing path determination, IP[x] addresses etc) Layer 2 Data link (switching media acces, MAC addresses etc) Layer 1 Physical (signalling representation of binary digits) Acronym: All People Seem To Need Data Processing

TCP/IP Generally, TCP/IP (Transmission Control Protocol/ Internet Protocol) is described using three to five functional layers. We have chosen the common DoD reference model, which is also known as the Internet reference model. Process/Application Layer consists of applications and processes that use the network. Host-to-host transport layer provides end-to-end data delivery services. Internetwork layer defines the datagram and handles the routing of data. Network access layer consists of routines for accessing physical networks.

TCP/IP model the hourglass Browser MUA PING Video Player HTTP SMTP DNS RTSP TCP ICMP UDP 802.11 WiFi IP Ethernet PPP Air :) Copper Fiber Pigeons

TCP/IP model IPv4 and IPv6 Browser MUA PING Video Player HTTP SMTP DNS RTSP TCP ICMP UDP IPv4 IPv6 802.11 WiFi Ethernet PPP Air :) Copper Fiber Pigeons

OSI and TCP/IP

TCP/IP Protocol Suite

Encapsulation & Decapsulation Lower layers add headers (and sometimes trailers) to upper layers packets Application Data Transport Header Data Network Header Header Transport Packet Header Data Data Link Header Header Header Network Packet Header Data Trailer Trailer

Frame, Datagram, Segment, Packet Different names for packets at different layers Ethernet (link layer) frame IP (network layer) datagram TCP (transport layer) segment Terminology is not strictly followed we often just use the term packet at any layer

Summary Networking is a problem approached in layers. OSI Layers TCP/IP Layers Each layer adds headers to the packet of the previous layer as the data leaves the machine (encapsulation) and the reverse occurs on the receiving host (decapsulation)

So what is an IPv4 address anyway? 32 bit number (4 octet number) can be represented in lots of ways: 133 27 162 125 10000101 00011011 10100010 01111101 85 1B A2 7D

Calculating dec, hex, bin ipcalc is your friend - try: $ ipcalc 41.93.45.1 linux command line is your friend - try: $ echo 'ibase=10;obase=16;27' bc 1B $ echo 'ibase=10;obase=2;27' bc 11011 $ echo 'ibase=16;obase=a;1b' bc 27

More to the structure Hierarchical Division in IP Address: Network Part (Prefix) describes which network Host Part (Host Address) describes which host on that network 205. 154. 8 1 11001101 10011010 00001000 00000001 Network Mask Host Boundary can be anywhere used to be a multiple of 8 (/8, /16/, /24), but not usual today

Network Masks Network Masks help define which bits are used to describe the Network Part and which for hosts Different Representations: decimal dot notation: 255.255.224.0 (128+64+32 in byte 3) binary: 11111111 11111111 111 00000 00000000 hexadecimal: 0xFFFFE000 number of network bits: /19 (8 + 8 + 3) Binary AND of 32 bit IP address with 32 bit netmask yields network part of address

Sample Netmasks 137.158.128.0/17 (netmask 255.255.128.0) 1111 1111 1111 1111 1 000 0000 0000 0000 1000 1001 1001 1110 1 000 0000 0000 0000 198.134.0.0/16 (netmask 255.255.0.0) 1111 1111 1111 1111 0000 0000 0000 0000 1100 0110 1000 0110 0000 0000 0000 0000 205.37.193.128/26 (netmask 255.255.255.192) 1111 1111 1111 1111 1111 1111 11 00 0000 1100 1101 0010 0101 1100 0001 10 00 0000

Allocating IP addresses The subnet mask is used to define size of a network E.g a subnet mask of 255.255.255.0 or /24 implies 32-24=8 host bits 2^8 minus 2 = 254 possible hosts Similarly a subnet mask of 255.255.255.224 or /27 implies 32-27=5 host bits 2^5 minus 2 = 30 possible hosts

Special IP Addresses All 0 s in host part: Represents Network e.g. 193.0.0.0/24 e.g. 138.37.128.0/17 e.g. 192.168.2.128/25 (WHY?) All 1 s in host part: Broadcast (all hosts on net) e.g. 137.156.255.255 (137.156.0.0/16) e.g. 134.132.100.255 (134.132.100.0/24) e.g. 192.168.2.127/25 (192.168.2.0/25) (WHY?) 127.0.0.0/8: Loopback address (127.0.0.1) 0.0.0.0: Various special purposes (DHCP, etc.)

Networks super- and subnetting /24 /25 /25 /26 /26 /26 /26 /27 /27 /27 /27 /27 /27 /27 /27... By adding one bit to the netmask, we subdivide the network into two smaller networks. This is subnetting. i.e.: If one has a /26 network (32 26 = 6 => 2^6 => 64 addresses), that network can be subdivided into two subnets, using a /27 netmask, where the state of the last bit will determine which network we are addressing (32 27 = 5 => 2^5 => 32 addresses). This can be done recursively (/27 => 2 x /28 or 4 x /29, etc...). Example: 192.168.10.0/25 (.0 -.127) can be subnetted into 192.168.10.0 / 26 and 192.168.10.64 / 26

Networks super- and subnetting /26 Inversely, if two networks can be joined together under the same netmask, which encompasses both networks, then we are supernetting. /25 Example: /26 /26 /26 /25 /24 Networks 10.254.4.0/24 and 10.254.5.0/24 can be joined together into one network expressed: 10.254.4.0/23. Note: for this to be possible, the networks must be contiguous, i.e. it is not possible to supernet 10.254.5.0/24 and 10.254.6.0/24

Numbering Rules Private IP address ranges (RFC 1918) 10/8 (10.0.0.0 10.255.255.255) 192.168/16 (192.168.0.0 192.168.255.255) 172.16/12 (172.16.0.0 172.31.255.255) Public Address space available from AfriNIC Choose a small block from whatever range you have, and subnet your networks (to avoid problems with broadcasts, and implement segmentation policies DMZ, internal, etc...)

Network related settings Files /etc/network/interfaces /etc/hosts /etc/resolv.conf Commands # ifconfig eth0 10.10.0.X/24 # route add default gw 10.10.0.254 # hostname pcx.ws.nsrc.org

Network related settings Files /etc/network/interfaces excerpt: auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 41.93.45.101 gateway 41.93.45.1 netmask 255.255.255.0 /etc/resolv.conf - example: domain mydomain.org search mydomain.org nameserver 41.93.45.3

Network related settings Commands Modern Linux distributions are in the process of deprecating ifconfig and route one new command does it all: #ip Try #ip addr show #ip route show #ip addr add 10.10.10.10 eth0 #ip route add default... For details: #man ip

Routing Every host on the internet needs a way to get packets to other hosts outside its local network. This requires special hosts called routers that can move packets between networks. Packets may pass through many routers before they reach their destinations.

The route table All hosts (including routers) have a route table that specifies which networks it is connected to, and how to forward packets to a gateway router that can talk to other networks. Linux routing table from netstat rn46 Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 128.223.157.1 0.0.0.0 UG 0 0 0 eth0 128.223.157.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0 Kernel IPv6 routing table Destination Next Hop Flag Met Ref Use If 2001:468:d01:103::/64 :: UAe 256 0 0 eth0 fe80::/64 :: U 256 0 0 eth0 ::/0 fe80::2d0:1ff:fe95:e000 UGDAe 1024 0 0 eth0 ::/0 ::!n -1 1 7 lo ::1/128 :: Un 0 1 1125 lo 2001:468:d01:103:3d8c:b867:f16d:efed/128 :: Un 0 1 0 lo 2001:468:d01:103:a800:ff:fe9c:4089/128 :: Un 0 1 0 lo fe80::a800:ff:fe9c:4089/128 :: Un 0 1 0 lo ff00::/8 :: U 256 0 0 eth0 ::/0 ::!n -1 1 7 lo

What do route table entries mean? Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 128.223.157.1 0.0.0.0 UG 0 0 0 eth0 128.223.157.0 0.0.0.0 255.255.255.128* U 0 0 0 eth0 The destination is a network address. The gateway is an IP address of a router that can forward packets (or 0.0.0.0, if the packet doesn't need to be forwarded). Flags indicate various attributes for each route: - U Up: The route is active. - H Host: The route destination is a single host. - G Gateway: Send anything for this destination on to this remote system, which will figure out from there where to send it. - D Dynamic: This route was dynamically created by something like gated or an ICMP redirect message. - M Modified: This route is set if the table entry was modified by an ICMP redirect message. -! Reject: The route is a reject route and datagrams will be dropped. MSS is the Maximum Segment Size. Largest datagram kernel will construct for transmission via this route. Window is maximum data host will accept from a remote host. irtt initial round trip time. Iface the network inferface this route will use *What size network is 255.255.255.128?

How the route table is used A packet that needs to be sent has a destination IP address. For each entry in the route table (starting with the first): 1. Compute the logical AND of the destination IP and the genmask entry. 2. Compare that with the destination entry. 3. If those match, send the packet out the interface, and we're done. 4. If not, move on to the next entry in the table.

Reaching the local network Suppose we want to send a packet to 128.223.143.42 using this route table. Destination Gateway Genmask Flags Interface 128.223.142.0 0.0.0.0 255.255.254.0 U eth0 0.0.0.0 128.223.142.1 0.0.0.0 UG eth0 In the first entry 128.223.143.42 AND 255.255.254.0 = 128.223.142.0 This matches the destination of the first routing table entry, so send the packet out interface eth0. That first entry is called a network route. Do you notice anything different about this routing table?

Reaching other networks Suppose we want to send a packet to 72.14.213.99 using this route table. Destination Gateway Genmask Flags Interface 128.223.142.0 0.0.0.0 255.255.254.0 U eth0 0.0.0.0 128.223.142.1 0.0.0.0 UG eth0 1. 72.14.213.99 AND 255.255.254.0 = 72.14.212.0 2. This does not match the first entry, so move on to the next entry. 3. 72.14.213.99 AND 0.0.0.0 = 0.0.0.0 4. This does match the second entry, so forward the packet to 128.223.142.1 via bge0.

The default route Note that this route table entry: Destination Gateway Genmask Flags Interface 0.0.0.0 128.223.142.1 0.0.0.0 UG eth0 matches every possible destination IP address. This is called the default route. The gateway has to be a router capable of forwarding traffic.

More complex routing Consider this route table: Destination Gateway Genmask Flags Interface 192.168.0.0 0.0.0.0 255.255.255.0 U eth0 192.168.1.0 0.0.0.0 255.255.255.0 U eth1 192.168.2.0 0.0.0.0 255.255.254.0 U eth2 192.168.4.0 0.0.0.0 255.255.252.0 U eth3 0.0.0.0 192.168.1.1 0.0.0.0 UG eth0 This is what a router's routing table might look like. Note that there are multiple interfaces for multiple local networks, and a gateway that can reach other networks.

Forwarding packets Any UNIX-like (and other) operating system can function as a gateway: - In Ubuntu /etc/sysctl.conf set: # Uncomment the next line to enable # packet forwarding for IPv4 #net/ipv4/ip_forward=1 # Uncomment the next line to enable # packet forwarding for IPv6 #net/ipv6/ip_forward=1

Forwarding packets Important Without forwarding enabled, the box will not forward packets from one interface to another: it is simply a host with multiple interfaces.