Привет, посетитель сайта ZametkiNaPolyah.ru! В этой публикации мы обстоятельно поговорим о том, как использовать сетевую утилиту WinMTR для проверки качества интернет соединения и других каналов связи. WinMTR — это программа, которая дает возможность получить трассировку до удаленного узла, узнать время ответа и оценить потери пакетов в канале связи. В общем, WinMTR очень простая и незаменимая штука для сетевых инженеров и системных администраторов, использующих Windows. Программа настолько простая, что ее сможет использовать даже бабушка, сидящая возле вашего подъезда, не проходите мимо.

Если вам интересна тема компьютерных сетей, то в блоге уже практически закончена первая часть курса по основам компьютерных сетей, можете ознакомиться с ее содержимым. И вот здесь можно получить немного информации о самом курсе основанном на Cisco ICND1.

Официальный сайт WinMTR или где скачать и как установить программу WinMTR для Windows 10

WinMTR – это сетевая утилита, которая должна быть в арсенале любого системного администратора или сетевого инженера. Данная программа позволяет получить трассировку маршрута от вашего компьютера до удаленного узла, проверить наличие потерь в канале связи и время отклика каждого, в том числе, и транзитного узла, тем самым вы можете оценить качество канала связи до любой точки в компьютерной сети, поэтому WinMTR так часто используют для проверки качества интернет соединения.

Как видно из описания, WinMTR включает в себя функционал трех стандартных сетевых утилит командной строки Windows: ping, tracert, pathping. Что самое важное, утилитой WinMTR гораздо удобнее пользоваться, чем командной pathping. Во-первых, WinMTR спокойно обрабатывает узлы, которые не отвечают на ICMP запросы, во-вторых, WinMTR работает в режиме реального времени и не нужно долго ждать, как это было, когда мы говорили про pathping.

Официальный сайт или где скачать WinMTR?

Единственным плюсом утилиты pathping является, то, что ее не нужно скачивать и устанавливать, чтобы начать пользоваться, но это трудно назвать плюсом, поскольку скачать и установить WinMTR – дело трех минут. Давайте этим займемся. Во-первых, стоит сказать, что WinMTR бесплатное приложение, если вы нашли сайт, который предлагает скачать эту программу за деньги, то, вероятно, это мошенники.

Самым надежным источником для получения своей копии WinMTR является официальный сайт, не используйте для скачивания различные файлообменники и сайты-репозитории, скачав WinMTR оттуда, в лучше случае вы установите на свой ПК вместе с программой кучу ненужного хлама, в худшем случае ваш ПК может быть заражен вирусом.

Итак, первый вывод – скачиваем WinMTR с официального сайта, на котором есть раздел Download, ссылка прилагается. Вот так выглядит этот раздел.

Раздел официального сайта WinMTR, в котором можно скачать приложение

Раздел официального сайта WinMTR, в котором можно скачать приложение

Есть две редакции WinMTR: для 32-ух битных операционных систем и для 64-ех битных. У меня вторая, поэтому я жму по нижней кнопке «Download». После чего браузер мне предложил выбрать папку, куда будет скачиваться архив с WinMTR.

Скачиваем архив с WinMTR

Скачиваем архив с WinMTR

Задачу скачать WinMTR мы выполнили, давайте теперь установим приложение в Windows.

Как установить WinMTR в Windows

Теперь давайте установим WinMTR в Windows, хотя в этом ничего сложного нет, но я опишу это действие подробно, чуть позже вы поймете почему. Создайте в удобном месте папку, куда вы собираетесь распаковать архив, у меня это выглядит так: d:\Program Files (x86)\WinMTR\. Далее перейдите в каталог, в который был скачан архив с программой, давайте посмотрим на его содержимое.

Содержимое арихва WinMTR

Содержимое арихва WinMTR

В общем, мы видим, что разработчики WinMTR не стали заморачиваться и поместили обе редакции программы в архив, меня интересует 64-ех битная версия, поэтому я перейду в эту папку и скопирую ее содержимое в заранее подготовленный каталог, это выглядит как-то так.

