Лев Корольков
Руководитель IT-департамента EFSOL Oblako
Время чтения: 18 мин

IPv6

Современный интернет-протокол

IPv6, или Internet Protocol version 6, — шестая версия интернет-протокола, предназначенная для адресации устройств и маршрутизации пакетов между сетями. Главное отличие от IPv4 — значительно более крупное 128-битное адресное пространство.

IPv6 создавался в том числе как решение проблемы дефицита публичных IPv4-адресов. Благодаря огромному количеству возможных адресов сети могут назначать глобально уникальные адреса большому количеству серверов, смартфонов, IoT-устройств, виртуальных машин и других сетевых интерфейсов.

IPv6 используется в интернете, мобильных сетях, облачной инфраструктуре, дата-центрах и корпоративных сетях. На практике IPv4 и IPv6 часто работают параллельно.

Что такое IPv6 простыми словами

IPv6 можно представить как новую систему адресов для устройств в интернете.

IPv4 использует адреса вроде:

192.168.1.10

IPv6 использует более длинные адреса:

2001:db8:1234:5678:abcd:ef01:2345:6789

Оба протокола выполняют похожую базовую задачу: помогают определить сетевой адрес получателя и доставить ему пакет.

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

Почему появился IPv6

IPv4 использует 32-битные адреса, что дает примерно 4,3 миллиарда комбинаций. Значительная часть адресного пространства имеет специальное назначение, поэтому количество доступных публичных адресов еще меньше.

Интернет вырос значительно сильнее, чем предполагалось при создании IPv4. Компьютеры, смартфоны, серверы, виртуальные машины и IoT-устройства стали массово подключаться к сетям.

NAT позволил существенно продлить срок эксплуатации IPv4, но не устранил фундаментальное ограничение адресного пространства.

Сколько адресов в IPv6

IPv6 использует 128 бит вместо 32.

Количество возможных комбинаций чрезвычайно велико и несопоставимо с IPv4. Поэтому основной задачей IPv6 является не экономия каждого отдельного адреса, а удобное и масштабируемое распределение крупных сетевых диапазонов.

Как выглядит IPv6-адрес

IPv6 записывается в шестнадцатеричном формате и состоит из восьми групп.

2001:0db8:1234:5678:abcd:ef01:2345:6789

Каждая группа содержит четыре шестнадцатеричных символа.

Для записи используются цифры от 0 до 9 и буквы от a до f.

Почему в IPv6 используются шестнадцатеричные числа

128-битный адрес в обычном десятичном виде был бы неудобен для человека.

Hexadecimal позволяет компактнее отображать двоичные данные.

Один шестнадцатеричный символ представляет четыре бита, поэтому полный IPv6-адрес содержит 32 таких символа без учета разделителей.

Сокращенная запись IPv6

IPv6-адреса можно сокращать.

Ведущие нули внутри группы разрешается опускать.

2001:0db8:0000:0000:0000:0000:0000:0001

можно записать:

2001:db8:0:0:0:0:0:1

Последовательность групп из нулей можно дополнительно сократить специальной записью:

2001:db8::1

Что означает :: в IPv6

Двойное двоеточие заменяет одну или несколько последовательных групп, состоящих из нулей.

В одном адресе такая компрессия должна использоваться однозначно, чтобы полный 128-битный адрес можно было восстановить.

IPv6 и IPv4

IPv4IPv6
32-битный адрес128-битный адрес
192.168.1.102001:db8::10
Небольшое адресное пространствоОчень большое адресное пространство
NAT используется чрезвычайно широкоЕсть возможность назначать большое количество глобально уникальных адресов
Broadcast используется в протоколеКлассического Broadcast нет

IPv6 не является просто более длинным IPv4

Хотя основная функция протоколов похожа, IPv6 имеет собственный формат Header, механизмы адресации, Neighbor Discovery и другие особенности.

Поэтому переход нельзя свести к простому увеличению длины поля IP Address.

