Как заранее известно количество маршрутизаторов между источником и пунктом назначения?

Я изучал книгу «Компьютерные сети» из Курос и Росс, а также в подразделе Traceroute я прочитал следующее:

Более конкретно, предположим, что между источником и пункт назначения. Затем источник отправит в сеть N специальных пакетов, каждый пакет, адресованный конечному месту назначения. Эти N специальных пакетов помечены как 1 через N, причем первый пакет помечен как 1, а последний - как N. n-й маршрутизатор получает n-й пакет с пометкой n, маршрутизатор не пересылает пакет к месту назначения, но вместо этого отправляет сообщение обратно источнику.

Я думал, что маршрут пакета определяется в зависимости от трафика и других факторов, пока он движется от источника к месту назначения. Итак, я подумал, что количество маршрутизаторов, через которые проходит пакет, может время от времени меняться.

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

2
задан 16 August 2019 в 18:37
1 ответ

Вы правы в своей первоначальной линии мышления. Количество прыжков неизвестно заранее и действительно может измениться. Вы принимаете цитату слишком буквально, т.е. неправильно понимаете, что существует буквально пакет с пометкой N, который получает nth маршрутизатор, а также каким-то образом знает себя как nth маршрутизатор. Это не ваша вина, так как цитата сбивает с толку.

В трассировщике ICMP-пакеты посылаются с полем TTL (время жизни) , которое сначала разбивается на , затем второе, затем ... nth hop. При каждом прыжке, когда происходит тайм-аут, сообщение ICMP Time Exceeded отправляется обратно к источнику (Вам). Собирая сообщения с прогрессивным тайм-аутом, Вы можете сгенерировать путь к целевой сети. n-й маршрутизатор, который является вашим целевым, не использует таймаут и отправляет назад эхо-ответ ICMP (когда в качестве носителя сообщений трассируемого маршрута используется эхо-сообщение).

Возвращаясь к вашей цитате и воспринимая ее не совсем так буквально, n-ый пакет будет последним отправленным вами сообщением, которое, в конечном счете, достигнет цели, после того, как вы сгенерировали путь до этой точки - для n-1 маршрутизаторов - путем отправки сообщений с все более длинными TTL.

Надеюсь, это поможет.

3
ответ дан 3 December 2019 в 10:31

Теги

Похожие вопросы