Распакуйте файл WinMTR.exe в нужную папку

Распакуйте файл WinMTR.exe в нужную папку

Собственно, установка WinMTR в Windows завершена и приложением можно пользоваться, но это не удобно – каждый раз заходить в нужный каталог и запускать исполняемый файл.

Как быстро запустить WinMTR

Давайте поговорим про запуск WinMTR и сделаем этот процесс более быстрым, вы, конечно, можете просто добавить иконку WinMTR на рабочий стол, но пользоваться этой программой вы будете не так часто, поэтому этот значок будет лишним. Я, например, вообще не люблю значки на рабочем столе, поэтому рассмотрим другой способ быстрого запуска программы.
Я предлагаю вам просто добавить путь к исполняемому файлу в системную переменную PATH, в моем случае нужно добавить путь : d:\Program Files (x86)\WinMTR, в вашем случае это путь к той папке, в которую вы распаковали файл winmtr.exe. В статье по ссылке выше подробно расписан процесс добавления пути в переменную PATH, здесь мы на этом не будем останавливаться. После того, как вы добавили путь к файлу winmtr.exe, можно пробовать запускать приложение при помощи программы «Выполнить». Чтобы запустить приложение «Выполнить» воспользуйтесь сочетанием клавиш Win+R.

Запуск приложения WinMTR

Запуск приложения WinMTR

В появившуюся форму пишем «winmtr» и жмем «ОК», приложение будет запущено, это гораздо быстрее и удобнее. На этом можно заканчивать вводную часть, в которой мы разобрались где скачать, как установить и запустить WinMTR.

Зачем нужна утилита WinMTR или как проверить качество интернет соединения?

Теперь давайте разберемся зачем нужна программа WinMTR и как ею пользоваться, то есть сделаем небольшой обзор интерфейса данной утилиты. Сам интерфейс показан на рисунке ниже.

Интерфейс программы WinMTR

Интерфейс программы WinMTR

Как видим, интерфейс WinMTR очень прост и интуитивно понятен. Будем разбираться с ним слева направо и сверху вниз. Первое поле «Host», в него нужно вписать адрес удаленного узла, до которого вы хотите проверить качество канала связи, адрес можно задать как при помощи IP-адреса, так и при помощи доменного имени. Чтобы WinMTR начала работать, нужно нажать на кнопку «Start», в процессе трассировки надпись «Start» сменится на «Stop», используйте ее чтобы остановить опрос узлов.

Кнопка «Options» позволяет настроить работу WinMTR, а с «Exit» все понятно. Кнопка «Copy Text to Clipboard» позволяет скопировать отчет WinMTR в буфер обмена в виде простого текста, а кнопка «Copy HTML to Clipboard» превращает отчет WinMTR в HTML разметку и копирует это всё дело в буфер обмена.

Если вам лень делать Ctrl+C и Ctrl+V, то можете сразу помещать отчет WinMTR в файлы, для этого есть кнопки «Export TEXT» и «Export HTML», первая помещает отчет в простой текстовый файл, а вторая в HTML-документ. В белом поле по центру будут отображаться результаты трассировки.

Как пользоваться WinMTR для проверки интернет соединения?

С интерфейсом WinMTR все ясно, давайте теперь посмотрим как пользоваться этой программой. Для этого в поле hostname указываем адрес удаленного узла и нажимаем кнопку «Start», ниже пример трассировки WinMTR до публичного DNS-сервера Google, в поле Host я указал IP-адрес.

Результаты трассировки WinMTR до публичного DNS сервера Google

Результаты трассировки WinMTR до публичного DNS сервера Google

