Skip to content
Related Articles
Open in App
Not now

Related Articles

Internet Protocol version 6 (IPv6)

Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 20 Oct, 2021
Improve Article
Save Article

IP v6 was developed by Internet Engineering Task Force (IETF) to deal with the problem of IP v4 exhaustion. IP v6 is a 128-bits address having an address space of 2^128, which is way bigger than IPv4. In IPv6 we use Colon-Hexa representation. There are 8 groups and each group represents 2 Bytes. 


In IPv6 representation, we have three addressing methods : 

  • Unicast
  • Multicast
  • Anycast

1. Unicast Address –
Unicast Address identifies a single network interface. A packet sent to a unicast address is delivered to the interface identified by that address. 

2. Multicast Address –
Multicast Address is used by multiple hosts, called as Group, acquires a multicast destination address. These hosts need not be geographically together. If any packet is sent to this multicast address, it will be distributed to all interfaces corresponding to that multicast address. 

3. Anycast Address –
Anycast Address is assigned to a group of interfaces. Any packet sent to an anycast address will be delivered to only one member interface (mostly nearest host possible). 

Note: Broadcast is not defined in IPv6. 

Types of IPv6 address: 
We have 128 bits in IPv6 address but by looking at the first few bits we can identify what type of address it is. 


Prefix Allocation Fraction of Address Space
0000 0000 Reserved 1/256
0000 0001 Unassigned (UA) 1/256
0000 001 Reserved for NSAP 1/128
0000 01 UA 1/64
0000 1 UA 1/32
0001 UA 1/16
001 Global Unicast 1/8
010 UA 1/8
011 UA 1/8
100 UA 1/8
101 UA 1/8
110 UA 1/8
1110 UA 1/16
1111 0 UA 1/32
1111 10 UA 1/64
1111 110 UA 1/128
1111 1110 0 UA 1/512
1111 1110 10 Link-Local Unicast Addresses 1/1024
1111 1110 11 Site-Local Unicast Addresses 1/1024
1111 1111 Multicast Address 1/256

Note: In IPv6, all 0’s and all 1’s can be assigned to any host, there is not any restriction like IPv4. 

Provider-based Unicast address : 
These are used for global communication. 

The First 3 bits identify it as of this type. 
Registry Id (5-bits): Registry Id identifies the region to which it belongs. Out of 32 (i.e. 2^5), only 4 registry IDs are being used. 

Provider Id: Depending on the number of service providers that operate under a region, certain bits will be allocated to the Provider Id field. This field need not be fixed. Let’s say if Provider Id = 10 bits then Subscriber Id will be 56 – 10 = 46 bits. 
Subscriber Id: After Provider Id is fixed, the remaining part can be used by ISP as a normal IP address. 
Intra Subscriber: This part can be modified as per the need of the organization that is using the service. 

Geography based Unicast address : 

Global routing prefix: Global routing prefix contains all the details of Latitude and Longitude. As of now, it is not being used. In Geography-based Unicast address routing will be based on location. 
Interface Id: In IPv6, instead of using Host Id, we use the term Interface Id. 

Some special addresses: 
Unspecified – 

Loopback – 

IPv4 Compatible – 

IPv4 mapped – 

Local Unicast Addresses : 
There are two types of Local Unicast addresses defined- Link-local and Site-Local

Link-local address: 

A link-local address is used for addressing a single link. It can also be used to communicate with nodes on the same link. The link-local address always begins with 1111111010 (i.e. FE80). The router will not forward any packet with Link-local address. 

Site local address: 

Site local addresses are equivalent to a private IP address in IPv4. Likely, some address space is reserved, which can only be routed within an organization. The first 10-bits are set to 1111111011, which is why Site local addresses always begin with FEC0. The following 32 bits are Subnet IDs, which can be used to create a subnet within the organization. The node address is used to uniquely identify the link; therefore, we use a 48-bits MAC address here. 

References : 

This article is contributed by Abhishek Agrawal. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!