IPv6 Packet

Данные по IPv6 передаются в пакетах.

Основной Header содержит Source Address, Destination Address и другую информацию для обработки пакета сетью.

Некоторые дополнительные функции вынесены в Extension Headers, благодаря чему базовый Header остается более структурированным.

Source и Destination Address

Source IPv6 Address обозначает отправителя, Destination Address — получателя.

Router анализирует Destination и определяет следующий сетевой переход на основании Routing Table.

Hop Limit

В IPv6 используется Hop Limit, выполняющий функцию, похожую на TTL в IPv4.

Каждый Router уменьшает значение на единицу.

Когда оно достигает нуля, пакет перестает пересылаться.

Это предотвращает бесконечную циркуляцию пакетов при ошибке маршрутизации.

IPv6 и CIDR

IPv6-сети также обозначаются через Prefix Length.

2001:db8:1234::/48

или:

2001:db8:1234:1::/64

Число после косой черты показывает количество бит, относящихся к Network Prefix.

Почему /64 часто встречается в IPv6

Для обычных IPv6 LAN-сегментов очень часто используется Prefix /64.

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

Это связано с механизмами и стандартными моделями автоконфигурации IPv6.

IPv6 Subnet

Подсеть IPv6 выполняет ту же концептуальную роль, что и IPv4 Subnet: объединяет адреса, для которых действует общий Network Prefix.

Однако огромный размер адресного пространства позволяет проектировать Subnets намного свободнее и не экономить каждый Host Address.

Global Unicast Address

Global Unicast Address используется для глобально маршрутизируемой IPv6-связности.

Такой адрес концептуально похож на Public IPv4: маршрутизаторы интернета могут использовать его для доставки пакетов при наличии корректной Routing-конфигурации.

При этом наличие глобального IPv6 не означает, что устройство должно быть открыто всем внешним клиентам. Доступ регулируется Firewall.

Link-local Address

IPv6-интерфейсы используют Link-local Addresses для взаимодействия внутри локального сетевого сегмента.

Они имеют специальный Prefix и не предназначены для обычной глобальной маршрутизации.

Link-local используется, например, механизмами Neighbor Discovery.

Loopback IPv6

IPv6 имеет Loopback Address:

::1

Он аналогичен 127.0.0.1 в IPv4 и используется для обращения устройства к самому себе.

Разработчики часто видят ::1 при работе с localhost.

Unspecified Address

Специальный адрес:

::

обозначает отсутствие конкретного IPv6 Address в определенных сценариях.

Приложение также может использовать запись с :: при настройке Listen Address, если требуется слушать IPv6-интерфейсы согласно поведению конкретной операционной системы и приложения.

Multicast в IPv6

IPv6 активно использует Multicast для отправки данных группе получателей.

Например, некоторые служебные сетевые протоколы обращаются к определенным Multicast Groups вместо отправки Broadcast всему сегменту.

Почему в IPv6 нет обычного Broadcast

В IPv4 Broadcast позволяет отправить пакет всем устройствам подсети.

В IPv6 классический Broadcast не используется. Для группового взаимодействия применяется Multicast.

Это позволяет точнее определить группу получателей и уменьшить часть ненужного широковещательного трафика.

Anycast

Anycast позволяет назначить одинаковый адрес нескольким узлам, а Routing доставляет трафик к одному из подходящих экземпляров.

Такой подход применяется в распределенных сетевых сервисах, например для географически распределенной инфраструктуры.

Neighbor Discovery Protocol

IPv6 использует Neighbor Discovery Protocol, или NDP, для ряда функций, связанных с локальной сетью.

Он помогает обнаруживать соседние устройства и Router, определять Link-layer адреса и выполнять другие служебные задачи.

NDP работает через ICMPv6.

IPv6 и ARP

В IPv4 для сопоставления IP и MAC применяется ARP.

В IPv6 отдельный ARP не используется. Его роль в соответствующих сценариях выполняют механизмы Neighbor Discovery.

