IPv6 over IPv6 tunneling
IPv6 over IPv6 tunneling (RFC 2473) enables isolated IPv6 networks to communicate with each other over another IPv6 network. For example, two isolated IPv6 networks that do not want to show their addresses to the Internet can use an IPv6 over IPv6 tunnel to communicate with each other.
Figure 123: Principle of IPv6 over IPv6 tunneling
Figure 123 shows the encapsulation and de-encapsulation processes.
Encapsulation:
After receiving an IPv6 packet, Device A submits it to the IPv6 protocol stack.
The IPv6 protocol stack uses the destination IPv6 address of the packet to find the egress interface. If the egress interface is the tunnel interface, the stack delivers it to the tunnel interface.
After receiving the packet, the tunnel interface adds an IPv6 header to it and submits it to the IPv6 protocol stack.
The IPv6 protocol stack forwards the packet according to its destination IPv6 address.
De-encapsulation:
Upon receiving the IPv6 packet, Device B delivers it to the IPv6 protocol stack.
The IPv6 protocol stack checks the protocol type of the data portion encapsulated in the IPv6 packet. If the encapsulation protocol is IPv6, the stack delivers the packet to the tunnel module.
The tunnel module de-encapsulates the packet and sends it back to the IPv6 protocol stack.
The IPv6 protocol stack forwards the IPv6 packet.