The IP datagram header must be fixed to enable fast hardware-based processing. The basic IPv6 header is fixed: 40 octets with fixed-length fields. In order to process options and exceptions, extension headers are used. They are 64 bits aligned to enable fast hardware/register-based processing.
Each type of extension header is identified by a Next Header specific value, as listed in Table 3.5. This table contains only the specific IPv6 extension headers.
Extension headers are daisy-chained. The next header value of the IP header is pointing to the first extension header, the next header fields of the successive extension headers points to the next extension header until the last extension header where the next header points to the transport header.
Important to remember:
Extension headers are used for the optional info of the IPv6 datagram. They are daisychained up to the transport header.
Figure 3.7 shows two extension headers between the IP header and the transport header. The second extension header has its Next Header field, shown as ‘NH’, identifying the transport protocol following it.