Internet Protocol version 6 (IPv6) is the next generation of the Internet Protocol (IP). IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion. Throughout this article, we will familiarize ourselves with the concept of IPv6.
IPv4 and IPv6
Ipv4 was developed in the late 70s and it was the first non-experimental version in the internet. Total amount of addresses allocated by IPv4 is 232 which is about 4 billion unique addresses.
IPv6 theoretically allows 2128 addresses (3.4*1038) but actual number is smaller as multiple ranges are reserved for special use or completely excluded from use.
IPv6 replaces IPv4 32 bit address with a 128 bit address which result in a very large amount of addresses. IPv6 addresses are represented as eight groups which comprises of four hexadecimal digits while groups being separated by colons.
Example for IPv4 address are represented by two decimal digits in four groups which are separated by full stops.
The main reasons behind IPv4 being along so far is due to reusing the same IP addresses and due to NAT. What’s NAT? Network address translation (NAT) converts the private IPs to the public IPs which are unique. All the overlapping private IPs are behind unique public IPs.
Internet Protocol version 6 is a new addressing protocol designed to incorporate all the possible requirements of the future Internet known to us as Internet version 2.
This protocol, like its predecessor, IPv4, works on the Network Layer (Layer-3) of the OSI model. Along with its offering of an enormous amount of logical address space, this protocol has ample features which address the shortcomings of IPv4.
So far, IPv4 has proven itself as a robust routable addressing protocol and has served us for decades on its best-effort-delivery mechanism.
It was designed in the early ’80s and did not get any major change afterward. At the time of its birth, internet access was limited only to a few universities for their research and to the Department of Defense. IPv4 is 32 bits long and offers around 4,294,967,296 (232) addresses. This address space was considered more than enough at the time.
Outlined below are the major points that played a key role in the birth of IPv6:
- The Internet has grown exponentially and the address space allowed by IPv4 is saturating. There is a requirement to have a protocol that can satisfy the needs of future Internet addresses that is expected to grow in an unexpected manner.
- IPv4 on its own does not provide any security features. Data has to be encrypted with some other security applications before being sent on the Internet.
- Data prioritization in IPv4 is not up to date. Though IPv4 has a few bits reserved for Type of Service or Quality of Service, they do not provide much functionality.
- IPv4 enabled clients can be configured manually or they need some address configuration mechanism. It does not have a mechanism to configure a device to have a globally unique IP address.
Why IPv5 doesn't exist?
Until recently, Internet Protocol has been recognized has IPv4 only. Version 0 to 3 were used while the protocol was itself under development and experimental process.
So, we can assume lots of background activities remain active before putting a protocol into production. Similarly, protocol version 5 was used while experimenting with the stream protocol for the Internet.
It is known to us as Internet Stream Protocol which used Internet Protocol number 5 to encapsulate its datagram. It was never brought into public use.
Here is a table of IP versions and how they are used:
After IPv4’s development in the early 80s, the available IPv4 address pool begun to shrink rapidly as the demand of addresses exponentially increased with the Internet.
Taking pre-cognizance of the situation that might arise, IETF, in 1994, initiated the development of an addressing protocol to replace IPv4. The progress of IPv6 can be tracked by means of the RFC published:
• 1998 – RFC 2460 – Basic Protocol
• 2003 – RFC 2553 – Basic Socket API
• 2003 – RFC 3315 – DHCPv6
• 2004 – RFC 3775 – Mobile IPv6
• 2004 – RFC 3697 – Flow Label Specification
• 2006 – RFC 4291 – Address architecture (revision)
• 2006 – RFC 4294 – Node requirement
On June 06, 2012, some of the Internet giants chose to put their Servers on IPv6. Presently they are using Dual Stack mechanism to implement IPv6 parallel in with IPv4.
Why only consider using IPv6 only now?
Simple, because of compatibility. Getting from IPv6 only system to an IPv4 system will not work as there is no backward compatibility built into it.
But older hardware can be upgraded with new firmware. The problem is moving to purely IPv6 equipment or dual stack gear which can work on both protocols by the ISPs is super expensive back in the day but now this is being implemented.
Some of the main IPv6 features are as follows:
- Support addresses that are 128 bits long.
- Integrated with IPsec (internet Protocol Security) which authenticates and encrypts the data sent.
- Allows the host to send fragment packets instead of the router.
- Does not require a DHCP (Domain Host Control Protocol) or manual configurations.
- Uses the host’s address resource codes from the DNS to map the IPv6 addresses.
- Stateless Auto-reconfiguration of Hosts allows IPv6 hosts to automatically configure when connected to a routed IPv6 network.
- More efficient routing
- Ipv6 supports auto-configuration which corrects most of the flaws from IPv4 while integrated with the security features.
Also here is some usful Articles about IPV6.