Тут, глядя на столбец Loss, можно подумать, что на втором хопе у меня потери 95%, но это не так, вероятно, мой провайдер решил защитить свой маршрутизатор от DDoS атаки и настроил его таким образом, чтобы он не отвечал на большую часть ICMP запросов. Если бы было действительно 95% потерь, то эти потери отразились бы на последующих прыжках и в столбце Loss мы бы видели не 0%, а значение с разбросом от 85% до 95%, тогда это были бы действительно потери. В данном случае мы можем сделать косвенный вывод о качестве интернет соединения по результатам трассировки WinMTR: потерь у нас нет, среднее время отклика конечного узла составляет 43 миллисекунды, меня это устраивает, в моем субъективном понимание качество канала связи до публичного ДНС-сервера Гугл удовлетворительное (про субъективные и объективные характеристики компьютерной сети).

Ниже вы видите пример трассировки до сайта Яндекс с использованием доменного имени, здесь целых три транзитных узла не отвечают на ICMP.

Трассировка WinMTR с использованием доменного имени

Трассировка WinMTR с использованием доменного имени

Опять же, давая субъективную оценку качеству интернет соединения, я прихожу к выводу, что оно меня устраивает: потерь нет, время отклика приемлемое.

Как вы могли убедиться, пользоваться WinMTR достаточно просто: пишем нужный адрес и смотрим на результат. Стоит отметить, что трассировка WinMTR отображает только устройства сетевого уровня, то есть это могут быть: роутеры/маршрутизаторы, L3 коммутаторы, на интерфейсах которых прописаны IP-адреса и сервера. Устройств канального и физического уровня модели OSI 7 в трассировки нет, так как им для работы не нужны IP-адреса, хотя именно эти устройства, а также некачественные линии связи, обычно являются причинами потерь в канале связи (об этом мы подробно говорили, когда рассматривали сетевую утилиту Pathping).

К устройствам канального уровня относятся сетевые L2 коммутаторы, а к устройствам физического уровня относятся различные конвертора, повторители и усилители, про хабы я не говорю, поскольку сеть Ethernet с топологией общая шина вы уже вряд ли встретите. Если вам нужно больше информации, то вот здесь вы можете почитать о разнице между хабами, сетевыми коммутаторами и роутерами, а вот здесь описана физическая и логическая топология компьютерных сетей.

Давайте рассмотрим пример трассировки WinMTR с небольшими потерями и поговорим о качестве интернет соединения, вернее будет сказать о качестве канала связи до удаленного узла, так как интернет канал, предоставляемый мне моим провайдером в данном случае не оказывает никакого влияния на потери пакетов.

Потери пакетов при трассировке WinMTR

Потери пакетов при трассировке WinMTR

Эта трассировка до сервера видео наблюдения одной компании, которая предоставляет своим клиентам услугу, делает она это не очень качественно, но, чтобы ко мне не было лишних вопросов, я просто скрыл домен сайта, на котором клиенты могут смотреть камеры и IP-адрес, который висит на сервере компании (вот здесь про основы взаимодействия клиент-сервер). Почему я уверен, что это потери? Дело в том, что еще месяц назад вместо 4% в столбце Loss, красовалось значение 53%, сейчас ситуация немного исправилась.

В данном случае мой провайдер никак не сможет устранить потери в канале связи, мой интернет канал никак не влияет на данную ситуацию. Дело в том, что компания с сервером видео наблюдения подключена к другому провайдеру. Потери начинаются на последнем хопе, то есть это зона ответственности либо компании, предоставляющей видео наблюдение, либо это по причине провайдера, которым пользуется эта компания.

В такой ситуации нет никакого смысла обращаться в свою тех. поддержку, если там нормальные ребята, то они отправят меня лесом, посмотрев на трассировку. В тех. поддержку провайдера, которым пользуется эта компания, возможности обратиться нет, поскольку я не являюсь их клиентом, меня там даже слушать не станут. А вот обратиться в компанию есть смысл. Сказать им, что их услуга не очень хорошо работает и подтвердить это «не очень хорошо» статистикой WinMTR.

