What's New in the IPv6 Header?

In addition to expanding the IPv4 32-bit address space to a 128-bit address space, IPv6 makes the IP header more efficient. The IP header is the header of the IP packet, or datagram, that contains control information about how the packet can be delivered from its source to its destination. Figure A shows the layout of the IPv4 header. The header uses 13 fields to identify various control settings. The IPv4 header's total length comprises a minimum of 20 octets (8 bits per octet), or five 32-bit words. The IPv6 header, as Figure B shows, has only 8 fields with a fixed length of 40 octets.

The Ver (version) field remains in IPv6. In IPv6 the version field's number is 6, and in IPv4 its number is 4. The Source Address and Destination Address fields also remain in IPv6. These fields serve the same function in both IPv6 and IPv4 headers, but each field is 128 bits long in IPv6, as opposed to 32 bits long in IPv4.

In IPv6 the Total Length field has been renamed Payload Length. These two fields are similar but not identical. The payload length is the variable length of the data the IPv6 packet carries after the IPv6 header, whereas IPv4's total length is the variable length of the IPv4 header plus the variable length of the data. Because the IPv6 header's fixed length is 40 octets, IPv6 can easily derive total length by adding 40 octets to the Payload Length. This modification lets IPv6 omit IPv4's IP Header Length field, which is 20 octets plus the variable length of the Options + Padding field. (Padding makes the IPv4 header end on a 32-bit boundary.)

IPv4 uses the Time to Live (TTL) field to specify how long a packet can be alive when it traverses the network. This specification prevents the packet from undergoing an infinite loop. IPv4 expresses the TTL field in time ticks, such as 3 seconds, or in router hops, such as 3 hops. When the time is up or the router decrements the number of hops to zero, the network discards the packet. Because most applications define TTL in hops, IPv6 changed IPv4's Time to Live field to the Hop Limit field. Thus, IPv6 applications use only hops to express TTL.

IPv6 renamed and enhanced IPv4's Protocol field to the Next Header field. The Protocol field in IPv4 designates a packet's transport-layer protocol (e.g., TCP or UDP), which specifies what type of transport data follows the IPv4 header. The Next Header field in IPv6, however, can insert extension headers between the IPv6 header and the transport data. Each extension header other than the transport header (such as the TCP header) includes its own Next Header that specifies the following header's type, forming a daisy chain of IPv6 headers. IPv6 defines six extension headers: Hop-by-Hop Options, Destination Options, Routing, Fragment, Authentication, and Encapsulating Security Payload. Figure C shows an example of an IPv6 packet's extension headers.

Because IPv6's extension headers superseded IPv4's Options field, IPv6 eliminated the Options field. IPv6 also removed the three fields related to data fragmentation in IPv4: Identi-fication, Flags, and Fragment Offset. In IPv6, the Fragment extension header covers data fragmentation.

IPv6 eliminates the Header Checksum field, which handles error checking in IPv4. IPv6 depends instead on reliable transmission in the data link protocols and on error checking in upper-layer protocols.

IPv6 incorporates in its header two new fields for Quality of Service (QoS). These fields are the Class and Flow Control fields. The Class field replaces IPv4's Type of Service field, and it lets the originating host or the forwarding router identify the class or priority of the packet. The Flow Control field lets the source host label a sequence of packets (i.e., a flow) that requires special handling by intermediate routers when the packets travel from source to destination. A QoS protocol such as Resource Reservation Setup Protocol (RSVP) can use the Class and Flow Control fields to conduct special handling, such as realtime video transmission.

The header design in IPv6 can improve packet transmission, particularly router performance. For exam- ple, in IPv4, when the source host includes optional information that requires action from only the destination host, every intermediate router between the source and the destination will nevertheless examine the contents of the Options field. In IPv6, the source host can use the Destination Options extension header to carry optional information, and only the destination host will check the information in the Destination Options header. Therefore, routers forward packets faster because they don't waste time checking information that's irrelevant to them.

Another improvement in packet transmission increases router efficiency. In IPv6, routers do not handle data fragmentation and reassembly. Fragmentation is carried out only at the source host, and reassembly is carried out only at the destination host. This change in IPv6 leads to better router performance.

Discuss this Article 13

Ronnie Andreasen (not verified)
on Feb 16, 2000
I think that Your Article is great. Not only do You manage to explain what IPv6 is but You also manage to compare it to IPv4 and still it is very easy to understand and You only used one page. Many people would have written several pages to tell the same thing.
Kifer (not verified)
on Apr 24, 2004
Very clear and precise! Comparing both IPv4 and IPv6 makes your explanation very clear and to the point.
Irfan (not verified)
on May 23, 2004
I am a Computer Science student, revising for exams. This information really clarified a possible exam question on IPv4 comparison with IPv6. Excellent Source!
Anonymous User (not verified)
on Nov 17, 2004
The Article is EXCELLENT. Expalined in a simple and precise manner which is rearely found these days. Thanks.
Dan (not verified)
on May 14, 2004
Very clear, short and sweet. Thank you.
Anonymous User (not verified)
on Nov 22, 2004
if it ll be more clear then we can easy to learn. make clear everything.
Livingston (not verified)
on May 18, 2004
Great article, straight to the point. Thumbs up!

Please or Register to post comments.

IT/Dev Connections

Las Vegas
September 30th - October 4th

Paul ThurottYou'll have the opportunity to experience:
• The Microsoft
Technology Roadmap
• Office 365 Implementation
• Hyper-V Optimizing
• Windows 8 Deployment
and much more!

Come See Paul Thurrott & Rod Trent in Person!

Early Registration Now Open

Upcoming Training

Mastering SharePoint 2013: Succeeding, Not Just Surviving

Building on the success of the “Mastering SharePoint 2010” seminars, the presenters have updated the content to cover the latest and greatest SharePoint product: SharePoint 2013. While SharePoint 2013 is relatively new on the marketplace, the presenters have been working with SharePoint 2013 for well over a year, and have implemented it with a number of clients in production environments.

Register Now

Current Issue

May 2013 - The NameTranslate object is useful when you need to translate Active Directory object names between different formats, but it's awkward to use from PowerShell. Here's a PowerShell script that eliminates the awkwardness.

CURRENT ISSUE / ARCHIVE / SUBSCRIBE

Windows Forums

Get answers to questions, share tips, and engage with the Windows Community in our Forums.