Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide

NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Read offline with no ads or diagram watermarks!
The TCP/IP Guide

Custom Search

Table Of Contents  The TCP/IP Guide
 9  TCP/IP Lower-Layer (Interface, Internet and Transport) Protocols (OSI Layers 2, 3 and 4)
      9  TCP/IP Internet Layer (OSI Network Layer) Protocols
           9  Internet Protocol (IP/IPv4, IPng/IPv6) and IP-Related Protocols (IP NAT, IPSec, Mobile IP)
                9  Internet Protocol Version 6 (IPv6) / IP Next Generation (IPng)
                     9  IPv6 Datagram Encapsulation and Formatting

Previous Topic/Section
IPv6 Datagram Encapsulation and Formatting
Previous Page
Pages in Current Topic/Section
Next Page
IPv6 Datagram Main Header Format
Next Topic/Section

IPv6 Datagram Overview and General Structure
(Page 1 of 2)

The method by which IPv6 encapsulates data received from higher-layer protocols for transmission across the internetwork is basically the same as that used by IPv4. The data received from the transport or higher layers is made the payload of an IPv6 datagram, which has one or more headers that control the delivery of the message. These headers provide information to routers to enable them to move the datagram across the network, and also to hosts so they can tell which datagrams they are intended to receive.

Overview of Major Changes to Datagram Structure and Fields in IPv6

While the basic use of datagrams hasn't changed since IPv4, many modifications were made to their structure and format when IPv6 was created. This was done partly out of necessity: IPv6 addresses are different than IPv4 addresses and IP addresses go in the datagram header. The increase in the size of IP addresses from 32 bits to 128 bits adds a whopping extra 192 bits, or 24 bytes of information to the header. This in turn led to an effort to remove fields that weren't strictly necessary, to compensate for the necessary increase in size. However, changes were also made to IPv6 datagrams to add features to them and to make them better suit the needs of modern internetworking.

The following is a list of the most significant overall changes to datagrams in IPv6:

  • Multiple Header Structure: Rather than a single header that contains all fields for the datagram (possibly including options), the IPv6 datagram supports a “main” header and then extension headers for additional information when needed.

  • Streamlined Header Format: Several fields have been removed from the main header to reduce its size and increase efficiency. Only the fields that are truly required for pretty much all datagrams remain in the main header; others are put into extension headers and used as needed. Some were removed because they were no longer needed, such as the Internet Header Length field; the IPv6 header is of fixed length. This is discussed more thoroughly in the topic on the main IPv6 header.

  • Renamed Fields: Some fields have been renamed to better reflect their actual use in modern networks.

  • Greater Flexibility: The extension headers allow a great deal of extra information to accompany datagrams when needed. Options are also supported in IPv6.

  • Elimination of Checksum Calculation: In IPv6, a checksum is no longer computed on the header. This saves both the calculation time spent by every device that packages IP datagrams (hosts and routers) and the space the checksum field took up in the IPv4 header.

  • Improved Quality of Service Support: A new field, the Flow Label, is defined to help support the prioritization of traffic.

Key Concept: IPv6 datagrams use a general structure that begins with a mandatory main header 40 bytes in length, followed by optional extension headers and then a variable-length Data area. This structure was created to allow the main header to be streamlined while allowing devices to add extra information to datagrams when needed.

Previous Topic/Section
IPv6 Datagram Encapsulation and Formatting
Previous Page
Pages in Current Topic/Section
Next Page
IPv6 Datagram Main Header Format
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $

Home - Table Of Contents - Contact Us

The TCP/IP Guide (
Version 3.0 - Version Date: September 20, 2005

Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.