ICMPv6

ICMPv6 является важной частью работы IPv6.

Он используется не только для диагностических сообщений, но и для Neighbor Discovery, Router Discovery и других механизмов.

Поэтому бездумная блокировка всего ICMPv6 способна нарушить нормальную работу сети.

Ping по IPv6

IPv6-узлы также можно диагностировать через Ping при разрешенной сетевой политике.

Например, администратор проверяет достижимость удаленного IPv6 Address и сетевую задержку.

Как и с IPv4, отсутствие ответа не всегда означает недоступность приложения, поскольку диагностический трафик может фильтроваться.

SLAAC

SLAAC, или Stateless Address Autoconfiguration, позволяет устройству автоматически формировать IPv6-конфигурацию на основании информации от Router.

Это одна из заметных особенностей IPv6.

Устройству не всегда требуется классическая DHCP-модель для получения своего адреса.

Router Advertisement

Router Advertisement сообщает устройствам информацию о доступных IPv6 Prefix и других сетевых параметрах.

На основании этих сообщений клиент может сформировать адрес и определить Router.

DHCPv6

Для IPv6 существует DHCPv6, позволяющий централизованно выдавать определенные сетевые параметры и адресную конфигурацию.

В зависимости от инфраструктуры могут использоваться SLAAC, DHCPv6 или их сочетание.

IPv6 и DNS

DNS связывает доменное имя с IPv6 Address через AAAA Record.

Например:

example.com → 2001:db8::10

При наличии одновременно A и AAAA Records клиент может иметь возможность выбрать IPv4 или IPv6 в зависимости от своей сетевой конфигурации.

AAAA Record

AAAA Record — DNS-запись для IPv6.

RecordПротокол
AIPv4
AAAAIPv6

Dual Stack

Dual Stack означает одновременную поддержку IPv4 и IPv6.

Сервер может иметь оба типа адресов, а DNS — одновременно A и AAAA Records.

Клиент использует протокол, доступный и предпочтительный в его сетевой среде.

Dual Stack является распространенным подходом постепенного внедрения IPv6.

Почему нельзя просто отключить IPv4

Не все сети, устройства, приложения и внешние сервисы одинаково поддерживают IPv6.

Поэтому организация часто не может мгновенно перейти на IPv6-only.

Dual Stack позволяет сохранять совместимость со старой инфраструктурой во время миграции.

IPv6-only сеть

В определенных инфраструктурах можно использовать только IPv6 внутри сегмента.

Для взаимодействия с IPv4-only ресурсами тогда требуются специальные механизмы преобразования или Gateway.

Такой подход уменьшает необходимость поддерживать две адресные модели внутри сети, но требует тщательной проверки совместимости.

NAT64

NAT64 используется в определенных архитектурах для взаимодействия IPv6-клиентов с IPv4-сервисами.

Gateway преобразует трафик между двумя протоколами.

Так IPv6-only клиент может получать доступ к ресурсу, доступному только по IPv4.

DNS64

DNS64 может использоваться вместе с NAT64 для формирования IPv6-представления адреса IPv4-only сервиса.

Клиент получает IPv6 Address, который затем обрабатывается NAT64 Gateway.

Нужен ли NAT в IPv6

Одна из главных причин массового NAT в IPv4 — дефицит публичных адресов.

В IPv6 такой необходимости для обычного сохранения адресного пространства нет.

Устройства могут иметь глобально уникальные IPv6 Addresses, а безопасность обеспечивается Firewall и сетевой политикой.

NAT и Firewall — разные механизмы. Отсутствие NAT не означает отсутствие сетевой защиты.

IPv6 и Firewall

Firewall особенно важен в IPv6, поскольку устройство может иметь Global Unicast Address без привычной NAT-границы.

Сетевые правила должны явно определять, какие входящие соединения разрешены.

Например, Web Server принимает 443, а Database доступна только внутренней Backend-сети.

IPv6 не делает сервер автоматически публичным

