Эффективное программирование TCP-IP

       

Применяйте программу traceroute


| | |

Утилита traceroute - это важный инструмент для нахождения ошибок маршрутизации, изучения трафика в Internet и исследования топологии сети. Как и многие другие распространенные сетевые инструменты, traceroute была разработана коллективом лаборатории Лоренса Беркли в Университете Калифорнии.

Примечание: В комментариях к исходному тексту Ван Джекобсон, автор программы traceroute, пишет: «Я пытался найти ошибку в работе алгоритма маршрутизации в течение 48 бессонных часов, и этот код родился как-то сам собой».

Идея traceroute проста. Программа пытается определить маршрут между двумя хостами в сети, заставляя каждый промежуточный маршрутизатор посылать ICMP-сообщение об ошибке хосту-отправителю. Далее об этом механизме будет сказано подробнее. Сначала нужно несколько раз запустить программу и посмотреть, что она выдает. Проследим маршрут между хостом bsd и компьютером в Университете города Тампа на юге Флориды (рис. 4.7). Как обычно, перенесены строки, не умещающиеся на странице.

Число слева в каждой строке - это номер промежуточного узла. За ним идет имя хоста или маршрутизатора в этом узле и далее - IP-адрес узла. Если узнать имя не удается, то traceroute печатает только IP-адрес. Такая ситуация наблюдается в узле 13. Как видно, по умолчанию программа пыталась определить имя хоста или маршрутизатора трижды, а три числа, следующие за IP-адресом, - это Периоды кругового обращения (RTT) для каждой из трех попыток. Если при оче-РеДной попытке на запрос никто не отвечает или ответ теряется, то вместо времена печатается «*».

Хотя компьютер ziggy.usf.edu расположен в соседнем городе, в Internet между ними находится 14 узлов. Сначала данные проходят через два маршрутизатора, в Тампе, относящихся к сети net com. net (это сервис-провайдер, через которого выходит в Internet), потом еще через два маршрутизатора, а затем через маршрутизатор netcom.net в узле МАЕ-EAST (узел 5) в сеть, находящуюся в Вашингтоне, округ Колумбия. Узел МАЕ-EAST - это точка пересечения сетей, в которой сервис-провайдеры передают друг другу Internet-трафик. Далее покидает узел МАЕ-EAST и попадает в сеть sprintlink.net. От маршрутизатора сети Sprintlink в узле MAE-EAST он пролегает вдоль восточного побережья до домена usf.edu (узел 13). И наконец на шаге 14 маршрут подходит к компьютеру ziggy.


bsd: $ tracerout ziggy, usf. edu
traceroute to ziggy. usf. edu (131. 247. 1. 40), 30 hops max,
                     40 byte packets
  1 tam-f1-pm8. netcom. net (163. 179. 44. 15)
                     128. 960 ms 139. 230ms 129. 483 ms
  2 tam-f1-qwl. netcom. net (163. 179. 44. 254)
                     139. 436 ms 129.226ms 129.570 ms
  3 nl-0.mig-fl-qwl.Netcom.net (165.236.144.110)
                     279.582 ms 199.325 ms 289.611 ms


  4 a5-0-0-6.was-dc-qwl.Netcom.net (163.179.235.121)
                     179.505 ms 229.543 ms 179.422 ms
  5 h1-0.mae-east.netcom.net (163.179.220.182)
                     189.258 ms 179.211 ms 169.605 ms
  6 s1-mae-e-f0-0.sprintlink.net (192.41.177.241)
                     189.999 ms 179.399 ms 189.472 ms
  7 s1-bb4-dc-1-0-0.sprintlink.net (144.228.10.41)
                     180.048 ms 179.388 ms 179.562 ms
  8 s1-bb10-rly-2-3.sprintlink.net (144.232.7.153)
                     199.433 ms 179.390 ms 179.468 ms
  9 s1-bb11-rly-9-0.sprintlink.net (144.232.0.46)
                     199.259 ms 189.315 ms 179.459 ms
 10 s1-bb10-orl-1-0.sprintlink.net (144.232.9.62)
                     189.987 ms 199.508 ms 219.252 ms
 11 s1-qw3-orl-4-0-0.sprintlink.net (144.232.2.154)
                     219.307 ms 209.382 ms 209.502 ms
 12 s1-usf-1-0-0.sprintlink.net (144.232.154.14)
                     209.518 ms 199.288 ms 219.495 ms
 13 131.247.254.36 (131.247.254.36) 209.318ms 199.281ms 219.588ms
 14 ziggy.usf.edu (131.247.1.40) 209.591 ms * 210.159 ms
Рис. 4.7. Маршрут до хостаziggy.usf.edu, прослеженный traceroute
Посмотрим, как далеко от bsd отстоит Калифорнийский университет в Лос-Анджелесе. Понятно, что географически он находится на другом конце страны, в Калифорнии. А если выполнить traceroute до хоста panther в Калифорнийском университете, то получится результат, показанный на рис. 4.8.
На этот раз маршрут проходит только через 13 промежуточных узлов и достигает домена ucla. edu на шаге 11. Таким образом, топологически bsd ближе к Калифорнийскому университету, чем к Университету на юге Флориды.
Примечание: Университет Чепмена, расположенный также вблизи Лос-Анджелеса, находится всего в девяти промежуточных шагах от bsd. Это связано с тем, что домен chapman, edu, как и bsd, подключен к Internet через сеть netcom.net, и весь трафик проходи по этой опорной сети.

Содержание раздела