![]() |
![]() |
| |||||||||||||||||||||||||
Automatic TunnelsThe automatic tunnels have a more limited use during early experimental deployment. Automatic tunnels require IPv4-compatible addresses and can be used to connect IPv6 nodes when IPv6 routers are not available. These tunnels can originate either on a dual host or on a dual router by configuring an automatic tunneling network interface. The tunnels always terminate on the dual host. These tunnels work by dynamically determining the destination IPv4 address (the endpoint of the tunnel) by extracting the address from the IPv4-compatible destination address. Interaction With ApplicationsEven on a node that has been upgraded to IPv6, the use of IPv6 is dependent on the applications. An application might not use a networking API that asks the name service for IPv6 addresses. The application might use an API (such as sockets) that requires changes in the application. Also, the provider of the API, such as an implementation of the java.net class might not support IPv6 addresses. In either situation, the node only sends and receives IPv4 packets like an IPv4 node would. The following names have become standard terminology within the Internet community:
IPv4 and IPv6 InteroperabilityDuring 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, that 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. Implementors 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 17-1 Client-Server Applications: IPv4 and IPv6 Interoperability
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. Site Transition ScenariosEach site and each ISP requires different steps during the transition phase. This section provides some examples of site transition scenarios. The first step to transition a site to IPv6 is to upgrade the name services to support IPv6 addresses. For DNS, upgrade to a DNS server that supports the new AAAA (quad-A), such as BIND 4.9.4 and later. Two new NIS maps and a new NIS+ table have been introduced for storing IPv6 addresses. The new NIS maps and NIS+ table can be created and administered on any Solaris system. See IPv6 Extensions to Solaris Name Services for details on the new databases. After the name service is able to distribute IPv6 addresses, you can start transitioning hosts. You can transition hosts in the following ways:
Other Transition MechanismsThe mechanisms that were specified previously handle interoperability between dual nodes and IPv4 nodes, if the dual nodes have an IPv4 address. The mechanisms do not handle interoperability between IPv6-only nodes and IPv4-only nodes. Also, the mechanisms do not handle interoperability between dual nodes that have no IPv4 address and IPv4-only nodes. Most implementations can be made dual. However, a dual implementation requires enough IPv4 address space to assign one address for every node that needs to interoperate with IPv4-only nodes. Several possibilities enable you to accomplish this interoperability without requiring any new transition mechanisms.
Unfortunately, both ALG and NAT solutions create single points of failure. By using these solutions, the Internet becomes less effective. The IETF is working on a better solution for IPv6-only interoperability with IPv4-only nodes. One proposal is to use header translators with a way to allocate IPv4-compatible addresses on demand. Another proposal is to allocate IPv4-compatible addresses on demand and use IPv4 in IPv6 tunneling to bridge the IPv6-only routers. The stateless header translator translates between IPv4 and IPv6 header formats if the IPv6 addresses in use can be represented as IPv4 addresses. The addresses must be IPv4-compatible or IPv4-mapped addresses. The support for these translators has been built into the IPv6 protocol. The translation can occur without any information loss, except for encrypted packets. Rarely used features such as source routing can produce information loss. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||