IPv6 is a new version of the internetworking protocol designed to address the scalability and service shortcomings of the current standard, IPv4. Unfortunately, IPv4 and IPv6 are not directly compatible, so programs and systems designed to one standard can not communicate with those designed to the other. We have designed and implemented a transparent transition service that translates packet headers as they cross between IPv4 and IPv6 networks. The IPv6/IPv4 translator works for a representative set of "real world" applications that exercise TCP, UDP, and ICMP protocols. Our test applications consist of IPv6 versions of ttcp, finger, telnet, ping, traceroute, and ftp, which were able to communicate with their IPv4 counterparts via the translator. Additionally, we were able to view WWW pages served by an IPv6 version of the Apache web-server using IPv4 versions of Netscape and Internet Explore. We believe that an IPv6/IPv4 network address and protocol translator is complementary to other transition strategies from IPv4 to IPv6 (e.g., dual-stack IPv6/IPv4 hosts, Assignment of IPv4 addresses to IPv6 Hosts) . In particular, we believe that IPv6/IPv4 translation will be a valuable tool to developers porting applications from IPv4 to IPv6. For instance, a server application ported to IPv6 can be tested without having to port the client as well.
This research is partially made possible through the generous support of Intel and Microsoft.
|