Практическое занятие 2. Протокол IP версии 6

Протокол IPv6 — это новая версия протокола IP, которая разработана в качестве преемника IPv4 и призвана окончательно решить проблему исчерпания адресного пространства. В отличие от адреса IPv4, который имеет длину 32 бита, размер адреса IPv6 составляет 128 бит.

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

● Большее адресное пространство. Размер адреса IPv6 увеличен до 128 битов. Это позволяет адресовать примерно 3,4х1038 интерфейсов устройств.

● Иерархическое назначение индивидуальных адресов. Был создан формат индивидуальных адресов Global Unicast, который используется для идентификации устройств в глобальной сети. С его помощью можно создавать множество уровней в иерархической структуре адресов, как провайдеров, так и организаций (т.е. множество раз делить большие блоки адресов на меньшие).

● Расширена поддержка групповых адресов.Улучшена поддержка групповых адресов и добавлена поддержка нового типа адресации: альтернативная (anycast) адресация. Новый тип адресации позволяет доставлять сообщение ближайшему интерфейсу, входящему в группу интерфейсов, идентифицируемых одним адресом.

● Автоконфигурация. В протоколе IPv6 узел может практически самостоятельно сконфигурировать параметры своих интерфейсов.

● Новый формат дейтаграммы. Формат IP-дейтаграммы был переопределен. К основному (фиксированному) заголовку каждой дейтаграммы IPv6 может быть добавлено произвольное число расширенных заголовков, содержащих требуемую контрольную информацию.

● Поддержка качества обслуживания (QoS). Дейтаграмма IPv6 включает функции QoS, обеспечивающие поддержку трафика приложений, чувствительных к задержкам.

● Поддержка безопасности. Функции безопасности поддерживаются с помощью расширенных заголовков Authentication и Encapsulation Security Payload.

Из-за множества отличий протоколов IPv4 и IPv6 и важности протокола IP для функционирования глобальной сети, был разработан план по переходу с протокола IPv4 на IPv6. IETF работала над методами, которые позволили бы плавно перейти с протокола версии 4 на протокол версии 6 и обеспечить возможность узлам IPv4 и IPv6 получать доступ друг к другу. Эти методы включают:

● Использование устройств «Dual Stack» (двойной стек): программное обеспечение устройств включает поддержку обеих версий IP (IPv4 и IPv6), что позволяет им взаимодействовать как с устройствами IPv4, так и с устройствами IPv6.

● Трансляцию IPv4/IPv6: программное обеспечение устройств «Dual Stack» может поддерживать функционал, который принимает запросы от узлов IPv6, преобразует их в дейтаграммы IPv4 и отправляет узлам-получателям с поддержкой IPv4. Дейтаграммы от узлов IPv4, предназначенные узлам IPv6, аналогичным образом преобразуются на устройствах «Dual Stack».

● Туннелирование IPv6 поверх IPv4: устройства IPv6, на пути между которыми отсутствуют маршрутизаторы IPv6, могут взаимодействовать друг с другом за счет инкапсуляции дейтаграмм IPv6 в дейтаграммы IPv4. Другими словами они будут использовать два сетевых уровня: IPv6 будет находиться над IPv4. Инкапсулированная дейтаграмма IPv4 будет передаваться между маршрутизаторами IPv4 пока не достигнет адресата.

Практическое занятие 2. Протокол IP версии 6 - student2.ru

Рис. 2.1 Методы перехода с IPv4 на IPv6

Формат заголовка IPv6

При разработке протокола IPv6 были внесены изменения в формат IP-пакета. Увеличение размера IP-адреса с 32 бит до 128 бит добавило 24 байта к заголовку пакета, что, в свою очередь, привело к попытке уменьшить его размер за счет исключения полей, связанных с фрагментацией, и поля контрольной суммы. В результате заголовок пакета IPv6 увеличился всего в два раза (с 20 до 40 байт).

Пакет протокола IPv6 состоит из:

● фиксированного заголовка длиной 40 байт, содержащего адреса источника и приемника и всю требуемую для доставки любой дейтаграммы информацию;

● произвольного числа расширенных заголовков (extension header) переменной длины, каждый из которых содержит дополнительную информацию для поддержки таких функций как фрагментация, маршрутизация, аутентификация, безопасность и опции;

● поля данных переменной длины.

Такой порядок способствует эффективной обработке пакетов на всем пути их следования.

Практическое занятие 2. Протокол IP версии 6 - student2.ru

Рис. 2.2 Сравнение форматов заголовка IPv4 и IPv6

Формат фиксированного заголовка IPv6 показан на Рис. 2.20. Он состоит из следующих полей:

