Traceroute

Утилита Traceroute похожа на программу Ping, отображающую путь, по которому пакеты добираются до места назначения. Точнее, Traceroute отображает список маршрутизаторов, которые в настоящий момент пе­ресылают пакеты по направлению к целевой системе (в силу самой природы IP-маршрутизации пути эти от минуты к минуте меняются). В UNIX она называется traceroute, в Windows — Tracert.exe, а в NetWare — Iptrace.nlm.

Как и Ping, Traceroute пользуется сообщениями ICMP Echo Re­quest и Echo Reply, но при этом изменяет значение поля TTL в заго­ловке IP. Поле TTL нужно для того, чтобы пакеты в странствованиях по сети не зацикливались и не путешествовали по ней вечно. Компьютер, отправляющий пакет, обычно записывает в поле TTL Довольно большое число (в Windows оно по умолчанию равно 128). Каждый маршрутизатор, которому приходится обрабатывать пакет, Уменьшает величину TTL на единицу. Если значение на пути к цели

достигает нуля, очередной маршрутизатор «выбрасывает» пакет и пе­редает отправителю сообщение ICMP об ошибке.

Когда Вы запускаете программу Traceroute, указав имя или IP-ад­рес целевого компьютера, первую серию сообщений Echo Request она отправляет со значением TTL равным 1. Сообщения передается пер­вому маршрутизатору на пути к целевой системе. Он уменьшает зна­чения в их полях TTL до нуля, отказывается от дальнейшей передачи пакетов и сообщает отправителю об ошибке. В сообщении об ошибке содержится адрес маршрутизатора, который программа Traceroutе отображает на экране в виде первого транзита на пути к месту назна­чения. Во второй рассылке сообщений Echo Request в поле TTL под­ставляется 2, и путь пакетов обрывается на втором маршрутизаторе В третьем наборе сообщений Echo Request значение поля TTL равно 3 и т. д. Каждый набор пакетов проходит по сети на один транзит дальше, чем предыдущий, заставляя посылать сообщения об ошибке все более далекие маршрутизаторы. Список этих маршрутизаторов программа Traceroute отображает на экране в виде пути пакета к це­левой системе:

Трассировка маршрута к www.abccorp.co.uk [173.146.1.1] с максимальным числом переходов 30:

1 <10 мс 1 мс <10 мс 192.168.2.99

2 105 мс 92 мс 98 мс qrvl-67terminal01.epoch.net [199.24.67.3]

3 101 мс 110 мс 98 мс qrvl.epoch.net [199.24.67.1]

4 123 мс 109 мс 118 мс svcr03-7b.epoch.net [199.24.103.125]

5 123 мс 112 мс 114 мс clsm02-2.epoch.net [199.24.88,26]

6 136 мс 130 мс 133 мс sl-gw19-pen-6-1-0-T3.sprintlink.net [144.228.116.5]

7 143 мс 126 мс 138 мс sl-bb10-pen-4-3.sprintlink.net [144.232.5.117]

8 146 мс 129 мс 133 мс sl-bb20-pen-12-0.sprintlink4>net [144.232.5.1]

9 131 мс 128 мс 139 мс sl-bb20-nyc-13-0.sprintlink.net [144.232.18.38]

10 130 мс 134 мс 134 мс sl-gw9-nyc-8-0.sprintlink.net [144.232.7.94]

11 147 мс 149 мс 152 мс sl-demon-1-0.sprintlink.net [144.232.173.10]

12 154 мс 146 мс 145 мс ny2-backbone-1-geO21. router.demon.net [195.173.173.121]

13 230 мс 225 мс 226 мс tele-backbone-1-ge023.router.demon.net [195.173.173.12]

14 233 мс 220 мс 226 мс tele-core-3-fxp1.router.demon.net [194.159.252.56]

15 223 мс 224 мс 224 мс tele-access-1-14.router.demon.net [194.159.254.245]

16 236 мс 221 мс 226 мс tele-service-2-165.router.demon.net [194.159.36.149]

17 220 мс 224 мс 210 мс www.abccorp.co.uk [173.146.1.1] Трассировка завершена.

В этом примере Traceroute отображает путь от компьютера в Пен­сильвании к компьютеру в Великобритании. Для каждого перехода приводятся интервалы, прошедшие между передачей и приемом трех наборов сообщений Echo Request и Echo Reply. Очень хорошо замет­на точка, начиная с которой пакетам приходится пересекать Атлан­тический океан: на 13 транзите интервал между передачей и приемом возрастает примерно со 150 до 230 миллисекунд (мс) и сохраняет столь же высокое значение в последующих переходах. Задержка по­рядка 80 мс как раз и представляет собой время, необходимое паке­там для преодоления многих тысяч миль водного пространства.

Утилита Traceroute — удобное средство для локализации проблем с коммуникациями в сети. Ping просто сообщает о наличии неис­правности, но не говорит, где именно она произошла. Невозможность установки контакта с удаленным компьютером может означать про­блему на Вашей рабочей станции, на удаленном компьютере или на любом маршрутизаторе между ними. Traceroute сообщит Вам, как далеко удалось уйти пакетам, прежде чем они столкнулись с какими-то трудностями.

Примечание Поскольку конфигурация Интернета постоянно меня­ется, нет никакой гарантии, что программа Traceroute отобразила кор­ректный маршрут. Более того, IP-дейтаграммы, посылаемые на каж­дом шаге работы программы, могут добираться до одной и той же це­левой системы разными путями. В результате на экране будет отобра­жаться составной маршрут между двумя системами, который в реаль­ности может и не существовать.