Наличие глобального адреса означает возможность маршрутизации, но фактическая доступность определяется Routing и Firewall.

Правильно настроенный сервер может иметь Global IPv6 и при этом принимать только разрешенные соединения.

IPv6 и порты

Как и в IPv4, IP Address обозначает сетевой интерфейс, а TCP или UDP Port — конкретный сервис.

При записи IPv6 вместе с портом адрес заключают в квадратные скобки:

[2001:db8::10]:443

Это позволяет отличить двоеточия внутри IPv6 Address от разделителя Port.

IPv6 и URL

Если в URL используется IPv6 непосредственно вместо доменного имени, адрес также заключается в квадратные скобки.

https://[2001:db8::10]/

В обычных пользовательских сценариях предпочтительнее DNS-имя.

IPv6 и TCP

TCP может работать поверх IPv6 так же, как поверх IPv4.

Приложение устанавливает соединение между Source IPv6 Address и Destination IPv6 Address с соответствующими Ports.

HTTPS, SSH, Database Connections и другие TCP-протоколы могут работать через IPv6.

IPv6 и UDP

UDP также работает поверх IPv6.

DNS, real-time приложения и другие сервисы могут передавать UDP Datagrams через IPv6-сеть.

IPv6 и маршрутизация

Routers используют Network Prefix для определения пути к Destination.

В Routing Table могут находиться записи вроде:

2001:db8:1000::/48 → gateway A
2001:db8:2000::/48 → gateway B
::/0 → default gateway

::/0 является Default Route для IPv6.

Route Aggregation

Большое адресное пространство позволяет распределять сети и агрегировать маршруты по крупным Prefix.

Хорошо спроектированный Address Plan помогает уменьшить количество отдельных записей в Routing Table.

IPv6 Address Plan

Несмотря на огромное количество адресов, IPv6-сети необходимо планировать.

Диапазоны можно логически разделять по площадкам, средам и функциям.

PrefixНазначение
2001:db8:1000::/48Основной дата-центр
2001:db8:2000::/48Резервная площадка
2001:db8:3000::/48Облачная инфраструктура

Внутри каждого блока создаются отдельные /64 Subnets.

Почему IPv6 все равно нужно документировать

Огромное адресное пространство не означает, что адреса можно назначать хаотично.

Понятный Address Plan упрощает Routing, Firewall Rules, VPN, диагностику и эксплуатацию.

IPv6 в корпоративной сети

Компания может использовать IPv6 параллельно с IPv4 для рабочих станций, серверов и сетевого оборудования.

При внедрении необходимо проверить DNS, DHCP или SLAAC, Firewall, VPN, Monitoring и приложения.

IPv6 и VPN

VPN может передавать IPv6 Traffic и назначать клиентам IPv6 Addresses.

При проектировании важно учитывать Routing для IPv6 отдельно от IPv4.

Если VPN настроен только для IPv4, часть IPv6-трафика пользователя может идти другим путем, если это не учтено политикой.

IPv6 и дата-центр

В Data Center IPv6 может использоваться для серверных сетей, Management, Load Balancers и внешних сервисов.

Переход обычно требует поддержки протокола на всех уровнях: Router, Firewall, Load Balancer, операционная система и приложение.

IPv6 в облаке

Облачные платформы могут предоставлять IPv6 Prefix для виртуальных сетей и ресурсов.

Виртуальная машина, Load Balancer или Container Platform может получать IPv6 Address и обслуживать клиентов через IPv6.

Конкретные возможности зависят от облачной платформы и региона.

IPv6 и Public Cloud

При использовании Public Cloud необходимо отдельно проверять:

  • поддержку IPv6 в виртуальной сети;
  • маршрутизацию;
  • Security Groups;
  • Load Balancer;
  • DNS AAAA Records;
  • доступ в интернет;
  • совместимость Managed Services.

IPv6 и Load Balancer

Load Balancer может принимать клиентский IPv6-трафик и распределять его между Backend Servers.