Это я к чему? Это я к тому, что в данной ситуации ни один провайдер не смог бы мне устранит потери в канале связи до этого сервера, на эти потери не влияет качество моего интернет соединения, на эти потери влияет качество интернет соединения, которое использует компания и даже с бОльшей уверенностью могу сказать, что проблема с потерями пакетов вызвана либо низкой производительностью сервера видео наблюдения, либо эта компания просто жалеет денег и экономит на своих клиентах, утилизируя интернет канал на максимум и не желая его расширять. То есть здесь можно прийти к выводу, что потери происходят по вине компании, предоставляющей видео наблюдения, а не из-за ее провайдера.

Что означают столбцы в WinMTR?

Давайте теперь поговорим о значениях, которые мы видим в различных столбцах WinMTR. Но для начала разберемся со строками – каждая строка называется хопом, прыжком или шагом, первый столбец каждой строки – адрес устройства по умолчанию WinMTR выводит имя хоста, если оно не задано, то мы видим IP-адрес устройства, какие устройства отображаются я уже писал. WinMTR в трассировке не отображает ваш компьютер, первый хоп – это обычно ваш роутер, последний хоп – узел назначения, до которого вы делаете трассировку Теперь перейдем к значениям столбцов WinMTR:

  1. Hostname – имя узла в трассировке, этом может быть как доменное имя, так и IP-адрес. Если вместо доменное имени вы видите «No response from host», это может означать, что узел не отвечает на ICMP запросы или он недоступен.
  2. Nr — порядковый номер узла в трассировке или номер хопа.
  3. Loss % — процент потерянных пакетов от узла. WinMTR очень плохо округляет небольшие потери, например, WinMTR показывает, что было отправлено 1000 пакетов и получено 999 ответов, то есть потерялся один пакет, процент должен быть 0.1, а WinMTR покажет, что это 1%, всё дело в том, что округление у WinMTR идет всегда в большую сторону, иногда процент потерь лучше считать вручную.
  4. Sent – количество отправленных запросов.
  5. Recv – количество полученных ответов.
  6. Best – лучшее или наименьшее время ответа удаленного узла.
  7. Avrg – среднее время задержки пакетов или среднее время ответа.
  8. Worst – наибольшее или наихудшее время ответа удаленного узла.
  9. Last – время задержки последнего полученного пакета.

Как видим, ничего сверх естественного в этих столбцах нет, отображаются простые и понятные значения, которые помогут оценить качество канала связи.

Как экспортировать отчет WinMTR?

Если вы пользуетесь WinMTR, то явно вы это делаете не просто так, вы собираете статистику, чтобы затем ее кому-нибудь предоставить, например, своему провайдеру, чтобы пожаловаться на качество интернет соединения. Поэтому нужно уметь экспортировать трассировку WinMTR, чтобы затем другим людям ею было удобно пользоваться.

Здесь у нас есть четыре варианта. Первый заключается в использовании кнопки Copy Text to Clipboard, эта кнопка скопирует статистику WinMTR в буфер обмена в виде обычного текста, вам лишь останется запустить текстовый редактор, например IDE NetBeans и скопировать туда данные, а затем сохранить в виде простого текстового файла. Выглядит это так.

Трассировка WinMTR в виде обычного текста

Трассировка WinMTR в виде обычного текста

Второй способ экспорта заключается в использовании Copy HTML to Clipboard, в этом случае трассировка будет скопирована в буфер обмена в виде HTML разметки, то есть к данным трассировки будут добавлены HTML теги, откройте удобный редактор (рекомендую редактор с подсветкой синтаксиса Notepad++) скопируйте в него полученный код и сохраните его в файл с расширением .html, название может быть любым, например, winmtr.html. Вот так будет выглядеть ваша трассировка в браузере.

Трассировка WinMTR в виде HTML-документа в браузере

Трассировка WinMTR в виде HTML-документа в браузере

А вот таким образом она будет выглядеть в текстовом редакторе Sublime Text 3.

Трассировка WinMTR в виде HTML-документа в редакторе

Трассировка WinMTR в виде HTML-документа в редакторе

