0
0

Что такое протокол IPv6

Что такое протокол IPv6

Internet Protocol (IP, или «межсетевой протокол») - маршрутизируемый протокол сетевого уровня, позволяющий объединить отдельные компьютерные сети во всемирную сеть Интернет. Неотъемлемой частью этого протокола является адресация сети, то есть присвоение устройствам, начиная от bluetooth-гаджетов и заканчивая компьютерами, собственного IP-адреса, который служит маркером в сетевом пространстве.

IP-адрес отвечает не только за адресацию узлов, но и за объединение данных в информационные блоки (дейтаграммы) и за передачу дейтаграмм от узла-источника к узлу назначения в одной или нескольких IP-сетях. IP содержит набор правил и рекомендаций, которым необходимо следовать при передаче любых данных по любому спектру сети.

Что такое IPv6 и как он работает

IPv6 - протокол, разработанный компанией Internet Engineering Task Force (IETF) для решения проблемы нехватки IP адресов. В таком интернет-протоколе для создания адресной маршрутизации используется 128-битная система записи, состоящая из восьми 16-битных блоков, разделенных двоеточиями. При этом общее количество ip-адресов, возможных для распределения, может составить в общей сложности 21^28.

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

Выделяют три типа IPv6 - адресов: Unicast (индивидуальный) - служит для определения интерфейса на устройстве под управлением протокола IPv6; Multicast (групповой) - используется для отправки пакетов по нескольким адресам назначения; Anycast (произвольный) - любой индивидуальный адрес, который может быть назначен нескольким устройствам. Пакет, отправляемый на адрес произвольной рассылки, направляется к ближайшему устройству с этим адресом.

Unicast-адреса, в свою очередь, подразделяются на шесть групп: Global unicast-адреса, Link-local, Loopback, Unspecified-адреса, Unique local, IPv4 embedded. Адреса Multicast IPv6 бывают двух типов - групповые IPv6-адреса и присвоенные групповые адреса.

Три составляющие IPv6 адреса

В состав адреса по протоколу IPv6 входят три элемента:

  • префикс глобальной маршрутизации - префиксальная (сетевая) часть адреса, назначаемая интернет-провайдером клиенту или организации (филиалу). Размер префикса глобальной маршрутизации определяет размер идентификатора подсети. Чаще всего для индивидуальных пользователей и корпоративных сетей региональными интернет-регистраторами (RIR) назначается префикс глобальной маршрутизации длины /48.
  • идентификатор подсети, который используется организациями для разделения на подсети в рамках площадки (филиала). Чем больше длина идентификатора подсети, тем больше подсетей можно создать;
  • идентификатор интерфейса - 64-битное поле IPv6-адреса, используемое для идентификации интерфейса в сегменте сети.

Уникальный идентификатор интерфейса может быть получен несколькими способами: настроен вручную; назначен с помощью протокола DHCPv6; сгенерирован автоматически случайным образом; сформирован из 48-битного MAC-адреса через его преобразование в формат Modified EUI-64.

Существует два важных правила для правильного представления IPv6 адресов.

Первое правило применяется для сокращения записи IPv6-адресов и предполагает пропуск всех ведущих 0 в шестнадцатеричной записи. Например, 01AB можно представить как 1AB, 09F0 можно представить как 9F0. Данное правило используется только для ведущих нулей.

Второе правило также позволяет сократить записи адресов IPv6. Оно заключается в том, что двойное двоеточие (::) может заменить любую единую, смежную строку одного или нескольких 16-битных сегментов (гекстетов), состоящих из нулей. Двойное двоеточие (::) может использоваться в адресе только один раз.

Пример представлен ниже.

Сравнение IPv4 и IPv6

IPv4 - это протокол для использования в сетях Link Layer (например, Ethernet). В IPv4 применяются 32-битные поля источника и адреса назначения, что ограничивает адресное пространство до 4,3 миллиардов адресов.

32-битный IPv4 адрес использует четыре октета. Каждая серия октетов состоит из любого числа от 0 до 255, разделенных десятичными точками. IPv4-адрес выглядит так:

255.231.132.213

С другой стороны, IPv6-адреса являются 128-битными и используют восемь серий. Каждая серия состоит из шестнадцатеричных чисел, разделенных двоеточиями. Адрес IPv6 выглядит так:

2001:7bd0:2a1d:1300:0000:0000:5b3c:1c4f

Пример, как выглядят адреса.

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


2001:7bd0:2a1d:1300::5b3c:1c4f

Различия между IPv4 и IPv6 представлены в виде таблицы.