В зависимости от архитектуры Backend может использовать IPv6, IPv4 или Dual Stack.

Это позволяет постепенно добавлять IPv6 на внешнем периметре без мгновенной миграции всей внутренней инфраструктуры.

IPv6 и Reverse Proxy

Nginx или другой Reverse Proxy может принимать запросы по IPv6 и передавать их приложениям.

Необходимо проверить Listen-конфигурацию и Firewall, поскольку IPv4 и IPv6 могут иметь отдельные сетевые настройки.

IPv6 и Backend

Backend Framework обычно работает с IPv6 через стандартные сетевые API операционной системы.

Однако ошибки могут появляться, если разработчик предполагает, что IP Address всегда выглядит как четыре числа через точки.

Поле базы или регулярное выражение должно поддерживать полноценный IPv6-формат.

Почему нельзя хранить IP только как VARCHAR(15)

Максимальная текстовая длина IPv4 значительно меньше IPv6.

Если приложение использует поле, рассчитанное только на 15 символов, IPv6 Address туда не поместится.

При проектировании новой системы нужно заранее поддерживать обе версии IP.

IPv6 и API

API может быть доступно клиентам как по IPv4, так и по IPv6.

Обычно клиент работает через DNS Name, а DNS определяет доступные Addresses.

Приложению не следует строить бизнес-логику на предположении, что IP клиента обязательно IPv4.

IPv6 и Rate Limiting

Rate Limiting по IPv6 требует более внимательного подхода, чем простое сравнение полного адреса.

У пользователя может быть большой Prefix и несколько меняющихся адресов.

Поэтому для защиты API часто используют комбинацию Account ID, API Key, Session и сетевых признаков, а не только полный Source IP.

IPv6 Privacy Addresses

Клиентские устройства могут использовать временные IPv6 Addresses, чтобы уменьшить возможность долгосрочного отслеживания по стабильному идентификатору интерфейса.

Поэтому IPv6 Address конкретного пользовательского устройства не обязательно остается постоянным.

IPv6 и логирование

Web Server, Reverse Proxy и SIEM должны корректно принимать и хранить IPv6 Addresses.

Парсеры логов, регулярные выражения и аналитические системы, рассчитанные только на IPv4, могут обрабатывать их неправильно.

IPv6 и Database

Если Database хранит IP-адреса пользователей, рекомендуется использовать тип или структуру данных, поддерживающую и IPv4, и IPv6.

Это особенно важно для Audit Logs, Security Events и Access Control.

IPv6 и Docker

Контейнерные сети могут поддерживать IPv6, но конкретная конфигурация зависит от Container Runtime и сетевых настроек.

Приложение желательно связывать через DNS-имена, а не через жестко заданные IP, независимо от версии протокола.

IPv6 и Kubernetes

Kubernetes может работать в сетевых архитектурах с IPv6 или Dual Stack при соответствующей поддержке инфраструктуры и CNI.

Pods и Services получают адреса согласно сетевой модели кластера.

При переходе необходимо проверять совместимость Ingress, Load Balancer, Network Policies и Monitoring.

IPv6 и Service Discovery

В динамической инфраструктуре IP-адреса экземпляров могут меняться.

Поэтому Service Discovery и DNS остаются важными и при IPv6.

Приложение не должно хранить жестко заданный IPv6 соседнего Pod или VM, если инфраструктура предполагает динамическое создание ресурсов.

IPv6 и Kubernetes Service

Service предоставляет стабильную точку доступа к группе Pods.

В Dual Stack инфраструктуре Kubernetes может работать с адресацией обеих версий при соответствующей конфигурации.

Конкретное поведение зависит от сетевой реализации кластера.

IPv6 и IoT

Огромное адресное пространство IPv6 удобно для систем с очень большим количеством устройств.

Каждый Sensor, Gateway или другой интерфейс может иметь уникальный сетевой адрес без необходимости экономить каждую комбинацию так же жестко, как в IPv4.

Однако безопасность IoT определяется не количеством адресов, а Authentication, Firewall, Updates и архитектурой доступа.

IPv6 и мобильные сети

Мобильная инфраструктура является одним из важных сценариев массового использования IPv6.

Операторы обслуживают огромное количество клиентских устройств, поэтому большое адресное пространство позволяет упростить часть адресной архитектуры.

IPv6 и CDN

CDN может принимать запросы по IPv6 от пользователей и направлять их к ближайшему Edge Node.

Поддержка IPv6 на внешнем периметре позволяет сайту быть доступным клиентам из IPv6-сетей без необходимости менять само доменное имя.

IPv6 и Edge Computing

Edge инфраструктура включает большое количество распределенных узлов и устройств.

Большое адресное пространство IPv6 хорошо соответствует масштабируемым сетевым моделям такого типа.

IPv6 и безопасность

IPv6 нельзя воспринимать как автоматически более безопасный или менее безопасный протокол.

Безопасность определяется настройкой сети и приложений.

  • настраивайте IPv6 Firewall Rules;
  • контролируйте Router Advertisements;
  • ограничивайте Management-доступ;
  • мониторьте IPv6 Traffic;
  • обновляйте Network Devices;
  • учитывайте IPv6 в IDS и SIEM;
  • не забывайте о протоколе при Network Segmentation.

Опасность забытых IPv6-правил

Организация может тщательно ограничить IPv4 Firewall, но случайно оставить IPv6 менее защищенным.

Если сервер одновременно доступен по двум протоколам, атака может идти через тот стек, который администраторы контролируют хуже.

Поэтому Dual Stack фактически означает необходимость поддерживать две сетевые политики.

Shadow IPv6

Некоторые устройства могут автоматически получить IPv6 Connectivity, даже если команда привыкла администрировать только IPv4.

Если Monitoring и Firewall не учитывают такой Traffic, появляется слепая зона.

IPv6 нужно либо полноценно поддерживать, либо осознанно контролировать его использование.

IPv6 и IP Allowlist

Если система разрешает доступ по IP, правила должны корректно работать с IPv6 Prefix.

Нельзя ограничиваться полем, которое принимает только IPv4.

Также необходимо определить, разрешается конкретный адрес или целая IPv6 Subnet.

IPv6 и Proxy

Reverse Proxy может получать клиентское соединение по IPv6, а к Backend обращаться по IPv4.

В таком случае Backend должен корректно получать исходный клиентский адрес через доверенную Proxy-конфигурацию.

Логи и Rate Limiting также должны поддерживать IPv6.

IPv6 и Monitoring

Monitoring Systems должны уметь проверять сервисы по IPv6 и собирать сетевые метрики.

Полезно отдельно тестировать IPv4 и IPv6 Reachability, поскольку один протокол может работать, а другой — быть сломанным.

Почему сайт может открываться по IPv4, но не по IPv6

Причиной могут быть неправильный AAAA Record, отсутствующий Route, ошибка Firewall, неработающий Listen Address или проблема провайдера.

При Dual Stack такие ошибки иногда долго остаются незаметными, потому что часть клиентов автоматически переключается на IPv4.

Диагностика IPv6

При сетевой проблеме полезно последовательно проверить:

  1. наличие IPv6 Address;
  2. Prefix;
  3. Default Route;
  4. Neighbor Discovery;
  5. DNS AAAA Record;
  6. Firewall;
  7. маршрут до Destination;
  8. прослушивание нужного Port приложением.

Команды диагностики Linux

В Linux IPv6 Address и Routing можно проверить стандартными сетевыми командами.

ip -6 addr
ip -6 route

Для проверки конкретного узла можно использовать IPv6-варианты диагностических инструментов, доступные в системе.

IPv6 в Windows

Windows поддерживает IPv6 на уровне сетевого стека.

Текущую конфигурацию интерфейсов можно просматривать через стандартные средства операционной системы.

