Технические основы IP-сетей. Структура сетевого протокола TCP/IP. Уровень канала данных. Прикладной уровень, страница 9

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

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

Следующие две опции касаются маршрутизации источника. 

n  Номер опции 3: нестрогая маршрутизация источника; имеет переменную длину. 

n  Номер опции 9: строгая маршрутизация источника; также имеет переменную длину.

«Маршрутизация источника» означает, что станция-отправитель заранее определяет маршрут передачи дейтаграммы. Строгая маршрутизация не допускает изменения маршрута, определенного станцией-отправителем. Нестрогая маршрутизация источника разрешает при передаче дейтаграммы заменять некоторые маршрутизаторы, указанные в таблице маршрутизации, на другие.

Формат опции «Маршрутизация источника» аналогичен формату опции «Запись маршрута», изображенному на рис. 3-10. Фиксированная начальная часть включает 3 байта, но три поля в байте кода типа содержат другие значения - 1, 0 и 3 (при нестрогой маршрутизации источника) или 1, 0 и 9 (строгая маршрутизация источника). Кроме того, поле IP-адресов, следующее за этими тремя байтами, создается станцией-отправителем заранее, то есть оно не пустое. Дейтаграмма передается в соответствии с установленным маршрутом. Когда маршрутизатор получает дейтаграмму, он передает ее следующему узлу без добавления каких-либо данных, если значение указателя превышает длину поля IP-адресов. Если указатель содержит корректное значение, маршрутизатор заносит в таблицу свой адрес (перекрывая исходный IP-адрес), и передает дейтаграмму следующему узлу с адресом, указанным в таблице. Следует отметить, что один маршрутизатор имеет два или более IP-адресов. Адрес, содержащийся в таблице адресов опции, является входным IP-адресом маршрутизатора. IP-адрес, записываемый маршрутизатором, является адресом на выходе. 

Добавление опции маршрутизации источника в дейтаграмме позволяет администратору сети отследить связь по определенному сетевому маршруту. Обычные пользователи не используют данную функцию.

Последняя опция является опцией временных меток Internet.

n  Номер опции 4: используется для временных меток различной длины, имеет формат, аналогичный изображенному на рисунке. Помимо обычных 3-х байт кода опции (содержащего 0, 2 и 4), поля длины и указателя, в начальной части опции временных меток добавляются поля overflow (переполнение) и флаг, имеющие общую длину 1 байт. Существует несколько вариантов заполнения поля флага: (1) запись только временной метки; (2) запись IP-адреса и временной метки; (3) IP-адрес уточняется станцией-отправителем, маршрутизатор заносит только временную метку. Поле переполнения содержит одно число, обозначающее максимальное количество маршрутизаторов, через которые проходит дейтаграмма при ее передаче по сети (переполнение происходит, если число временных меток превышает размер опции).

Временная метка записывает время получения дейтаграммы маршрутизатором и занимает 4 бита. Время измеряется в миллисекундах. Время соответствует Мировому времени с началом отсчета в полночь, т. е. бывшему гринвичскому среднему времени. Если локальное время хоста в сети не совпадает со стандартным, записываемая временная метка может содержать ошибки. Временная метка используется для расчета задержки и колебаний задержки при прохождении дейтаграммы через отдельные маршрутизаторы.