Решение проблем с соединениями в сетях Windows (часть 4)

Published on Февраль 19, 2009 by   ·   Комментариев нет

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам

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

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

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

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

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

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

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

Ping 192.168.1.1 ‘L 1024

Реальный пример использования этой команды показан на рисунке A.

Увеличить ttl пакета

Рисунок A: Добавление переключателя ‘L к команде позволяет увеличивать размер ICMP пакета

Срок жизни пакета (Time To Live)

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

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

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

iphone spy app

Трассировка маршрута

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

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

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

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

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

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

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

Как вызвать потерю пакетов?

Рисунок C: Можно выполнять визуальную трассировку tracert для определения географического расположения хоста

Заключение

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

www.windowsnetworking.com

zp8497586rq


Смотрите также:

Readers Comments (Комментариев нет)

Comments are closed.



Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]