DHCPv6
DHCPv6 (RFC 8415) — DHCP для IPv6. В отличие от IPv4 DHCP, чаще нужен только для DNS/options, потому что адреса раздаёт SLAAC.
Режимы
- Stateful — сервер раздаёт адреса и опции (флаг M=1 в RA)
- Stateless — только опции (DNS, NTP), адреса — SLAAC (O=1, M=0)
Отличия от DHCPv4
| DHCPv4 | DHCPv6 |
|---|---|
| Broadcast (255.255.255.255) | Multicast (ff02::1:2) |
| Порт 67/68 | 546 (client), 547 (server) |
| DISCOVER/OFFER/REQUEST/ACK | SOLICIT/ADVERTISE/REQUEST/REPLY |
| MAC как ID | DUID (DHCP Unique ID) |
| — | IA_NA / IA_TA / IA_PD |
DUID
Уникальный идентификатор клиента и сервера. Типы:
- DUID-LLT — link-layer + time
- DUID-EN — enterprise number
- DUID-LL — link-layer
- DUID-UUID — из UUID системы
Prefix Delegation (IA_PD)
Магия IPv6: провайдер раздаёт клиенту не адрес, а целый префикс (например /56). Клиентский роутер потом раздаёт из него /64 в свои подсети через SLAAC.
# ISP отдаёт клиенту:
2001:db8:1234:5600::/56
# роутер клиента делит:
2001:db8:1234:5601::/64 → LAN
2001:db8:1234:5602::/64 → guest
2001:db8:1234:5603::/64 → IoT
Android
Android не поддерживает DHCPv6 (позиция Google — SLAAC достаточно). Проблема для сетей где IPv6 через DHCPv6 stateful.