IPv4 and IPv6 Transition Mechanisms
- a network usually runs both IPv4 and IPv6
- compatibility requirements can be implemented using:
- dual stack hosts
- a tunneling mechanism
- or a type of address translation
- compatibility requirements can be implemented using:
Dual Stack
Dual stack hosts and routers can run both IPv4 and IPv6 simultaneously and communicate with devices configured with either type of address.
- most modern desktop and server OS implement dual stack IP
- most will try to initiate communications using IPv6 by default
Info
- most services are addressed using names rather than IP addresses
- means that the preference for IPv6 over IPv4 or the availability of either addressing method depends on the DNS records for the network
Tunneling
Tunneling means that IPv6 packets are inserted into IPv4 packets and routed over the IPv4 network to their destination.
- deliver IPv6 packets across an IPv4 network
- routing decisions are based on IPv4 address until close to destination
- then IPv6 packets are stripped and forwarded according to IPv6 routing rules
- carries a high protocol overhead
- not as efficient as dual stack
- in 6to4 automatic tunneling:
- no host configuration is necessary
- addresses use the prefix
2002::/16 - has been widely replaced by IPv6 Rapid Deployment (6RD)
- prefix is replaced by an ISP-managed prefix
- various other performance improvements
- Microsoft supports tunneling with its Teredo protocol
- tunnels IPv6 packets as IPv4 UDP messages over port 3544
- requires compatible clients and servers
- Miredo package implements Teredo for UNIX/Linux OS
- open source
- Generic Routing Encapsulation (GRE) allows a wide variety of Network layer protocols to be encapsulated inside virtual point-to-point links
- another option for tunneling
- designed before IPv4
- considered a mature mechanism
- can carry IPv4 and IPv6 packets over IPv4
NAT64
NAT64 enables IPv6 hosts to communicate with IPv4 networks/hosts using address translation.
- encapsulates an IPv4 address inside an IPv6 address
- IPv6 host addresses an IPv4 host using the prefix
64:ff9b::/96+ 32-bit IPv4 destination address - when packet reaches gateway router
- it strips the prefix and forwards the packet using IPv4 headers
- replies from the IPv4 host are directed to the IPv6 host by tracking connections using Transport layer port numbers
- used when:
- IPv6 only networks need to communicate with IPv4 networks