Tunneling

When IPv6 or IPv6/IPv4 systems are separated from other similar systems that they want to communicate with by IPv4 networks, then IPv6 packets must be tunneled through the IPv4 network. IPv6 packets are tunneled over IPv4 very simply: the IPv6 packet is encapsulated in an IPv4 datagram, or in other words, a complete IPv4 header is added to the IPv6 packet. The presence of the IPv6 packet within the IPv4 datagram is indicated by a protocol value of 41 in the IPv4 header.

Restriction: z/OS® Communications Server cannot function as an endpoint for this type of tunnel.
While there are many tunneling protocols that can be used, all share the following common features and processing characteristics:
  • The source tunnel endpoint determines that an IPv6 packet needs to be tunneled over an IPv4 network. This depends on the tunneling protocol that is used. After this decision is made, the source tunnel endpoint adds an IPv4 header to the IPv6 packet. The protocol value in the IPv4 header is set to 41. This indicates that this is an IPv6 over IPv4 tunnel packet. The source and destination addresses in the IPv4 header are set based on the tunneling protocol that is used.
  • At the destination tunnel endpoint, the IPv4 layer receives the IPv4 packet (or packets, if the IPv4 datagram was fragmented). The IPv4 layer processes the datagram in the normal way, reassembling fragments if necessary, and records the protocol value of 41 in the IPv4 header. IPv4 security checks are made, and the IPv4 header is removed, leaving the original IPv6 packet. The IPv6 packet is processed as normal.

Figure 1 shows a subset of the available tunneling protocols, with descriptions of the more prevalent protocols. Others exist or are in the process of being defined. Select one that is appropriate for your environment.

Figure 1. Tunneling
Encapsulates an IPv6 packet in an IPv4 packet and sends the IPv4 packet to the other tunnel end-point IPv4 address.