Перейти к содержанию
ipaddress.ee

IPv6: подробное объяснение

128 бит в шестнадцатеричной записи — места хватит каждому устройству, которое когда-либо подключится. Вот как их читать.

Проверить IPv6-адрес

Зачем нужен IPv6

IPv6 (RFC 8200) разработан в 1990-х годах, когда стало ясно, что 4,3 миллиарда адресов IPv4 закончатся. В IPv6-адресе 128 бит: 2¹²⁸, или около 3,4 × 10³⁸ адресов. Важен не размер числа, а то, что каждая сеть может получить столько пространства, сколько ей нужно, а каждое устройство — снова иметь глобально достижимый адрес без NAT.

IPv6 не является обновлением IPv4; два протокола работают параллельно (два стека, dual stack). Сегодня большая и растущая доля трафика к крупным сервисам идёт по IPv6, особенно в мобильных сетях.

Запись: шестнадцатеричные группы

IPv6-адрес записывается как восемь групп по четыре шестнадцатеричные цифры, разделённых двоеточиями:

2001:0db8:0000:0000:0000:ff00:0042:8329

Каждая группа — 16 бит. Шестнадцатеричные цифры — от 0 до 9 и от a до f; регистр букв не важен, но принято писать строчными.

Правила сокращения

Длинные последовательности нулей встречаются часто, поэтому есть два правила сокращения (RFC 4291), а RFC 5952 задаёт единственный правильный способ их применять:

  1. Отбросьте ведущие нули в каждой группе: 0db8 → db8, 0042 → 42, 0000 → 0.
  2. Замените одну последовательность нулевых групп на :: — самую длинную, при равенстве первую, и только если она охватывает не меньше двух групп. Это можно сделать лишь один раз, иначе адрес станет неоднозначным.

Так 2001:0db8:0000:0000:0000:ff00:0042:8329 превращается в 2001:db8::ff00:42:8329. Адрес loopback 0:0:0:0:0:0:0:1 — это ::1, а неопределённый адрес — просто ::.

Попробуйте любой адрес в обозревателе ниже — он показывает полную и каноническую формы рядом.

Полная форма

2001
маршрутизация
0db8
маршрутизация
0000
маршрутизация
0000
подсеть
0000
интерфейс
ff00
интерфейс
0042
интерфейс
8329
интерфейс

Сокращённая форма

2001:db8::ff00:42:8329

Область: Специального назначения · Документация (2001:db8::/32)

Префиксы и /64

IPv6 использует нотацию CIDR, как и IPv4. Типичный глобальный одноадресный адрес делится так:

  • Префикс маршрутизации (обычно /48 или /56) — его выдаёт площадке провайдер.
  • Идентификатор подсети — биты до /64, нумерующие сети площадки. В /48 помещается 65 536 подсетей.
  • Идентификатор интерфейса (последние 64 бита) — обозначает устройство в его сети.

Одна локальная сеть почти всегда /64. На этом основана автонастройка адресов без сохранения состояния (SLAAC): устройства сами выбирают идентификаторы интерфейса — сейчас ради приватности случайные (RFC 8981) — и регулярно меняют их.

Типы адресов, которые вы встретите

  • Глобальные одноадресные 2000::/3 — публичные маршрутизируемые адреса.
  • Link-local fe80::/10 — есть у каждого интерфейса IPv6; действуют только в пределах канала и используются для обнаружения соседей и протоколов маршрутизации.
  • Уникальные локальные fc00::/7 (на практике fd00::/8) — аналог частных адресов в IPv6 (RFC 4193).
  • Многоадресные ff00::/8 — широковещания в IPv6 нет; его заменяют группы многоадресной рассылки.
  • Loopback ::1 и неопределённый ::.
  • IPv4-mapped ::ffff:0:0/96 — так ПО IPv6 представляет IPv4-собеседников, например ::ffff:192.0.2.1.
  • Для документации 2001:db8::/32 и 3fff::/20 — для примеров вроде тех, что на этой странице.

Блоки IPv6 специального назначения

Полный список зарезервированных блоков IPv6, построенный по реестру IANA, который использует классификатор этого сайта:

БлокНазначениеИсточникДоступен глобально
::/128Неопределённый адресRFC 4291Нет
::1/128Адрес loopbackRFC 4291Нет
::ffff:0:0/96Адрес IPv4-mappedRFC 4291Нет
64:ff9b::/96Трансляция IPv4–IPv6 (NAT64)RFC 6052Да
64:ff9b:1::/48Локальная трансляция IPv4/IPv6RFC 8215Нет
100::/64Блок только для отбрасыванияRFC 6666Нет
2001::/32TEREDORFC 4380Нет
2001:2::/48Тестирование производительностиRFC 5180Нет
2001:db8::/32ДокументацияRFC 3849Нет
2001:10::/28Устаревший (ORCHID)RFC 4843Нет
2001:20::/28ORCHIDv2RFC 7343Да
2002::/166to4RFC 3056Нет
3fff::/20ДокументацияRFC 9637Нет
5f00::/16SID сегментной маршрутизации (SRv6)RFC 9602Нет
fc00::/7Уникальный локальныйRFC 4193Нет
fe80::/10Link-local unicastRFC 4291Нет
ff00::/8Многоадресная рассылкаRFC 4291Нет

Два стека и как этот сайт определяет оба адреса

Браузер подключается по одному семейству адресов за раз. Если работают оба, он обычно предпочитает IPv6 (Happy Eyeballs, RFC 8305). Чтобы показать вам оба адреса, ipaddress.ee делает из вашего браузера запросы к двум дополнительным именам: у одного есть только запись IPv4 (A), у другого — только IPv6 (AAAA). То, что видит каждое из них, и есть ваш адрес в этом семействе. Если запрос по IPv6 не проходит, у вашего подключения нет работающего IPv6.

Частые вопросы

Как узнать, есть ли у меня IPv6?
Откройте главную страницу этого сайта. Если показан IPv6-адрес — основным или в строке IPv6, — ваше подключение поддерживает IPv6.
IPv6 быстрее IPv4?
Само по себе — нет, но может быть: трафик IPv6 часто минует операторский NAT, что убирает лишний шаг и узкое место с сохранением состояния.
Нужен ли межсетевой экран при IPv6?
Да. Без NAT у устройств глобально маршрутизируемые адреса; межсетевой экран с сохранением состояния, блокирующий нежелательный входящий трафик, даёт ту защиту, которую NAT давал неявно.
Почему мой IPv6-адрес постоянно меняется?
Расширения приватности (RFC 8981) создают временные идентификаторы интерфейса, которые меняются, чтобы ваш адрес нельзя было использовать для отслеживания устройства в разных сетях. Префикс /64 обычно остаётся прежним.