
С внедрением IPv6 меняются фундаментальные процессы сетевого взаимодействия. Расширение адресного пространства с 32 до 128 бит не только противодействует растущему дефициту IP-адресов; новый стандарт также позволяет однозначно адресовать все устройства в сети. В отличие от IPv4, версия 6 последовательно реализует основную идею IP — сквозной принцип. Здесь мы объясним, как все это работает.
Что такое IPv6?
IPv6 расшифровывается как «Протокол Интернета версии 6» и представляет собой стандартизированный процесс, созданный рабочей группой по проектированию Интернета (IETF) для передачи пакетов данных в компьютерных сетях. IPv6, направленный преемник IPv4, вместе с около 500 другими сетевыми протоколами семейства TCP/IP составляет основу интернет-коммуникаций. Центральными функциями IPv6 являются адресация сетевых элементов по так называемым адресам IPv6, а также маршрутизация, или пересылка пакетов между подсетями. Для этих целей IPv6 базируется на сетевом уровне (уровень 3) модели уровней OSI.
Распределение IP-адресов происходит через так называемые RIR (Regional Internet Registries), которым IANA (Internet Assigned Numbers Authority) присваивает свои диапазоны IP-адресов. RIR, отвечающий за Европу, Ближний Восток и Центральную Азию, — это RIPE NCC (Réseaux IP Européens Network Coordination Centre).
IPv6 против IPv4
Даже на первый взгляд очевидно, что новый формат адресов шестой версии IP значительно отличается от формата адресов ее предшественницы IPv4.
- Адрес IPv4: 203.0.120.195
- IPv6-адрес: 2001:0620:0000:0000:0211:24FF:FE80:C12C
В то время как IPv4 использует 32-битные адреса, которые обычно представлены в десятичном виде, его преемник IPv6 использует 128-битные адреса, которые отображаются в шестнадцатеричном формате по причинам удобочитаемости. Прямое сравнение иллюстрирует главную проблему, которую решает новый стандарт IP: При использовании 128 бит можно сгенерировать значительно больше уникальных IP-адресов, чем при использовании 32 бит.
- Диапазон адресов IPv4: 32 бита = 232 адресов ≈ 4,3 миллиарда адресов
- Диапазон адресов IPv6: 128 бит = 2128 адресов ≈ 340 секстиллионов адресов
Разница в размерах становится понятной при сравнении: В то время как диапазон адресов IPv4, насчитывающий около 4,3 миллиарда ИПС, даже близко не достаточен для того, чтобы обеспечить каждого человека в мире уникальным адресом, 128-битная система теоретически может присвоить каждой песчинке на Земле несколько собственных IP-адресов. Поэтому внедрение IPv6 можно рассматривать как инвестицию в будущее. Такие тенденции, как Интернет вещей (IoT), позволяют предположить, что в ближайшие годы количество устройств, подключаемых к Интернету и нуждающихся в четкой идентификации, резко возрастет.
Построение адреса IPv6
128 бит адреса IPv6 разделены на восемь блоков по 16 бит каждый. В шестнадцатеричной нотации 16-битный блок может быть записан четырьмя цифрами или буквами. Двоеточие выступает в качестве разделительного элемента:
- 2001:0620:0000:0000:0211:24FF:C12C
Для того, чтобы сделать адрес IPv6 более управляемым, была создана сокращенная форма, в которой ведущие нули в шестнадцатеричных блоках могут быть опущены. Если шестнадцатеричный блок состоит исключительно из нулей, последний нуль должен быть сохранен:
- 2001:0620:0000:0000:0211:24FF:FE80:C12C
- 2001:620:0:0:211:24FF:FE80:C12C
Один раз для каждого адреса IPv6 можно также удалить все последовательные блоки нулей.
- 2001:620:0:0:211:24FF:FE80:C12C
- 2001:620::211:24FF:FE80:C12C
Последовательные двоеточия (после второго блока в примере выше) указывают на пропуск.
В действительности пользователям Интернета доступно гораздо меньше адресов, чем предполагает 128-битный формат. Причина этого заключается в принципе проектирования IPv6: в отличие от предыдущей версии, новый стандарт призван обеспечить реальные сквозные соединения и сделать ненужным перевод частных IP-адресов в публичные на основе NAT (Network Address Translation). В принципе, сквозные соединения должны быть возможны и в IPv4; однако, поскольку адресное пространство IPv4 слишком мало, чтобы обеспечить каждое устройство уникальным адресом, была разработана система с отдельными адресными областями и посредническим компонентом NAT. Благодаря новому стандарту любое устройство, подключенное к локальной сети, может быть логически адресовано через свой собственный IP. Поэтому адреса IPv6 содержат, помимо раздела сетевой адресации (также называемого сетевым адресом или префиксом маршрутизации), уникальный идентификатор интерфейса, который либо получается из MAC-адреса сетевой карты устройства, либо генерируется вручную. Префикс маршрутизации и идентификатор интерфейса составляют по 64 бита адреса IPv6.
Структура: Префикс маршрутизации
Как правило, префикс маршрутизации адреса IPv6 делится на префикс сети и префикс подсети. Это показано в так называемой нотации CIDR (Classless Inter-Domain Routing). Для этого длина префикса (т.е. длина префикса в битах) присоединяется к сетевому адресу с помощью косой черты (/).
Обозначение 2001:0820:9511::/48 описывает, например, подсеть с адресом 2001:0820:9511:0000:0000:0000:0000:0000 до 2001:0820:9511:FFFF:FFFF:FFFF:FFFF:FFFF.
Как правило, интернет-провайдеры (ISP) выделяют RIR /32 сети, которые в свою очередь распределяют их по подсетям. Конечным пользователям выделяются либо сети /48, либо сети /56. В следующей таблице показана типичная конструкция глобального одноадресного адреса в IPv6, состоящая из префикса сети, префикса подсети и идентификатора интерфейса.