Важно учитывать, что устройство одновременно может иметь Link-local, Global и IPv4 Addresses.

Переход с IPv4 на IPv6

Миграцию лучше рассматривать как постепенный инфраструктурный проект.

Обычно сначала проверяют поддержку IPv6 на сетевом оборудовании, у провайдера, в облаке, операционных системах и приложениях.

После этого протокол включают в тестовой среде, затем на внешних сервисах или отдельных сегментах.

Этапы внедрения IPv6

Шаг 1. Провести инвентаризацию

Определите, какие Router, Firewall, Load Balancers, VPN и приложения поддерживают IPv6.

Шаг 2. Создать Address Plan

Выделите Prefix для площадок, сред и Subnets.

Шаг 3. Настроить Routing

Проверьте внутренние и внешние маршруты IPv6.

Шаг 4. Настроить Firewall

Политика безопасности IPv6 должна быть не слабее IPv4.

Шаг 5. Настроить DNS

Добавляйте AAAA Records только для реально работающих IPv6 Endpoints.

Шаг 6. Проверить приложения

Убедитесь, что базы, логи, Validators и Rate Limiting корректно работают с длинными IP Addresses.

Шаг 7. Настроить Monitoring

Проверяйте доступность и latency отдельно по IPv4 и IPv6.

Шаг 8. Внедрять постепенно

Dual Stack позволяет переводить сервисы поэтапно и сохранять совместимость.

Типичные ошибки при внедрении IPv6

  1. Считать IPv6 просто более длинным IPv4.
  2. Добавить AAAA Record до настройки рабочего IPv6 Route.
  3. Не настроить IPv6 Firewall.
  4. Хранить IP в поле, рассчитанном только на IPv4.
  5. Игнорировать ICMPv6.
  6. Использовать приложения с IPv4-only Validation.
  7. Не учитывать IPv6 в VPN.
  8. Не включать IPv6 в Monitoring и SIEM.
  9. Хардкодить IP вместо DNS.
  10. Пытаться сразу полностью отключить IPv4 без проверки зависимостей.

Практический пример

Компания размещает публичный SaaS-сервис в облаке и хочет добавить IPv6.

Сначала команда проверяет поддержку протокола у Cloud Load Balancer и получает IPv6 Prefix для виртуальной сети.

Load Balancer становится доступен по IPv4 и IPv6. В DNS рядом с A Record добавляется AAAA Record.

Backend остается в Private Network и принимает запросы только от Load Balancer.

Firewall отдельно содержит правила для IPv4 и IPv6.

В базе поле client_ip переводится на тип или формат, поддерживающий обе версии протокола. Логирование и Rate Limiting также проверяются на IPv6 Addresses.

Prometheus и внешний мониторинг начинают проверять сайт отдельно по IPv4 и IPv6.

Во время тестирования обнаруживается, что один внутренний сервис слушает только IPv4. Его конфигурацию исправляют до расширения IPv6 на остальные компоненты.

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

IPv6 для бизнеса

Для бизнеса IPv6 важен прежде всего как долгосрочная основа сетевого масштабирования.

Он особенно актуален для облаков, операторов связи, IoT, международных сервисов и инфраструктуры с большим количеством сетевых интерфейсов.

Компаниям не обязательно одномоментно отказываться от IPv4, но новые системы желательно проектировать без IPv4-only ограничений.

Поддержка IPv6 в приложениях, DNS, Firewall, Logging и Monitoring снижает стоимость будущей миграции и делает инфраструктуру готовой к сетям, где IPv6 используется как основной протокол.

Когда стоит поддерживать IPv6

  • публичный сервис работает для широкой интернет-аудитории;
  • строится новая облачная инфраструктура;
  • используются мобильные сети;
  • проект связан с IoT;
  • есть большое количество сетевых устройств;
  • нужно постепенно уменьшать зависимость от IPv4;
  • инфраструктура должна работать в IPv6-only сетях.

