IPv6 addresses

IPv6 launch banner

IPv6 addresses have 128 bits, and notated as hexadecimals in 8 colon seperated groups. In each group leading zero’s can be skipped and once in an address a sequence of groups only containing zero’s can be replaced by a double colon (::).

2001:4b98:0041:0000:0000:bc7c:0124 => 2001:4b98:41::bc7c:124

2001:0000:0000:0041:0000:0000:0124 => 2001::41:0:0:0124 or 2001:0:0:41::124

IPv4 addresses can be written in IPv6 format by using only the last 2 groups, and there the decimal notation may be used.

10:0.0.1 => ::FF:A00:1 or ::FF:10.0.0.1

Subnetting

IPv6 subnets are always 64 bits wide, like 2001:1:2:3::/64

The idea is to give every IPv6 user a 48 bits prefix, like 2001:1:2::/48

This leaves 16 bits for user subnetting, this is 65536 subnets to play with.

Address Assignment

The IPv6 address assignment is handled by IANA. Most important prefixes are:

2000::/3 Global Unicast Global scope
FC00::/7 Unique Local Unicast Local Unicast. For intranets, not routed, like IPv4 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16
FE80::/10 Link Local Unicast Link Identification, addresses often contain the MAC address. MAC 00:16:3e:31:c4:a0 => fe80::216:3eff:fe31:c4a0/64
FF00::/8 Multicast

Local Unicast

Uses are advised to generate a 40 bits Global ID for their intranets.  It is advised to calculate the Global Id using a specified procedure to maximize the probability of an unique address.

Local Unicast Address-format

 
Local Unicast Address
Prefix L Global ID Subnet ID Interface ID
7 bits
FC00::/7
1 bit
Locally assigned
40 bits
Randomly generated
16 bits
Local subnet
64 bits
From MAC address
1111110 1

The Interface ID is in the so-called ‘Modified EUI-64 Format’. How to go from a MAC address to Modified EUI-64 format is described in appendix A of RFC 4291.The Routing Advertising Daemon radvd provides ‘Stateless Autoconfiguration’ e.g. by assigning IPv6 addresses and routing information to nodes on the LAN.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.