● Версия (Version) – для IPv6 значение поля должно быть равно 6;

● Класс трафика (Traffic Class) – поле используется для идентификации разных классов трафика или приоритетов для обеспечения дифференцированного обслуживания пакетов IPv6;

● Метка потока (Flow Label) – используется отправителем для обозначения последовательности пакетов, которые должны быть подвергнуты определенной обработке маршрутизаторами;

● Размер поля данных (Payload Length) – число, указывающее длину поля данных, идущего за заголовком пакета (с учетом расширенного заголовка);

● Следующий заголовок (Next Header) – задает тип расширенного заголовка IPv6, который следует за фиксированным;

● Предельное число шагов (Hop Limit) – уменьшается на 1 каждым маршрутизатором, через который передается пакет; при значении, равном 0, пакет отбрасывается;

● Адрес источника (Source Address) – 128-битный адрес отправителя пакета;

● Адрес назначения (Destination Address) – 128-битный адрес получателя пакета.

Расширенные заголовки IPv6 используются для поддержки механизмов маршрутизации, безопасности, фрагментации, сетевого управления и расположены между фиксированным заголовком и заголовком протокола более высокого уровня. Пакет IPv6 может содержать 0, 1 или несколько расширенных заголовков, каждый из которых определяется значением поля Next Header предшествующего заголовка. Все существующие типы расширенных заголовков описаны в таблице 2.1.

Таблица 2.1. Типы расширенных заголовков IPv6

Расширенный заголовок Тип Описание
Hop-by-Hop Options Параметры, которые должны быть обработаны каждым транзитным узлом на пути от отправителя до получателя пакета
Routing Позволяет отправителю определять список узлов, которые пакет должен пройти
Fragment Содержит информацию о фрагментации пакета
Encapsulating Security Payload (ESP) Обеспечивает шифрование данных с помощью IPSec
Authentication Header (AH) Содержит информацию для проверки подлинности зашифрованных данных при использовании IPSec
Destination Options Определяет произвольный набор опций, которые должны быть обработаны получателем пакета
TCP UDP ICMPv6 Заголовок вышележащего уровня

Практическое занятие 2. Протокол IP версии 6 - student2.ru

Рис. 2.3Информация о расширенном заголовке в пакете IPv6

Поле Next Header используется для логической связи всех заголовков пакета IPv6. Например, Next Header в фиксированном заголовке указывает тип первого расширенного заголовка, поле Next Header в первом расширенном заголовке содержит тип следующего расширенного заголовка и т.д. Поле Next Header последнего расширенного заголовка содержит номер протокола транспортного уровня (TCP или UDP) (Рис. 2.4).

Практическое занятие 2. Протокол IP версии 6 - student2.ru

Рис. 2.4 Расширенные заголовки IPv6

Расширенные заголовки обрабатываются только узлом-получателем, за исключением заголовка Hop-By-Hop Options, который обрабатывается каждым промежуточным узлом на пути пакета, включая отправителя и получателя.

Каждый расширенный заголовок может появляться в дейтаграмме IPv6 только один раз (за исключением Destination Options, который появляется дважды). Если в дейтаграмме имеется несколько расширенных заголовков, они должны следовать в определенном порядке:

1. Hop-by-Hop Options

2. Destination Options (для опций, которые должны быть обработаны получателем, указанным в поле Destination Address плюс последовательностью получателей, перечисленных в заголовке Routing)

3. Routing

4. Fragment

5. Authentication

6. Encapsulating Security Payload

7. Destination Options (для опций, которые должны быть обработаны только последним получателем пакета)

Подведем итог в сравнении заголовков пакетов IPv4 и IPv6:

● Неизменными остались поля Версия (Version), Адрес источника (Source Address) и Адрес назначения (Destination Address);

● Поле Длина заголовка (Internet Header Length) исчезло, так как фиксированный заголовок IPv6 имеет определенную длину (40 байт);

● Поле Тип сервиса (Type of Service) трансформировалось в заголовке IPv6 в поля Класс трафика (Traffic Class) и Метка потока (Flow Label);

● Поля Время жизни (Time to Live) и Протокол (Protocol) в заголовке IPv6 изменили названия, соответственно, на Предельное число шагов (Hop Limit) и Следующий заголовок (Next Header) с некоторым уточнением трактовки;

● Поле Контрольная сумма (Header Checksum) было ликвидировано, так как ее подсчет занимает некоторое время, что существенно снижает производительность узлов;

● Поля в заголовке IPv4, связанные с фрагментацией, были перенесены в расширенные заголовки IPv6.

Наши рекомендации