Home

Page 49
Page 49
background image

 

 

Обобщенный  формат  данной  опции  похож  на  формат  RR,  хотя  и 

несколько отличается: 

 

 

Type 

Length 

Pointer 

oflw 

flag 

Данные 

 

       1 байт 

 

1 байт

  

       1 байт 

   4 бита     4 бита   Переменная длина 

 

 

По  сравнению  с  опцией  RR  в  опции  TS  есть  еще  два  четырехбитовых 

поля: Overflow и Flag. Смысл этих полей: 

Flag – это инструкция маршрутизатору, что именно он  должен вписать в 

поле данных опции: 

  0000 – вписывать только временной штамп каждому маршрутизатору, для 

которого еще есть свободные четырехбайтовые слоты.   

  0001 – вписывать свой IP адрес и после этого свой временной штамп (для 

этого отправитель пакета резервирует восьмибайтовые слоты) 

  0011 – отправитель заранее заполняет первую половину восьмибайтового 

слота  IP  адресом  маршрутизатора.  Маршрутизатор,  обнаруживший  свой 
IP  адрес  в  слоте,  на  который  указывает  Pointer,  вписывает  во  вторую, 
свободную половину слота свой временной штамп. 

 

Поле 

Overflow 

позволяет 

отправителю 

посчитать, 

как 

много 

маршрутизаторов  не  смогли  вписать  свои  временные  штампы,  так  как  им  не 

хватило свободного места в опции. Так как опции могут иметь длину не более 
40 байт, а заголовок опции сам занимает 4 байта, то для данных (IP адресов и 
временных  штампов)  остается  не  более  36  байт.  В  эти  36 байт  может 
поместиться  до  9  слотов  под  временные  штампы  или  до  4  слотов  под 
совокупность  IP  адреса  и  временного  штампа.  Так  как  4  восьмибайтовых 
слотов  весьма  мало,  введено  поле  Overflow  для  счета  количества 
маршрутизаторов, которым не хватило свободных слотов: изначально это поле 
устанавливается  равным  нулю,  каждый  маршрутизатор,  которому  не  хватило 
свободного  слота,  увеличивает  данное  поле  на  единицу.  В  остальном,  данная 
опция работает подобно RR: 

-отправитель  заранее  резервирует  необходимые  слоты,  заполняя  поле 

данных  нулями,  рассчитывает  длину  опции,  ставит  флаг  в  необходимое 

значение,  при  необходимости  (при  флаге  0011)  заполняет  первые  половинки 
восьмибайтовых  слотов  IP  адресами и  устанавливает  Pointer  =  5,  показывая, 
что  записывать  данные  необходимо  начиная  с  пятого  байта  опции  (так  как 
первые  четыре  уже  заняты).  Когда  маршрутизатор  получает  такой  пакет,  он, 
обнаружив  опцию  TS,    сперва  проверяет,  не  больше  ли  указатель  нежели 
длина  опции.  Если  это  так,  маршрутизатор  увеличивает  на  единицу  поле 
Overflow (если оно еще может быть увеличено) и маршрутизирует пакет. Если 
же  длина  опции  меньше  указателя,  то  дальше  маршрутизатор  действует  в 
зависимости от флага: 

0000  –  Вписывает  с  позиции,  определяемой  указателем  свой  TS  в 
опцию, увеличивает указатель на 4 и маршрутизирует пакет 
0001  –  Вписывает  с  позиции,  определяемой  указателем  свой  IP 
адрес и TS в опцию, увеличивает указатель на 8 и маршрутизирует 

пакет 


Copyright © 2022 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.