1
play

1 IP Addressing: introduction IP networks 223.1.1.1 223.1.1.1 IP - PDF document

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


  1. 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

  2. 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

  3. 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

  4. 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