Header:


Bit 0-3

Bit 4-7

Bit 8-11

Bit 12-15

Bit 16-23

Bit 24-31

0

Version

Traffic Class

Flow Label

32

Payload Length

Next Header

Hop Limit

64

Source address

96

128

160

192

Destination address

224

256

288

Major differences from IPv4:

  • 128 bit address space (IPv4 has 32 bits).
  • 64 bits of the IPv6 address is reserved for the host MAC address
  •  Address allocation by network elements (typically routers) is built into the standard (called Stateless Address Autoconfiguration)
  •  Multicasting is built into the standard (optional in IPv4). Broadcast is not (but can be acieved as a variant of multicast)
  • Some protocol changes over IPv4 is designed to improve routing efficiency:
    • Simpler packet header
    • No checksum for header
    • No packet fragmentation support
  • IPv6 supports jumbograms with up to 4GB of data (IPv4 supports 64K)

Addressing

This is an IPv6 address: 2001:7F8:12:1::224 (Uninett's Nix address)

In short:

  • IPv6 addresses is written as 8 groups of hex numbers
  • One or more values of 0 may be written as :: (but only at one location within address): 2001:7F8:12:1::224 = 2001:7F8:12:1:0:0:0:224
  • The last 4 bytes may be written as an IPv4 address
  • Network are written as the first address in the network / size of prefix (prefix=the part that is identical for all hosts)
    • 2001:7F8:12:1::/112 = the address range from 2001:7F8:12:1:0:0:0:0 to 2001:7F8:12:1:0:0:0:FFFF

In addition to unicast and multicast IP, IPv6 also supports the "anycast" address. The anycast is assignet to several interfaces on on or more network elements. The reason for implementing "anycast" addresses can be:

  1. Send traffic to nearest server
  2. Redundancy/high availability for distributed servers
  3. Policy routing (i.e. always send a type of traffic along a path of anycast addresses)

  4. Complicate the hell out of your network