HP-UX IPv6 Transition Mechanisms White Paper
4
Figure 1 illustrates the protocol stack in a dual stack node. The common transport layer components
support two network layer components (IPv4 and IPv6), allowing applications on the node to
communicate with both IPv4 and IPv6 applications. A dual stack node should be configured with both
IPv4 and IPv6 addresses.
Dual stack is the most straightforward technique that allows interoperation between IPv6 applications
and IPv4 applications. IPv6-aware applications such as telnet, ftp, DNS, Web Servers deployed on dual
stack nodes can service existing IPv4-only nodes and new IPv6 nodes avoiding the need to run two
separate applications for the same purpose.
IPv6-aware applications running on dual stack nodes communicate with IPv4 applications running on
IPv4-only nodes using a special IPv6 address called an IPv4-mapped IPv6 address [1]. The IPv4-mapped
IPv6 address with the format ā::ffff:a.b.c.dā contains the IPv4 address in the low-order 32 bits.
When an IPv4 client application sends a request to an IPv6 server application bound to a wildcard
address, the dual stack node presents the client address as a 128 bit IPv4-mapped IPv6 address to the
IPv6 application. This allows the IPv6 application to service the request as a regular IPv6 request. While
transmitting the response, the dual stack node will properly interpret the IPv4-mapped IPv6 address as
an IPv4 address and the packets exchanged between the two nodes will be IPv4 packets.
5. Tunneling
Tunneling is a key transition mechanism strategy that allows isolated IPv6 nodes or networks to
communicate with each other using a virtual link created over the existing IPv4 infrastructure. The IPv6
nodes that act as tunnel endpoints should be dual stack nodes. The tunnel entry-point node encapsulates
each IPv6 packet with an IPv4 header and transmits the encapsulated IPv4 packet using the existing IPv4
routing infrastructure. The tunnel exit-point node receives the encapsulated packet, decapsulates it, and
passes it to its final destination.
Tunnel configuration can be either manual (configured) or automatic, they primarily differ in how the
IPv4 tunnel end-point is determined.
The manually configured tunnels are point-to-point tunnels; the tunnel configuration is done on both the
tunnel entry-point node and exit-point node. The encapsulating node determines the IPv4 tunnel endpoint
from the configuration information.
The automatic tunnels are point-to-multipoint tunnels, and they require no manual configuration. They use
a special IPv6 address with an embedded IPv4 tunnel endpoint address. 6to4 is an example of
automatic tunneling mechanism.
Tunneling can be used in different scenarios, as discussed in the following sections.
5.1 Host-to-Host
In a host-to-host configuration, the tunnel endpoints are IPv6/IPv4 (dual stack) hosts that are
interconnected by an IPv4 infrastructure. This tunnel configuration enables newly deployed isolated
IPv6/IPv4 hosts to communicate with each other by creating an IPv6-in-IPv4 tunnel. In this case, the
tunnel spans the entire end-to-end path that the packet takes.