Elliot Schwartz <elliot@mit.edu>

IPv6 is defined in [RFC1883]. (IPv4 is defined in [RFC791].)
More current information can be find on the IPv6 home page [IPNG].

Packet Fields

Also notice that unlike IPv4 there's no header checksum in the IP header. Basically, it was thought that it didn't provide enough utility to justify its existance. Any protocol that really cared about reliability was expected to provide a higher level checksum mechanism anyhow, and with Level 2 technologies being very good and/or having their own checksums, the IP checksum didn't detect many errors.

Extension Headers

Extension Headers contain optional information. These exist between the IPv6 header and the transport layer header, so that they're only read when necessary (typically, just at the end nodes, with the exception of Hop-by-Hop options, which must come first so that they can be read at every node). There's only a small number of extension headers, and they're not to be added lightly, since all hosts need to understand every header. Most extension headers look similar, having a Next Header field (just like the IPv6 field), a length field (basically a pointer to the next header), and header-specific data.


The Hop-by-Hop Options and Destination Options headers contain one or more options. Not all hosts need to understand all options. All options have the following fields: Therre are only a few options currently defined:


Unlike IPv4, there are no broadcast addresses in IPv6 - multicast address obsolete this. Also, the lower 48 bits of a unicast IPv6 address are taken from the Level 2 / MAC address of the machine's interface card. This unique idenifier is used in autoconfiguration. Addressing is documented in [RFC1885].


The purpose of autoconfiguration is to reduce the amount of setup and configuration that goes into hosts. If you've set up an IPv4 host, you know it can be a pain to type in the numbers, and autoconfiguration gets rid of this. Perhaps more important, it also removes state from the hosts so that if something like a change in default router or IP address is needed, it can be performed without user intervention. Autoconfiguration is described in [RFC1971].

The following procedure is used for autoconfiguration: