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
| IPv4 | IPv6 |
|---|---|
| 32-битный адрес | 128-битный адрес |
| 192.168.1.10 | 2001: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 | Протокол |
|---|---|
| A | IPv4 |
| AAAA | IPv6 |
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
При сетевой проблеме полезно последовательно проверить:
- наличие IPv6 Address;
- Prefix;
- Default Route;
- Neighbor Discovery;
- DNS AAAA Record;
- Firewall;
- маршрут до Destination;
- прослушивание нужного 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
- Считать IPv6 просто более длинным IPv4.
- Добавить AAAA Record до настройки рабочего IPv6 Route.
- Не настроить IPv6 Firewall.
- Хранить IP в поле, рассчитанном только на IPv4.
- Игнорировать ICMPv6.
- Использовать приложения с IPv4-only Validation.
- Не учитывать IPv6 в VPN.
- Не включать IPv6 в Monitoring и SIEM.
- Хардкодить IP вместо DNS.
- Пытаться сразу полностью отключить 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 пока не планируется.