Hierarchical Routing Our routing study thus far - idealization all routers identical network flat no true in practice scale: with 50 million destinations: can t store all dest s in routing tables! routing table exchange would swamp links! administrative autonomy internet = network of networks each network admin may want to control routing in its own network Winter 2002 Suprakash Datta 1
IP Addressing: introduction IP address: 32-bit identifier for host, router interface interface: connection between host, router and physical link router s typically have multiple interfaces host may have multiple interfaces IP addresses associated with interface, not host, router 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.27 223.1.2.2 223.1.3.1 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 Winter 2002 Suprakash Datta 2
IP Addressing IP address: network part (high order bits) host part (low order bits) What s a network? (from IP address perspective) device interfaces with same network part of IP address can physically reach each other without intervening router 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 LAN 223.1.2.2 223.1.3.2 network consisting of 3 IP networks (for IP addresses starting with 223, first 24 bits are network address) Winter 2002 Suprakash Datta 3
IP Addressing How to find the networks? Detach each interface from router, host create islands of isolated networks 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.3.27 Interconnected system consisting of six networks 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2 Winter 2002 Suprakash Datta 4
IP Addresses given notion of network, let s re-examine IP addresses: class-full addressing: class A 0network host 1.0.0.0 to 127.255.255.255 B C D 10 network host 110 network host 1110 multicast address 32 bits 128.0.0.0 to 191.255.255.255 192.0.0.0 to 223.255.255.255 224.0.0.0 to 239.255.255.255 Winter 2002 Suprakash Datta 5
IP addressing: CIDR classful addressing: inefficient use of address space, address space exhaustion e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network CIDR: Classless InterDomain Routing network portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in network portion of address network part host part 11001000 00010111 00010000 00000000 200.23.16.0/23 Winter 2002 Suprakash Datta 6
IP addresses: how to get one? Hosts (host portion): hard-coded by system admin in a file DHCP: Dynamic Host Configuration Protocol: dynamically get address: plug-and-play host broadcasts DHCP discover msg DHCP server responds with DHCP offer msg host requests IP address: DHCP request msg DHCP server sends address: DHCP ack msg Winter 2002 Suprakash Datta 7
IP addresses: how to get one? Network (network portion): get allocated portion of ISP s address space: ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23....... Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 Winter 2002 Suprakash Datta 8
Hierarchical addressing: route aggregation Hierarchical addressing allows efficient advertisement of routing information: Organization 0 200.23.16.0/23 Organization 1 200.23.18.0/23 Organization 2 200.23.20.0/23 Organization 7.... Fly-By-Night-ISP Send me anything with addresses beginning 200.23.16.0/20 Internet 200.23.30.0/23 ISPs-R-Us Send me anything with addresses beginning 199.31.0.0/16 Winter 2002 Suprakash Datta 9
Hierarchical addressing: more specific routes ISPs-R-Us has a more specific route to Organization 1 Organization 0 200.23.16.0/23 Organization 2 200.23.20.0/23 Organization 7 200.23.30.0/23 Organization 1.... 200.23.18.0/23 Fly-By-Night-ISP ISPs-R-Us Send me anything with addresses beginning 200.23.16.0/20 Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23 Internet Winter 2002 Suprakash Datta 10
IP addressing: the last word... Q: How does an ISP get block of addresses? A: ICANN: Internet Corporation for Assigned Names and Numbers allocates addresses manages DNS assigns domain names, resolves disputes Winter 2002 Suprakash Datta 11
Getting a datagram from source to dest. IP datagram: misc fields source IP addr dest IP addr data datagram remains unchanged, as it travels source to destination address fields of interest here routing table in A A B Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 E Winter 2002 Suprakash Datta 12
Getting a datagram from source to dest. misc fields 223.1.1.1 223.1.1.3 data Starting at A, given IP datagram addressed to B: look up net. address of B 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 connected A B Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 E Winter 2002 Suprakash Datta 13
Getting a datagram from source to dest. misc fields 223.1.1.1 223.1.2.3 data Starting at A, dest. E: look up network address of E E on different network 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 linklayer frame datagram arrives at 223.1.1.4 continued.. A B Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 E Winter 2002 Suprakash Datta 14
Getting a datagram from source to dest. misc fields 223.1.1.1 223.1.2.3 data Arriving at 223.1.4, destined for 223.1.2.2 look up network address of E 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!!! Dest. next network router Nhops interface 223.1.1-1 223.1.1.4 223.1.2-1 223.1.2.9 223.1.3-1 223.1.3.27 A B 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 E Winter 2002 Suprakash Datta 15
IP datagram format IP protocol version number header length type of data max number remaining hops (decremented at each router) upper layer protocol to deliver payload to ver head. len 16-bit identifier time to live type of service upper layer 32 bits flgs length fragment offset Internet checksum 32 bit source IP address 32 bit destination IP address Options (if any) data (variable length, typically a TCP or UDP segment) total datagram length (bytes) for fragmentation/ reassembly E.g. timestamp, record route taken, pecify list of routers to visit. Winter 2002 Suprakash Datta 16
IP 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 fragments reassembly fragmentation: in: one large datagram out: 3 smaller datagrams Winter 2002 Suprakash Datta 17
IP Fragmentation and Reassembly length =4000 ID =x fragflag =0 offset =0 One large datagram becomes several smaller datagrams length =1500 ID =x fragflag =1 offset =0 length =1500 ID =x fragflag =1 offset =1480 length =1040 ID =x fragflag =0 offset =2960 Winter 2002 Suprakash Datta 18
IPv6 Initial motivation: 32-bit address space completely allocated by 2008. Additional motivation: header format helps speed processing/forwarding header changes to facilitate QoS new anycast address: route to best of several replicated servers IPv6 datagram format: fixed-length 40 byte header no fragmentation allowed Winter 2002 Suprakash Datta 19
IPv6 Header (Cont) Priority: identify priority among datagrams in flow Flow Label: identify datagrams in same flow. (concept of flow not well defined). Next header: identify upper layer protocol for data Winter 2002 Suprakash Datta 20
Other Changes from IPv4 Checksum: removed entirely to reduce processing time at each hop Options: allowed, but outside of header, indicated by Next Header field ICMPv6: new version of ICMP additional message types, e.g. Packet Too Big multicast group management functions Winter 2002 Suprakash Datta 21
Transition From IPv4 To IPv6 Not all routers can be upgraded simultaneous no flag days How will the network operate with mixed IPv4 and IPv6 routers? Two proposed approaches: Dual Stack: some routers with dual stack (v6, v4) can translate between formats Tunneling: IPv6 carried as payload n IPv4 datagram among IPv4 routers Winter 2002 Suprakash Datta 22
Dual Stack Approach Winter 2002 Suprakash Datta 23
Tunneling IPv6 inside IPv4 where needed Winter 2002 Suprakash Datta 24