Home » IPv6 Deployment: Dual-Stack, NAT64, DNS64 และ Migration Strategy
IPv6 Deployment: Dual-Stack, NAT64, DNS64 และ Migration Strategy
IPv6 Deployment: Dual-Stack, NAT64, DNS64 และ Migration Strategy
IPv6 Deployment เป็นสิ่งจำเป็นเนื่องจาก IPv4 addresses หมดแล้ว (IANA allocated /8 blocks หมดตั้งแต่ 2011) องค์กรต้องวางแผน migration อย่างเป็นระบบ Dual-Stack เป็น transition mechanism ที่นิยมที่สุด (run IPv4 + IPv6 พร้อมกัน) ส่วน NAT64 + DNS64 ช่วยให้ IPv6-only clients สื่อสารกับ IPv4 servers ได้
IPv4 มีแค่ ~4.3 billion addresses ซึ่งไม่เพียงพอสำหรับ IoT, mobile devices และ cloud workloads ที่เพิ่มขึ้นมหาศาล NAT workarounds ทำให้ complex + break end-to-end connectivity IPv6 ให้ 128-bit addresses (340 undecillion) + built-in features: auto-configuration, simplified header, no NAT needed
IPv4 vs IPv6
| Feature |
IPv4 |
IPv6 |
| Address Size |
32-bit (4.3 billion) |
128-bit (3.4 × 10^38) |
| Format |
Dotted decimal (192.168.1.1) |
Colon hex (2001:db8::1) |
| Header |
Variable length (20-60 bytes) |
Fixed 40 bytes (simpler, faster) |
| Auto-config |
DHCP required |
SLAAC (stateless) + optional DHCPv6 |
| NAT |
Widespread (NAT44) |
Not needed (end-to-end connectivity) |
| Broadcast |
Yes |
No (replaced by multicast) |
| IPsec |
Optional |
Built-in (mandatory support) |
| Fragmentation |
Routers + hosts |
Source only (PMTUD required) |
Transition Mechanisms
| Mechanism |
Type |
วิธีทำงาน |
Use Case |
| Dual-Stack |
Native |
Run IPv4 + IPv6 simultaneously |
Most common, recommended first step |
| NAT64 + DNS64 |
Translation |
Translate IPv6 ↔ IPv4 at gateway |
IPv6-only networks accessing IPv4 internet |
| 6to4 |
Tunnel |
Encapsulate IPv6 in IPv4 |
Deprecated (security issues) |
| Teredo |
Tunnel |
IPv6 over UDP/IPv4 (NAT traversal) |
Deprecated (last resort) |
| ISATAP |
Tunnel |
IPv6 over IPv4 (intra-site) |
Deprecated |
| 464XLAT |
Translation |
CLAT (client) + PLAT (provider) translation |
Mobile networks (IPv6-only + IPv4 apps) |
| MAP-T / MAP-E |
Translation/Tunnel |
Stateless IPv4 over IPv6 |
ISP IPv6 deployment |
Dual-Stack
| Feature |
รายละเอียด |
| คืออะไร |
ทุก device/interface มีทั้ง IPv4 + IPv6 address |
| Routing |
Run IPv4 routing (OSPF, BGP) + IPv6 routing (OSPFv3, BGP) แยกกัน |
| DNS |
Return A record (IPv4) + AAAA record (IPv6) → client เลือก |
| Happy Eyeballs |
Client ลอง IPv6 ก่อน → fallback IPv4 ถ้า IPv6 fail (RFC 8305) |
| Pros |
Simple, no translation, both protocols work natively |
| Cons |
ต้อง manage 2 protocol stacks, double address planning |
NAT64 + DNS64
| Component |
Function |
| DNS64 |
เมื่อ IPv6 client query DNS → ถ้า AAAA record ไม่มี → สร้าง synthetic AAAA จาก A record (prefix 64:ff9b::/96 + IPv4) |
| NAT64 |
Translate IPv6 packets ↔ IPv4 packets ที่ gateway (stateful translation) |
| Flow |
Client (IPv6) → DNS64 (synthetic AAAA) → NAT64 gateway → IPv4 server |
| Prefix |
Well-known: 64:ff9b::/96 หรือ network-specific prefix |
| Limitation |
IPv4 literals ใน apps ไม่ทำงาน (ต้อง 464XLAT) |
464XLAT
| Feature |
รายละเอียด |
| คืออะไร |
Double translation: IPv4 → IPv6 (CLAT) → IPv4 (PLAT) |
| CLAT (Customer) |
On device: translate IPv4 app traffic → IPv6 (stateless NAT46) |
| PLAT (Provider) |
At gateway: translate IPv6 → IPv4 (stateful NAT64) |
| Use Case |
IPv4-only apps บน IPv6-only network (Android, iOS ใช้) |
| Mobile |
T-Mobile US, many carriers ใช้ 464XLAT สำหรับ IPv6-only |
IPv6 Address Planning
| Scope |
Prefix |
ตัวอย่าง |
| ISP allocation |
/32 or /29 |
2001:db8::/32 (65,536 /48s) |
| Site (organization) |
/48 |
2001:db8:abcd::/48 (65,536 /64 subnets) |
| Subnet (VLAN) |
/64 |
2001:db8:abcd:100::/64 (standard subnet size) |
| Loopback |
/128 |
2001:db8:abcd::1/128 |
| Point-to-point |
/127 (RFC 6164) |
2001:db8:abcd:ffff::/127 |
Migration Strategy
| Phase |
Action |
| 1. Assess |
Inventory devices + apps → check IPv6 readiness (hardware, software, ISP) |
| 2. Plan |
IPv6 address plan, routing design, security policy, DNS strategy |
| 3. Lab/Pilot |
Test dual-stack ใน lab → pilot ใน non-critical segment |
| 4. Core first |
Enable IPv6 บน core/distribution → then access layer |
| 5. Dual-Stack |
Run dual-stack (IPv4 + IPv6) organization-wide |
| 6. IPv6-preferred |
New services deploy IPv6-only, legacy ยัง dual-stack |
| 7. IPv4 sunset |
Eventually deprecate IPv4 (long-term, years) |
Security Considerations
| Risk |
Mitigation |
| RA (Router Advertisement) spoofing |
RA Guard on switches (802.1X, port security) |
| IPv6 tunnel bypass |
Block 6to4, Teredo, ISATAP at firewall |
| Dual-stack = double attack surface |
Apply security policies to both IPv4 + IPv6 |
| Extension headers abuse |
Filter dangerous extension header combinations |
| Neighbor Discovery attacks |
ND Inspection, DHCPv6 Guard, SEND |
| Scanning |
IPv6 /64 too large to scan (privacy addresses help) |
ทิ้งท้าย: IPv6 Migration = Plan + Dual-Stack + Gradual
IPv6 Deployment Dual-Stack = most common (run both IPv4 + IPv6 natively) NAT64 + DNS64 = IPv6-only clients → IPv4 servers (translation) 464XLAT = IPv4 apps on IPv6-only networks (mobile networks) Address plan: /48 per site → /64 per subnet Migration: assess → plan → lab → core first → dual-stack → IPv6-preferred Security: RA Guard, ND Inspection, filter tunnels, apply policies to both stacks
อ่านเพิ่มเติมเกี่ยวกับ IPv4 Subnetting และ DNS Architecture ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com