IPv6 is an alternative and a solution to the IPv4 address crisis. This section explains what IPv6 is and describes its address structure.
IP Address Issues Solutions
This chapter has shown that IPv4 addressing faces two major issues:
The depletion of addresses, particularly the key medium-sized space
The pervasive growth of Internet routing tables, which is illustrated in Figure 2-23
Figure 2-23 Growth of Routing Tables
In the early 1990s, CIDR ingeniously built on the concept of the address mask and stepped forward to temporarily alleviate these overwhelming problems. CIDR's hierarchical nature dramatically improved IPv4's scalability. Once again, a hierarchical design has proven to be a scalable one.
Yet even with subnetting in 1985, variable-length subnetting in 1987, and CIDR in 1993, a hierarchical structure could not save IPv4 from one simple problem: not enough addresses exist to meet future needs. At roughly four billion possibilities, the IPv4 address space is formidable. However, it will not suffice in a future world of mobile Internet-enabled devices and IP-addressable household appliances.
Recent short-term IPv4 solutions to the address crunch have been developed. These include RFC 1918, which sets aside private addresses for unlimited internal use, and NAT, which allows thousands of hosts to access the Internet with only a handful of valid addresses.
However, the ultimate solution to the address shortage is the introduction of IPv6 and its 128-bit address. Developed to create a supply of addresses that would outlive demand, IPv6 is on course to eventually replace IPv4. IPv6's large address space will provide not only far more addresses than IPv4, but additional levels of hierarchy as well.
In 1994, the IETF proposed IPv6 in RFC 1752, and a number of working groups were formed in response. IPv6 covers issues such as the following:
Quality of service
It will not be easy for organizations deeply invested in the IPv4 scheme to migrate to a totally new architecture. As long as IPv4, with its recent extensions and CIDR-enabled hierarchy, remains viable, administrators will shy away from adopting IPv6. A new IP protocol requires new software, new hardware, and new methods of administration. It is likely that IPv4 and IPv6 will coexist, even within an autonomous system, for years.
IPv6 Address Format
As defined in RFC 1884 and later revised in RFC 2373, IPv6 addresses are 128-bit identifiers for interfaces and sets of interfaces, not nodes. Three general types of addresses exist:
UnicastAn identifier for a single interface. A packet sent to a unicast address is delivered to the interface identified by that address.
AnycastAn identifier for a set of interfaces that typically belong to different nodes. A packet sent to an anycast address is delivered to the nearest interface in the anycast group.
MulticastAn identifier for a set of interfaces that typically belong to different nodes. A packet sent to a multicast address is delivered to all interfaces in the multicast group.
To write 128-bit addresses so that they are more readable to human eyes, the IPv6 architects abandoned dotted-decimal notation in favor of a hexadecimal format. Therefore, IPv6 is written as 32-hex digits, with colons separating the values of the eight 16-bit pieces of the address.
IPv6 addresses are written in hexadecimal:
Leading 0s in each 16-bit value can be omitted, so this address can be expressed as follows:
Because IPv6 addresses, especially in the early implementation phase, might contain consecutive 16-bit values of 0, one such string of 0s per address can be omitted and replaced by a double colon. As a result, this address can be shortened as follows:
Under current plans, IPv6 nodes that connect to the Internet will use what is called an aggregatable global unicast address. This is the familiar counterpart to the IPv4 global addresses. Like CIDR-enhanced IPv4, aggregatable global unicast addresses rely on hierarchy to keep Internet routing tables manageable. IPv6 global unicast addresses feature three levels of hierarchy:
Public topologyThe collection of providers that offer Internet connectivity.
Site topologyThe level local to an organization that does not provide connectivity to nodes outside itself.
Interface identifierThe level specific to a node's individual interface.
This three-level hierarchy is reflected by the structure of the aggregatable global unicast address (see Figure 2-24), which includes the following fields:
Format Prefix (FP) field, 3 bitsThe 3-bit FP is used to identify the type of addressunicast, multicast, and so on. The bits 001 identify aggregatable global unicasts.
Top-Level Aggregation Identifier (TLA ID) field, 13 bitsThe TLA ID field is used to identify the authority responsible for the address at the highest level of the routing hierarchy. Internet routers necessarily maintain routes to all TLA IDs. With 13 bits set aside, this field can represent up to 8192 TLAs.
Reserved (Res) field, 8 bitsIPv6 architecture defined the Res field so that the TLA or NLA IDs could be expanded as future growth warrants. Currently, this field must be set to 0.
Next-Level Aggregation Identifier (NLA ID) field, 24 bitsThe NLA ID field is used by organizations assigned a TLA ID to create an addressing hierarchy and to identify sites.
Site-Level Aggregation Identifier (SLA ID) field, 16 bitsThe SLA ID is used by an individual organization to create its own local addressing hierarchy and to identify subnets.
Interface ID field, 64 bitsThe Interface ID field is used to identify individual interfaces on a link. This field is analogous to the host portion of an IPv4 address, but it is derived using the IEEE EUI-64 format. When this field is on LAN interfaces, the Interface ID adds a 16-bit field to the interface MAC address.
Figure 2-24 IPv6 Address Format
In addition to the global unicast address space, IPv6 offers internal network numbers, or site local use addresses. These are analogous to RFC 1918 addresses. If a node is not normally addressed with a global unicast address or an internal site local use address, it can be addressed using a link local use address, which is specific to a network segment.