Internet Protocol Version 6.
Internet Protocol Version 4
IPv6 stands for Internet Protocol Version 6. It’s referred to as v6 because it is the 6th official version of the Internet Protocol. IPv6 is intended to replace the currently most widespread Internet Protocol IPv4. Currently, only 1% of all Internet traffic uses IPv6. The rest of all web traffic is still using IPv4. IPv6 was developed by the Internet Engineering Task Force (IETF) in the 1990’s in anticipation of a shortage of Internet IP addresses using IPv4.
IPv4 Address Shortage
There are approximately 4 billion available IP addresses available using IPv4. IP addresses are managed by the Internet Assigned Numbers Authority (IANA). IANA delegates authority to 5 Registered Internet Registries across the globe, each one being responsible for a specific region of the world. Each registry manages approximately 16.8 million addresses. The primary reason for a shortage of IPv4 addresses is the dramatic growth in popularity of the Internet. Another reason includes an exponential growth in both the number and types of devices that are able to connect to the Internet. Also, realize that there are very large blocks of IP addresses that are reserved, meaning they’re ineligible for use by the public.
IPv6 will allow for approximately 3.4×10^38 million worldwide IP addresses. IPv6 will be the successor to IPv4 at some time in the future. In fact, many experts previously believed that IPv6 would replace IPv4 by the year 2010 due to the exhaustion of IPv4 addresses. Currently, that is not the case. The Internet continues to use the predecessor.
IPv6 Datagram Format
Pv6 transmits information across the Internet in the form of a packet. At the network-layer of the OSI model, a transmitted packet is referred to as datagram. The IPv6 datagram packet structure includes the following 9 fields:
- Version. The 4 bit field that identifies the version number of the Internet Protocol used. IPv6 uses a value of 6 for this field.
- Traffic class. This is an 8 bit field similar to the traffic class of the IPv4 datagram.
- Flow label. A 20 bit field used to identify the flow of datagram packets.
- Payload length. A 16-bit unsigned integer value indicating the number of bytes following the header.
- Next header. The protocol used by the contents of the datagram (TCP or UDP). Similar to the protocol field of IPv4.
- Hop limit.
- Source and destination IP addresses. The 128-bit IP address as defined in RFC 4291.
- Data. The payload portion of the datagram packet. Contains the information being sent.
IPv6 addresses are 128 bits in length, which is roughly 16 bytes. That means that there are 2^128, or approximately 3.4×10^38 million possible IP addresses available using IPv6. IPv6 addresses are represented as eight groups of four hexadecimal digits separated by colons.
Transition from IPv4 to IPv6
The primary complication with transitioning from IPv4 to IPv6 is backwards compatibility, or lack thereof. Because of the obvious difference in packet structure, but also the removal of IPv4 components in IPv6, IPv4 devices are not always capable of reading IPv6 addresses. There are two different methods in which IPv6 is being integrated into the Internet: the stack method and the tunnel method.
There is, of course, a third option. Mass deployment of IPv6 without regards to compatibility. The issue with this includes not only the scale at which the protocol would be deployed, but also the cost incurred by millions of businesses and consumers alike. A transition such as this would make any device that didn’t support IPv6 to become instantly obsolete.