IPv6 packet

An IPv6 packet is the smallest message entity exchanged using Internet Protocol version 6 (IPv6).

Packets consist of control information for addressing and routing and a payload of user data.

Packets may also be transported over a higher-layer tunneling protocol, such as IPv4 when using 6to4 or Teredo transition technologies.

In contrast to IPv4, routers do not fragment IPv6 packets larger than the maximum transmission unit (MTU), it is the sole responsibility of the originating node.

[1] Since July 2017, the Internet Assigned Numbers Authority (IANA) has been responsible for registering all IPv6 parameters that are used in IPv6 packet headers.

Hop-by-Hop Options can be processed and modified by intermediate nodes and, if present, must be the first extension.

[1] If a node does not recognize a specific extension header, it should discard the packet and send a Parameter Problem message (ICMPv6 type 4, code 1).

The Fragment extension header carries the information necessary to reassemble the original (unfragmented) packet.

[19][20] The fixed and optional IPv6 headers are followed by the upper-layer payload, the data provided by the transport layer, for example a TCP segment or a UDP datagram.

Since both TCP and UDP include fields limited to 16 bits (length, urgent data pointer), support for IPv6 jumbograms requires modifications to the transport layer protocol implementation.

Packets exceeding the size of the maximum transmission unit (MTU) of the destination link are dropped and this condition is signaled by a Packet too big ICMPv6 message to the originating node, similarly to the IPv4 method when the Don't Fragment bit is set.

Any data link layer conveying IPv6 data must be capable of transmitting an IP packet containing up to 1,280 bytes, thus the sending endpoint may limit its packets to 1,280 bytes and avoid any need for fragmentation or Path MTU Discovery.

Packets containing fragments need not arrive in sequence; they will be rearranged by the receiving node.

Hosts are permitted to make an attempt to reassemble fragmented datagrams larger than 1,500 bytes, but they are also permitted to silently discard any datagram after it becomes apparent that the reassembled packet would be larger than 1,500 bytes.

Research has shown that the use of fragmentation can be leveraged to evade network security controls.