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

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

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

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

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

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

Формат фиксированного заголовка IPv6 показан на Рис. 7.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 предшествующего заголовка. Все существующие типы расширенных заголовков описаны в таблице 7.5.

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

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

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

Рис. 7.22 Расширенные заголовки IPv6
Рис. 7.22 Расширенные заголовки 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.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

7 + 1 =