related topics
{system, computer, user}
{math, number, function}
{company, market, business}
{style, bgcolor, rowspan}
{city, large, area}
{group, member, jewish}
{line, north, south}
{service, military, aircraft}
{day, year, event}
{game, team, player}

Until IPv6 completely supplants IPv4, a number of transition mechanisms[26] are needed to enable IPv6-only hosts to reach IPv4 services and to allow isolated IPv6 hosts and networks to reach the IPv6 Internet over the IPv4 infrastructure.

For the period while IPv6 hosts and routers co-exist with IPv4 systems various proposals have been made:

  • RFC 2893, Transition Mechanisms for IPv6 Hosts and Routers, obsoleted by RFC 4213 Basic Transition Mechanisms for IPv6 Hosts and Routers
  • RFC 2766, Network Address Translation — Protocol Translation NAT-PT, obsoleted as explained in RFC 4966 Reasons to Move the Network Address Translator — Protocol Translator NAT-PT to Historic Status
  • RFC 2185, Routing Aspects of IPv6 Transition
  • RFC 3493, Basic Socket Interface Extensions for IPv6
  • RFC 3056, Connection of IPv6 Domains via IPv4 Clouds
  • RFC 4380, Teredo: Tunneling IPv6 over UDP through Network Address Translations NATs
  • RFC 4214, Intra-Site Automatic Tunnel Addressing Protocol ISATAP
  • RFC 3053, IPv6 Tunnel Broker
  • RFC 3142, An IPv6-to-IPv4 Transport Relay Translator
  • RFC 5569, IPv6 Rapid Deployment on IPv4 Infrastructures (6rd)
  • RFC 5572, IPv6 Tunnel Broker with the Tunnel Setup Protocol (TSP)

Dual IP stack implementation

The dual-stack protocol implementation in an operating system is a fundamental IPv4-to-IPv6 transition technology. It implements IPv4 and IPv6 protocol stacks either independently or in a hybrid form. The hybrid form is commonly implemented in modern operating systems supporting IPv6. Dual-stack hosts are described in RFC 4213.

Modern hybrid dual-stack implementations of IPv4 and IPv6 allow programmers to write networking code that works transparently on IPv4 or IPv6. The software may use hybrid sockets designed to accept both IPv4 and IPv6 packets. When used in IPv4 communications, hybrid stacks use an IPv6 application programming interface and represent IPv4 addresses in a special address format, the IPv4-mapped IPv6 address.

IPv4-mapped IPv6 addresses

Hybrid dual-stack IPv6/IPv4 implementations support a special class of addresses, the IPv4-mapped IPv6 addresses. This address type has its first 80 bits set to zero and the next 16 set to one, while its last 32 bits are filled with the IPv4 address. These addresses are commonly represented in the standard IPv6 format, but having the last 32 bits written in the customary dot-decimal notation of IPv4; for example, ::ffff: represents the IPv4 address

Because of the significant internal differences between IPv4 and IPv6, some of the lower level functionality available to programmers in the IPv6 stack do not work identically with IPv4 mapped addresses. Some common IPv6 stacks do not support the IPv4-mapped address feature, either because the IPv6 and IPv4 stacks are separate implementations (e.g., Microsoft Windows 2000, XP, and Server 2003), or because of security concerns (OpenBSD).[citation needed] On these operating systems, it is necessary to open a separate socket for each IP protocol that is to be supported. On some systems, e.g., the Linux kernel, NetBSD, and FreeBSD, this feature is controlled by the socket option IPV6_V6ONLY as specified in RFC 3493.

Full article ▸

related documents
Windows 2000
Orthogonal frequency-division multiplexing
Asynchronous Transfer Mode
Tube sound
IBM System/360
PCI Express
Synchronous optical networking
Digital Audio Broadcasting
Phase-locked loop
History of computing hardware
Kernel (computer science)
File Allocation Table
IBM 1620
Border Gateway Protocol
History of the graphical user interface
Frame relay
Embedded system