Опубликован: 11.08.2008 | Уровень: специалист | Доступ: свободно
Лекция 4:

Протокол Интернет версии 4

Опции

Заголовок дейтаграммы IP состоит из двух частей: фиксированная часть и переменная часть. Фиксированная часть имеет 20 байтов длины, мы обсуждали ее в предыдущем разделе. Переменная часть включает опции, которые могут быть максимально 40 байт. Опции не требуются для каждой дейтаграммы. Они используются для испытания сети и отладки. Хотя опции — не обязательная часть заголовка IP, обработка опции требует программного обеспечения IP. Это означает, что все применяемые средства должны быть способны обработать опции, если они окажутся в заголовке.

Формат

Рис. 4.8. показывает формат опции. Он составлен из 1-байтового поля кода, 1-байтового поля длины и поля данных переменного размера.

Формат опции

Рис. 4.8. Формат опции

Код

  • Поле кода 8 бит длиной и содержит три подполя: копия, класс и номер. Когда его значение — 0, это означает, что опция должна быть скопирована только первым фрагментом. Если его значение — 1, это означает, что опция должна быть скопирована всеми фрагментами.
  • Класс. Это подполе на 2 бита определяет общую цель опции. Когда его значение — 00, это означает, что опция используется для дейтаграммного управления. Когда его значение — 10, это означает, что опция используется для отладки и управления. Другие два возможных значения (01 и 11) еще не определены.
  • Номер. Это подполе в 5 бит определяет тип опции. Хотя 5 бит могут определить до 32 различных типов, в настоящее время используется только 6. Они будут обсуждаться позже. На рис. 4.8 показаны номера опций, которые будут применены далее.

Длина

Поле длины определяет полную длину опции, включая поле кода и длину самого поля. Это поле не входит в некоторые типы опций.

Данные

Поле "данные" содержит данные, которые задают требуемые опциям. Это поля не входит в некоторые типы опций.

Типы опций

Как раньше было упомянуто, в настоящее время используются шесть опций. Две из них — 1-байтные, и они не требуют полей длины или данных. Четыре из них — многобайтные опции; они требуют полей длины и данных (рис. 4.9).

Категории опций

Рис. 4.9. Категории опций
Нет оператора

Опция нет оператора — однобайтовая опция, используемая как наполнитель между опциями. Например, она может использоваться для того, чтобы выровнять следующую к границе опцию на 32 бита или 16 бит (рис. 4.10).

Опция "нет операции"

Рис. 4.10. Опция "нет операции"
Конец опции

"Конец опции" — также однобайтовая опция, используемая для того, чтобы дополнить конец поля опции. Однако он может использоваться только как последняя опция. Только один конец опции может использоваться опцией. После этой опции приемник ищет данные полезной нагрузки. Это означает, что, если необходим больше чем 1 байт, чтобы выровнять поле опции, некоторые опции "нет оператора" не должны быть использованы вслед за "концом опции" (рис. 4.11).

Опция "конец опции"

Рис. 4.11. Опция "конец опции"
Запись маршрута

Опция запись полного маршрута (Record Route) имеет тип опции 7 и предписывает маршрутизатору записывать все IP-адреса, через которые проходит маршрут следования пакета. Во избежание нехватки длины поля о данных маршрута ее следует выбирать достаточно большой, в противном случае соответствующий маршрутизатор генерирует исходящему узлу сообщение об ошибке. Запись маршрута может содержать список до девяти адресов IP-маршрутизатора, в то же время максимальный размер заголовка — 60 байтов, которые должны включать в себя 20 байтов для основного заголовка. Это подразумевает, что только 40 байтов оставляют для части "опция". Источник создает незаполненные места в опции — она будет заполнена маршрутизаторами, которые прошла дейтаграмма. Рис. 4.12 показывает формат опции "запись маршрута".

И код и поля длины были описаны выше. Поле указателя — поле смещения, целое число, содержащее номера байта первого пустого входа. Другими словами, он указывает на первый доступный вход.

Опция "запись маршрута"

Рис. 4.12. Опция "запись маршрута"

Источник создает пустые поля для адресов IP в поле данных опции. Когда дейтаграмма оставляет источник, все поля пусты. Поле указателя имеет значение 4, указывая на первое пустое поле. Поэтому при переходе от маршрутизатора к маршрутизатору указатель длины меняется на 4. Когда дейтаграмма перемещается, каждый маршрутизатор, который обрабатывает дейтаграмму, сравнивает значение указателя со значением длины. Если значение указателя больше, чем значение длины, опция полна, и никакие изменения не делаются.

Однако если значение указателя не больше, чем значение длины, маршрутизатор вставляет свой исходящий адрес IP в следующее пустое поле. Напомним, что маршрутизатор может иметь несколько адресов. В данном случае он имеет входящий и исходящий адрес. В этом случае маршрутизатор добавляет адрес IP своего исходящего интерфейса, т. е. того, который дейтаграмма покидает. Маршрутизатор затем увеличивает значение указателя 4. Рис. 4.13. показывает, как перемещается дейтаграмма слева направо от маршрутизатора к маршрутизатору.

Концепция записи маршрута

Рис. 4.13. Концепция записи маршрута
Евгений Виноградов
Евгений Виноградов
Экстернат
Илья Сидоркин
Илья Сидоркин
Как получить диплом?
Владислав Журавель
Владислав Журавель
Россия, Ковдор