IP overview Internet Protocol Service model Addressing Forwarding (Routing later) 9/29/06 CS/ECE 438 - UIUC, Fall 2006 1 9/29/06 CS/ECE 438 - UIUC, Fall 2006 2 Layer reminder IP service model Bridges - emulate single link Service provided to transport layer (TCP, UDP) Global name space Everything broadcast Host-to-host connectivity (connectionless) Same collision domain Best-effort packet delivery Switches - emulate single network Not in IP service model Flat addressing Delivery guarantees on bandwidth, delay or loss Broadcast supported Delivery failure modes Packet delayed for a very long time Internet - connect multiple networks Packet loss Hierarchical addressing Packet delivered more than once No broadcast Packets delivered out of order Highly scalable 9/29/06 CS/ECE 438 - UIUC, Fall 2006 3 9/29/06 CS/ECE 438 - UIUC, Fall 2006 4 IP comparison with ATM IP addressing Network Service Guarantees Congestion Ethernet address space Architecture Model Feedback Bandwidth Loss Order Timing Flat Assigned at manufacture time Internet best none no no no no effort IP address space ATM CBR constant yes yes yes no congestion Hierarchical ATM VBR guarantee yes yes yes no d rate congestion Assigned at configuration time ATM ABR guarantee no yes no yes d minimum ATM UBR none no yes no no 9/29/06 CS/ECE 438 - UIUC, Fall 2006 5 9/29/06 CS/ECE 438 - UIUC, Fall 2006 6 1
IP Addressing: introduction IP networks 223.1.1.1 223.1.1.1 IP address: 32-bit Address has 2 223.1.2.1 223.1.2.1 identifier for host, components 223.1.1.2 223.1.1.2 router interface Network (high-order 223.1.1.4 223.1.2.9 223.1.1.4 223.1.2.9 bits) interface: connection 223.1.2.2 223.1.2.2 Host (low-order bits) between host/router 223.1.1.3 223.1.3.27 223.1.1.3 223.1.3.27 and physical link routers typically have multiple interfaces 223.1.3.2 223.1.3.2 223.1.3.1 223.1.3.1 host typically has one interface IP addresses associated with each 223.1.1.1 = 11011111 00000001 00000001 00000001 interface 223 1 1 1 9/29/06 CS/ECE 438 - UIUC, Fall 2006 7 9/29/06 CS/ECE 438 - UIUC, Fall 2006 8 IPv4 Address Model IP networks Class Network ID Host ID # of # of Class A network: 18.0.0.0 (MIT) Addresses Networks www.mit.edu has address 18.7.22.83 A 0 + 7 bit 24 bit 2 24 -2 126 Class B network: 128.174.0.0 (UIUC) B 10 + 14 bit 16 bit 65,536 - 2 2 14 C 110 + 21 bit 8 bit 256 - 2 2 21 www.cs.uiuc.edu has address 128.174.252.84 D 1110 + Multicast Address IP Multicast Class C network: 216.125.249.0 (Parkland) E Future Use www.parkland.edu has address 216.125.249.97 Class A: 0 Network (7 bits) Host (24 bits) Class B: 1 0 Network (14 bits) Host (16 bits) Class C: 1 1 0 Network (21 bits) Host (8 bits) 9/29/06 CS/ECE 438 - UIUC, Fall 2006 9 9/29/06 CS/ECE 438 - UIUC, Fall 2006 10 CIDR Classless Domains 3-class model too inflexible Internet Archive - 207.241.224.0/20 CIDR: Classless InterDomain Routing 4K hosts 207.241.224.0 - 207.241.239.255 Arbitrary number of bits to specify network AT&T - 204.127.128.0/18 16K hosts Address format: a.b.c.d/x, where x is # bits in network portion 204.127.128.0 - 204.127.191.255 UUNET - 63.64.0.0/10 host subnet 4M hosts part part 11001000 00010111 00010000 00000000 63.64.0.0 - 63.127.255.255 200.23.16.0/23 9/29/06 CS/ECE 438 - UIUC, Fall 2006 11 9/29/06 CS/ECE 438 - UIUC, Fall 2006 12 2
IP forwarding Hierarchical Networks Forwarding table has: Organization 0 Network number 200.23.16.0/23 Interface Organization 1 “Send me anything 200.23.18.0/23 with addresses Avoid having to store 4 billion entries beginning Organization 2 200.23.16.0/20” . 200.23.20.0/23 Fly-By-Night-ISP . But there are still 2 million class C’s . . Internet . . Organization 7 …and perhaps more CIDR networks 200.23.30.0/23 “Send me anything ISPs-R-Us with addresses beginning 199.31.0.0/16” 9/29/06 CS/ECE 438 - UIUC, Fall 2006 13 9/29/06 CS/ECE 438 - UIUC, Fall 2006 14 Subnetting Forwarding Tables Internet 130.126.136.0/21 if1 UIUC - 130.126.0.0/16 CRHC 130.126.160.0/21 if2 if1 130.126.0.0 - 130.126.255.255 if4 130.126.0.0/16 if3 if2 CRHC - 130.126.136.0/21 EWS 0.0.0.0/0 if4 if3 130.126.136.0 - 130.126.143.255 UIUC EWS - 130.126.160.0/21 Most specific rule is used 130.126.160.0 - 130.126.167.255 Most hosts outside of the core have default rules 9/29/06 CS/ECE 438 - UIUC, Fall 2006 15 9/29/06 CS/ECE 438 - UIUC, Fall 2006 16 NAT: Network Address Translation NAT: Network Address Translation rest of local network Motivation: local network uses just one IP address as far Internet (e.g., home network) 10.0.0.1 as outside world is concerned: 10.0.0/24 range of addresses not needed from ISP: just one IP 10.0.0.4 10.0.0.2 address for all devices 138.76.29.7 can change addresses of devices in local network without notifying outside world 10.0.0.3 can change ISP without changing addresses of devices All datagrams leaving local Datagrams with source or in local network network have same single source destination in this network NAT IP address: 138.76.29.7, have 10.0.0/24 address for devices inside local net not explicitly addressable, different source port numbers source, destination (as usual) visible by outside world (a security plus). 9/29/06 CS/ECE 438 - UIUC, Fall 2006 17 9/29/06 CS/ECE 438 - UIUC, Fall 2006 18 3
NAT: Network Address Translation NAT: Network Address Translation NAT translation table Implementation: NAT router must: 1: host 10.0.0.1 2: NAT router WAN side addr LAN side addr outgoing datagrams: replace (source IP address, port #) sends datagram to changes datagram 138.76.29.7, 5001 10.0.0.1, 3345 of every outgoing datagram to (NAT IP address, new 128.119.40.186, 80 source addr from …… …… port #) 10.0.0.1, 3345 to . . . remote clients/servers will respond using (NAT IP 138.76.29.7, 5001, S: 10.0.0.1, 3345 updates table address, new port #) as destination addr. D: 128.119.40.186, 80 10.0.0.1 remember (in NAT translation table) every (source IP 1 S: 138.76.29.7, 5001 address, port #) to (NAT IP address, new port #) 2 10.0.0.4 D: 128.119.40.186, 80 10.0.0.2 translation pair incoming datagrams: replace (NAT IP address, new port 138.76.29.7 S: 128.119.40.186, 80 4 D: 10.0.0.1, 3345 #) in dest fields of every incoming datagram with S: 128.119.40.186, 80 3 D: 138.76.29.7, 5001 10.0.0.3 corresponding (source IP address, port #) stored in NAT 4: NAT router 3: Reply arrives table changes datagram dest. address: dest addr from 138.76.29.7, 5001 138.76.29.7, 5001 to 10.0.0.1, 3345 9/29/06 CS/ECE 438 - UIUC, Fall 2006 19 9/29/06 CS/ECE 438 - UIUC, Fall 2006 20 IPv4 Address Translation support NAT: Network Address Translation 16-bit port-number field: IP addresses to LAN physical addresses 60K simultaneous connections with a single Problem LAN-side address! An IP route can pass through many physical NAT is controversial: networks routers should only process up to layer 3 Data must be delivered to destination’s physical network violates end-to-end argument Hosts only listen for packets marked with NAT possibility must be taken into account by app designers, eg, P2P applications physical interface names address shortage should instead be solved by Each hop along route IPv6 Destination host 9/29/06 CS/ECE 438 - UIUC, Fall 2006 21 9/29/06 CS/ECE 438 - UIUC, Fall 2006 22 IP to Physical Address Translation ARP Hard-coded Check table for physical address If address not present Encode physical address in IP address Broadcast a query, include host’s translation Ex: Map Ethernet addresses to IP addresses Wait for a response Makes it impossible to associate address with topology Upon receipt of ARP query/response Fixed table Targeted host responds with address translation Maintain a central repository and distribute to If address already present hosts Refresh entry and reset timeout Bottleneck for queries and updates If address not present Automatically generated table Add entry for requesting host Ignore for other hosts Use ARP to build table at each host Timeout and discard entries after O(10) minutes Use timeouts to clean up table 9/29/06 CS/ECE 438 - UIUC, Fall 2006 23 9/29/06 CS/ECE 438 - UIUC, Fall 2006 24 4
Recommend
More recommend