IPv6 Basics Part 3 - Protocol Differences

Don't be fooled into thinking that the only change in IPv6 is longer addresses. There have been a number of other significant changes to the protocol and the implications are wide ranging.

IPv6 Packets and Extension Headers

There is an entirely new packet format with IPv6, which you can read about in detail here if you are so inclined. The base header for IPv6 actually contains less information than found in it's IPv4 counterpart, with some fields eliminated from IPv4 and some moved into extension headers. (Similar to IPv4 options)

The use of extension headers should increase the efficiency of IPv6, since we are not obliged to send headers with empty fields if we are not using a particular feature. In addition to this, it should provide flexibility to extend IPv6 with new features in future. (This flexibility comes at a cost though, something which RFC6564 discusses.)

#### Packet fragmentation

An example of information migrated from the IPv6 base header to an extension header is that of fragmentation, although in the scheme of things this is a relatively minor change. The major change here is that the emphasis is now on the sender, rather than intermediate routers, to fragment packets. (The idea being to reduce the workload on routers.) In order to achieve this end-to-end fragmentation, a sender must perform Path MTU Discovery prior to sending traffic.

#### Jumbograms

At the opposite end of the scale to packet fragmentation, IPv6 introduces the concept of Jumbograms. As in IPv4, IPv6 has a 16-bit payload length field in the header, which equates to 64KiB. However, via the use of extension headers, IPv6 allows us to send Jumbograms up to a massive 4GiB in size.
I've had a few people excitely talk to me about IPv6 Jumbograms, but the elephant in the room, is that you need a link capable of supporting them. Most commercially available switches and NICs can't handle frame sizes larger than 9KiB, so unless a compelling use case comes along that forces a change, you shouldn't have to worry about Jumbograms anytime soon.

####Neighbour Discovery

The loss of broadcast as we knew it, means that something that you will have to worry about is Neighbour Discovery - the IPv6 replacement for ARP.

Neighbour Discovery Protocol (NDP) is more than just an ARP replacement though. Router discovery, duplicate address detection and IP address autoconfiguration are all functions of NDP. These additional features do create new attack vectors however, (some of which are outlined here by Cisco), so if you're thinking about deploying IPv6 on your network then you might want to consider your mitigation options.

####Automatic IP Addressing

Another everyday service that relies on broadcast is DHCP, which has has been reinvented as DHCPv6. Under the hood there are a few differences but the most noticeable change is that we can't specify the gateway with DHCPv6. (It must be learned from NDP router advertisements.)

IPv6 also has an entirely new trick up its sleeve when it comes to automatically assigning IP addresses. Stateless Address Autoconfiguration (SLAAC) allows a client generates it's own IP address using information solicited (with NDP) from a router on the local network.

The stateless nature of this means it probably isn't something you'll want to use on server subnets, but for client subnets it should come in handy.

IPv6 Basics Part 1 - Address Format & Types

IPv6 Basics Part 2 - Unicast Addressing

IPv6 Basics Part 3 - Protocol Differences

IPv6 Basics Part 4 - Multicast

IPv6 Basics Part 5 - Planning an IPv6 Network