Home > IPv6 Tutorial

IPv6 Tutorial

The Internet Corporation for Assigned Names and Numbers (ICANN) is responsible for the assignment of IPv6 addresses. ICANN assigns a range of IP addresses to Regional Internet Registry (RIR) organizations. The size of address range assigned to the RIR may vary but with a minimum prefix of /12 and belong to the following range: 2000::/12 to 200F:FFFF:FFFF:FFFF::/64.

ipv6_Address_Allocation_Policy.jpg

Each ISP receives a /32 and provides a /48 for each site-> every ISP can provide 2(48-32) = 65,536 site addresses (note: each network organized by a single entity is often called a site).
Each site provides /64 for each LAN -> each site can provide 2(64-48) = 65,536 LAN addresses for use in their private networks.
So each LAN can provide 264 interface addresses for hosts.

-> Global routing information is identified within the first 64-bit prefix.
Note: The number that represents the range of addresses is called a prefix

 

ipv6_policy_ISP.jpg

Now let’s see an example of IPv6 prefix: 2001:0A3C:5437:ABCD::/64:

IPv6_prefix_length_example.jpg

In this example, the RIR has been assigned a 12-bit prefix. The ISP has been assigned a 32-bit prefix and the site is assigned a 48-bit site ID. The next 16-bit is the subnet field and it can allow 216, or 65536 subnets. This number is redundant for largest corporations on the world!

The 64-bit left (which is not shown the above example) is the Interface ID or host part and it is much more bigger: 64 bits or 264 hosts per subnet! For example, from the prefix 2001:0A3C:5437:ABCD::/64 an administrator can assign an IPv6 address 2001:0A3C:5437:ABCD:218:34EF:AD34:98D to a host.

IPv6 Address Scopes

Address types have well-defined destination scopes:

IPv6_global_site_link.jpg

IPv6 Address Scopes              
Description
Link-local address + only used between neighbors on the same link (automatic address configuration, neighbor discovery, router discovery, and by many routing protocols). It is only valid on the current subnet.
+ are always automatically configured
+ routers do not forward packets with link-local addresses
+ are allocated with the FE80::/64 prefix -> can be easily recognized by the prefix FE80. Some books indicate the range of link-local address is FE80::/10, meaning the first 10 bits are fixed and link-local address can begin with FE80, FE90,FEA0 and FEB0 but in fact the next 54 bits are all 0s so you will only see the prefix FE80 for link-local address
+ same as 169.254.x.x in IPv4 (APIPA address), it is assigned when a DHCP server is unavailable and no static addresses have been assigned
+ is usually created dynamically using a link-local prefix of FE80::/10 and a 64-bit interface identifier (based on 48-bit MAC address)
+ only one link-local address can be configured per interface
Site-local address (or Unique local address) + they are analogous to IPv4’s private address classes. 
+ used between nodes communicating with other nodes in the same site
+ allows devices in the same organization, or site, to exchange data
+ starts with FC00::/7 (for used in private networks) -> The first octet can be FC or FD. However when you implement this you have to set the L-bit (the right-most bit of the first octet) to 1 which means that the first two digits will be FD.
+ Maybe you will be surprised but Site-local addresses are no longer supported (deprecated) by RFC 3879 so maybe you will not see it in the future
Global unicast address + unicast packets sent through the public Internet (equivalent to public IPv4 addresses)
+ globally unique throughout the Internet
+ starts with a 2000::/3 prefix (this means any address beginning with 2 or 3). But in the future global unicast address might not have this limitation

All nodes must have at least one link-local address, although each interface can have multiple addresses (which is different from IPv4 address where each interface can only have one IPv4 address).

However, using them would also mean that NAT would be required and addresses would again not be end-to-end.
Site-local addresses are no longer supported (deprecated) by RFC 3879.

Special IPv6 Addresses – Multicast addresses

FF00::/8 range is used for IPv6 multicast -> The first octet is FF (1111 1111). This way you can tell at a glance if an IPv6 address is intended for multicast or not. In this range, well-known multicast addresses have the prefix FF00::/12. This means that the first 3 hexadecimal digits of an address will always be FF0. Reserved muticast IPv6 addresses are listed below:

Reserved Multicast Address Description
FF02::1 + All nodes on a link (link-local scope).
FF02::2 + All routers on a link
FF02::5 + OSPFv3 All SPF routers
FF02::6 + OSPFv3 All DR routers
FF02::9 + All routing information protocol (RIP) routers on a link
FF02::A + EIGRP routers
FF02::1:FFxx:xxxx + All solicited-node multicast addresses used for host auto-configuration and neighbor discovery (similar to ARP in IPv4)
+ The xx:xxxx is the far right 24 bits of the corresponding unicast or anycast address of the node
FF05::101 + All Network Time Protocol (NTP) servers

Note: When an interface is configured with IPv6 address, it  automatically joins the all nodes (FF02::1) and solicited-node (FF02::1:FFxx:xxxx) multicast groups. The all-node group is used to communicate with all interfaces on the local link, and the solicited-nodes multicast group is required for link-layer address resolution. Routers also join a third multicast group, the all-routers group (FF02::2).

Comments (4) Comments
  1. Johnny
    May 24th, 2020

    Given a network of 2001:a:b:c::/64
    Is the last usable host address 2001:a:b:c:FFFF:FFFF:FFFF:FFFF /64

    OR

    2001:a:b:c:FFFF:FFFF:FFFF:FFFE /64

  2. Inferno
    November 18th, 2020

    @Johnny I have known that there is no Broadcast adress or Network adress in Ipv6, so it will be the first one.

  3. Tom
    April 26th, 2021

    @Johnny –

    Given: 2001:a:b:c::/64

    2001:a:b:c::1/64 through 2001:a:b:c:FFFF:FFFF:FFFF:FFFF/64 is usable as there are no broadcasts in IPV6.

  4. Anonymous
    January 29th, 2024

    excellent

Add a Comment