Это обычная HTML таблица с ячейками и столбцами, также мы тут видим HTML заголовок и параграф, ничего сложного. Чтобы сразу сохранить WinMTR статистику в файл нужного формата, можно воспользоваться кнопками «Export TEXT» или «Export HTML», а затем просто дать файлу имя и показать программе папку, в которую этот файл следует сохранить.

Настройки и примеры использования WinMTR или зачем вам русская версия?

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

Во-первых, по настройкам WinMTR сразу стоит сказать, что когда программа выполняет трассировку удаленного узла, можно открыть статистику для каждого узла в отдельности, для этого достаточно кликнуть по нему левой кнопкой мыши. Откроется отдельное окно, в котором информация скомпонована более удобно, выглядит это дело следующим образом.

Статистика отдельного узла в трассировке WinMTR

Статистика отдельного узла в трассировке WinMTR

Перейдем теперь к настройкам, которые влияют на работу программы, настройки можно изменять только когда WinMTR не выполняет опрос узлов, чтобы их открыть, нажмите на кнопку Options в правом верхнем углу. Настройки WinMTR по умолчанию показаны на рисунке ниже.

Настройки WinMTR по умолчанию

Настройки WinMTR по умолчанию

Здесь видно, что по умолчанию WinMTR опрашивает каждый узел с интервалом в одну секунду, размер пакетов WinMTR составляет 64 байта, при этом WinMTR, как и другие сетевые утилиты Windows, не учитывает размер ICMP заголовка и размер заголовка IP пакета, то есть не учитывается 28 байт, другими словами, если вы хотите отправлять в сеть Ethernet кадры с MTU 1500 байт, размер пакета в WinMTR нужно выставлять 1472 байта (1472+28=1500). Это если у вас не PPPoE соединение, если соединение PPPoE то MTU будет еще меньше.

Также есть поле Max. hosts in LRU list, это поле можно было бы назвать TTL или временем жизни IP-пакета, но это будет не совсем правда, дело в том, что если запустить WinMTR трассировку до узла, который не отвечает на ICMP запросы, мы не увидим 128 хопов, вот пример до домена Майкрософт.

Трассировка WinMTR до узла, который не отвечает на ICMP запросы

Трассировка WinMTR до узла, который не отвечает на ICMP запросы

Здесь мы видим только 30 хопов, хотя значение Max. hosts in LRU list равно 128, поэтому можно сделать вывод, что пользователю данное значение не стоит рассматривать как TTL, его стоит воспринимать, как максимальное число узлов, которое будет отображать WinMTR.

Также есть чекбокс Resolve Names, если его убрать, то в трассировке вместо имени хоста будут отображены IP-адреса узлов.

Трассировка WinMTR без разрешения доменных имен

Трассировка WinMTR без разрешения доменных имен

В общем, это все настройки WinMTR, которые вы можете изменить, следует добавить, что WinMTR не выполняет фрагментацию IP-пакетов, другими словами, если размер пакета будет больше, чем максимально допустимое значение MTU, вы будете наблюдать 100% потери. WinMTR просто использовать и легко настроить.

Как пользоваться WinMTR и что нужно учитывать

Нам осталось поговорить о том, что нужно учитывать при использовании утилиты WinMTR. Рекомендации здесь будут теми же, что и для утилит ping, tracert, pathping. Ведь WinMTR использует всё тот же ICMP протокол, что и выше описанные утилиты. Тут стоит заметить, что в операционных системах семейства Linux (например, Linux Mint, который мы устанавливали в VirtualBox) есть утилита MTR, ее функционал куда более богатый, по умолчанию эта утилита работает из окна эмулятора терминала Linux, хотя к ней можно прикрутить графический интерфейс и она дает возможность проверять канал связи при помощи протоколов TCP и UDP с указанием портов.

Но вернемся к Windows версии, для которой не нужно запускать командную строку. Когда вы проверяете канал связи или интернет соединение при помощи WinMTR, не забывайте, что сетевые маршрутизаторы и L3 коммутаторы могут по-разному обрабатывать пакеты с ICMP вложениями, которые вы направляете именно им, и тем пакеты, которые для данного конкретного узла являются транзитными, то есть пакеты, которые узел может передать дальше.

