Home > Articles > Evolving Use Cases

Evolving Use Cases

IP Version 6

With the global proliferation of IP-based networks, available IPv4 addresses are rapidly becoming exhausted. Fortunately, IPv6 provides enough IP addresses for many generations to come. This section introduces IPv6 addressing with a deep dive into IPv6’s address structure and a discussion of some of its unique characteristics.

Need for IPv6

With the worldwide depletion of IP version 4 (IPv4) addresses, many organizations have migrated, are in the process of migrating, or are considering migrating their IPv4 addresses to IPv6 addresses. IPv6 dramatically increases the number of available IP addresses. In fact, IPv6 offers approximately 5 × 1028 IP addresses for each person on the planet.

Beyond the increased address space, IPv6 offers many other features:

  • Simplified header:

    • The IPv4 header uses 12 fields.

    • The IPv6 header uses 5 fields.

  • No broadcasts

  • No fragmentation (performs MTU discovery for each session)

  • Can coexist with IPv4 during a transition:

    • Dual stack (running IPv4 and IPv6 simultaneously on a network interface or device)

    • IPv6 over IPv4 (tunneling IPv6 over an IPv4 tunnel)

Even if you are designing a network based on IPv4 addressing, it is a good practice to consider how readily an IPv6 addressing scheme could be overlaid on that network at some point in the future. Using Teredo tunneling, an IPv6 host could provide IPv6 connectivity even when the host is directly connected to an IPv4-only network. Miredo is a client that can be used to implement the Teredo protocol and is included in many versions of Linux. IPv6/IPv4 tunneling is often referred to as 6to4 or 4to6 tunneling, depending on which protocol is being tunneled (IPv4 or IPv6). These are just some of the many tunneling mechanisms devised to ensure a smooth transition from IPv4 to IPv6. In fact, thanks to dual stack and tunneling features, it is very unlikely that you will see IPv4 ever completely go away in your lifetime.

Since there are so many available IPv6 addresses, network address translation (NAT) is not nearly as required in IPv6. One way it can be useful is in transition between the two versions, however. Network address translation from IPv6 to IPv4 (NAT64) is a technology that facilitates communication between IPv6-only clients and IPv4-only servers, bridging the gap between the two distinct IP address families. It is yet another component in the transition from the older IPv4 protocol to the newer IPv6 protocol, allowing IPv6 networks to access resources on IPv4 networks without requiring the end systems to support both protocols. NAT64 works by translating IPv6 packets to IPv4 packets and vice versa, using a predefined prefix to generate an IPv6 address that maps to an IPv4 address.

IPv6 Address Structure

An IPv6 address has the following address format, where X is a hexadecimal digit in the range of 0 to F:

  • XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX

A hexadecimal digit is 4 bits in size (4 binary bits can represent 16 values). Notice that an IPv6 address has eight fields, and each field contains four hexadecimal digits. The following formula reveals why an IPv6 address is a 128-bit address:

  • 4 bits per digit × 4 digits per field × 8 fields = 128 bits in an IPv6 address

IPv6 addresses can be difficult to work with because of their size. Fortunately, the following rules (often collectively referred to as shorthand notation) exist for abbreviating these addresses:

key_topic_icon.jpg
  • Leading 0s in a field can be omitted.

  • Contiguous fields containing all 0s can be represented with a double colon. (Note that this can be done only once for a single IPv6 address.)

For example, consider the following IPv6 address:

  • ABCD:0123:4040:0000:0000:0000:000A:000B

Using the rules for abbreviation, the IPv6 address can be rewritten as follows:

  • ABCD:123:4040::A:B

An exciting feature of IPv6 is the Extended Unique Identifier (EUI-64) format, which permits a device to automatically populate the low-order 64 bits of an IPv6 address based on an interface’s MAC address. You will read more about this capability later in this chapter.

IPv6 Address Types

