Home » IPv6 Deployment: Dual-Stack, NAT64, DNS64, SLAAC, DHCPv6 และ Migration Strategy
IPv6 Deployment: Dual-Stack, NAT64, DNS64, SLAAC, DHCPv6 และ Migration Strategy
IPv6 Deployment: Dual-Stack, NAT64, DNS64, SLAAC, DHCPv6 และ Migration Strategy
IPv6 เป็น next-generation Internet Protocol ที่แก้ปัญหา IPv4 address exhaustion Dual-Stack รัน IPv4 และ IPv6 พร้อมกัน, NAT64 แปลง IPv6 traffic ให้เข้าถึง IPv4 servers, DNS64 สร้าง synthetic AAAA records สำหรับ IPv4-only destinations, SLAAC ให้ hosts configure address อัตโนมัติ, DHCPv6 ให้ stateful address assignment และ Migration Strategy วางแผนการเปลี่ยนจาก IPv4 ไป IPv6 อย่างราบรื่น
IPv4 addresses หมดแล้วทั่วโลก: IANA แจก /8 สุดท้ายปี 2011, RIRs หมดทยอยตั้งแต่ 2015-2020 องค์กรที่ต้องการ IPv4 ต้องซื้อจากตลาดรอง (ราคา $30-50 ต่อ IP) IPv6 มี addresses 3.4×10^38 = ไม่มีวันหมด แต่การ migrate ต้องวางแผนเพราะ IPv4 และ IPv6 ไม่ compatible โดยตรง
IPv4 vs IPv6
| Feature |
IPv4 |
IPv6 |
| Address Size |
32 bits (~4.3 billion addresses) |
128 bits (~3.4×10^38 addresses) |
| Format |
Dotted decimal (192.168.1.1) |
Hex colon (2001:db8::1) |
| NAT |
จำเป็น (address shortage) |
ไม่จำเป็น (ทุก device ได้ global address) |
| Header |
Variable length (20-60 bytes) |
Fixed 40 bytes (simpler, faster processing) |
| Broadcast |
มี (broadcast) |
ไม่มี (ใช้ multicast แทน) |
| Auto-Config |
DHCP only |
SLAAC + DHCPv6 |
| IPsec |
Optional |
Built-in (mandatory in spec, optional in practice) |
| Fragmentation |
Router + host |
Host only (routers ไม่ fragment → use Path MTU Discovery) |
IPv6 Address Types
| Type |
Prefix |
Purpose |
| Global Unicast (GUA) |
2000::/3 |
Public routable address (เหมือน IPv4 public IP) |
| Link-Local |
fe80::/10 |
Auto-generated, link ปัจจุบันเท่านั้น (ทุก interface มี) |
| Unique Local (ULA) |
fc00::/7 (fd00::/8) |
Private address (เหมือน RFC 1918 ใน IPv4) |
| Multicast |
ff00::/8 |
One-to-many (แทน broadcast) |
| Loopback |
::1/128 |
Loopback (เหมือน 127.0.0.1) |
| Unspecified |
::/128 |
ไม่มี address (เหมือน 0.0.0.0) |
SLAAC (Stateless Address Autoconfiguration)
| Step |
Action |
| 1. Link-Local |
Host สร้าง link-local address อัตโนมัติ (fe80:: + EUI-64 หรือ random) |
| 2. DAD |
Duplicate Address Detection — ตรวจว่า address ซ้ำหรือไม่ (Neighbor Solicitation) |
| 3. Router Solicitation |
Host ส่ง RS multicast → ขอ prefix จาก router |
| 4. Router Advertisement |
Router ตอบ RA → ให้ prefix (เช่น 2001:db8:1::/64) + default gateway |
| 5. Address Generation |
Host สร้าง GUA: prefix + EUI-64 (or random privacy extension) |
| 6. Done |
Host มี IPv6 address + default gateway โดยไม่ต้อง DHCP server |
DHCPv6
| Mode |
Provides |
Use Case |
| Stateful DHCPv6 |
IPv6 address + DNS + domain + other options |
ต้องการ track ว่า IP ไหนแจกให้ใคร (เหมือน DHCP IPv4) |
| Stateless DHCPv6 |
DNS + domain + other options (ไม่แจก address) |
ใช้ SLAAC สำหรับ address + DHCPv6 สำหรับ DNS/options |
| RA Flags |
M flag = managed (use DHCPv6 for address), O flag = other (use DHCPv6 for options) |
Router RA กำหนดว่า host ใช้ SLAAC หรือ DHCPv6 |
Transition Mechanisms
| Mechanism |
How |
Use Case |
| Dual-Stack |
Run IPv4 + IPv6 พร้อมกัน (ทุก device มีทั้ง 2 addresses) |
Most common — gradual migration (recommended) |
| NAT64 |
Translate IPv6 → IPv4 (IPv6-only client เข้าถึง IPv4-only server) |
IPv6-only networks ที่ต้องเข้าถึง IPv4 Internet |
| DNS64 |
สร้าง synthetic AAAA records สำหรับ IPv4-only domains |
ใช้คู่กับ NAT64 (DNS64 สร้าง AAAA → NAT64 translate) |
| 464XLAT |
CLAT (client-side NAT46) + PLAT (provider-side NAT64) |
Mobile networks (IPv6-only + 464XLAT สำหรับ IPv4 apps) |
| 6to4 / Teredo |
Tunnel IPv6 over IPv4 (deprecated) |
Legacy — ไม่แนะนำแล้ว (security issues, unreliable) |
| MAP-T / MAP-E |
Mapping of Address and Port (stateless NAT46/64) |
ISP IPv6 transition (stateless = scalable) |
Dual-Stack Deployment
| Layer |
IPv4 |
IPv6 |
| WAN |
Keep existing IPv4 connectivity |
Request IPv6 /48 from ISP |
| Core/Distribution |
Existing IPv4 routing (OSPF/BGP) |
Add IPv6 routing (OSPFv3/BGP IPv6 AF) |
| Access |
Keep DHCP for IPv4 |
Enable SLAAC + stateless DHCPv6 (for DNS) |
| DNS |
A records |
Add AAAA records + enable DNS over IPv6 |
| Firewall |
Existing IPv4 rules |
Add IPv6 rules (mirror IPv4 policy) |
| Monitoring |
Existing IPv4 monitoring |
Add IPv6 monitoring (separate counters/graphs) |
Migration Strategy
| Phase |
Action |
| 1. Plan |
Get IPv6 allocation (/48), create addressing plan, train team |
| 2. Infrastructure |
Enable dual-stack on core/distribution (routing, DNS, DHCP, firewall) |
| 3. Internal |
Enable IPv6 on internal network (SLAAC/DHCPv6 on access layer) |
| 4. Services |
Enable IPv6 on servers, web, email, DNS (AAAA records) |
| 5. External |
Enable IPv6 on public-facing services (website, API, CDN) |
| 6. Optimize |
Monitor IPv6 adoption, troubleshoot issues, consider IPv6-only segments |
ทิ้งท้าย: IPv6 = The Future (and Present) of IP Networking
IPv6 Deployment Why: IPv4 exhausted (4.3B addresses), IPv6 = 3.4×10^38 addresses (infinite) SLAAC: auto-configure address from Router Advertisement (no DHCP needed) DHCPv6: stateful (address + options) or stateless (options only, address from SLAAC) Dual-Stack: run IPv4 + IPv6 simultaneously (most common, recommended) NAT64/DNS64: IPv6-only clients access IPv4-only servers (transition mechanism) Migration: plan → infrastructure (core) → internal (access) → services → external → optimize Key: start with dual-stack, enable IPv6 alongside IPv4, don’t break IPv4 while deploying IPv6
อ่านเพิ่มเติมเกี่ยวกับ Network Segmentation VLANs VRF และ DNS Security DNSSEC DoH DoT ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com