IPv6 (Internet Protocol version 6) is the latest networking protocol being used today to route traffic throughout the Internet. IPv6 uses 128-bit which translates to 2128 addresses. The total number of possible IPv6 address is more than 7.9 × 1028 times as many as IPv4, which uses 32-bit addresses and provides approximately 4.3 billion addresses.

IPv6 addresses are written in eight groups of four hexadecimal digits. The groups are separated by colons, for example, 2001:0db8:85a3:0000:0000:8a2e:0370:7334. IPv6 consists of 2 sections which are the network identifier and the interface identifier. The network identifier consists of the most significant 64 bits of the IPv6 address. The remaining bits is based on your network interface MAC address.

IPv6 and IPv4 are not interoperable. Therefore, various mechanisms must be employed during the transition period from IPv4 to IPv6. One common mechanism is the use of tunnelling where IPv4 packets will encapsulate IPv6 datagrams. The reverse can also be done when an IPv6-only network needs to communicate with an IPv4-only network.

Besides tunnelling, some ISPs may implement a dual-stack network where both IPv4 and IPv6 are supported in the same network node. This method is better than tunnelling because it avoids security issues, latency and management overheads. Unfortunately, outdated networking hardware tend to limit this option to only those organizations which are willing to refresh their hardware.