Для этого больше всего подойдет Traceroute — одна из программ-«старейшин», работающих с протоколом TCP/IP (см. врезку). С ее помощью можно узнать время прохождения пакетов по маршруту до заданного пункта назначения и все промежуточные значения, а также исследовать отрезок времени, в течение которого пакеты перемещаются до некоторых Web-серверов.

Для демонстрации работы этой программы была проанализирована скорость доступа к десяти серверам: сняты результаты и усреднено время прохождения пакета по Сети до Internet-провайдера. Попутно удалось собрать некоторые сведения и о структуре Internet в России. Оказалось, что связь со всеми десятью серверами проходила через площадку М9 — «точка» обмена информацией основных российских провайдеров. Это позволило разбить полное время прохождения пакета на четыре этапа: связь с провайдером, связь вашего провайдера с М9, связь провайдера сервера с М9 и связь сервера со своим провайдером. Были сделаны три измерения через «Совам Телепорт» (днем и ночью в выходные дни и днем в рабочий день) и одно через Zenon (днем в рабочий день). Причем если программа Traceroute выдавала на каком-либо отрезке символ «*» (это происходит тогда, когда тестовый пакет не вернулся или превысилось время его ожидания), то я принимал время передачи пакета на этом участке равным 5 с. Усредненные результаты приведены в таблице.

На основе полученных результатов можно сделать некоторые выводы о топологии сетей Internet-провайдеров. Например, большая разница между временем передачи данных по сети «Совам Телепорт» и Zenon объясняется тем, что у первого пакет передается от сервера доступа к точке M9 через три маршрутизатора, а у второго — через один или два. Поскольку скорость обработки пакетов одним маршрутизатором примерно одинакова (около 160 мс), то у «Совам Телепорт» суммарное время передачи пакетов будет больше. Большее среднее время передачи пакетов по сети «МТУ-Информ» объясняется тем, что пакет Traceroute не доходил до сервера www.list.ru (именно поэтому его нет в нижнем разделе), теряясь где-то на маршрутизаторе «МТУ-Информ». Теоретически это вовсе не свидетельствует о недоступности самого сервера www.list.ru по протоколу HTTP, а, видимо, просто связано с межсетевым экраном, блокирующим пакеты Traceroute. Кроме того, столь продолжительное время доступа к серверу www.gazeta.ru связано с тем, что теряется большое количество пакетов между провайдером и сервером. Также определялось среднее время задержек на разных этапах и рассчитывался их процент от полного времени прохождения пакета. Оказалось, что путь, проделанный пакетом по сети провайдера, занимает лишь пятую часть времени, а все остальное тратится на его блуждание по Internet.

Изучение Сети с помощью Traceroute позволяет получить точную информацию о состоянии связи с конкретным провайдером Internet и доступности определенных ресурсов. Однако нужно помнить, что если не удается добраться до сервера с помощью команды traceroute, то это не означает, будто он полностью недоступен. Межсетевые экраны могут блокировать передачу информации на заведомо неиспользуемый порт UDP, который использует для своих целей программа Traceroute.

Валерий Коржов


Как работает программа Traceroute

Работа Traceroute основана на двух протоколах TCP/IP: UDP и ICMP. Первый используется для возбуждения в Сети псевдоошибок, второй — для передачи на компьютер-отправитель реакции Сети на ошибку. Программа Traceroute передает в Сеть последовательность UDP-пакетов по заведомо неиспользуемому порту со временем жизни от 1 до 30 передач. Каждый маршрутизатор при обработке таких пакетов уменьшает время его жизни на единицу, а когда это значение для пакета равно нулю, то посылает отправителю ICMP-предупреждение о его потере, содержащее адрес маршрутизатора и время уничтожения пакета. Когда пакет поступает на компьютер-адресат, генерируется сообщение об ошибке: «Нет программы обработчика для заданного порта», что служит сигналом к завершению работы.

Программа Traceroute реализована практически во всех ОС, где есть поддержка TCP/IP. В ОС Windows она называется tracert.exe. За один сеанс Traceroute обычно посылает три серии тестовых UDP-пакетов, каждый из которых имеет длину 40 байт. В общей сложности это составляет около 3,5 Кбайт информации. Такой небольшой поток пакетов незначительно перегружает Сеть, но содержит много полезной информации о ее работе.


Результаты экспериментов с программой Тraceroute
Линия связиСреднее времяПроцент
Связь с «Совам Телепорт»158,7733 
Связь с Zenon160,8361 
Связь с провайдером (среднее время, мс)159,80475%
Сеть «Совам Телепорт»758,453 
Сеть Zenon230,2787 
Сеть телефонного провайдера (среднее время, мс)494,365914%
Сеть «Ростелеком»294,82 
Сеть AG Telecom326,5837 
Сеть Zenon1165,164 
Сеть «Релком»1481,421 
Сеть «Демос»1659,18 
Сеть «МТУ-Информ»7631,819 
Сети провайдеров сервера (среднее время, мс)2093,16560%
www.rbc.ru162,8525 
www.lib.ru169,4528 
yandex.ru178,7905 
www.chat.ru439,5753 
www.rambler.ru489,6013 
www.aport.ru582,1306 
www.atrus.ru944,5653 
www.infoart.ru1328,046 
www.gazeta.ru2191,418 
Связь с сервером (среднее время, мс)720,714721%
Сумма средних значений времени3468,05