Атрибут IPv4 IPv6
Протокол преобразования адресов (ARP) ARP применяется в протоколе IPv4 для определения физического адреса, например, адреса MAC или адреса канала связи, связанного с адресом IPv4. В IPv6 эти функции являются встроенными. Они реализованы в алгоритмах автоматической настройки адресов и поиска соседей, в которых применяется протокол ICMPv6. В связи с этим протокол ARP 6 не был разработан.
Система имен доменов (DNS) Приложения применяют DNS для преобразования имен хостов в IP-адреса с помощью API сокетов gethostbyname(). Кроме того, с помощью DNS приложения могут преобразовать IP-адреса в имена хостов. Для этого применяется API gethostbyaddr(). В IPv4 для обратного преобразования применяется домен in-addr.arpa. Приложение может выбрать, следует ли принимать адреса IPv6 от DNS и устанавливать соединения с помощью этих адресов. В IPv6 применяется новый API getaddrinfo(), с помощью которого приложение по собственному выбору получает информацию либо только для адресов IPv6, либо для адресов IPv4 и IPv6. Для обратного преобразования в IPv6 применяется домен ip6.arpa. Если с его помощью преобразование выполнить не удается, то применяется домен ip6.int.
Фрагменты Если пакет слишком велик для его передачи по каналу связи, отправитель (хост или маршрутизатор) может разбить его на несколько фрагментов. В IPv6 пакет можно разбить на пакеты только на узле отправителя. Сборка пакета может выполняться только на узле получателя. Применяется заголовок расширения фрагментации.
Протокол управляющих сообщений Интернет (ICMP) Применяется в протоколе IPv4 для обмена информацией о сети. ICMPv6 поддерживает ряд новых атрибутов, добавленных для поддержки функции поиска соседей и других связанных с ней функций.
Протокол Интернет для управления группами (IGMP) IGMP применяется маршрутизаторами IPv4 для поиска хостов, которым должны доставляться данные многоцелевой рассылки, и хостами IPv4 для извещения маршрутизаторов IPv4 о наличии на хосте получателей многоцелевой рассылки. IGMP заменен на протокол MLD для IPv6. Он применяет ICMPv6, в котором предусмотрено несколько новых типов систем управления группами, предназначенных для MLD.
Заголовок IP Длина составляет от 20 до 60 байт в зависимости от числа дополнительных параметров IP. Длина составляет ровно 40 байт. В заголовке IP никакие дополнительные параметры не указываются. Как правило, структура заголовка IPv6 проще, чем в IPv4.
Максимальный блок передачи (MTU) Обычно в IPv4 максимальный блок передачи равен 576. В IPv6 минимальный размер MTU составляет 1280 байт. Для передачи пакетов IPv6 по линии связи с размером MTU больше 1280 байт эти пакеты должны разбиваться и собираться на уровне канала связи.
Quality of service (QoS) Quality of service позволяет задать приоритет пакетов и пропускную способность для  приложений TCP/IP. QoS, реализованный для IBM i, не поддерживает IPv6.
Изменение адреса Изменение адреса выполняется вручную или с помощью DHCP. Изменение адресов компьютеров в сети организации представляет собой весьма трудоемкий процесс, который рекомендуется выполнять лишь в случае крайней необходимости. Изменение адреса - это важная встроенная функция протокола IPv6, которая чаще всего выполняется автоматически, особенно с префиксом /48.

Тем не менее, несмотря на различия, IPv4 и IPv6 могут использоваться совместно по схемам: двойного стека (устройства с двойным стеком одновременно работают с протокольными стеками IPv4 и IPv6); туннелирования (транспортировки IPv6-пакетов через IPv4-сеть, когда IPv6-пакет инкапсулируется внутри IPv4-пакета, как и другие типы данных); преобразования сетевых адресов с помощью 64 (NAT64), когда IPv6-пакет преобразуется в пакет IPv4 и наоборот.

Место IPv6 в моделях OSI и TCP/IP

В стеке OSI протокол IPv6 находится на сетевом уровне и отвечает за определение пути, по которому будут отправляться данные. В модели TCP/IP сетевому уровню OSI соответствует уровень интернет, и поэтому IPv6 выполняет здесь аналогичную функцию.

При этом IPv6 несовместим с IPv4, но совместим со всеми остальными протоколами стека TCP/IP, такими как ICMP, DHCP, TCP, UDP, HTTP, DNS и другими.

И в заключение

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

В теории IPv4 и IPv6 одинаково безопасны. IPv6 имеет встроенную возможность шифровать интернет-трафик с помощью распространенного (но не настолько, как SSL) стандарта шифрования IPSec, который не дает прочитать содержимое трафика при его перехвате. Однако шифрование и расшифровка данных требует оборудования, которое стоит денег. К тому же IPSec можно реализовать и на IPv4.

Поэтому на устройстве, которое используется при подключении к VPN, рекомендуется отключить совместимость с IPV6. Таким образом, безопасность и конфиденциальность трафика будут надежно защищены.