Нужно ли отказываться от IPv4

Не обязательно. Во многих инфраструктурах разумным этапом является Dual Stack.

IPv4 продолжает обеспечивать совместимость, а IPv6 становится доступен там, где он поддерживается.

Полный IPv6-only переход имеет смысл только после анализа всех внешних и внутренних зависимостей.

Связанные термины

ТерминСвязь с IPv6
IPv4Предыдущая версия Internet Protocol с 32-битной адресацией
IP-адресСетевой идентификатор интерфейса
CIDRИспользуется для обозначения IPv6 Prefix
RouterМаршрутизирует IPv6 Packets между сетями
ICMPv6Служебный протокол и основа ряда механизмов IPv6
NDPОбнаруживает соседей и сетевые параметры
SLAACАвтоматически конфигурирует IPv6 Address
DHCPv6Предоставляет сетевую конфигурацию IPv6
AAAA RecordСвязывает DNS Name с IPv6 Address
Dual StackОдновременная работа IPv4 и IPv6
NAT64Помогает IPv6-клиентам взаимодействовать с IPv4-сервисами
FirewallКонтролирует доступ к IPv6-ресурсам

Краткий итог

IPv6 — шестая версия Internet Protocol с 128-битной адресацией. Она предоставляет чрезвычайно большое адресное пространство и предназначена для масштабирования современных сетей, интернета, облачной инфраструктуры, мобильных систем и IoT.

IPv6 использует собственную модель адресов, Prefix, Neighbor Discovery, ICMPv6, SLAAC и другие механизмы. Для DNS применяется AAAA Record, а в переходных инфраструктурах IPv6 часто работает параллельно с IPv4 через Dual Stack.

Внедрение IPv6 требует не только выдачи новых адресов. Необходимо проверить Routing, Firewall, DNS, VPN, приложения, логирование, мониторинг и хранение IP в базах данных. Новые системы желательно проектировать так, чтобы они корректно работали и с IPv4, и с IPv6, даже если полный переход на IPv6 пока не планируется.

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

6 вопросов
Что такое IPv6?

IPv6, или Internet Protocol version 6, — версия интернет-протокола с 128-битной адресацией. Она используется для идентификации сетевых интерфейсов и маршрутизации пакетов и предоставляет значительно больше адресов, чем IPv4.

Чем IPv6 отличается от IPv4?

IPv4 использует 32-битные адреса вида 192.168.1.10, а IPv6 — 128-битные адреса вида 2001:db8::10. IPv6 имеет значительно большее адресное пространство и использует собственные механизмы Neighbor Discovery и автоконфигурации.

Что означает /64 в IPv6?

/64 — длина сетевого Prefix. Она означает, что первые 64 бита IPv6 Address относятся к Network Prefix, а оставшаяся часть используется для адресации интерфейса. /64 часто применяется в обычных IPv6 LAN-сегментах.

Что такое Dual Stack?

Dual Stack — режим, при котором устройство, сеть или сервис одновременно поддерживает IPv4 и IPv6. Он позволяет постепенно внедрять IPv6 без немедленного отказа от инфраструктуры IPv4.

Нужен ли NAT при использовании IPv6?

Для экономии адресов NAT в IPv6 обычно не требуется, поскольку адресное пространство чрезвычайно велико. Безопасность входящих соединений должна обеспечиваться Firewall и сетевыми политиками, а не зависеть от наличия NAT.

Что такое AAAA Record?

AAAA Record — DNS-запись, связывающая доменное имя с IPv6 Address. Для IPv4 аналогичную функцию выполняет A Record. В Dual Stack сервис может иметь одновременно A и AAAA Records.

Была ли статья полезна?
Документ обновляется командой EFSOL. Свяжитесь с нами, если нашли неточность.
Нужна консультация?

Поможем спроектировать, развернуть и сопроводить облачную или гибридную инфраструктуру под задачи вашего бизнеса.

Ответим в течение часа в рабочее время
Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.