Межсетевые опции дейтаграммы
Поле ОПЦИИ IP, следующее за адресом назначения, не требуется в каждой дейтаграмме; опции включаются, в основном, для тестирования или отладки сети. Обработка опций, тем не менее, является составной частью протокола IP, поэтому все стандартные реализации включают ее.
Длина поля ОПЦИИ IP меняется в зависимости от того, какие опции выбраны. Некоторые опции имеют длину один октет; они состоят из кода опции, занимающего один октет. Другие опции имеют переменную длину. Когда в дейтаграмме есть опции, они размещаются друг за другом, без специальных разделителей между ними. Каждая опция состоит из кода опции длиной в один октет, за которым может следовать длина опции(тоже занимает один октет) и группы октетов данных для этой опции. Октет кода опции делится на три поля, как показано на рисунке 7.8.
0 1 2 3 4 5 6 7 ---------------------------------------------------------- | КОПИРОВАТЬ | КЛАСС ОПЦИИ | НОМЕР ОПЦИИ | ----------------------------------------------------------
Рисунок 7.8 Разделение октета кода опции на три поля длиной 1, 2 и 5 бит.
Этими полями являются однобитовый флаг КОПИРОВАТЬ, двухбитовый КЛАСС ОПЦИИ и пятибитовый НОМЕР ОПЦИИ. Флаг КОПИРОВАТь управляет тем, как шлюзы рассматривают опции при фрагментации. Когда бит КОПИРОВАТЬ установлен в 1, он указывает, что эта опция должна копироваться во все фрагменты. Когда он установлен в 0, бит КОПИРОВАТь означает, что опцию нужно копировать только в первый фрагмент, а не во все.
Биты КЛАСС ОПЦИИ и НОМЕР ОПЦИИ указывают общий класс опции и номер опции внутри этого класса. Таблица на рисунке 7.9 показывает, как назначены номера классам.
Класс опции | Значение |
0 | Управление дейтаграммой или сетью |
1 | Зарезервировано |
2 | Отладка и измерения |
3 | Зарезервировано |
Рисунок 7.9 Классы опций IP, закодированные в битах КЛАСС ОПЦИИ в октете кода опции.
Таблица на рисунке 7.10 приводит список возможных опций в IP-дейтаграммах и указывает для них значения КЛАССА ОПЦИИ и НОМЕРА ОПЦИИ. Как показывает этот список, большая часть опций используется для целей управления.
0 | 0 | - | Конец списка опций. Используется, если опция не заканчивается в конце заголовка(смотри также поле дополнения) |
0 | 1 | - | Нет операции(используется для выравнивания октетов в списке опций) |
0 | 2 | 11 | Секретность(для военных приложений) |
0 | 3 | пер | Слабая маршрутизация источника. Используется для маршрутизации дейтаграммы по указанному пути. |
0 | 7 | пер | Запись маршрута. Используется для трассировки маршрута |
0 | 8 | 4 | Идентификатор потока. Используется для передачи идентификатора потока SATNET (недействительно) |
0 | 9 | пер | Сильная маршрутизация источника Используется для маршрутизации дейтаграммы по указанному пути |
2 | 4 | пер | Межсетевые временные метки. Используется для записи временных меток по маршруту |
Рисунок 7.10 Восемь возможных опций IP с их числовыми кодами класса и номера. Значение пер в столбце длины означает переменная.