Skip to main content

Header translation and tunneling

Short answer

Header translation converts IPv6↔IPv4 headers at gateway (NAT64/DNS64), losing some features. Tunneling encapsulates IPv6 in IPv4 (protocol 41) across IPv4 networks, preserving original packet. Translation for IPv6-only to IPv4-only; tunneling for IPv6 islands over IPv4.

Explain header translation and tunneling approach used for migrating IPv4 to IPv6.

Header translation

Used when the sender is IPv6 and the receiver is IPv4-only (or the reverse). The translating gateway (router) rewrites the header of each packet from one version to the other. The packet is completely converted, not wrapped.

  • IPv6 to IPv4: take the IPv4 address from the mapped address (e.g. ::FFFF:a.b.c.d), calculate the IPv4 header fields (IHL, checksum, TTL from hop limit, protocol from next header), set total length, drop the flow label and extension headers that have no IPv4 equivalent.
  • IPv4 to IPv6: build the 40-byte base header, convert TTL to hop limit, protocol to next header.
IPv6 host --[IPv6 hdr|data]--> [Translator] --[IPv4 hdr|data]--> IPv4 host

Techniques: SIIT, NAT64 with DNS64. Some IPv6 features (flow label, extension headers) are lost.

Tunneling

Used when two IPv6 hosts or networks must communicate across an IPv4-only network. At the tunnel entry, the whole IPv6 packet is encapsulated as the payload of an IPv4 packet (protocol field 41); the IPv4 destination is the tunnel exit router. The exit router removes the IPv4 header and forwards the original IPv6 packet.

IPv6 host --[IPv6]--> R1 ==[IPv4 hdr|IPv6 packet]==> R2 --[IPv6]--> IPv6 host
                          (IPv4 internet)
PointHeader translationTunneling
PacketHeader convertedHeader kept inside new header
UseIPv6-only talks to IPv4-onlyIPv6 islands over IPv4 network
InformationSome lostPreserved

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Networks and Security chapter 7 questions →