Previous Table of Contents Next


Chapter 32
IPv6: The Next-Generation Internet Protocol

Gary C. Kessler

The only way to cope with the changes on the Internet — the number of hosts, types of applications, and growing security concerns — is to implement a new version of the Internet protocol to succeed IPv4. The IETF formed the IPng Working Group to define this transitional protocol, and the result was IPv6 — designed as an evolution from IPv4, rather than as a radical change.

INTRODUCTION

The Internet is historically linked to the ARPANET, the pioneering packet-switched network built for the U.S. Department of Defense in 1969. Starting with four nodes that year, the ARPANET slowly grew to encompass many systems across the US, and connected to hosts in Europe and Asia by the end of the 1970s. By the early 1980s, many regional and national networks across the globe started to become interconnected, and their common communications protocols were based on the TCP/IP suite. By the late 1980s, the number of host systems on these primarily academic and research networks could be counted in the hundreds or thousands. In addition, most of the traffic was supporting simple text-based applications, such as E-mail, file transfers, and login.

By the 1990s, however, users discovered the Internet and commercial use, previously prohibited or constrained on the Internet, was actively encouraged. Since the beginning of this decade, new host systems are being added to the Internet at rates of up to 10% per month, and the Internet has been doubling in size every 10-12 months for several years. By January 1997, there were more than 16 million hosts on the Internet, ranging from PC-class systems to supercomputers, on more than 100,000 networks worldwide.

The number of connected hosts is only one measure of the Internet’s growth. Another way to quantify the change, however, is in the changing applications. On today’s Internet it is common to see hypermedia, audio, video, animation, and other types of traffic that were once thought to be anathema to a packet-switching environment. As the Internet provides better service support, new applications will spark even more growth and changing demographics. In addition, nomadic access has become a major issue with the increased use of laptop computers, and security concerns have grown as a result of the increased amount of sensitive information accessible via the Internet.

IPV6 BACKGROUND AND FEATURES

The IP was introduced in the ARPANET in the mid-1970s. The version of IP commonly used today is IPv4, described in RFC 791.

Although several protocol suites (including OSI) were proposed over the years to replace IPv4, none succeeded because of IPv4’s large and continually growing installed base. Nevertheless, IPv4 was never intended for today’s Internet in terms of the number of hosts, types of applications, or security concerns.

In the early 1990s, the IETF recognized that the only way to cope with these changes was to design a new version of IP to become the successor to IPv4. The IETF formed the IPng Working Group to define this transitional protocol, ensuring long-term compatibility between the current and new IP versions and support for current and emerging IP-based applications.

Work started on IPng in 1991 and several IPng proposals were subsequently drafted. The result of this effort was IPv6, described in RFCs 1883 to 1886; these four RFCs were officially entered into the Internet Standards Track in December 1995.

Differences Between IPv4 and IPv6

IPv6 is designed as an evolution from IPv4 rather than as a radical change. Useful features of IPv4 were carried over in IPv6 and less useful features were dropped. According to the IPv6 specification, the changes from IPv4 to IPv6 fall primarily into the following categories:

  Expanded addressing capabilities The IP address size is increased from 32 bits to 128 bits in IPv6, supporting a much greater number of addressable nodes, more levels of addressing hierarchy, and simpler autoconfiguration of addresses for remote users. The scalability of multicast routing is improved by adding a scope field to multicast addresses. A new type of address, called anycast, is also defined.
  Header format simplification Some IPv4 header fields have been dropped or made optional to reduce the necessary amount of packet processing and to limit the bandwidth cost of the IPv6 header.
  Improved support for extensions and options IPv6 header options are encoded to allow for more efficient forwarding, less stringent limits on the length of options, and greater flexibility for introducing new options in the future. Some fields of an IPv4 header are optional in IPv6.
  Flow labeling capability A new QOS capability has been added to enable the labeling of packets belonging to particular traffic “flows” for which the sender requests special handling, such as real-time service.
  Authentication and privacy capabilities Extensions to support security options, such as authentication, data integrity, and data confidentiality, are built into IPv6.

Improved Terminology of IPv6

IPv6 also introduces and formalizes terminology that, in the IPv4 environment, are loosely defined, ill-defined, or undefined. The new and improved terminology includes:

  Packet This is an IPv6 PDU, comprising a header and the associated payload. In IPv4, this would have been termed “packet” or “datagram.”
  Node This is a device that implements IPv6.
  Router This is an IPv6 node that forwards packets, based on the IP address, not explicitly addressed to itself. In former TCP/IP terminology, this device was often referred to as a gateway.
  Host This represents any node that is not a router. Hosts are typically end-user systems.
  Link This is a medium over which nodes communicate with each other at the data link layer (e.g., an automated teller machine, a frame relay, a SMDS, a WAN, or an Ethernet or Token Ring LAN).
  Neighbors These are nodes attached to the same link.

IPV6 HEADER FORMAT

The format of an IPv6 header is shown in Exhibit 1. Although IPv6 addresses are four times the size of IPv4 addresses, the basic IPv6 header is only twice the size of an IPv4 header, thus decreasing the impact of the larger address fields. The fields of the IPv6 header are:

  Version This represents the IP version number (4 bits). This field’s value is 6 for IPv6 and 4 for IPv4. This field is in the same location as the version field in the IPv4 header, making it simple for an IP node to quickly distinguish an IPv4 packet from an IPv6 packet.
Exhibit 1. IPv6 Header Format
Version Priority Flow Label
Payload Length Next Header Hop Limit
Source Address
Destination Address

Exhibit 2. Sample Values of Next Header Field
Value Contents of the next header

1 Internet Control Message Protocol (ICMP)
6 Transmission Control Protocol (TCP)
17 User Datagram Protocol (UDP)
43 Routing header
44 Fragment header
58 Internet Control Message Protocol version 6 (ICMPv6)
59 Nothing; this is the final header
60 Destination Options header
89 Open Shortest Path First (OSPF)

  Priority This enables a source to identify the desired delivery priority of the packet (4 bits).
  Flow label This is used by a source to identify associated packets needing the same type of special handling, such as a real-time service between a pair of hosts (24 bits).
  Payload length This is the length of the portion of the packet following the header, in octets (16 bits). The maximum value in this field is 65,535; if this field contains zero, it means that the packet contains a payload larger than 64K bytes and the actual payload length value is carried in a jumbo payload hop-by-hop option.
  Next header This identifies the type of header immediately following the IPv6 header and uses the same values as the IPv4 protocol field, where applicable (8 bits). The next header field can indicate an options header, higher layer protocol, or no protocol above IP. Sample values are listed in Exhibit 2.
  Hop limit This specifies the maximum number of hops that a packet may take before it is discarded (8 bits). This value is set by the source and decremented by one by each node that forwards the packet; the packet is discarded if the hop limit reaches zero. The comparable field in IPv4 is the TTL field; it was renamed for IPv6 because the value limits the number of hops, not the amount of time that a packet can stay in the network.
  Source address This is the IPv6 address of the originator of the packet (128 bits).
  Destination address This is the IPv6 address of the intended recipients of the packet (128 bits).


Previous Table of Contents Next

Copyright © CRC Press LLC