
этом, если отправляется пакет с опцией RR, то слоты в опции маршрутизаторы
заполнят своими «дальними» от отправителя пакета адресами (теми, через
которые выдают пакеты), при движении пакета-ответа (если конечно он
движется по тому же маршруту) мы увидим в опции и адреса «ближних» к
отправителю исходного пакета портов, так как они являются дальними для
отправителя пакета-ответа.
Пример:
Пусть станция PC1 послала пакет, в котором опция RR содержит слоты
для 9 маршрутизаторов. Тогда, слоты будут заполняться в таком порядке: 2, 4,
6, 8, после чего пакет попадет на узел получатель. Если на этот пакет
требуется ответ (не от протокола IP, он чисто дейтаграммный, а ответ от
протокола верхнего уровня), то станция PC2 запишет свой IP адрес в слот #5
(действительно, пакет выдается через интерфейс станции PC2 – значит этот
адрес записывается в опцию), после чего сформирует пакет ответ, в котором
процитирует опцию с уже заполненными и еще свободными слотами. Тогда на
обратном пути в пакет ответ попадут записи об IP адресах тех же
маршрутизаторов, но теперь об их портах, через которые они выдают пакет от
PC2 к PC1, то есть о «ближайших» к PC1 портах. Следовательно, 9 слотов
будут заполнены такими адресами: 2, 4, 6, 8, PC1, 7, 5, 3, 1. Станция PC1
получив такой пакет, узнает обо всех интерфейсах всех маршрутизаторов
между ней и станцией PC2. Итого, если маршрутизаторов между отправителем
и получателем 4 или менее, то отправитель пакета может узнать и «ближние»
и «дальние»
интерфейсы
всех транзитных
маршрутизаторов.
Если
маршрутизаторов больше 4 (пусть N, меньше 9), то удастся узнать IP адреса
всех дальних от отправителя портов и несколько (9-N) ближних портов.
Например: