Announcement❒ Project 3 out, due 3/10❒ Homework 3 out last week❍Due next Mon. 3/1Review❒ Hierarchical Routing❒ The Internet (IP) Protocol❍ IPv4 addressing❍ Moving a datagram from source to destinationSome slides are in courtesy of J. Kurose and K. RossOverview❒ The Internet (IP) Protocol❍ Datagram format❍ IP fragmentation❍ ICMP: Internet Control Message Protocol❍ NAT: Network Address Translation❒ Routing in the Internet❍ Intra-AS routing: RIP and OSPF❍ Inter-AS routing: BGP❒ Multicast RoutingSome slides are in courtesy of J. Kurose and K. RossGetting a datagram from source to dest.IP datagram:223.1.1.1223.1.1.2223.1.1.3223.1.1.4223.1.2.9223.1.2.2223.1.2.1223.1.3.2223.1.3.1223.1.3.27ABEmiscfieldssourceIP addrdestIP addrdata❒ datagram remains unchanged, as it travels source to destination❒ addr fields of interest hereDest. Net. next router Nhops223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2forwarding table in AGetting a datagram from source to dest.Starting at A, send IP datagram addressed to B:❒ look up net. address of B in forwarding table❒ find B is on same net. as A❒ link layer will send datagram directly to B inside link-layer frame❍ B and A are directly connectedDest. Net. next router Nhops223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2miscfields223.1.1.1 223.1.1.3data223.1.1.1223.1.1.2223.1.1.3223.1.1.4223.1.2.9223.1.2.2223.1.2.1223.1.3.2223.1.3.1223.1.3.27ABEforwarding table in AGetting a datagram from source to dest.Dest. Net. next router Nhops223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2Starting at A, dest. E:❒ look up network address of E in forwarding table❒ E on differentnetwork❍ A, E not directly attached❒ routing table: next hop router to E is 223.1.1.4 ❒ link layer sends datagram to router 223.1.1.4 inside link-layer frame❒ datagram arrives at 223.1.1.4 ❒ continued…..miscfields223.1.1.1 223.1.2.3data223.1.1.1223.1.1.2223.1.1.3223.1.1.4223.1.2.9223.1.2.2223.1.2.1223.1.3.2223.1.3.1223.1.3.27ABEforwarding table in AGetting a datagram from source to dest.Arriving at 223.1.4, destined for 223.1.2.2❒ look up network address of E in router’s forwarding table❒ E on same network as router’s interface 223.1.2.9❍ router, E directly attached❒ link layer sends datagram to 223.1.2.2 inside link-layer frame via interface 223.1.2.9❒ datagram arrives at 223.1.2.2!!! (hooray!)miscfields223.1.1.1 223.1.2.3dataDest. Net router Nhops interface223.1.1 - 1 223.1.1.4223.1.2 - 1 223.1.2.9223.1.3 - 1 223.1.3.27223.1.1.1223.1.1.2223.1.1.3223.1.1.4223.1.2.9223.1.2.2223.1.2.1223.1.3.2223.1.3.1223.1.3.27ABEforwarding table in routerIP datagram formatverlength32 bitsdata (variable length,typically a TCP or UDP segment)16-bit identifierInternetchecksumtime tolive32 bit source IP addressIP protocol versionnumberheader length(bytes)max numberremaining hops(decremented at each router)forfragmentation/reassemblytotal datagramlength (bytes)upper layer protocolto deliver payload tohead.lentype ofservice“type” of data flgsfragmentoffsetupperlayer32 bit destination IP addressOptions (if any)E.g. timestamp,record routetaken, specifylist of routers to visit.how much overhead with TCP?❒ 20 bytes of TCP❒ 20 bytes of IP❒ = 40 bytes + app layer overheadIP Fragmentation & Reassembly❒ network links have MTU (max.transfer size) - largest possible link-level frame.❍ different link types, different MTUs ❒ large IP datagram divided (“fragmented”) within net❍ one datagram becomes several datagrams❍ “reassembled” only at final destination❍ IP header bits used to identify, order related fragmentsfragmentation: in: one large datagramout: 3 smaller datagramsreassemblyIP Fragmentation and ReassemblyID=xoffset=0fragflag=0length=4000ID=xoffset=0fragflag=1length=1500ID=xoffset=1480fragflag=1length=1500ID=xoffset=2960fragflag=0length=1040One large datagram becomesseveral smaller datagramsExample❒ 4000 byte datagram❒ MTU = 1500 bytesICMP: Internet Control Message Protocol❒ used by hosts, routers, gateways to communication network-level information❍ error reporting: unreachable host, network, port, protocol❍ echo request/reply (used by ping)❒ network-layer “above” IP:❍ ICMP msgs carried in IP datagrams❒ Ping, traceroute uses ICMPNAT: Network Address Translation10.0.0.110.0.0.210.0.0.310.0.0.4138.76.29.7local network(e.g., home network)10.0.0/24rest ofInternetDatagrams with source or destination in this networkhave 10.0.0/24 address for source, destination (as usual)Alldatagrams leavinglocalnetwork have same single source NAT IP address: 138.76.29.7,different source port numbersNAT: Network Address Translation❒ Motivation: local network uses just one IP address as far as outside word is concerned:❍ no need to be allocated range of addresses from ISP: - just one IP address is used for all devices❍ can change addresses of devices in local network without notifying outside world❍ can change ISP without changing addresses of devices in local network❍ devices inside local net not explicitly addressable, visible by outside world (a security plus).NAT: Network Address TranslationImplementation: NAT router must:❍outgoing datagrams: replace(source IP address, port #) of every outgoing datagram to (NAT IP address, new port #). . . remote clients/servers will respond using (NAT IP address, new port #) as destination addr.❍remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair❍incoming datagrams: replace(NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT tableNAT: Network Address Translation10.0.0.110.0.0.210.0.0.3S: 10.0.0.1, 3345D: 128.119.40.186, 80110.0.0.4138.76.29.71: host 10.0.0.1 sends datagram to 128.119.40, 80NAT translation tableWAN side addr LAN side addr138.76.29.7, 5001 10.0.0.1, 3345…… ……S: 128.119.40.186, 80 D: 10.0.0.1, 33454S: 138.76.29.7, 5001D: 128.119.40.186, 8022: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates tableS: 128.119.40.186, 80 D: 138.76.29.7, 500133:Reply arrivesdest. address:138.76.29.7, 50014:NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1,
View Full Document