- Dual Stack: This architecture contains both IPv4 and IPv6 Internet layers with separate protocol stacks containing separate implementations of Transport layer protocols such as TCP and UDP.
- IPv6 over IPv4 tunneling: Tunneling allows the encapsulation of IPv6 traffic in IPv4 packets for the transmission of IPv6 traffic over IPv4 infrastructure.
Tunneling can be used in a variety of ways:
- Router-to-Router: In this configuration IPv6/IPv4 routers connected through IPv4 infrastructure can tunnel IPv6 packets.
- Host-to-Router or Router-to-Host: In host-to-router tunneling, IPv6/IPv4 hosts can tunnel IPv6 packets to an intermediary IPv6/IPv4 router that is reachable via an IPv4 infrastructure. This type of tunnel spans the first segment of the packet’s end-to-end path. In router-to-host tunneling IPv6/IPv4 routers can tunnel IPv6 packets to their final destination IPv6/IPv4 host. This tunnel spans only the last segment of the end-to-end path.
- Host-to-Host: IPv6/IPv4 hosts that are interconnected by an IPv4 infrastructure can tunnel IPv6 packets between themselves. In this case, the tunnel spans the entire end-to-end path that the packet takes.
Types of Tunnels
- Static: These are manually configured tunnel, unlike automatic tunnels the IPv4 address of the tunnel endpoint is not derived are not derived from addresses that are encoded in the next-hop address when forwarding the packet. IPv6 addresses are manually configured on each tunnel interface, and so are the IPv4 tunnel source and IPv4 tunnel destination configured. Static tunnels create a permanent link between two IPv6 domains over an IPv4 infrastructure.
- Automatic: These types of tunnels do not require manual configuration. Automatic tunnels includes the following types
- ISATAP: Intra-Site Automatic Tunnel Addressing Protocol is used to provide unicast IPv6 connectivity between IPv6/IPv4 hosts across an IPv4 intranet. ISATAP is designed for transporting IPv6 packets within a site where an IPv6 infrastructure is not yet available, ISATAP tunnels allow individual IPv4 or IPv6 dual-stack hosts within a site to communicate with other such hosts on the same virtual link, basically creating an IPv6 network using the IPv4 infrastructure. ISATAP is designed for transporting IPv6 packets within a site, not between sites. ISATAP uses unicast addresses that include a 64-bit IPv6 prefix and a 64-bit interface identifier. The interface identifier is created in modified EUI-64 format in which the first 32 bits contain the value 000:5EFE to indicate that the address is an IPv6 ISATAP address.
- 6to4 Tunnels: These are point-to-multipoint tunnels used for connecting isolated IPv6 domains over IPv4 infrastructure. 6to4 treats the entire IPv4 Internet as a single NBMA virtual link. An automatic 6to4 tunnel may be configured on an edge router in an isolated IPv6 network, which creates a tunnel on a per-packet basis to an edge router in another IPv6 network over an IPv4 infrastructure. The tunnel destination is determined by the IPv4 address of the border router extracted from the IPv6 address that starts with the prefix 2002::/16, where the format is 2002:edge-router-IPv4-address::/48. Following the embedded IPv4 address are 16 bits that can be used to number networks within the site. The edge router at each end of a 6to4 tunnel must support both the IPv4 and IPv6 protocol stacks. 6to4 tunnels can be configured between edge routers or between an edge router and a host.
Static Tunneling Configuration
Shown in the picture below is are two Ipv6 LANs connected to their respective WAN routers. We will learn to configure static tunneling so that we can communicate between the two LANs over the IPv4 infrastructure.
R1(config)# ipv6 unicast-routing
Enables Unicast IPv6 Routing
R1(config)# interface fastethernet 0/0
R1(config-if)# ipv6 address 2001:1:0:2::2/64
Assign IPv6 address to the LAN interface
R1(config)# interface tunnel 12
R1(config-if)# ipv6 address 2001:1:0:12::2/64
R1(config-if)# tunnel source 126.96.36.199
R1(config-if)# tunnel destination 188.8.131.52
Tunnel configuration similar to an IPv4 GRE tunnel configuration
R1(config)# ipv6 route ::/0 tunnel 12
IPv6 default route
R2(config)# ipv6 unicast-routing
R2(config)# interface fastethernet 0/0
R2(config-if)# ipv6 address 2001:1:0:6::6/64
R2(config)# interface tunnel 12
R2(config-if)# ipv6 address 2001:1:0:12::6/64
R2(config-if)# tunnel source 184.108.40.206
R2(config-if)# tunnel destination 220.127.116.11
R2(config)# ipv6 route ::/0 tunnel 12
After completing the configuration we will test if both the LANs can communicate with each other and with the result shown below we have successfully configured static IPv6 tunneling.
R1#ping 2001:1:0:6::6 source 2001:1:0:2::2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:1:0:6::6, timeout is 2 seconds: Packet sent with a source address of 2001:1:0:2::2
Success rate is 100 percent (5/5), round-trip min/avg/max = 156/167/205
This brings us to the end of this lesson in which we learned IPv6 transition mechanisms, there are several transition techniques available, some are under development and some have been deprecated. The techniques we discussed are Internet standards that are supported by various systems and network vendors.