Кратко
СкопированоIPv6 или Internet Protocol version 6 — сетевой протокол, который обеспечивает передачу данных между компьютерами и другими устройствами в интернете.
Основная идея заключается в том же, в чём идея интернета — прямой связности и построении одноранговой сети (P2P). По сравнению с IPv4 (актуальной, но устаревающей версией), в IPv6 исправили баги и добавили решения, связанные с адресацией, маршрутизацией и автоматизацией.
Основные преимущества протокола в вебе:
- Прямые соединения: преимущество для голосовой связи (VoIP) и аудио-, видео- и конференц-связи (WebRTC), так как нет разделения на частные (серые) и публичные (белые) адреса.
- Удобство в отладке: нет необходимости использовать программное обеспечение вроде ngrok.
- Меньше проблем с блокировками: у каждого устройства свой уникальный IP-адрес. Меньше шансов, что вас заблокируют из-за соседа на хостинге.
- Снижается вероятность столкнуться с капчей на анти-DDoS-сервисах при входе на сайт.
- Косвенные SEO-преимущества: Google может учитывать доступность сайта по IPv6, политики Apple.
- Актуальность в развивающихся странах: во многих регионах провайдеры используют только IPv6, что важно, если делаете международный продукт.
Как понять
СкопированоIPv6-адрес состоит из 128 бит, которые записываются в виде восьми групп по четыре шестнадцатеричных символа (хекстета).
Посмотрим на адрес 2001
. Выглядит страшно, но на практике всё просто. Адрес делится на две части:
2001
— глобальный префикс, который определяет провайдер.: 0db8 : 4ac7 : fddd 8da3
— уникальный идентификатор устройства в сети.: 981f : fbda : 1e43
В отличие от IPv4, вы можете представить вторую половину как универсальный уникальный идентификатор устройства (UUID).
Возможные варианты адреса
СкопированоIPv6 позволяет сокращать адреса до удобного для восприятия вида.
- Заменим нули на
:
(двойное двоеточие можно использовать только один раз):: 2001
→: 0 D B8 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 2001
.: 0 D B8 : : - Внутри каждого хекстета уберём первые нули:
2001
→: 0 D B8 : : 2001
.: D B8 : : - Если хочется сохранить наглядность, можно оставить по одному нулю:
2001
.: D B8 : 0 : 0 : 0 : 0 : 0 : 0
Кроме обычного адреса как выше, встречаются и короткие адреса, например:
:
— петля, аналог: 1 127
.. 0 . 0 . 1 2600
— случайный адрес из интернета (да, можете запустить команду: : ping 2600
и получить ответ).: :
Как указать
СкопированоПоскольку символ :
используется в адресе, его нужно экранировать квадратными скобками ([
) в строках с URL:
https://[2001:0db8:4ac7:fddd:8da3:981f:fbda:1e43]:8080
https://[2001:0db8:4ac7:fddd:8da3:981f:fbda:1e43]:8080
В некоторых командах, например в telnet
, квадратные скобки вообще не нужны:
telnet 2001:0db8:4ac7:fddd:8da3:981f:fbda:1e43 8080
telnet 2001:0db8:4ac7:fddd:8da3:981f:fbda:1e43 8080
Некоторые префиксы и маски
СкопированоВ IPv6 вместо масок подсети используют префиксы, которые обозначаются как /число
. Например, /64
в адресе 2001
. Вот список некоторых префиксов:
Префикс | Размер | Назначение |
---|---|---|
/64 | 1 /64 подсеть | Базовая подсеть, аналог /24 в IPv4 на ваших домашних роутерах. |
/60 | 16 подсетей /64 | Выдаётся интернет-провайдером. |
/56 | 256 подсетей /64 | Выдаётся интернет-провайдером. |
/48 | 65 536 подсетей /64 | Выдаётся интернет-провайдером на организацию или предприятие. |
/32 | 65 536 подсетей /48 | Подсети интернет-провайдеров. |
Подробные расчёты можно сделать в специальном калькуляторе подсетей.
Известные зарезервированные подсети
СкопированоПрефикс | Назначение |
---|---|
: | Петля. |
2001 и 3 | Подсети, созданные для документов. Подразумевается, что люди, видя эти адреса, используют текущий абстрактный адрес или вставят свой. |
FE80 | Link-local адреса. |
: | Для конвертации из IPv4 в IPv6. Часто встречаются в системах управления базами данных. |
Больше примеров найдёте на сайте IANA. Остальные примеры можно посмотреть в Википедии.
Приватность и популярность
СкопированоМожно подумать, что сервисы могут точно вычислить человека и собрать о нём всю информацию (для выдачи рекламы или чего-то другого), раз у каждого устройства есть индивидуальный адрес. В реальности современные операционные системы имеют временные IP-адреса. Это позволяет изменять адрес, с которого устройство выходит в интернет. Так что, при работе с адресами, лучше работать с префиксом /64
и шире.
Есть миф, что IPv6 нигде не используется. Это не так. Если вы разрабатываете приложение или сайт под смартфоны и другие мобильные устройства, то получите до 80% IPv6-трафика.
Посмотреть на статистику по использованию IPv6 можете по этим ссылкам:
- Статистика по IPv6 от Google
- Статистика по IPv6 от Cloudflare
- Статистика по IPv6 от Китайской национальной системы развития IPv6
Как сделать у себя
СкопированоЧтобы ваш сайт работал с IPv6, нужно:
- Убедиться, что у вас на сервере есть IP-адрес из подсети
2000
.: : / 3 - Настроить веб-сервер на работу с IPv6.
- Сделать IP-адрес сервера статичным.
- Прописать в DNS соответствующую АААА-запись на IPv6-адрес.
DNS
СкопированоСкорее всего, вы уже знаете, что такое DNS, но давайте освежим память.
DNS — система получения информации о домене. Проще говоря, заходя на сайт наша операционная система или браузер запрашивают список IP-адресов, которые соответствуют данному домену. К примеру, посылая запрос на example
, мы получим несколько адресов. Среди адресов будут IPv6- и IPv4-адреса. Если IPv6 исправно работает на устройстве, операционная система или браузер отдадут только IPv6-адрес. Кстати, данная процедура называется Happy Eyeballs.
На стороне DNS-сервера IPv4- и IPv6-адреса различаются типами записи. Для IPv4 это будет A
, а для IPv6 — AAAA
.