# IPv6

> Шестая версия интернет-протокола со 128-битными адресами; решает проблему нехватки адресов IPv4, упрощает заголовок и делает NAT необязательным.

Источник: https://llmdocs.ru/wiki/ipv6/ · обновлено 2026-11-09 · лицензия CC BY-SA 4.0

- **Полное название**: Internet Protocol version 6
- **Уровень OSI**: сетевой (3)
- **Стандарт**: RFC 8200 (2017), первоначально RFC 1883 (1995)
- **Длина адреса**: 128 бит
- **Запись**: восемь групп по 4 шестнадцатеричные цифры
- **Предшественник**: IPv4 (32 бита)
- **Автонастройка**: SLAAC, DHCPv6
- **DNS-запись**: AAAA
**IPv6** (*Internet Protocol version 6*) — версия сетевого протокола интернета, пришедшая на смену IPv4. Главное отличие — длина адреса: 128 бит вместо 32, то есть около 3,4×10³⁸ адресов против 4,3 миллиарда. Этого хватает, чтобы выдать каждому устройству глобально уникальный адрес и обходиться без [NAT](https://llmdocs.ru/wiki/nat.md). Протокол также упрощает заголовок пакета, встраивает автонастройку адресов и заменяет широковещательные рассылки на групповые (multicast). Основы адресации и подсетей описаны в статье [IP-адрес и подсети (CIDR)](https://llmdocs.ru/wiki/ip-cidr.md).

## История

Исчерпание адресов IPv4 предсказывали ещё в начале 1990-х. IETF выбрала проект нового протокола (рабочее название IPng) и в 1995 году опубликовала первую спецификацию IPv6 — RFC 1883; актуальная версия — RFC 8200 (2017).[1] Номер 5 был занят экспериментальным протоколом потоковой передачи ST. Внедрение шло медленно: NAT и CIDR продлили жизнь IPv4. Региональные регистраторы раздали последние свободные блоки IPv4 в 2011–2019 годах. По статистике Google, к середине 2020-х около 45–50% пользователей обращаются к его сервисам по IPv6; доля сильно различается по странам.[5]

## Запись адресов

Адрес записывается восемью группами по 16 бит в шестнадцатеричном виде:

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

Правила сокращения (RFC 5952):[3] ведущие нули в группе опускаются, а одна самая длинная последовательность нулевых групп заменяется на `::`. Получается `2001:db8::ff00:42:8329`. Буквы пишутся строчными. В URL адрес заключают в квадратные скобки: `http://[2001:db8::1]:8080/`.

Префикс сети обозначается так же, как в IPv4: `/64`. Типичная схема — провайдер выдаёт клиенту `/48` или `/56`, а каждая локальная сеть получает `/64`, где младшие 64 бита — идентификатор интерфейса.

## Типы адресов

| Префикс | Тип | Назначение |
|---|---|---|
| `::1/128` | loopback | аналог `127.0.0.1` |
| `::/128` | неопределённый | «ещё нет адреса» |
| `fe80::/10` | link-local | есть на каждом интерфейсе, не маршрутизируется |
| `fc00::/7` (на практике `fd00::/8`) | ULA | частные адреса, аналог `10.0.0.0/8` |
| `2000::/3` | global unicast | публичные адреса |
| `ff00::/8` | multicast | групповая рассылка |
| `2001:db8::/32` | документация | для примеров |
| `::ffff:0:0/96` | IPv4-mapped | IPv4-адрес внутри IPv6-сокета |

В IPv6 нет широковещательных адресов: их роль выполняют multicast-группы, например `ff02::1` — все узлы сегмента.[2]

## Отличия от IPv4

- **Заголовок** фиксированной длины 40 байт; необязательные поля вынесены в цепочку дополнительных заголовков (extension headers). Нет контрольной суммы заголовка — её проверяют канальный и транспортный уровни.
- **Фрагментацию** выполняет только отправитель; маршрутизаторы не дробят пакеты, а сообщают ICMPv6 «Packet Too Big». Поэтому блокировать ICMPv6 на файрволе нельзя — сломается определение MTU.
- **ARP заменён** протоколом Neighbor Discovery (NDP) поверх ICMPv6: он же находит маршрутизаторы и обнаруживает конфликты адресов.
- **Автонастройка SLAAC**: узел получает от маршрутизатора объявление с префиксом (Router Advertisement) и сам формирует адрес.[4] Для приватности используются временные случайные адреса (RFC 8981), а не MAC-адрес. DHCPv6 применяется, когда нужен централизованный контроль.

## Переход и сосуществование

Интернет ещё долго будет двухпротокольным. Основные механизмы:

- **Dual stack** — узел имеет и IPv4, и IPv6. Клиенты выбирают протокол по алгоритму *Happy Eyeballs*: пробуют IPv6 и через небольшую задержку IPv4, используя то соединение, что установилось первым.[6]
- **NAT64/DNS64** — сеть только на IPv6 обращается к IPv4-ресурсам через транслятор; распространено в мобильных сетях.
- **Туннели** (6in4, 6rd, исторические Teredo и 6to4) передают IPv6 поверх IPv4.

В [DNS](https://llmdocs.ru/wiki/dns.md) адресу IPv6 соответствует запись `AAAA` (см. [DNS-записи (A, AAAA, CNAME, MX, TXT)](https://llmdocs.ru/wiki/dns-records.md)).

## Практика

```bash
ip -6 addr show                 # адреса IPv6 на интерфейсах
ip -6 route                     # маршруты
ping -6 google.com              # проверка связности
curl -6 https://ifconfig.co     # свой публичный IPv6
dig AAAA example.com +short     # AAAA-запись
```

Отсутствие NAT не означает отсутствия защиты: каждый узел доступен из интернета по глобальному адресу, поэтому входящий трафик фильтрует файрвол (stateful firewall на маршрутизаторе). Частая ошибка — настроить правила только для IPv4 и оставить сервис открытым по IPv6.

## См. также

- [IP-адрес и подсети (CIDR)](https://llmdocs.ru/wiki/ip-cidr.md)
- [TCP/IP](https://llmdocs.ru/wiki/tcp-ip.md)
- [NAT](https://llmdocs.ru/wiki/nat.md)
- [Модель OSI](https://llmdocs.ru/wiki/osi-model.md)

## Источники

1. [RFC 8200 — Internet Protocol, Version 6 (IPv6) Specification](https://www.rfc-editor.org/rfc/rfc8200)
2. [RFC 4291 — IP Version 6 Addressing Architecture](https://www.rfc-editor.org/rfc/rfc4291)
3. [RFC 5952 — A Recommendation for IPv6 Address Text Representation](https://www.rfc-editor.org/rfc/rfc5952)
4. [RFC 4862 — IPv6 Stateless Address Autoconfiguration](https://www.rfc-editor.org/rfc/rfc4862)
5. [Google — IPv6 Statistics](https://www.google.com/intl/en/ipv6/statistics.html)
6. [RFC 8305 — Happy Eyeballs Version 2](https://www.rfc-editor.org/rfc/rfc8305)
