320 likes | 523 Views
IPv6 Tutorial Module 1: IPv6 Protocol Structure. Dan Campbell, President Millennia Systems, Inc. Contents. IPv4 header review IPv6 header construction Version Traffic Class Flow Label Payload Length Next Header Hop Limit Addresses Extension headers Hop-by-Hop Destination Options
E N D
IPv6 TutorialModule 1: IPv6 Protocol Structure Dan Campbell, President Millennia Systems, Inc.
Contents • IPv4 header review • IPv6 header construction • Version • Traffic Class • Flow Label • Payload Length • Next Header • Hop Limit • Addresses • Extension headers • Hop-by-Hop • Destination Options • Routing • Fragmentation • Authentication Header • Encapsulating Security Payload • Mobility
Fragment Offset ToS TTL Protocol Ver IHL Options and Padding Total Length Header Checksum Source Address Destination Address Identifier Flags Review: The IPv4 header consists of 15 fields(including 3 flags and the options and padding) Version – Indicates IP version 4 IPv4 Header IHL = Internet Header Length, which must be specified since the options allow for varying length headers ToS = Type of Service, which allows for differentiating packets into different classes for specific forwarding treatment. Total Length – indicates the total length of the IP packet, including the header, upper layer protocols and payload Identifier – Unique identifier for the packet, seldom used Flags – Used to indicate fragmentation Fragment Offset – indicates this fragment’s position in the datagram TTL = Time to Live, the packet life remaining in router hops (and initially in seconds) Protocol – The next protocol header above IP, e.g., TCP, UDP, IPSec, etc. Header Checksum – used in checking to ensure the header was received as it was transferred and without error Addresses – 32-bit designators for the sending (source) host and receiving (destination) host Options – Seldom used options set by sender Several of the fields initially envisioned for use either went unused, became obsolete in favor of other technologies or OSI layers, or morphed into other uses
Protocol ToS TTL Ver IHL Source Address Destination Address Header Checksum Total Length Options and Padding Identifier Flags Review: The IPv4 header can vary in size IPv4 Header Fragment Offset 20 bytes Header size can vary if options are used The IPv6 header was designed to optimize the protocol and fix the header to a consistent size to expedite packet forwarding
Flags Flags Fragment Offset Fragment Offset Protocol ToS TTL Ver IHL IHL Header Checksum Destination Address Source Address Options and Padding Options and Padding Total Length Header Checksum Identifier Identifier IPv6 set out to retire obsolete IPv4 header fields IPv4 Header IPv4 header fields that were obsolete or superfluous to other protocol layers were identified for deletion or modification
Protocol TTL ToS Ver IHL IHL Options and Padding Destination Address Source Address Header Checksum Total Length Identifier Flags IPv6 header is fixed to 40 bytes IPv4 Header Internet Header Length (IHL) field is no longer needed Fragment Offset
ToS TTL Protocol Ver Total Length Header Checksum Source Address Destination Address Options and Padding Identifier Identifier Flags The largely unused Identification field was trashed IPv4 Header Fragment Offset
Fragment Offset ToS TTL Protocol Ver Total Length Header Checksum Source Address Destination Address Options and Padding Flags Flags The 3-bit Flags field is no longer needed Flags dealt primarily with Fragmentation, which has been moved to an optional extension header IPv4 Header
Fragment Offset Fragment Offset ToS TTL Protocol Ver Total Length Header Checksum Source Address Destination Address Options and Padding Fragmentation by routers in IPv6 is not permitted Hosts must fragment packets. Fragmentation was moved to an optional extension header IPv4 Header
ToS TTL Protocol Ver Header Checksum Total Length Source Address Destination Address Options and Padding Header Checksum Header checksum was deemed redundant Layer 2 and upper layer protocols are performing checksums, so an IP header checksum is unnecessary IPv4 Header
ToS TTL Protocol Ver Total Length Source Address Destination Address Options and Padding Options and Padding The Options field was removed Options forms the basis of the Extension Header concept IPv4 Header
ToS TTL Protocol Ver Ver Total Length Source Address Destination Address The Version field was maintained IPv6 Header IPv4 Header Of course, the version numbers was changed to “6”
Traffic Class ToS TTL Protocol Ver Ver Total Length Source Address Destination Address ToS field was kept but renamed to Traffic Class IPv6 Header IPv4 Header Traffic Class is functionally identical to DiffServ (DSCP)
Traffic Class ToS TTL Protocol Ver Ver Total Length Source Address Destination Address Flow Label A new QoS Field called Flow Label was added IPv6 Header IPv4 Header Flow label allows for flow identification at layer 3 and within the IP header, instead of a mix of layer 3 and 4 parameters.
Traffic Class ToS TTL Protocol Ver Ver Total Length Source Address Destination Address Payload Length Flow Label Total Length field changed to Payload Length IPv6 Header IPv4 Header Header length is fixed to 40 bytes, thus only the payload length needs be identified
Traffic Class Next Header ToS TTL Protocol Ver Ver Total Length Source Address Destination Address Flow Label Payload Length Protocol field was changed to Next Header IPv6 Header IPv4 Header Next Header could indicate the layer 4 protocol (TCP, UDP), ICMP, another layer 3 IP protocol or an IPv6 extension header.
Traffic Class Hop Limit Next Header ToS TTL Protocol Ver Ver Payload Length Flow Label Total Length Source Address Destination Address TTL field was kept but changed to Hop Limit IPv6 Header IPv4 Header Over time, the “time” to live field came to mean “router hop count”, thus it was changed in IPv6 to “hop limit”
Traffic Class Hop Limit Next Header ToS TTL Protocol Ver Ver Payload Length Flow Label Total Length Source Address Destination Address Source Address (128 bits) Destination Address (128 bits) Source and Destination addresses are increased from 32 to 128 bits each IPv6 Header IPv4 Header
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length Traffic Class IPv6 basic header length Always 40 bytes Extension headers are added after the addresses, indicated by the Next Header value
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length Traffic Class No Next Header Next Header value = 59
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length Hop-by-Hop Options Header Traffic Class Hop-by-Hop header Next Header value = 0 Provides information that must be examined by every node along the packet’s delivery path, unlike other headers, which are only viewed by the receiving node.
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length Hop-by-Hop Options Header Destination Options Header Traffic Class Destination Options header Next Header value = 60 Destination Options header follows Hop-by-Hop header only when the Routing header is present. Carries optional information that needs to be examined by only the packet’s destination node(s)
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length Hop-by-Hop Options Header Destination Options Header Routing Header Traffic Class Routing header Next Header value = 43 Used by an IPv6 source to list one or more intermediate nodes to be visited on the way to a packet’s destination. Provides a means to do source or policy routing.
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length Hop-by-Hop Options Header Destination Options Header Routing Header Fragment Header Traffic Class Fragment header Next Header value = 44 Indicates that the datagram was fragmented and what position this fragment is in the overall datagram
Destination Address Source Address Next Header Hop Limit Ver Flow Label Payload Length Authentication Header Fragment Header Destination Options Header Hop-by-Hop Options Header Routing Header Traffic Class Authentication Header Next Header value = 51 Same as AH in IPSec for IPv4 Provides authentication of the packet
Destination Address Source Address Next Header Hop Limit Ver Flow Label Payload Length Encapsulating Security Payload Header Authentication Header Fragment Header Destination Options Header Hop-by-Hop Options Header Routing Header Traffic Class Encapsulating Security Payload header ESP provides confidentiality and integrity of the packet through encryption Next Header value = 50 Same as ESP in IPSec for IPv4
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length Hop-by-Hop Options Header Fragment Header Authentication Header Encapsulating Security Payload Header Mobility Header Traffic Class Mobility header Used by mobile nodes, correspondent nodes and home agents in messaging related to the creation and management of mobile bindings Next Header value = 135
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length Destination Options Header Destination Options Header Mobility Header Fragment Header Authentication Header Hop-by-Hop Options Header Encapsulating Security Payload Header Traffic Class Destination Options header Destination Options header moves to the end if the Routing header is not present Next Header value = 60
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length TCP Header Traffic Class Next header is TCP Next Header value = 6
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length UDP Header Traffic Class Next header is UDP Next Header value = 17
Source Address Destination Address Next Header Hop Limit Ver Flow Label Payload Length ICMPv6 Header Traffic Class Next header is ICMPv6 Next Header value = 58
Realize Tomorrow. Today.