The following are some of the many unique aspects of IPv6 addressing and interesting address types:

  • IPv6 globally routable unicast addresses start with the first four hex characters in the range 2000 to 3999.

  • An IPv6 link-local address is also used on each IPv6 interface. The link-local address begins with FE80.

  • Multicast addresses begin with FF as the first two hex characters.

  • IPv6 can use autoconfiguration to discover the current network and select a host ID that is unique on that network. Automatic generation of a unique host ID is made possible through a process known as EUI-64, which uses the 48-bit MAC address on the device to aid in the generation of the unique 64-bit host ID. Notice that the autoconfiguration capabilities described here permit you to create an IPv6 network free of DHCP-type services. The ability of IPv6 to replace the need for DHCP services like this is known as stateless address autoconfiguration (SLAAC). You will learn more about SLAAC in Chapter 16, “IPv4 and IPv6 Network Services.”

  • IPv6 can also use a special version of DHCP for IPv6. Not surprisingly, this version is called DHCPv6.

  • The protocol that is used for network discovery—that is, to discover the network address and learn the Layer 2 addresses of neighbors on the same network—is Neighbor Discovery Protocol (NDP).

NDP is hugely important in IPv6. It defines five ICMPv6 packet types for important jobs:

key_topic_icon.jpg
  • Router Solicitation: Hosts inquire with Router Solicitation messages to locate routers on an attached link.

  • Router Advertisement: Routers advertise their presence together with various link and Internet parameters, either periodically or in response to a Router Solicitation message.

  • Neighbor Solicitation: Neighbor solicitation messages are used by nodes to determine the link layer address of a neighbor or to verify that a neighbor is still reachable via a cached link layer address.

  • Neighbor Advertisement: Neighbor advertisement messages are used by nodes to respond to a Neighbor Solicitation message.

  • Redirect: Routers may inform hosts of a better first-hop router for a destination.

IPv6 Data Flows

You might recall from our discussion of IPv4 traffic flows in Chapter 4 that there are unicast, broadcast, multicast, and anycast methods of communication possible with IP version 4. IPv6 uses just three of the four types of data flows:

key_topic_icon.jpg
  • Unicast

  • Multicast

  • Anycast

Just like in IPv4, IPv6 uses special address types for these data flows. The following sections summarize the characteristics of each address type.

Unicast

With unicast, a single IPv6 address is applied to a single interface, as illustrated in Figure 8-3. The communication flow can be thought of as a one-to-one communication flow.

FIGURE 8-3

Figure 8-3 IPv6 Unicast Example

In Figure 8-3, a server (AAAA::1) is sending traffic to a single client (AAAA::2).

Multicast

With multicast, a single IPv6 address (a multicast group) can represent multiple devices on a network, as shown in Figure 8-4. The communication flow is a one-to-many communication flow.

In Figure 8-4, a server (AAAA::1) is sending traffic to a multicast group (FF00::A). Two clients (AAAA::2 and AAAA::3) have joined this group. Those clients receive the traffic from the server, and any client that did not join the group (for example, AAAA::4) does not receive the traffic.

FIGURE 8-4

Figure 8-4 IPv6 Multicast Example

IPv6 replaces broadcast behavior with multicast, thanks to the “all nodes” multicast group. This reserved address is FF01:0:0:0:0:0:0:1 (FF01::1). All IPv6 nodes join this group. This is a simple and efficient method for sending traffic to all nodes.

Anycast

With anycast, a single IPv6 address is assigned to multiple devices, as illustrated in Figure 8-5. It is a one-to-nearest (from the perspective of a router’s routing table) communication flow.

FIGURE 8-5

Figure 8-5 IPv6 Anycast Example

In Figure 8-5, a client with IPv6 address AAAA::1 wants to send traffic to destination IPv6 address AAAA::2. Notice that two servers (Server A and Server B) have the IPv6 address AAAA::2. In the figure, the traffic destined for AAAA::2 is sent to Server A, via router R2, because the network on which Server A resides appears to be closer than the network on which Server B resides, from the perspective of router R1’s IPv6 routing table.

8. Real-World Case Study | Next Section Previous Section

Cisco Press Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from Cisco Press and its family of brands. I can unsubscribe at any time.