Home » IPv6 Migration: Dual-Stack, NAT64, DNS64, 464XLAT และ Deployment Strategies
IPv6 Migration: Dual-Stack, NAT64, DNS64, 464XLAT และ Deployment Strategies
IPv6 Migration: Dual-Stack, NAT64, DNS64, 464XLAT และ Deployment Strategies
IPv6 Migration เป็นกระบวนการเปลี่ยนผ่านจาก IPv4 ไปสู่ IPv6 เนื่องจาก IPv4 addresses หมดแล้ว Dual-Stack รัน IPv4 + IPv6 พร้อมกัน, NAT64 แปลง IPv6 packets เป็น IPv4 เพื่อเข้าถึง IPv4-only servers, DNS64 สร้าง synthetic AAAA records สำหรับ IPv4-only domains และ 464XLAT ให้ IPv4-only applications ทำงานบน IPv6-only networks
IPv4 มี addresses เพียง ~4.3 billion (~4.3 พันล้าน) ซึ่งหมดไปแล้วในทุก RIR (Regional Internet Registry) องค์กรต้องซื้อ IPv4 ในตลาดรอง ($30-50/IP) หรือใช้ CGNAT ที่มี limitations IPv6 มี 340 undecillion addresses (3.4×10^38) ที่เพียงพอตลอดไป การ migrate เป็นสิ่งจำเป็น ไม่ใช่ option
IPv4 vs IPv6
| Feature |
IPv4 |
IPv6 |
| Address Length |
32 bits (4 octets) |
128 bits (8 hextets) |
| Address Space |
~4.3 billion |
~340 undecillion (3.4×10^38) |
| Format |
192.168.1.1 |
2001:0db8:85a3::8a2e:0370:7334 |
| Header |
Variable (20-60 bytes, options) |
Fixed 40 bytes (simpler, faster) |
| Fragmentation |
Routers + end hosts |
End hosts only (Path MTU Discovery) |
| NAT |
Widely used (CGNAT, NAT44) |
Not needed (enough addresses for all) |
| Auto-config |
DHCP required |
SLAAC (Stateless Address Auto-Configuration) |
| IPsec |
Optional |
Built-in (mandatory support) |
Migration Strategies
| Strategy |
How |
Pros/Cons |
| Dual-Stack |
Run IPv4 + IPv6 simultaneously on all devices |
Pro: full compatibility | Con: manage 2 protocols |
| IPv6-only + NAT64 |
IPv6-only network + NAT64 gateway for IPv4 access |
Pro: simpler (1 protocol) | Con: NAT64 complexity |
| Tunneling (6in4, 6to4) |
Encapsulate IPv6 in IPv4 packets |
Pro: work over IPv4-only networks | Con: overhead, MTU issues |
| 464XLAT |
IPv4→IPv6→IPv4 translation (CLAT + PLAT) |
Pro: IPv4 apps work on IPv6-only | Con: double translation |
Dual-Stack
| Feature |
รายละเอียด |
| คืออะไร |
ทุก device มีทั้ง IPv4 + IPv6 address พร้อมกัน |
| How It Works |
OS เลือก IPv6 first (Happy Eyeballs — RFC 6555) → fallback to IPv4 |
| Routing |
ต้องรัน routing protocol สำหรับทั้ง IPv4 + IPv6 (OSPFv2 + OSPFv3, etc.) |
| DNS |
ทั้ง A (IPv4) + AAAA (IPv6) records |
| Advantage |
Full compatibility กับทั้ง IPv4 + IPv6 services |
| Disadvantage |
ต้อง manage 2 protocols, 2 address plans, 2 sets of policies |
| Use Case |
Transition phase (most common strategy today) |
NAT64 + DNS64
| Feature |
รายละเอียด |
| NAT64 |
Translate IPv6 packets → IPv4 packets (gateway ระหว่าง IPv6 + IPv4 worlds) |
| DNS64 |
สร้าง synthetic AAAA record สำหรับ IPv4-only domains |
| How It Works |
1. Client query DNS64 for ipv4only.example.com 2. DNS64 ได้ A record (1.2.3.4) → สร้าง AAAA: 64:ff9b::1.2.3.4 3. Client ส่ง IPv6 packet to 64:ff9b::1.2.3.4 4. NAT64 gateway translate to IPv4 → forward to 1.2.3.4 |
| Well-Known Prefix |
64:ff9b::/96 (RFC 6052) — embed IPv4 address ใน last 32 bits |
| Stateful NAT64 |
Maintain translation state (like NAT44) — most common |
| Stateless NAT64 |
1:1 mapping (no state) — requires IPv4 address per IPv6 host |
| Limitation |
IPv4 literals ใน applications ไม่ทำงาน (e.g., connect to “1.2.3.4” directly) |
464XLAT
| Component |
Role |
รายละเอียด |
| CLAT (Customer-side Translator) |
On client device |
Translate IPv4 → IPv6 (stateless NAT46 on device) |
| PLAT (Provider-side Translator) |
On ISP/provider |
Translate IPv6 → IPv4 (stateful NAT64 gateway) |
| Flow |
App → IPv4 → CLAT → IPv6 → PLAT → IPv4 → Internet |
IPv4 apps work transparently on IPv6-only network |
| Use Case |
Mobile networks (T-Mobile, etc.) ที่เป็น IPv6-only |
Android CLAT built-in since Android 4.3 |
| Advantage |
IPv4 apps ทำงานได้โดยไม่ต้อง modify |
Solves NAT64 limitation with IPv4 literals |
IPv6 Addressing Best Practices
| Practice |
รายละเอียด |
| Request /48 per site |
ISP ให้ /48 per customer site (65,536 /64 subnets) |
| Use /64 per subnet |
ทุก LAN subnet ใช้ /64 (required for SLAAC) |
| Plan hierarchically |
แบ่ง /48 → /56 per building → /64 per VLAN |
| Use ULA for internal |
fc00::/7 (Unique Local Address) สำหรับ internal-only traffic |
| Don’t NAT IPv6 |
IPv6 ไม่ต้องใช้ NAT → ใช้ firewall policies แทน |
| Enable SLAAC + DHCPv6 |
SLAAC สำหรับ address + DHCPv6 สำหรับ DNS + domain info |
IPv6 Security Considerations
| Concern |
Mitigation |
| RA (Router Advertisement) spoofing |
RA Guard on switches (block rogue RAs) |
| NDP spoofing (like ARP spoofing) |
ND Inspection + SEND (Secure Neighbor Discovery) |
| IPv6 tunnel bypass |
Block 6to4, Teredo, ISATAP tunnels ที่ firewall |
| Dual-stack blind spots |
Firewall policies ต้อง cover ทั้ง IPv4 + IPv6 |
| Privacy addresses |
Temporary addresses (RFC 4941) ทำให้ tracking ยากขึ้น → monitor carefully |
| Extension headers |
Filter/inspect IPv6 extension headers ที่ firewall |
Migration Roadmap
| Phase |
Action |
| 1. Inventory |
Audit ทุก device/application/service สำหรับ IPv6 readiness |
| 2. Address Plan |
Design IPv6 addressing scheme (/48 per site, /64 per subnet) |
| 3. Core First |
Enable IPv6 on core/distribution switches + routers (dual-stack) |
| 4. Services |
Enable IPv6 on DNS, DHCP, NTP, monitoring, management |
| 5. Access |
Enable IPv6 on access layer + endpoints (SLAAC/DHCPv6) |
| 6. Applications |
Test + enable IPv6 on web servers, APIs, databases |
| 7. IPv6-only |
Move to IPv6-only + NAT64 for remaining IPv4 services |
ทิ้งท้าย: IPv6 Migration = Not If, But When
IPv6 Migration Why: IPv4 exhausted (~4.3B addresses), IPv6 = 340 undecillion addresses Dual-Stack: run IPv4 + IPv6 simultaneously (most common transition strategy) NAT64: IPv6 → IPv4 translation gateway (access IPv4-only servers from IPv6 network) DNS64: synthesize AAAA records for IPv4-only domains 464XLAT: CLAT (device) + PLAT (provider) → IPv4 apps work on IPv6-only networks Security: RA Guard, ND Inspection, dual-stack firewall policies, block tunnels Roadmap: inventory → address plan → core → services → access → apps → IPv6-only
อ่านเพิ่มเติมเกี่ยวกับ DNS Deep Dive DNSSEC DoH DoT และ Network Automation Python ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com