Home » IPv6 Deployment: Dual-Stack, NAT64, DNS64, IPv6 Addressing, SLAAC และ Transition Mechanisms
IPv6 Deployment: Dual-Stack, NAT64, DNS64, IPv6 Addressing, SLAAC และ Transition Mechanisms
IPv6 Deployment: Dual-Stack, NAT64, DNS64, IPv6 Addressing, SLAAC และ Transition Mechanisms
IPv6 เป็น next-generation Internet Protocol ที่แก้ปัญหา IPv4 address exhaustion Dual-Stack รัน IPv4 และ IPv6 พร้อมกัน, NAT64 แปลง IPv6 ให้เข้าถึง IPv4 resources, DNS64 สร้าง synthetic AAAA records, IPv6 Addressing ใช้ 128-bit addresses, SLAAC ให้ hosts configure address อัตโนมัติ และ Transition Mechanisms ช่วยย้ายจาก IPv4 ไป IPv6 อย่างราบรื่น
IPv4 addresses หมดแล้วทุก region: ARIN (2015), RIPE (2019), APNIC (2011), LACNIC (2014), AFRINIC (2017) — organizations ต้อง buy/lease IPv4 addresses ในราคา $40-60 per IP Google reports 45%+ of global traffic is IPv6, mobile networks (T-Mobile, Reliance Jio) ใช้ IPv6-only + NAT64 แล้ว แต่ enterprise networks ส่วนใหญ่ยังไม่ deploy IPv6 เพราะ complexity และ “IPv4 ยังใช้ได้”
IPv6 Address Format
| Feature |
IPv4 |
IPv6 |
| Address Size |
32-bit (4.3 billion addresses) |
128-bit (340 undecillion addresses) |
| Format |
Dotted decimal: 192.168.1.1 |
Hexadecimal: 2001:0db8:85a3::8a2e:0370:7334 |
| Subnet |
/24 = 256 addresses (typical LAN) |
/64 = 18 quintillion addresses (standard subnet) |
| Broadcast |
Yes (255.255.255.255) |
No broadcast — uses multicast (FF02::1 = all nodes) |
| ARP |
ARP (broadcast-based) |
NDP (Neighbor Discovery Protocol — multicast-based) |
| Configuration |
DHCP or static |
SLAAC (automatic), DHCPv6, or static |
IPv6 Address Types
| Type |
Prefix |
Purpose |
| Global Unicast (GUA) |
2000::/3 |
Public routable addresses (like IPv4 public IPs) |
| Link-Local |
FE80::/10 |
Auto-configured on every interface — local link only (like 169.254.x.x) |
| Unique Local (ULA) |
FC00::/7 (FD00::/8 used) |
Private addresses (like RFC 1918) — not globally routable |
| Multicast |
FF00::/8 |
One-to-many — replaces IPv4 broadcast |
| Loopback |
::1/128 |
Loopback (like 127.0.0.1) |
| Unspecified |
::/128 |
All zeros (like 0.0.0.0) |
SLAAC (Stateless Address Autoconfiguration)
| Step |
Action |
Detail |
| 1 |
Link-Local generation |
Host creates FE80:: + interface ID (EUI-64 or random) automatically |
| 2 |
DAD (Duplicate Address Detection) |
Send NS (Neighbor Solicitation) → verify address not in use |
| 3 |
Router Solicitation (RS) |
Host sends RS to FF02::2 (all routers) → “give me network prefix” |
| 4 |
Router Advertisement (RA) |
Router replies with prefix (e.g., 2001:db8:1::/64) + flags |
| 5 |
Address generation |
Host combines prefix + interface ID → creates GUA (e.g., 2001:db8:1::random) |
| 6 |
Privacy Extensions |
RFC 8981: random interface ID ที่เปลี่ยนเป็นระยะ → prevent tracking |
Dual-Stack
| Feature |
รายละเอียด |
| คืออะไร |
Run IPv4 and IPv6 simultaneously on all devices → access both IPv4 and IPv6 resources |
| Advantage |
Simple concept, full compatibility, gradual migration, no translation needed |
| Disadvantage |
Double the work: maintain 2 routing tables, 2 ACLs, 2 DHCP, 2 monitoring → operational overhead |
| Happy Eyeballs |
RFC 8305: client tries IPv6 first → if slow (>250ms) → fallback to IPv4 → best user experience |
| Recommendation |
Most recommended transition strategy — deploy IPv6 alongside IPv4 → eventually disable IPv4 |
NAT64 + DNS64
| Feature |
รายละเอียด |
| NAT64 |
Translate IPv6 packets → IPv4 packets → allow IPv6-only hosts to access IPv4 servers |
| DNS64 |
When DNS query returns only A record (IPv4) → DNS64 synthesizes AAAA record (IPv6) using well-known prefix |
| Well-Known Prefix |
64:ff9b::/96 — append IPv4 address (e.g., 64:ff9b::198.51.100.1 = NAT64 address for 198.51.100.1) |
| Flow |
Host → DNS64 (get synthesized AAAA) → send to NAT64 → NAT64 translates → forward to IPv4 server |
| Use Case |
IPv6-only networks (mobile carriers: T-Mobile, Jio) → access IPv4-only websites |
| Limitation |
IPv4 literals in apps break (hardcoded IPs), ALG needed for some protocols |
Other Transition Mechanisms
| Mechanism |
How |
Status |
| 6to4 |
Encapsulate IPv6 in IPv4 (protocol 41) — automatic tunneling |
Deprecated (RFC 7526) — unreliable, security issues |
| Teredo |
Tunnel IPv6 over UDP/IPv4 — works behind NAT |
Deprecated — was used by Windows, replaced by native IPv6 |
| ISATAP |
Tunnel IPv6 over IPv4 within site — intra-site automatic tunnel |
Deprecated — replaced by native dual-stack |
| MAP-T/MAP-E |
Stateless NAT46/64 — carrier-grade for ISPs (lightweight, scalable) |
Active — used by ISPs for IPv6 transition |
| 464XLAT |
CLAT (IPv4→IPv6 on client) + PLAT (IPv6→IPv4 at carrier) — double translation |
Active — standard for mobile IPv6-only networks (Android uses this) |
| DS-Lite |
IPv4-in-IPv6 tunnel + carrier-grade NAT (CGNAT) at ISP |
Active — used by many ISPs |
ทิ้งท้าย: IPv6 = Inevitable, Start Planning Now
IPv6 Deployment Addressing: 128-bit, GUA (2000::/3), link-local (FE80::), ULA (FD00::), multicast (FF00::) SLAAC: auto-config via RA → host generates address from prefix + random ID → privacy extensions Dual-Stack: run IPv4 + IPv6 simultaneously — recommended strategy, Happy Eyeballs for client fallback NAT64 + DNS64: IPv6-only hosts access IPv4 servers — synthesized AAAA records, 64:ff9b::/96 prefix Transition: 464XLAT (mobile), MAP-T/E (ISP), DS-Lite (ISP) — deprecated: 6to4, Teredo, ISATAP Key: IPv4 addresses are exhausted — deploy dual-stack now, plan for IPv6-only future, don’t wait until forced
อ่านเพิ่มเติมเกี่ยวกับ DHCP Architecture Relay Failover Option 82 Snooping และ TCP/IP Deep Dive Handshake Window Congestion ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com