RFC: 2460
Оригинал: Internet Protocol, Version 6 (IPv6) Specification
Предыдущие версии: RFC 1883
Категория: Проект стандарта
Дата публикации:
Авторы: ,
Перевод: Мельников Дмитрий Анатольевич

4. Заголовки расширения в IPv6-пакете

В IPv6-протоколе предусмотрена доставка дополнительной (служебной) закодированной информации сетевого уровня, которая может быть размещена в IPv6-пакете между IPv6-заголовоком и заголовком верхнего уровня. Для такой доставки существует несколько так называемых заголовков расширения, причём каждый из них идентифицируется собственным значением в поле «Следующий заголовок». На рис.2 приведены примеры нескольких заголовков расширения в IPv6-пакетах.

+-------------------------+-------------------------
|     IPv6-заголовок      | TCP-заголовок + данные
|                         |
| «Следующий заголовок» = |
|           TCP           |
+-------------------------+-------------------------


+-------------------------+-------------------------+-------------------------
|     IPv6-заголовок      | Заголовок маршрутизации | TCP-заголовок + данные
|                         |                            |
| «Следующий заголовок» = | «Следующий заголовок» = |
|         Routing         |           TCP           |
+-------------------------+-------------------------+-------------------------


+-------------------------+-------------------------+-------------------------+-------------------------
|     IPv6-заголовок      | Заголовок маршрутизации | Заголовок фрагментации  | Фрагмент
|                         |                         |                         | TCP-заголовка + данных
| «Следующий заголовок» = | «Следующий заголовок» = | «Следующий заголовок» = |
|         Routing         |        Fragment         |           TCP           |
+-------------------------+-------------------------+-------------------------+-------------------------

Рис.2. Примеры заголовков расширения в IPv6-пакетах

За одним исключением, заголовки расширения не проверяются или не обрабатываются ни одним IP-узлом на протяжении всего маршрута доставки IPv6-пакета, причём до тех пор, пока последний не достигнет IP-узла (или каждого IP-узла из группы IP-узлов, в случае групповой рассылки пакета), адрес которого содержится в поле «Адрес получателя пакета» IPv6-заголовка. В данном случае при нормальном демультиплексировании поле «Следующий заголовок» IPv6-заголовка «запрашивает» специализированный модуль для обработки первого заголовка расширения или заголовка вышележащего уровня, если конечно заголовок расширения отсутствует. Содержание и семантика каждого заголовка расширения определяет необходимо или нет переходить к обработке следующего заголовка. Более того, заголовки расширения должны обрабатываться именно в том порядке, как они представлены в IPv6-пакете. Приёмный модуль никогда не должен, например, сканировать весь IPv6-пакет в поисках соответствующего типа заголовка расширения и обрабатывать найденный заголовок прежде всех остальных заголовков расширения.

Указанное выше исключение относится к заголовку «Дополнительные функции: ретрансляция» («Hop-by-Hop Options»), содержащему информацию, которая должна контролироваться и обрабатываться каждым IP-узлом, расположенном на маршруте доставки IPv6-пакета, включая IP-узлы отправителя и получателя. Если такой заголовок представлен, то он должен следовать сразу же после IPv6-заголовка. Его наличие указывается нулевым значением в поле «Следующий заголовок» IPv6-заголовка.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.