The history of the creation of IPv6 is not as recent as it may appear at first glance.
It was in 1992 that IETF (Internet Engineering Task Force) became aware of a global shortage of IPv4 addresses There were also several technical obstacles in deploying new protocols due to limitations imposed by IPv4. An IPng (IP next generation) effort was started to solve these issues.
The discussion is described in many RFCs, starting with RFC 1550. After an intense debate, in 1995, IPv6 (IP version 6) was selected as the final IPng proposal. The IPv6 base specification is specified in RFC 1883 and revised in RFC 2460.
In one sentence, IPv6 is a reengineering effort against IP technology.
The key features are as follows.
Larger IP Address Space
IPv4 uses only 2^32 bits for IP address space, which allows only (theoretically) 4 billion nodes to be identified on the Internet. Four billion may look like a large number, however, does not even reach the number of inhabitants of planet earth. Moreover, due to the allocation (in)efficiency, it is impossible to use up all 4 billion addresses.
IPv6 allows 2^128 bits for IP address space, (theoretically) allowing 340,282,366,920,938,463,463,374,607,431,768,211,456 (340 undecillion) nodes to be uniquely identified on the Internet. Larger address space allows true end-to-end communication, without NAT (Network Address Translation) or other short-term workarounds against IPv4 address shortage. (In these days, NAT has been a headache to new protocol deployment and scalability issues, and we really need to decommission NATs for the Internet to grow further.)
Deploy More Recent Technologies
After IPv4 was specified 40 years ago, we saw many technical improvements in networking. IPv6 covers a number of those improvements in its base specification, allowing people to assume that these features are available everywhere, anytime. Recent technologies include, but are not limited to, the following:
Autoconfiguration – With IPv4, DHCP (Dynamic Host Configuration Protocol) is optional. A novice user can get into trouble if visiting an offsite without a DHCP server. With IPv6, the stateless host autoconfiguration mechanism is mandatory. This is much simpler to use and manage than IPv4 DHCP. RFC 2462 has the specification for it.
Security – With IPv4, IPsec is optional and you need to ask the peer if it supports IPsec. With IPv6, IPsec support is mandatory. By mandating IPsec, we can assume that you can secure your IP communication whenever you talk to IPv6 peers.
Friendly to traffic engineering technologies – IPv6 was designed to allow better support for traffic engineering such as diffserv1 or RSVP2. We do not have single standard for traffic engineering yet. So, the IPv6 base specification reserves a 24-bit space in the header field for those technologies and is able to adapt to coming standards better than IPv4.
Multicast – Multicast support is mandatory in IPv6; it was optional in IPv4. The IPv6 base specifications extensively use multicast on the directly connected link. It is still questionable how widely we will be able to deploy multicast (such as nationwide multicast infrastructure), though.
Better support for ad hoc networking – Scoped addresses allow better support for ad hoc (or “zeroconf”) networking. IPv6 supports anycast addresses, which can also contribute to service discoveries.
A Cure to Routing Table Growth
The IPv4 backbone routing table size has been challenging to Internet Service Providers (ISP’s) and backbone operators. The IPv6 addressing specification restricts the number of backbone routing entries by advocating route aggregation. With the current IPv6 addressing specification, we will see only 8,192 routes in the default-free zone.
Simplified Header Structures
IPv6 has simpler packet header structures than IPv4. It will allow vendors to implement hardware acceleration for IPv6 routers easier.
Allows Flexible Protocol Extensions
IPv6 allows more flexible protocol extensions than IPv4 by introducing a protocol header chain. Even though IPv6 allows flexible protocol extensions, IPv6 does not impose overhead to intermediate routers. It is achieved by splitting headers into two flavors: the headers intermediate routers need to examine and the headers the final destination will examine. This also eases hardware acceleration for IPv6 routers.
Smooth Transition from IPv4
During the discussions on IPv6, several considerations were made about the inevitable transition.
Still, there are a large number of transition mechanisms available. You will be able to select the most appropriate for your own network during the transition period.
Follows the Key Design Principles of IPv4
IPv4 was a very successful design, as proven by the large-scale global deployment. IPv6 is a new version of IP, and it follows many of the design features that made IPv4 very successful. This will also allow smooth transition from IPv4 to IPv6.
Protocol Header Chain
IPv6 defines a protocol header chain, which is a way to concatenate extension headers repeatedly after the IPv6 base header. With IPv4, the IPv4 header is adjacent to the final header (like TCP). With IPv6, the protocol header chain allows various extension headers to be put between the IPv6 base header and the final header.
- IPv6 Network Programming, Jun-ichiro itojun Hagino, Elsevier Digital Press
- IETF web site