Internet Protocol Version 6

What is IPv6?

 

 

IP, the Internet Protocol, is one of the pillars which supports the Internet. Almost 20 years old, first specified in a remarkably concise 45 pages in RFC 791, IP is the network-layer protocol for the Internet.

In 1991, the IETF decided that the current version of IP, called IPv4, had outlived its design. The new version of IP, called either IPng (Next Generation) or IPv6 (version 6), was the result of a long and tumultuous process which came to a head in 1994, when the IETF gave a clear direction for IPv6.

IPv6 is designed to solve the problems of IPv4. It does so by creating a new version of the protocol which serves the function of IPv4, but without the same limitations of IPv4. IPv6 is not totally different from IPv4: what you have learned in IPv4 will be valuable when you deploy IPv6. The differences between IPv6 and IPv4 are in five major areas: addressing and routing, security, network address translation, administrative workload, and support for mobile devices. IPv6 also includes an important feature: a set of possible migration and transition plans from IPv4.

Since 1994, over 30 IPv6 RFCs have been published. Changing IP means changing dozens of Internet protocols and conventions, ranging from how IP addresses are stored in DNS (domain name system) and applications, to how datagrams are sent and routed over Ethernet, PPP, Token Ring, FDDI, and every other medium, to how programmers call network functions.

The IETF, though, is not so insane as to assume that everyone is going to change everything overnight. So there are also standards and protocols and procedures for the coexistence of IPv4 and IPv6: tunneling IPv6 in IPv4, tunneling IPv4 in IPv6, running IPv4 and IPv6 on the same system (dual stack) for an extended period of time, and mixing and matching the two protocols in a variety of environments.



So What’s In It?

Even if you’ve never studied IPv6, you may know about its most famous feature: big addresses. IPv4 uses 32-bit addresses, and with the growth of the Internet, these have become a scarce and valuable commodity. Organizations have gone to great lengths to deal with the shortage and high cost of IPv4 addresses. The most visible change in IPv6 is that addresses balloon from 32-bits to 128-bits.

Feature

Change

Address Space

Increase from 32-bit to 128-bit address space

Management

Stateless autoconfiguration means no more need to configure IP addresses for end systems, even via DHCP

Performance

Predictable header sizes and 64-bit header alignment mean better performance from routers and bridges/switches

Multicast/Multimedia

Built-in features for multicast groups, management, and new "anycast" groups

Mobile IP

Eliminate triangular routing and simplify deployment of mobile IP-based systems

Virtual Private Networks

Built-in support for ESP/AH encrypted/authenticated virtual private network protocols; built-in support for QoS tagging

With such a huge address space, ISPs will have sufficient IP addresses to allocate enough addresses to every customer so that every IP device has a truly unique address---whether it’s behind a firewall or not. NAT (network address translation) has become a very common technique to deal with the shortage of IP addresses. Unfortunately, NAT doesn’t work very well for many Internet applications, ranging from old dependables, such as NFS and DNS, to newer applications such as group conferencing. NAT has also been an impediment for business-to-business direct network connections, requiring baroque and elaborate address translators to make everything work reliably, scaling poorly, and offering a highly vulnerable single point of failure. One of the goals of IPv6’s address space expansion is to make NAT unnecessary, improving total connectivity, reliability, and flexibility. IPv6 will re-establish transparency and end-to-end traffic across the Internet.

Additional address space will also help the core of the Internet---it is hoped---by reducing the size and complexity of the global routing tables. Although IPv6 doesn’t solve the problems of routing in the Internet, it can help in several areas, reducing the initial size of the tables and offering a hierarchical address space.

The new IPv6 addresses are large and cumbersome to deal with, so IPv6 reduces the number of people who have to read and write them. A second major goal of IPv6 is to reduce the total time which people have to spend configuring and managing systems. An IPv6 system can participate in "stateless" autoconfiguration, where it creates a guaranteed-unique IP address by combining its LAN MAC address with a prefix provided by the network router---DHCP is not needed. Of couse, DHCP is still useful for other parameters, such as DNS servers, and is supported as DHCPv6 where needed. IPv6 also offers a middle ground between the two extremes with protocols such as SLP ("Service Location Protocol"), which may make the lives of network managers easier.

Although IPv4 is a simple protocol, it was not designed for giga-bit and tera-bit routers which need to look at millions of packets a second. The third major goal of IPv6 is to speed up the network, both from a performance and from a deployment point of view. IPv6 embodies the lessons learned at trying to build high-speed routers for IPv4 by changing the header of the IP packet to be more regular and to streamline the work of high-speed routers moving packets across the Internet backbone. IPv6 has fixed header sizes, and little-used IPv4 fields have been removed.

A side effect of the redesign of the IP packet header is that future extensions to IPv6 are simplified: adding a new option to IP can be done without a major re-engineering of IP routers everywhere.

High-bandwidth multimedia and fault tolerance applications are the focus of the fourth major goal of IPv6. Multimedia applications can take advantage of multicast: the transmission of a single datagram to multiple receivers. Although IPv4 has some multicast capabilities, these are optional and not every router and host supports them. With IPv6, multicast is a requirement. IPv6 also defines a new kind of service, called "anycast." Like multicast, anycast has groups of nodes which send and receive packets. But when a packet is sent to an anycast group in IPv6, it is only delivered to one of the members of the group. This new capability is especially appropriate in a fault-tolerant environment: web servers and DNS servers could all benefit from IPv6’s anycast technology.

The fifth major goal of IPv6 is VPNs, virtual private networks. The new IPSec security protocols, ESP (encapsulating security protocol) and AH (authentication header) are add-ons to IPv4. IPv6 builds-in and requires these protocols, which will mean that secure networks will be easier to build and deploy in an IPv6 world.

Another aspect of VPNs built into IPv6 is QoS (Quality of Service). IPv6 supports the same QoS features as IPv4, including the DiffServ indication, as well as a new 20-bit traffic flow field. Although the use of this part of IPv6 is not defined, it is provided as a solid base to build QoS protocols.