Например, вы видите небольшие потери, на седьмом хопе, но потерь уже нет на восьмом и последующих – это не повод для волнений, задача седьмого узла передать данные дальше (так как он транзитный), а не отвечать на ваши бесполезные служебные ICMP запросы, ведь в такой ситуации седьмой узел не является конечной точкой, с которой вы хотите общаться, он транзитный, его задача передать дальше, а нам это и нужно, и если узел справляется с этой задачей, то почему мы должны обращать внимание на то, что он дает небольшой процент потерь, когда ему самому приходится отвечать на ICMP (немного про сетевое взаимодействие двух узлов к компьютерной сети)?

Следующий фактор, который вам нужно учесть – это время ответа удаленного узла, которое образуется из того времени, которое пакет идет к удаленному узлу и того времени, которое он возвращается. При этом, если вы проверяете интернет соединение до какого-нибудь географически удаленного узла, вам не стоит забывать, что маршрут пакета «туда» и маршрут пакета «обратно» может отличаться, следовательно, и время, за которое пакет добирается «туда» отличается от времени, которое тратится на то, чтобы прийти «обратно».

Не забывайте, что в крупных сетях на толстых маршрутизаторах может работать балансировка и может так получиться, что первый пакет пойдет влево, а второй вправо, это означает, что у них будут разные маршруты «туда», но в итоге оба пакета достигнут пункта назначение, а в трассировке, которую вы увидите в WinMTR, будет отображен только маршрут первого пакета. При этом может возникнуть ситуация, что потери происходят по маршруту, которым был отправлен второй пакет, значит ваша статистика будет не совсем точной.

Это были общие рекомендации, о которых нужно помнить при использовании WinMTR, на большее в этой публикации нет места, для формирования верных выводов по результатам работы WinMTR вам нужно хорошо понимать принципы работы компьютерных сетей, а также принципы работы физических сетевых устройств и протокола ICMP.

Выводы

Какие выводы мы можем сделать, познакомившись с программой WinMTR? WinMTR — это простое, удобное и бесплатное средство, которое поможет вам косвенно оценить качество интернет соединения или любого другого канала связи, главное, научиться правильно интерпретировать результаты работы этого приложения.

Возможно, эти записи вам покажутся интересными


Выберете удобный для себя способ, чтобы оставить комментарий

This article has 4 comments

  1. Слава Reply

    Спасибо! Два полезных мануала за день, сначала про ipconfig и сетевые настройки компьютера, а теперь еще и про проверку интернет соединения программой WinMTR, о которой я не знал, теперь буду по мере надобности использовать. Постоянно захожу к вам на сайт в надежде, что появится что-то новенькое и интересное!

  2. Олег Reply

    Очень полезная статья, но возник такой вопрос. К примеру: на 1 узле(мой роутер 192.168.1.1) было отправлено 1000 и получено 1000 пакетов, но на 2 узле , у меня отправлено 900 пакетов и получено 891, потери 1%. Но разница в отправленных пакетах между двумя узлами составляет 10%. Вопрос такой, какие на самом деле потери ? И как правильно объяснить провайдеру что у меня за проблема ?

    • Кирилл Reply

      Олег, можете в комментарий статистику приложить, из словесного описания не совсем понятно? Собственно, провайдеру можно и не объяснять, главное указать что есть потери и приложить статистику, тех. поддержка обычно умеет читать трассировки.

  3. Олег Reply

    | Host — % | Sent | Recv | Best | Avrg | Wrst | Last |

    |----------------------------|------|------|------|------|------|------|

    | 192.168.1.1 — 0 | 185 | 185 | 0 | 0 | 1 | 0 |

    | 10.200.40.1 — 3 | 168 | 164 | 0 | 1 | 14 | 1 |

    Разница в отправленных пакетах 185 и 168 это около 10% , но потери на 2 узле 3% , вопрос в том являются ли эти 10% потерями ?

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Loading Disqus Comments ...