Skip to content
[menu]

FOUNDRYNETNo. 001SEPTEMBER 2026ROUTING

IPv6 Transition: Dual Stack, Tunnels, Translation and Planning

IPv4 exhaustion is complete; the transition to IPv6 is a set of coexistence mechanisms, not a switch to flip. Dual stack where you can, translate where you must, and plan addresses before touching a router.

On this pageWhy IPv4 ran outDual stackTunnelling: 6in4, 6rd and ISATAPTranslation: NAT64, DNS64 and 464XLATAddress planning, SLAAC and DHCPv6Security parity and hardware forwardingEnterprise adoption checklistQuestions

01 /Why IPv4 ran out

IPv4 has 32-bit addresses, about 4.3 billion, and early allocation handed out /8 blocks of 16 million to single organisations. NAT stretched the supply for two decades by hiding whole networks behind one address, at the cost of end-to-end reachability. The central IANA pool was exhausted in February 2011; the regional registries followed, and addresses now trade on a secondary market. IPv6 (RFC 8200, originally RFC 2460) uses 128-bit addresses and ends the shortage.

IPv6 transition milestonesIPV6 TRANSITION MILESTONES1998RFC 2460 defines IPv6c. 2005IPv6 routing arrives on BigIron and NetIron2011IANA IPv4 pool exhausted2012World IPv6 Launch: major sites go dual stack2017RFC 8200 makes IPv6 an Internet Standard2020sMobile networks run IPv6-only with 464XLAT
Coexistence has outlasted the design phase of IPv6 itself.

02 /Dual stack

Every interface carries both addresses, every service listens on both, and DNS publishes A and AAAA records. Applications prefer IPv6 when both resolve; Happy Eyeballs (RFC 8305) races the two so a broken IPv6 path does not stall the user. Dual stack is the least surprising method because nothing is translated or encapsulated. Its cost is running two of everything: address plans, firewall rules, monitoring views. It is a bridge to an IPv6-only end state.

03 /Tunnelling: 6in4, 6rd and ISATAP

Tunnels carry IPv6 inside IPv4 across networks that cannot route IPv6 natively. 6in4 (IP protocol 41) is a manually configured point-to-point tunnel, the workhorse of early adopters. 6rd derives each customer IPv6 prefix from its IPv4 address so an ISP can deliver IPv6 over an unchanged IPv4 access network; several large ISPs launched with it. ISATAP and Teredo were host-based automatic tunnels and are now historical. Tunnels add MTU problems (1480 bytes inside 1500) and a dependency on the IPv4 path. Treat them as scaffolding.

04 /Translation: NAT64, DNS64 and 464XLAT

Translation serves the reverse problem: IPv6-only clients must still reach the IPv4-only internet. NAT64 rewrites IPv6 packets addressed into a well-known prefix (64:ff9b::/96) into IPv4 packets from a shared address pool. DNS64 synthesises AAAA records for names that have only A records, embedding the IPv4 address in that prefix so the client sends to the NAT64. 464XLAT adds a client-side translator so applications that hard-code IPv4 literals still work; mobile networks run IPv6-only handsets this way.

Choose by which side of the connection is IPv4-only.
MechanismSolvesWhereStatus
Dual stackCoexistence on the same linksEverywhere possiblePreferred
6in4, 6rdIPv6 across IPv4-only transportISP access, site to siteLegacy, declining
ISATAP, TeredoHost tunnels through enterprise or home NATHistoricalDeprecated
NAT64 with DNS64IPv6-only clients to IPv4 serversEnterprise and mobile edgesCurrent
464XLATIPv4-only applications on IPv6-only hostsMobile, IPv6-only enterpriseCurrent

05 /Address planning, SLAAC and DHCPv6

Allocate a /64 per LAN without exception; stateless autoconfiguration requires it and nothing is saved by going smaller. Allocate a /48 per site (65,536 /64s), which lets a nibble-boundary plan encode building and floor in hexadecimal digits; residential providers typically hand out /56. Summarisation and firewall rules stay readable when the plan follows nibble boundaries.