Структура: Идентификатор интерфейса
Идентификатор интерфейса выступает в качестве отдельной маркировки конкретного устройства, подключенного к сети, и либо назначается вручную, либо генерируется на основе MAC-адреса сетевой карты устройства. Обычно это происходит вторым способом и основано на преобразовании стандартизированного MAC-адреса в модифицированный формат EUI-64. Это происходит в три этапа:
- На первом этапе 48-битный MAC-адрес разбивается на две 24-битные части. Эти части становятся началом и концом 64-битного идентификатора интерфейса.
- MAC-адрес: 00-11-24-80-C1-2C
- Разобранный MAC-адрес: 0011:24__:__80:C12C
- На втором этапе оставшиеся 16 бит в середине по умолчанию присваиваются битовой последовательности 1111 1111 1111 1111 1110, что соответствует шестнадцатеричному коду FFFE:
- Завершенный MAC-адрес: 0011:24FF:FE80:C12C
- Теперь MAC-адрес находится в модифицированном формате EUI-64.
- На третьем этапе инвертируется седьмой бит, который также называется универсальным или локальным битом. Он определяет, является ли адрес глобально уникальным или используется только локально.
- Порядок битов до инверсии: 0000 0000
- Порядок битов после инверсии: 0000 0010
- Идентификатор интерфейса до инверсии: 0011:24FF:FE80:C12C
- Идентификатор интерфейса после инверсии: 0211:24FF:FE80:C12C
Расширения конфиденциальности
Адрес IPv6, основанный на модифицированном формате EUI-64, позволяет делать выводы из лежащего в его основе MAC-адреса. Поскольку это может вызвать проблемы с конфиденциальностью для пользователей, Privacy Extensions разработали процесс, который позволяет IPv6 сделать идентификатор интерфейса анонимным, удалив связь между MAC-адресом и идентификатором интерфейса. Вместо этого Privacy Extensions генерирует временный идентификатор интерфейса для исходящих соединений, который является более или менее случайным. Это затрудняет выводы о хосте и создание профилей перемещения на основе IP.
Типы адресов IPv6
Как и в IPv4, IPv6 содержит различные области адресов с особыми задачами и свойствами. Они определены в RFC 4291 и RFC 5156 и могут быть идентифицированы уже по первым битам адреса IPv6, так называемому префиксу формата. К центральным типам адресов относятся одноадресные адреса, многоадресные адреса и anycast-адреса.
Одноадресные адреса
Одноадресные адреса используются для связи одного элемента сети с одним другим элементом и могут быть разделены на две категории: локальные адреса каналов и глобальные одноадресные адреса.
- Локальные адреса каналов: Адреса этой категории действительны только в пределах локальных сетей и начинаются с префикса формата FE80::/10. Локальные адреса ссылок используются для адресации элементов внутри локальной сети и применяются, например, для автоконфигурации. В общем случае область действия локального адреса ссылки распространяется на следующий маршрутизатор, так что любое устройство, подключенное к сети, может взаимодействовать с ним для генерации глобального адреса IPv6. Этот процесс называется обнаружением соседей.
- Глобальные одноадресные адреса: Глобальные одноадресные адреса — это всемирные уникальные адреса, которые необходимы сетевому устройству для подключения к Интернету. Префикс формата обычно равен 2000::/3 и включает все адреса, начинающиеся с 2000 до 3FFF. Глобальный одноадресный адрес является маршрутизируемым и может использоваться для прямого обращения к узлу в локальной сети через Интернет. Глобальные одноадресные адреса, которые перераспределяются от интернет-провайдеров к конечным пользователям, начинаются с шестнадцатеричного блока 2001.
Многоадресные адреса
Если одноадресные адреса используются для связи один-к-одному, то многоадресные адреса реализуют связь один-ко-многим. Вместе с этим появляются адреса распространителей. Пакеты, отправленные с многоадресного адреса, получают все сетевые устройства, входящие в многоадресную группу. Одно устройство может принадлежать к нескольким многоадресным группам. Если для сетевого устройства создается адрес IPv6, то оно автоматически становится членом определенных многоадресных групп, необходимых для распознавания, доступности и определения префикса. Общими многоадресными группами, например, являются «все маршрутизаторы» или «все хосты». Префикс формата для многоадресной рассылки обычно FF00::/8.
Многоадресные адреса
Пакеты также могут быть отправлены группам получателей с адресов anycast. Однако, в отличие от многоадресных адресов, пакеты данных отправляются не всем членам группы anycast, а только ближайшему к отправителю устройству. Адреса anycast используются в основном для распределения нагрузки и обеспечения безопасности при сбоях.
Формат пакета IPv6
По сравнению с IPv4, интернет-протокол v6 характеризуется значительно упрощенным форматом пакета. Для упрощения обработки пакетов IPv6 была установлена длина заголовка по умолчанию в 40 байт (320 бит). Дополнительная информация, необходимая только в особых случаях, была передана в заголовки расширения (EH), которые встраиваются между областью данных заголовка и собственно полезной нагрузкой. Это позволяет вставлять опции без необходимости внесения изменений в заголовок.

