Home

Page 41
Page 41
background image

 

 

 

 

Приведенный 

пример 

демонстрирует 

поручение 

следующим 

маршрутизаторам  записать  сведения  о  себе  в  данный  пакет,  следовательно, 
IHL  =  10,  т.е.  длина  заголовка  40  байт,  из  которых  20  байт  –  стационарная 
часть заголовка, 3 байта  – тип, длина и указатель опции  RR, 16 байт – место 
под  IP  адреса,  которые  впишут  маршрутизаторы,  и  1  байт  –  EOOF,  так  как 
заголовок сам по себе не заканчивается на четырехбайтовой границе.  

При этом сама опция имеет вид: тип опции – 07 (Record Route), длина – 

19 байт (тип, сама  длина, указатель и 16 байт  под  IP адреса), указатель  – 4, 

остальное заполнено нулями.  

Теперь  рассмотрим,  как  это  работает,  и  проясним  роль  поля  Pointer 

(указатель). Когда маршрутизатор получает такой пакет,  он считывает опцию 
RR  и  понимает,  что  вероятно  должен  записать  свой  адрес  в  опцию,  если 
конечно  там  еще  есть  свободные  четырехбайтовые  «гнезда».  С  какого  байта 
может  начинать  писать  свой  адрес  в  опцию  маршрутизатор?  Для  этого  и 
применятся  поле  указатель  –  маршрутизатор  должен  вписать  свой  IP  адрес  в 
тело  опции  начиная  с  байта  с  номером  указателя,  в  данном  случае, 
действительно  с  байта  №4,  так  как  три  первых  байта  заняты  служебной 
информацией – «заголовком» опции. Когда маршрутизатор впишет свой адрес, 
он  перешлет  пакет  дальше,  но  перед  этим  он  увеличит  поле  указатель  на  4 
байта,  давая,  таким  образом,  инструкцию  следующему  маршрутизатору, 
вписывать свой адрес уже с восьмого байта, так как первые три байта заняты 


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

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