logo search
Учебник проектирование и внедрение компьютерных

4.3.3. Дополнительные заголовки

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

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

1) основной заголовок IPv6;

2) дополнительный заголовок маршрутизации;

3) дополнительный заголовок аутентификации;

4) дополнительный заголовок инкапсулированных данных безопасности;

5) заголовок TCP или UDP;

6) прикладные данные.

Заголовок IPv6

Заголовок

маршрутиз-ации

Заголовок

аутентификации

Заголовок инкапсулированных данных

Заголовок TCP

Прикладные данные

Следующий заголовок

Длина дополнительного заголовка

Опции заголовка

Рис. 4.8. Пример дополнительных заголовков в пакете IPv6.

Обратите внимание на то, что первое поле в каждом дополнительном заголовке представляет собой 8-разрядное поле следующего заголовка, указывающее на его тип. В последнем используемом дополнительном заголовке это поле содержит значение 59. В приведенном на рисунке примере поле следующего заголовка в дополнительном заголовке маршрутизации указывает на то, что далее следует дополнительный заголовок аутентификации, а в заголовке аутентификации это поле содержит признак того, что следующим в пакете будет дополнительный заголовок инкапсулированных данных безопасности. В этом заголовке поле следующего заголовка содержит число 59, Указывающее на то, что больше в пакете нет дополнительных заголовков. Во всех дополнительных заголовках (за исключением заголовка фрагмента) за полем следующего заголовка непосредственно следует 8-разрядное поле Длины дополнительного заголовка, содержащее значение длины текущего заголовка. Длина каждого дополнительного заголовка должна быть кратной 8 байтам. Дополнительный заголовок последовательных ретрансляций используется для передачи данных большого объема (например, пакетов мультимедийных видеосигналов). Благодаря ему поле прикладных данных может содержать от 65 535 до 4 миллионов байт. Заголовок последовательных ретрансляций проверяется каждым маршрутизатором, через который передается пакет, что несколько увеличивает время на его прохождение через маршрутизаторы.

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