Date post: | 14-Dec-2015 |
Category: |
Documents |
Upload: | talia-grimley |
View: | 224 times |
Download: | 1 times |
IPv6 TutorialModule 1: IPv6 Protocol Structure
Dan Campbell, President
Millennia Systems, Inc.
www.MillenniaSystems.com 2
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
www.MillenniaSystems.com 3
Review: The IPv4 header consists of 15 fields(including 3 flags and the options and padding)
Ver IHL ToS Total Length
FragmentOffset
TTL Protocol Header Checksum
Source Address
Destination Address
Options and Padding
IPv4 Header
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
Version – Indicates IP version 4
IHL = Internet Header Length, which must be specified since the options allow for varying length headers
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)
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
Flags
Identifier
ToS = Type of Service, which allows for differentiating packets into different classes for specific forwarding treatment.
Protocol – The next protocol header above IP, e.g., TCP, UDP, IPSec, etc.
www.MillenniaSystems.com 4
Review: The IPv4 header can vary in size
Ver IHL ToS Total Length
IdentifierFragment
Offset
TTL Protocol Header Checksum
Source Address
Destination Address
Options and Padding
IPv4 Header
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
www.MillenniaSystems.com 5
IHL
Identifier
Header Checksum
Options and Padding
Flags
FragmentOffset
IPv6 set out to retire obsolete IPv4 header fields
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
IPv4 Header
IPv4 header fields that were obsolete or superfluous to other protocol layers were identified for deletion or modification
IHL
IdentifierFragment
Offset
Header Checksum
Options and Padding
Flags
www.MillenniaSystems.com 6
IHL
IPv6 header is fixed to 40 bytes
Ver Total Length
IdentifierFragment
OffsetFlags
TTL Protocol Header Checksum
Source Address
Destination Address
Options and Padding
IPv4 Header
IHL
Internet Header Length (IHL) field is no longer needed
ToS
www.MillenniaSystems.com 7
Identifier
The largely unused Identification field was trashed
Ver ToS Total Length
FragmentOffset
Flags
TTL Protocol Header Checksum
Source Address
Destination Address
Options and Padding
IPv4 Header
Identifier
www.MillenniaSystems.com 8
Flags
The 3-bit Flags field is no longer needed
Ver ToS Total Length
FragmentOffset
TTL Protocol Header Checksum
Source Address
Destination Address
Options and Padding
IPv4 Header Flags dealt primarily with Fragmentation, which has been moved to an optional extension header
Fla
gs
www.MillenniaSystems.com 9
FragmentOffset
Fragmentation by routers in IPv6 is not permitted
Ver ToS Total Length
TTL Protocol Header Checksum
Source Address
Destination Address
Options and Padding
IPv4 Header
Fragm
ent
Offset
Hosts must fragment packets.
Fragmentation was moved to an optional extension header
www.MillenniaSystems.com 10
Header Checksum
Header checksum was deemed redundant
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
Options and Padding
IPv4 Header
Header Checksum
Layer 2 and upper layer protocols are performing checksums, so an IP header checksum is unnecessary
www.MillenniaSystems.com 11
The Options field was removed
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
IPv4 Header
Options and Padding
Options and Padding
Options forms the basis of the Extension Header concept
www.MillenniaSystems.com 12
The Version field was maintained
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
IPv4 Header IPv6 Header
Ver
Of course, the version numbers was changed to “6”
www.MillenniaSystems.com 13
ToS field was kept but renamed to Traffic Class
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
IPv4 Header IPv6 Header
VerTrafficClass
Traffic Class is functionally identical to DiffServ (DSCP)
www.MillenniaSystems.com 14
A new QoS Field called Flow Label was added
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
IPv4 Header IPv6 Header
VerTrafficClass
Flow Label
Flow label allows for flow identification at layer 3 and within the IP header, instead of a mix of layer 3 and 4 parameters.
www.MillenniaSystems.com 15
Total Length field changed to Payload Length
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
IPv4 Header IPv6 Header
VerTrafficClass
Payload Length
Flow Label
Header length is fixed to 40 bytes, thus only the payload length needs be identified
www.MillenniaSystems.com 16
Protocol field was changed to Next Header
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
IPv4 Header IPv6 Header
VerTrafficClass
Flow Label
Payload LengthNext
Header
Next Header could indicate the layer 4 protocol (TCP, UDP), ICMP, another layer 3 IP protocol or an IPv6 extension header.
www.MillenniaSystems.com 17
TTL field was kept but changed to Hop Limit
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
IPv4 Header IPv6 Header
VerTrafficClass
Flow Label
Payload LengthNext
HeaderHopLimit
Over time, the “time” to live field came to mean “router hop count”, thus it was changed in IPv6 to “hop limit”
www.MillenniaSystems.com 18
Source and Destination addresses are increased from 32 to 128 bits each
Ver ToS Total Length
TTL Protocol
Source Address
Destination Address
IPv4 Header IPv6 Header
VerTrafficClass
Flow Label
Payload LengthNext
HeaderHopLimit
Source Address(128 bits)
Destination Address(128 bits)
www.MillenniaSystems.com 19
Traffic Class
IPv6 basic header length
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Always 40 bytes
Extension headers are added after the addresses, indicated by the Next Header value
www.MillenniaSystems.com 20
No Next HeaderTraffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Next Header value = 59
www.MillenniaSystems.com 21
Hop-by-Hop header
Hop-by-Hop Options Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
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.
Next Header value = 0
www.MillenniaSystems.com 22
Destination Options header
Hop-by-Hop Options Header
Destination Options Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Carries optional information that needs to be examined by only the packet’s destination node(s)
Destination Options header follows Hop-by-Hop header only when the Routing header is present.
Next Header value = 60
www.MillenniaSystems.com 23
Routing header
Hop-by-Hop Options Header
Destination Options Header
Routing Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
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.
Next Header value = 43
www.MillenniaSystems.com 24
Fragment header
Hop-by-Hop Options Header
Destination Options Header
Routing Header
Fragment Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Indicates that the datagram was fragmented and what position this fragment is in the overall datagram
Next Header value = 44
www.MillenniaSystems.com 25
Authentication Header
Hop-by-Hop Options Header
Destination Options Header
Routing Header
Fragment Header
Authentication Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Provides authentication of the packet
Same as AH in IPSec for IPv4
Next Header value = 51
www.MillenniaSystems.com 26
Encapsulating Security Payload header
Hop-by-Hop Options Header
Destination Options Header
Routing Header
Fragment Header
Authentication Header
Encapsulating Security Payload Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
ESP provides confidentiality and integrity of the packet through encryption
Same as ESP in IPSec for IPv4
Next Header value = 50
www.MillenniaSystems.com 27
Mobility header
Hop-by-Hop Options Header
Fragment Header
Authentication Header
Encapsulating Security Payload Header
Mobility Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Used by mobile nodes, correspondent nodes and home agents in messaging related to the creation and management of mobile bindings
Next Header value = 135
www.MillenniaSystems.com 28
Destination Options header
Hop-by-Hop Options Header
Fragment Header
Authentication Header
Encapsulating Security Payload Header
Mobility Header
Destination Options Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Destination Options header moves to the end if the Routing header is not present Destination Options Header
Next Header value = 60
www.MillenniaSystems.com 29
Next header is TCP
TCP Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Next Header value = 6
www.MillenniaSystems.com 30
Next header is UDP
UDP Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Next Header value = 17
www.MillenniaSystems.com 31
Next header is ICMPv6
ICMPv6 Header
Traffic Class
Ver Flow Label
Payload LengthNext
HeaderHopLimit
Source Address
Destination Address
Next Header value = 58
Realize Tomorrow. Today.