Hosts learn addresses by SLAAC (router advertisements give the prefix; the host builds the rest) or by DHCPv6 (a server assigns addresses and options). SLAAC is simpler and the only option for client operating systems that never implemented DHCPv6 addressing, but it gives operators no lease table; DHCPv6 gives control and logging but not every client supports it. Most enterprises run SLAAC plus DHCPv6 for options and rely on switch neighbour tracking for accountability.

06 /Security parity and hardware forwarding

IPv6 is present on every modern host whether or not the network intends it. A firewall that filters IPv4 and passes IPv6 by default has a hole; a host sending rogue router advertisements can hijack a whole VLAN. Apply RA guard and DHCPv6 guard on access ports, filter ICMPv6 carefully, and give every IPv4 rule an IPv6 twin.

Forwarding hardware is the other constraint. IPv6 lookups need 128-bit keys and wider TCAM entries; early Layer 3 switch ASICs built around IPv4 forwarded IPv6 in software at a small fraction of line rate, or not at all. Foundry added IPv6 routing to BigIron and NetIron around 2004 to 2006, and "ipv6" became the most searched term on the original site as engineers checked which modules supported it. Second-hand gear from that era needs the same check; see Layer 2 versus Layer 3.

Illustrative IronWare IPv6 shape
ipv6 unicast-routing
interface ve 10
 ipv6 address 2001:db8:10::1/64
 ipv6 nd ra-interval 200
!
show ipv6 interface
show ipv6 route

07 /Enterprise adoption checklist

  1. Obtain a /48 or larger per site and write the plan on nibble boundaries before configuring anything.
  2. Audit every switch, router, firewall and load balancer for hardware IPv6 forwarding, then enable IPv6 at the perimeter and DNS first, then the core, then user VLANs.
  3. Replicate every IPv4 firewall rule, ACL and monitoring view for IPv6; add RA guard on access ports.
  4. Trial NAT64 and DNS64 on a lab VLAN to find applications that break IPv6-only.

08 /Questions

Should I use NAT with IPv6?

Not for address conservation; there is no shortage. Stateful firewalls provide the boundary NAT incidentally supplied. NPTv6 exists for multihoming and NAT64 for reaching IPv4, but ordinary IPv6 hosts should have globally routable addresses.

Why a /64 for every LAN, even a point-to-point link?

SLAAC needs a 64-bit interface identifier, and consistency simplifies automation. Point-to-point links may be configured as /127 to avoid neighbour cache exhaustion, but the /64 should still be reserved so the plan stays uniform.

Is dual stack a permanent state?

It should not be. It doubles operational cost and preserves the IPv4 dependency. Plan for IPv6-only inside the network with NAT64 at the edge for the remaining IPv4 internet, as large mobile operators already run.

Does IPv6 make networks less secure?

Differently secure. End-to-end addressing removes the accidental cover of NAT, so firewalls must be explicit. The real risk is unmanaged IPv6 on a network that only filters IPv4.

Can old switches forward IPv6?

Layer 2 switches forward IPv6 frames like any Ethernet payload. Layer 3 switches need ASIC support for 128-bit lookups; many models before the late 2000s routed IPv6 in software or not at all. Check the platform data first.

Sources

  • IETF RFC 8200, Internet Protocol, Version 6 (IPv6) Specification, 2017 (obsoletes RFC 2460, 1998)
  • IETF RFC 4213, Basic Transition Mechanisms for IPv6 Hosts and Routers, 2005
  • IETF RFC 6146 and RFC 6147, Stateful NAT64 and DNS64, 2011; IETF RFC 6877, 464XLAT, 2013
  • IETF RFC 6177, IPv6 Address Assignment to End Sites, 2011
  • Foundry Networks, BigIron and NetIron IPv6 configuration guides (original Foundry documentation, historical, around 2005 to 2007)