Demystifying IPv6: The Ultimate Resource for Modern Networking
IPv6 stands for Internet Protocol Version 6. It is the latest version of IPv4. IP version 6 is not backward compatible with Ipv4, because it performs the same task as the Ipv4 does. The IPv6 provides a unique IP to the device, but its addressing scheme and addresses are different from IPV4. It provides the same source and destination IPv6 addresses to the device over a network to move packets from one place to another. IPv6 uses the same IPv4 tools like Ping, ICMP, RIP, EIGRP, etc. with a little variation.
IPv6 is 128-bits long. We divided it into eight 16-bit blocks. Each block consists of 4 hexadecimal numbers separated by a colon symbol, e.g.
In hexadecimal notation,
0F21:F114:1010:A872:F110:011F:0101:888A
In digital notation
0000111100100001:1111000100010100:0001000000010000:1010100001110010:1111000100010000:0000000100011111:0000000100000001:1000100010001010
IPv6 is 128 bits long, which is (2 power 128), which is nearly equal to 3.4*1038 addresses, which is enough for future use.
Why do we use IPv6?
IPv4 was designed in 1980. There was some other protocol for this purpose, but Ipv4 has become more popular than the other protocols. It has served human beings for 4 decades. When the network was first started, it was limited to a few universities for their research and to some government organizations like DoD-US.
They considered at that time that Ipv4, which has 4 billion IP addresses, was enough for this purpose and it would not consume. But when the internet became popular in 1990, it brought a tremendous revolution in the world. There is a need for more IP addresses as we connect more and more devices to the internet. Moreover, the Ipv4 has no in-built security. It has a simplified header than IPv4. With time, there was a shortage of IPv4 addresses. So the expert designed some solutions for Ipv4 addresses.
- Classful IP address
- Subnetting and VLSM
- NAT/PAT
This temporary solution still connects us to the network, but there is a need for a permanent solution. So IPv6 was the permanent solution that will overcome the problem of shortage of IPV4 addresses.
IPv6 Features
- Large address space, e.g. 3.4*1038
- Embedded IPSEC
- Multicast
- Uses NDP (Neighbor discovery protocol)
- No Broadcast
- Only allow Unicast, multi-cast, anycast
- Stateful and stateless IPv6 configuration
- Simplified header than Ipv4
How to simplify an IPv6 address
Let’s understand this by an example:
2001:1A88:0000:0000A:0000:0000:0000:0028
There are some rules which simplify IPv6 address
i) Omit leading zeros
2001:1A88:0000:0000A:0000:0000:0000:0028

2001:1A88:0: A: 0:0:0:28
ii) Compress consecutive fields of zeros using double colon
2001:1A88:0: A: 0:0:0:28

2001:1A88:0: A::28
iii)
- Compressing and shortening a series of consecutive fields of hexadecimal zeros in an IPv6 address is possible only once, as
2001:0:0: A: 0:0:0:28

2001::A::28 Incorrect
But Correct is = 2001:0:0: A::28
Types of IPv6
- Unicast 2) Multicast 3) Link Local
- Unicast IPv6 Address
Unicast are those addresses that carry a message for only one destination. It is used in one-to-one communication. IPv6 Unicast addresses have three types of addresses, which are.
- Global Unicast
- Unique Local
- Link Local
Global Unicast IPv6
Global Unicast IP version 6 is just like the IPv4 public IP address. We use its assignment for those devices where traffic is routable on the public internet. It starts with 2 or 3 in decimal and 001 in binary systems. We divided IPv6 global Unicast into two parts. The first 64 is for subnetting while we use the last 64 bits to assign IPv6 to the host. The first 3 bits (001) are reserved for global Unicast routing. After these 3 bits (001), the remaining 45 bits are reserved for the global routing prefix. So we have a total of 48 bits, and after the first 48 bits in 64 bits, we reserved the remaining 16 bits for subnetting. We use the last 64 bits to assign IP to the host interface.

Site/Unique local IPv6 addresses
It is used to assign IPv6 to a private network. These IPv6 addresses are the same as private addresses in Ipv4. IPv6 unique local addresses are not routable on the public internet, however, it is routable on a company’s different sites. IPv6 unique local addresses are reserved in the range of FC00::/7 or FD00::/7. As FC00::7 (1111 1110) & FD00/7 (1111 1101) IPv6 unique local addresses can be used to secure our local network by providing local addresses to our devices while they are not directly connected to a public network.
Link-Local IPv6 addresses
We use Link-local IPv6 addresses to establish communication over a single link between two devices. Its scope is only for the current link, and it is not routable to any other link. Link-local addresses are dynamically assigned to the link. It is made by the combination of FE80/10 and the device link MAC address. It is started with FE80::/10 with 10 prefixes. Suppose if a link has a Mac address is 0000:1111:2222 then its link-local address will be as,
0000:1111:2222, inject fe80 after 6th digit as 0000:11FE::8011:2222.
A link-local address is not unique across networks. However, the same link-local address may be used on a different network segment. Link-local address support NDP (Neighbor discovery protocol) which is used to discover other devices on the link.
Multi-cast address
Multi-cast address uses to send a message to a group of people or a group of devices in a network. The multi-cast address in IPv6 starts from FF. We identify the multi-cast address by the use of the prefix FF00::/8. some multi-cast addresses are:
- FF02::1 All nodes on the local network segment
A packet from a router to all devices in a local network
- FF02::2 All routers on the local network segment
A packet from all nodes to a router in a local network segment.
IPv6 Prefix list
IPv6 is 128 bits long. We divide it into two portions. Network (64) and host (64) portion. The 1st portion of 64-bit is used to represent a network portion while the 2nd part represents the host portion. So the number of bits that is used to represent network bits is called prefix length. It determines how many bits we reserve for the network portion. The prefix is different from network to network, e.g. it may range from 10 to 128. The common prefix length is /64-bit, which IETF recommends.

IANA >>> 3 bits
RIR >>> 45 bits
Tier 1 ISP >>> 8
1010 Tier 2 ISP >>> 8
Company network: 8-bits
So, the company network will be as, 2000:1234:1000:000A::/64