Dr. John Keeney 3BA33 TCP/IP protocol architecture with IP OSI Model Layers TCP/IP Protocol Architecture Layers TCP/IP Protocol Suite Application Layer Application Layer Telnet FTP HTTP DNS RIPng SNMP Presentation Layer Session Layer Transport Layer Transport Layer TCP UDP ND MLD Network Layer Internet Layer IPv4 ICMPv6 Data Link Layer Physical Layer Network Interface Layer Ethernet IEEE 802.11 Frame Relay ATM 3BA33 - J.Keeney - 2007 3 Intro Addressing Header Recommended Texts: Computer Networks with Internet Technology, William Stallings, Chapter 8. Computer Networking: A Top Down Approach Featuring the Internet, Jim Kurose & Keith Ross, Chapter 4. Computer Networks, Andrew Tannenbaum, Chapter 5.6 3BA33 - J.Keeney - 2007 2 Problems with IPv4 Public address space becoming exhausted 32 bit addressing Large routing tables for Internet backbone routers Configuration could be simpler IP-layer security is not required Need better support for prioritized delivery 3BA33 - J.Keeney - 2007 4
features New header format Large address space Efficient and hierarchical addressing and routing infrastructure Built-in security Better support for prioritized delivery Extensibility 3BA33 - J.Keeney - 2007 5 The address space 128-bit address space 2 128 possible addresses 340,282,366,920,938,463,463,374,607,431,768,211, 456 addresses (3.4 x 10 38 ) 6.6 x 10 23 addresses for every square meter of the Earth s surface 128 bits were chosen to allow for flexibility in creating multilevel, hierarchical, routing infrastructure 3BA33 - J.Keeney - 2007 7 An packet Network Interface Header Header Payload Network Interface Trailer Packet Network Interface Layer Frame 3BA33 - J.Keeney - 2007 6 address syntax address in binary form 0010000000000001000011011011100000000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010 3BA33 - J.Keeney - 2007 8
address syntax (2) address in binary form 0010000000000001000011011011100000000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010 Divided along 16-bit boundaries 0010000000000001 0000110110111000 0000000000000000 0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 3BA33 - J.Keeney - 2007 9 address syntax (4) address in binary form 0010000000000001000011011011100000000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010 Divided along 16-bit boundaries 0010000000000001 0000110110111000 0000000000000000 0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 Each 16-bit block is converted to hexadecimal and delimited by using colons 2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A Suppress leading zeros within each block 2001:DB8:0:2F3B:2AA:FF:FE28:9C5A 3BA33 - J.Keeney - 2007 11 address syntax (3) address in binary form 0010000000000001000011011011100000000000000000000010111100111011 0000001010101010000000001111111111111110001010001001110001011010 Divided along 16-bit boundaries 0010000000000001 0000110110111000 0000000000000000 0010111100111011 0000001010101010 0000000011111111 1111111000101000 1001110001011010 Each 16-bit block is converted to hexadecimal and delimited by using colons 2001:0DB8:0000:2F3B:02AA:00FF:FE28:9C5A 3BA33 - J.Keeney - 2007 10 Compressing zeros Typical addresses contain long sequences of zeros A single contiguous sequence of 16-bit blocks set to 0 can be compressed to :: 3BA33 - J.Keeney - 2007 12
Compressing zeros (2) Typical addresses contain long sequences of zeros A single contiguous sequence of 16-bit blocks set to 0 can be compressed to :: Examples FE80:0:0:0:2AA:FF:FE9A:4CA2 becomes FE80::2AA:FF:FE9A:4CA2 FF02:0:0:0:0:0:0:2 becomes FF02::2 3BA33 - J.Keeney - 2007 13 Types of addresses Unicast Address of a single interface Delivery to single interface Multicast Address of a set of interfaces Delivery to all interfaces in the set Anycast Address of a set of interfaces Delivery to a single interface in the set No more broadcast addresses 3BA33 - J.Keeney - 2007 15 Compressing zeros (3) Typical addresses contain long sequences of zeros A single contiguous sequence of 16-bit blocks set to 0 can be compressed to :: Examples FE80:0:0:0:2AA:FF:FE9A:4CA2 becomes FE80::2AA:FF:FE9A:4CA2 FF02:0:0:0:0:0:0:2 becomes FF02::2 You cannot use zero compression to include part of a 16-bit block FF02:30:0:0:0:0:0:5 does not become FF02:3::5, but FF02:30::5 3BA33 - J.Keeney - 2007 14 MAC address to address Host A has the MAC address of 00-AA-00-3F-2A-1C 1. Convert MAC address to EUI-64 format 00-AA-00-3F-2A-1C 00-AA-00-FF-FE-3F-2A-1C 2. Complement the U/L bit (seventh bit of first byte) The first byte in binary form is 00000000. When the seventh bit is complemented, it becomes 00000010 (0x02). 02-AA-00-FF-FE-3F-2A-1C 3. Convert to colon hexadecimal notation ::2AA:FF:FE3F:2A1C 4. Add FE80:: to the start The link-local address for a node with the MAC address of 00-AA- 00-3F-2A-1C is FE80::2AA:FF:FE3F:2A1C 3BA33 - J.Keeney - 2007 16
IPv4 Address to Address 192.31.20.46 ::192.31.20.46 3BA33 - J.Keeney - 2007 17 Headers Additional motivation: header format helps speed processing/forwarding header changes to facilitate QoS packet format: fixed-length 40 byte header no fragmentation allowed 3BA33 - J.Keeney - 2007 19 IPv4 addresses and equivalents IPv4 Address Address Internet address classes Not applicable Broadcast addresses Not applicable Unspecified address is 0.0.0.0 Unspecified address is :: Loopback address is 127.0.0.1 Loopback address is ::1 Syntax: Dotted decimal notation Colon hexadecimal notation 3BA33 - J.Keeney - 2007 18 Structure of an packet Header Extension Headers Upper Layer Protocol Data Unit Payload Packet 3BA33 - J.Keeney - 2007 20
IPv4 header Version Internet Header Length Type of Service Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source Address Destination Address header Version Traffic Class Flow Label Payload Length Next Header Hop Limit Source Address Destination Address Options 3BA33 - J.Keeney - 2007... 21 3BA33 - J.Keeney - 2007 22 Header 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 3BA33 - J.Keeney - 2007 23 Comparing the IPv4 and headers IPv4 Header Field Change in Version New value of 6 Internet Header Length Removed Type of Service Traffic Class field Total Length Payload Length field Identification Removed to Fragment extension header Fragmentation Flags Removed to Fragment extension header Fragment Offset Removed to Fragment extension header Time to Live Hop Limit field Protocol Next Header field Header Checksum Removed Source Address Same, new 128-bit length Destination Address Same, new 128-bit length Options Removed to extension headers 3BA33 - J.Keeney - 2007 24
Extension Headers 3BA33 - J.Keeney - 2007 25 Extension headers order 1.Hop-by-Hop Options header 2.Destination Options header (for intermediate destinations when the Routing header is present) 3.Routing header 4.Fragment header 5.Authentication header (AH) 6.Encapsulating Security Payload (ESP) header 7.Destination Options header (for the final destination) Intermediate destinations Final destination 3BA33 - J.Keeney - 2007 27 extension headers Header Next Header = 6 (TCP) TCP Segment Header Next Header = 43 (Routing) Routing Header Next Header = 6 (TCP) TCP Segment Header Next Header = 43 (Routing) Routing Header Next Header = 51 (AH) Authentication Header Next Header = 6 (TCP) TCP Segment 3BA33 - J.Keeney - 2007 26 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 Hop count: Max 255 hops (8 bit field) Max size: 64 KB ICMPv6: new version of ICMP additional message types, e.g. Packet Too Big multicast group management functions 3BA33 - J.Keeney - 2007 28
Transition From IPv4 To Not all routers can be upgraded simultaneous no flag days How will the network operate with mixed IPv4 and routers? Tunneling: carried as payload in IPv4 datagram among IPv4 routers 3BA33 - J.Keeney - 2007 29 Tunneling A B E F Logical view: tunnel Physical view: A B C D E F IPv4 IPv4 Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F Src:B Dest: E Flow: X Src: A Dest: F Flow: X Src: A Dest: F data data data A-to-B: B-to-C: inside IPv4 B-to-C: inside IPv4 E-to-F: 3BA33 - J.Keeney - 2007 31 Logical view: Physical view: Tunneling A B E F tunnel A B E F IPv4 IPv4 3BA33 - J.Keeney - 2007 30