Чем IPv4 отличается от IPv6?
Модели OSI и TCP/IP
IPv4 — 32-битные адреса (~4,3 млрд), давно исчерпанные; IPv6 — 128-битные адреса, упрощённый заголовок и автоконфигурация, при которой NAT больше не нужен.
Адреса
- IPv4:
192.168.1.10. IPv6:2001:db8::1— 8 групп по 16 бит в hex, подряд идущие нулевые группы один раз сжимаются в::. - Loopback:
127.0.0.1против::1. - У интерфейса IPv6 обычно несколько адресов: link-local
fe80::/10, глобальный, временные для приватности. - Стандартная подсеть — /64.
Протокольные отличия
- Заголовок IPv6 фиксированный, 40 байт; опции вынесены в extension headers, контрольной суммы заголовка нет.
- Фрагментирует только отправитель, роутеры — нет; минимальный MTU 1280 байт.
- ARP заменён Neighbor Discovery поверх ICMPv6, есть SLAAC — адрес без DHCP.
- Нет broadcast — только multicast и anycast.
На практике
- Dual stack: у хоста оба адреса, клиенты применяют Happy Eyeballs — пробуют IPv6 и IPv4 почти параллельно.
- В DNS запись A для IPv4, AAAA для IPv6.
- В URL адрес берут в скобки:
http://[::1]:8080/. - Частая ошибка — сервис слушает только
0.0.0.0и недоступен по IPv6.
Коротко для собеседования
Главное в IPv6 — огромное адресное пространство, из-за которого пропадает нужда в NAT, плюс более простой заголовок и SLAAC. На практике живём в dual stack, и частая ошибка — сервис слушает только IPv4; для IPv6-only клиентов есть DNS64 и NAT64.