IPv6 Administration Guide

IPv4 and IPv6 Interoperability

During the gradual transition phase from IPv4 to IPv6, existing IPv4 applications must continue to work with newer IPv6–enabled applications. Initially, vendors provide host and router platforms that are running a dual-stack. A dual-stack is both an IPv4 protocol stack and an IPv6 protocol stack. IPv4 applications continue to run on a dual– stack that is also IPv6 enabled with at least one IPv6 interface. No changes need to be made to these applications, no porting required.

IPv6 applications that run on a dual-stack can also use the IPv4 protocol. IPv6 applications use an IPv4-mapped IPv6 address. Because of the design of IPv6, separate applications, IPv4 and IPv6, are not needed. For example, you do not need an IPv4 client on a dual host to “talk” with a server on an IPv4-only host. Also, you do not need a separate IPv6 client to talk with an IPv6 server. You need only to port their IPv4 client application to the new IPv6 API. The client can communicate with IPv4–only servers. The client can also communicate with IPv6 servers that run on either a dual host or an IPv6–only host.

The address that the client receives from the name server determines if IPv6 or IPv4 is used. For example, if the name server has an IPv6 address for a server, then the server runs IPv6.

The following table summarizes the interoperability between IPv4 and IPv6 clients and servers. The table assumes that the dual-stack host has both an IPv4 and IPv6 address in the respective name service database.

Table 4–1 Client-Server Applications: IPv4 and IPv6 Interoperability

Type of Application (Type of Node)

IPv6-Unaware Server (IPv4-Only Node) 

IPv6-Unaware Server (IPv6-Enabled Node) 

IPv6-Aware Server (IPv6-Only Node) 

IPv6-Aware Server (IPv6-Enabled Node) 

IPv6-unaware client (IPv4-only node) 

IPv4 

IPv4 

IPv4 

IPv6-unaware client (IPv6-enabled node) 

IPv4 

IPv4 

IPv4 

IPv6-aware client (IPv6-only node) 

IPv6 

IPv6 

IPv6-aware client (IPv6-enabled node) 

IPv4 

(IPv4) 

IPv6 

IPv6 

X means that the server cannot communicate with the client.

(IPv4) denotes that the interoperability depends on the address that is chosen by the client. If the client chooses an IPv6 address, the client fails. However, an IPv4 address that is returned to the client as an IPv4–mapped IPv6 address causes an IPv4 datagram to be sent successfully.

In the first phase of IPv6 deployment, most implementations of IPv6 are on dual-stack nodes. Initially, most vendors do not release IPv6–only implementations.