Устранение неполадок с подключением в сетях Windows (часть 4)

Опубликовано: 23 Марта, 2023
Устранение неполадок с подключением в сетях Windows (часть 4)

  • Устранение неполадок с подключением в сетях Windows (часть 1)

  • Устранение неполадок с подключением в сетях Windows (часть 2)

  • Устранение неполадок с подключением в сетях Windows (часть 3)

  • Устранение неполадок с подключением в сетях Windows (часть 5)

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

Потеря пакетов

До сих пор, когда мы использовали команду ping, команда либо была успешной, либо не удалась. Между ними действительно не было ничего. Как вы помните, команда ping предназначена для возврата четырех разных ответов. Иногда один или несколько из этих ответов могут дать сбой, в то время как другие успешны. Когда это происходит, это означает, что происходит потеря пакетов.

В такой ситуации локальный хост и удаленный хост или оба функционируют правильно, но существуют условия, которые приводят к потере некоторых пакетов по пути. Протокол TCP/IP разработан таким образом, что он может повторить попытку передачи после потери пакета, но потеря пакета снижает производительность. Медленное соединение без потери пакетов часто превосходит высокоскоростное соединение, при котором происходит потеря пакетов.

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

Если вы подозреваете, что может произойти потеря пакетов, но ping не возвращает никаких ошибок, вы можете попробовать увеличить размер пакетов ICMP. Пакеты большего размера более подвержены сбоям, если существуют проблемы с сетью. Вы можете указать ping использовать пакеты большего размера, используя переключатель –L.

Использование переключателя –L очень просто. Все, что вам нужно сделать, это ввести команду ping, за которой следует адрес, который вы хотите пропинговать, а также ключ –L и количество байтов, которые вы хотите отправить. Например, предположим, что в вашей сети наблюдается низкая производительность при подключении к определенному хосту. Вы подозреваете, что происходит потеря пакетов, но ping постоянно проходит успешно. Поэтому вы решаете указать ping использовать размер пакета 1024 байта. Для этого вы должны использовать следующую команду:

Пинг 192.168.1.1 –L 1024

Вы можете увидеть реальный пример того, как работает эта команда, на рисунке A.

Изображение 20338
Рисунок A.
Добавление команды –L к команде ping позволяет увеличить размер ICMP-пакета.

Время жить

Следующее понятие, которое я хочу обсудить в связи с командой ping, — это Time To Live (TTL). Если вы посмотрите на рисунок A, вы заметите, что каждый из ответов на пинг заканчивается на TTL = 64.

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

Здесь значение TTL вступает в игру. Думайте о значении TTL как о механизме самоуничтожения пакета. Значение TTL изначально установлено довольно высоким, хотя это число зависит от используемой операционной системы. Каждый раз, когда пакет проходит через маршрутизатор, считается, что пакет выполнил переход. Каждый раз, когда происходит переход, значение TTL уменьшается на единицу. Если значение TTL достигает нуля, пакет уничтожается. Это предотвращает перемещение потерянного пакета по Интернету на протяжении всей вечности.

Отследить маршрут

Еще одна причина, по которой значение TTL так полезно, заключается в том, что на нем основан инструмент устранения неполадок под названием tracert. Использование команды ping подходит для устранения неполадок в небольших сетях, в которых удаленный узел находится в непосредственной близости от отправляющего узла, но когда дело доходит до Интернета или глобальной сети, удаленный узел может находиться за тысячи километров. Таким образом, пакет ICMP, сгенерированный командой ping, может пройти через десятки маршрутизаторов, чтобы достичь удаленного хоста. Время от времени вы можете сталкиваться с ситуациями, когда локальный хост и удаленный хост или оба работают правильно, но на каком-то из маршрутизаторов возникают проблемы. К счастью, вы можете использовать команду tracert для диагностики подобных проблем.

Команда tracert фактически основана на команде ping. Основная идея tracert заключается в том, что он отправляет ICMP-пакет на удаленный хост, но со значением TTL, равным единице. Это приводит к тому, что первый обнаруженный маршрутизатор отправляет обратно сообщение TTL, истекшее при передаче. Это сообщение содержит информацию, идентифицирующую маршрутизатор, создавший сообщение. Идентификация маршрутизатора документируется, а затем снова отправляется пакет ICMP, но на этот раз со значением TTL, равным двум. На этот раз пакет ICMP достигает второго маршрутизатора до того, как истечет значение TTL. Этот процесс повторяется, каждый раз увеличивая значение TTL на единицу, пока хост в конце концов не будет достигнут. Это позволяет просматривать отчет обо всех маршрутизаторах между локальным и удаленным хостами. Иногда вы можете использовать эту информацию для выявления проблем на маршруте, которые могут повлиять на транспортный поток.

Использование команды tracert очень похоже на использование команды ping. Для этого просто введите команду tracert, а затем IP-адрес или полное доменное имя удаленного хоста. На рисунке B показано бездействие команды tracert.

Изображение 20339
Рисунок B.
Команду tracert можно использовать для выявления проблем с потоком трафика.

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

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

Изображение 20340
Рисунок C.
Вы можете выполнить визуальную трассировку, чтобы определить географическое положение хоста.

Вывод

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

  • Устранение неполадок с подключением в сетях Windows (часть 1)

  • Устранение неполадок с подключением в сетях Windows (часть 2)

  • Устранение неполадок с подключением в сетях Windows (часть 3)

  • Устранение неполадок с подключением в сетях Windows (часть 5)

подпишитесь на информационный бюллетень обновления статей WindowsNetworking.com в режиме реального времени