Заголовок пакета IPv6 содержит только восемь заголовков — в IPv4 использовалось тринадцать полей. Структуру заголовка IPv6 можно схематично представить следующим образом:

Каждое поле в заголовке IPv6 содержит определенную информацию, необходимую для передачи пакета по IP-сетям:
Поле | Описание |
---|---|
Версия | Содержит версию протокола IP, в соответствии с которой был создан IP-пакет (4 бита). |
Класс трафика | Обозначает распределение приоритетов (8 бит) |
Метка потока | Пакеты с одинаковым уровнем потока обрабатываются одинаково (20 бит) |
Длина полезной нагрузки | Определяет длину содержимого пакета, включая расширения, но без данных заголовка (16 бит) |
Следующий заголовок | Определяет протокол родительского транспортного уровня (8 бит) |
Предел хопа | Определяет максимальное количество промежуточных маршрутизаторов, которые пакет может пройти до истечения срока действия (8 бит). |
Source-IP-Address | Содержит адрес отправителя (128 бит) |
Destination-IP-Address | Содержит адреса получателей (128 бит). |
Введение заголовков расширения позволяет реализовать необязательную информацию в пакетах IPv6 гораздо эффективнее, чем в IPv4. Поскольку маршрутизаторы на пути доставки пакета не проверяют и не обрабатывают заголовки расширения IPv6, они обычно считываются только в пункте назначения. Это приводит к значительному повышению производительности маршрутизаторов по сравнению с IPv4, который требовал, чтобы необязательная информация изучалась всеми маршрутизаторами на пути доставки. Информация, которая может быть включена в расширения заголовков IPv6, включает в себя опции между узлами, опции назначения, опции маршрутизации, а также опции фрагментации, аутентификации и шифрования (IPsec).
Функциональные возможности интернет-протокола версии 6
Большинство пользователей Интернета связаны с IPv6, в основном из-за расширения адресного пространства. Однако новый стандарт также предоставляет ряд функций, которые позволяют преодолеть основные ограничения IPv4. Прежде всего, это последовательная реализация сквозного принципа, который делает излишним обход через NAT, упрощая реализацию протоколов безопасности, таких как IPsec.
Кроме того, IPv6 обеспечивает автоматическую настройку адресов через обнаружение соседей, а также позволяет использовать несколько уникальных адресов IPv6 на хост с различными диапазонами для отображения различных топологий сети. В дополнение к оптимизированному назначению адресов, упрощение заголовка пакета и передача необязательной информации в расширения заголовка при передаче пакетов обеспечивает более быструю маршрутизацию.
Благодаря QoS (Quality of Service) в IPv6 встроен механизм обеспечения качественного обслуживания, который определяет приоритетность срочных пакетов и делает обработку пакетов более эффективной. Поля «класс трафика» и «метка потока» были непосредственно адаптированы к методологии QoS.
Однако крайне важно учитывать назначение статических IP-адресов устройствам локальной сети, а также практику создания уникальных идентификаторов интерфейсов на основе MAC-адресов. Расширения конфиденциальности, безусловно, создали альтернативу модифицированному формату адресов EUI-64; однако, поскольку префикс адреса IPv6 также достаточен для создания профиля перемещения пользователя, в дополнение к расширениям конфиденциальности было бы желательно создать новый префикс, динамически назначаемый провайдером для поддержания анонимности в Интернете.