* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download IP Forwarding and ICMP
Point-to-Point Protocol over Ethernet wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Distributed firewall wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Network tap wikipedia , lookup
Deep packet inspection wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Computer network wikipedia , lookup
Airborne Networking wikipedia , lookup
Internet protocol suite wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
CSEE W4140 Networking Laboratory Lecture 3: IP Forwarding and ICMP Jong Yul Kim 02.08.2010 Today’s topics IP in Internet Protocol StackApplication TCP UDP ICMP IP ARP Network Access IGMP Transport Layer Transport Network Network Layer Link Link Layer Media Physical IP: The waist of the hourglass IP is the waist of the hourglass of the Internet protocol architecture Applications HTTP FTP SMTP TCP UDP Multiple higher-layer protocols Multiple lower-layer protocols Only one protocol at the network layer. IP Data link layer protocols Physical layer protocols IP network 205.35.293.4 128.59.16.1 Application protocol IP is the highest layer protocol which is implemented at both routers and hosts Application Application protocol Application TCP TCP protocol TCP IP Data Link Host IP IP protocol Data Link Data Link IP IP protocol Data Link Router Data Link Data Link IP protocol Data Link Router Data Link IP Network Access Host IP Service Delivery service of IP is minimal IP provide provides an unreliable connectionless best effort service (also called: “datagram service”). Unreliable: IP does not make an attempt to recover lost packets Connectionless: Each packet (“datagram”) is handled independently. IP is not aware that packets between hosts may be sent in a logical sequence Best effort: IP does not make guarantees on the service (no throughput guarantee, no delay guarantee,…) Consequences: • Higher layer protocols have to deal with losses or with packets • Packets may be delivered out-of-sequence duplicate Two functions of network layer Routing “Collective interactions of all routers to determine the paths that packets take on their trips from source to destination” Forwarding “The transfer of a packet from an incoming link to an outgoing link within a single router.” IPv4 Datagram Format (RFC 791) IP network 205.35.293.4 128.59.16.1 Classless Interdomain Routing (RFC 4632) IP addresses have variable prefixes Addresses are interpreted to have a hierarchy Classless Interdomain Routing (RFC 4632) Examples 128.59.19.10 One host on CS net 128.59.16.0/21 CS wired net 128.59.0.0/16 Columbia wired net Two parts to an address Network part (first 21 bits of CS wired) Host part (remaining 11 bits) CIDR hierarchical address allocation ISP 128.1.0.0/16 128.2.0.0/16 128.0.0.0/8 128.59.0.0/16 University Foo.com Bar.com Library 128.59.44.0/24 128.59.16.150 CS 128.59.16.0/24 IP addresses are hierarchically allocated. An ISP obtains an address block from a Regional Internet Registry An ISP allocates a subdivision of the address block to an organization An organization recursively allocates subdivision of its address block to its networks A host in a network obtains an address within the address block assigned to the network Hierarchical address allocation 128.59.16.[0 – 255] 128.59.16.150 128.59.0.0 – 128.59.255.255 128.0.0.0 - 128.255.255.255 ISP obtains an address block 128.0.0.0/8 [128.0.0.0, 128.255.255.255] ISP allocates 128.59.0.0/16 ([128.59.0.0, 128.59.255.255]) to the university. University allocates 128.59.16.0/24 ([128.59.16.0, 128.59.16.255]) to the CS department’s network A host on the CS department’s network gets one IP address 128.59.16.150 Route Aggregation Longest prefix match algorithm permits to aggregate prefixes with identical next hop address to a single entry This contributes significantly to reducing the size of routing tables of Internet routers Destination Next Hop Destination Next Hop 10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.2.0.0/16 20.1.1.0/28 R3 direct direct R3 R2 R2 10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 10.3.1.0/24 20.0.0.0/8 R3 direct direct R3 R2 Regional Internet Registries (RIRs) Registration and management of IP address is done by Regional Internet Registries (RIRs) Where do RIRs get their addresses from: IANA maintains a high-level registry that distributes large blocks to RIRs RIR are administer allocation of: IPv4 address blocks IPv6 address blocks Autonomous system (AS) numbers There are currently five RIRs worldwide: APNIC (Asia/Pacific Region), ARIN (North America and Sub-Sahara Africa), LACNIC (Latin America and some Caribbean Islands) RIPE NCC (Europe, the Middle East, Central Asia, and African countries located north of the equator). AfriNIC (Africa) (100,663,296 IP addresses 5% of total IPv4 addresses!) Subnet (RFC 950) Network within a domain General recipe “Detach each interface from its host or router, creating islands of isolated networks, with interfaces terminating the end points of the isolated networks. Each of these isolated networks is called a subnet.” Subnet Exercise 1 Subnet Exercise 2 Similar to the configuration for Lab 2 Netmask Hosts and routers within a subnet use netmask to determine whether the other host is directly connected or not Assigning IP address to a subnet Every subnet has a network address assigned Each interface inside this subnet is assigned an address from the network address PC1 = 128.59.19.18 PC2 = 128.59.19.19 Gateway address Example: 128.59.19.0/24 One address is assigned as the default gateway (router) Router = 128.59.19.1 Broadcast address One address is assigned as the broadcast address 128.59.19.255 Assigning IP address to a subnet How many PCs can I support with the following network address? 128.59.19.0/24 10.0.1.0/29 Router Architecture Processor Memory CPU Interconnection Network Interface Card Interface Card Interface Card Functional Components routing protocol Routing functions routing protocol forwarding table updates Control forwarding table Datapath: forwardng table lookup incoming IP datagrams IP Forwarding per-packet processing outgoing IP datagrams Forwarding Table Destination Next Hop 10.1.0.0/24 10.1.2.0/24 10.2.1.0/24 20.1.0.0/16 20.2.1.0/28 eth0 eth1 10.0.1.1 10.0.1.1 10.0.1.1 IP datagrams can be directly delivered (“eth0 or eth1”) or are sent to a router (“10.0.1.1”) Delivery with forwarding tables to: 20.2.1.2 Longest Prefix Matching Rule Destination Next Hop 11001000 11011111 200.223.0.0/16 200.16.0.0/13 11001000 00010 200.22.0.0/15 11001000 0001011 R2 R4 Direct Where would this packet go? Packet destination is: 200.23.146.51 11001000 00010111 10010010 00110011 PCs can be configured to forward packets echo “1” > /proc/sys/net/ipv4/ip_forward route command Kernel IP routing table Destination Gateway 165.91.168.200 0.0.0.0 128.59.16.0 0.0.0.0 165.91.0.0 165.91.168.201 0.0.0.0 128.59.16.1 * Works in Redhat / Fedora Genmask 255.255.255.248 255.255.248.0 255.255.0.0 0.0.0.0 Flags U U UG UG Iface eth1 eth0 eth1 eth0 Sending a packet from Argon to Neon argon.tcpip-lab.edu "Argon" 128.143.137.144 neon.tcpip-lab.edu "Neon" 128.143.71.21 router137.tcpip-lab.edu "Router137" 128.143.137.1 router71.tcpip-lab.edu "Router71" 128.143.71.1 Router Ethernet Network Ethernet Network Sending a packet from Argon to 128.143.71.21 is not on my local network. Therefore, I need to send the packet to my Neon 128.143.71.21 on my local network. default gateway withisaddress 128.143.137.1 ARP: What is the MAC address 128.143.137.1? ARP: TheofMAC address of Therefore, I can send the packet directly. 128.143.137.1 is 00:e0:f9:23:a8:20 argon.tcpip-lab.edu "Argon" 128.143.137.144 ARP: What is the MAC ARP: TheofMAC address of address 128.143.71.21? neon.tcpip-lab.edu 128.143.137.1 is 00:20:af:03:98:28 "Neon" 128.143.71.21 router137.tcpip-lab.edu "Router137" 128.143.137.1 router71.tcpip-lab.edu "Router71" 128.143.71.1 Router frame frame Ethernet Network Ethernet Network ICMP (RFC 792) Used to communicate network info Error reporting Router advertisement and discovery Has type and code Type 8, code 0 = echo request Type 0, code 0 = echo reply Replies have original sender’s IP header + 64 bits of data Used by ping traceroute Routing table manipulations with ICMP When a router detects that an IP datagram should have gone to a different router, the router (here R2) forwards the IP datagram to the correct router sends an ICMP redirect message to the host Host uses ICMP message to update its routing table (2) IP datagram (3) ICMP redirect (1) IP datagram R1 IOS Command Mode Hierarchy Read the Introduction part 4 in textbook Main Points of Lab 3 Setting up static routes on: Linux machines Cisco routers Routing packets using: Proxy ARP ICMP Route Redirect Netmasks Homework Prelab 4 due on Friday (02.08.2010) Lab report 2 due this week Lab report 3 due by next week Review RIP for next class Announcements In-class quiz next week Basic ARP, subnets, and IP forwarding