Extended discussion about IPv4/IPv6 transition and interoperability


LONG IPv4 and IPv6 interoperability (Transition Mechanisms)

IPv4/IPv6 accessibility is a general requirement for smooth transition. From the point of view of applications (the real “users” of the network), different problems have been identified:

IPv6 applications communicating across an IPv4 network (note that in a further transition stage, the opposite problem will arise):

This case is solved by the network, through the use of tunnels, and it is transparent to the application. The LONG network makes extensive usage of IPv6 over IPv4 configured tunnels. Our experimental results, regarding a wide spectrum of tunnel flavours (configured, 6to4, and also less commonly used ones like automatic, or 6over4) show that the use of tunnels does not reduce performance significantly (if you want to read the description, see Deliverable 4.2, where you can find performance tests for several IPv4/IPv6 transition mechanisms).

IPv6-enabled applications interacting with IPv4 applications:
The second case, IPv6-enabled applications interacting with IPv4 ones, can be solved by:

a) The deployment of applications that can use both protocols provided that the applications run over dual-stack hosts.

The deployment of applications that can communicate with both IPv4 and IPv6 is a neat solution. It is especially useful for the deployment of servers. If a server is to be deployed in this way, either IPv4 or IPv6 clients can access the service. The restrictions due to translation (limited support for extension header translation, broken end-to-end relationship, etc.) are not an issue in this case. However, this model requires dual protocol connectivity for the host acting as server. And we have to consider that adding support for both protocols increases slightly the cost of application development. In the LONG network the deployment of DNS, Web, FTP, IRC, Mail, News and Isabel follow this approach. To consider the particular case of Isabel, IPv4 clients and IPv6 clients can connect to a FlowServer running in a dual stack host, since this component handles communication with both network protocols.
If the network does not support both protocols, but a dual-stack machine were hosting a dual protocol application, tunnels can be used to establish communication with another host using the protocol not natively supported by the network. For example, if an Isabel FlowServer running on a dual-stack machine is placed inside an IPv6 only network, DSTM could be used for tunnelling IPv4 packets over IPv6 from a border router to reach the FlowServer (or a static tunnel could be configured for this purpose). This latter scenario is not being tested in the LONG network.

b) The deployment of translators.
If the application

-         does not support dual protocol communication,

-         is hosted in a single stack machine, or

-         is hosted in a dual stack host but the network does not allow by any means the communication for both protocols,

protocol translation is required. Several services have been tested in such way in the LONG network. In the stable LONG infrastructure, Isabel, NFS and the Tetris game are translated by NAT-PT (the most mature and universal translation service) to allow IPv4 nodes to access to IPv6. IRC is translated using TRT. You can see a map of UC3M, to see the topology of the network in which NAT-PT is exercised. NAT-PT has proven to offer enough performance when not too many flows are translated simultaneously (Deliverable 4.2), even to fulfil the real-time communication requirements of Isabel.
One of the design criteria is to place the burden of translation as close to the server as possible, avoiding to force the client network to care about it. The deployment of IRC, News and LDAP in the LONG network achieves this goal by offering different servers for IPv4 and IPv6 access, and translating the communication among the servers with a transition mechanism. IPv4 clients access IPv4 servers, and vice versa (see graphic for IRC). When client to server translation cannot be avoided, as is the case for Web or FTP, proper DNS configuration is required for allowing easy access. Regarding to the particular translation technology to use on each case, either in server-to-server or client-to-server communication, the applicability of the translator and its performance have to be checked for each application. For example, if translation were required for Isabel, NAT-PT should be the only choice, since it is the only available mechanism for translating both UDP and TCP traffic (NAT-PT is transport independent). NAT-PT is a translation mechanism that can be used in many cases, and there are implementations with convenient features such as FTP application level translation support.

In brief, the list of transition mechanisms tested is: Configured Tunnels and Tunnel Broker, Automatic Tunnels, 6to4, 6over4, ISATAP, DSTM, NAT-PT, TRT, SOCKS64. You can see performance figures about some of them at Deliverable 4.2).