Настройка сети в операционной системе Windows 7. Часть 8 – Протокол ICMP и устранение неполадок сетевых подключений

OSzone.net » Microsoft » Windows 7 » Сеть » Настройка сети в операционной системе Windows 7 » Настройка сети в операционной системе Windows 7. Часть 8 – Протокол ICMP и устранение неполадок сетевых подключений
Автор: Дмитрий Буланов
Иcточник: dimanb.wordpress.com
Опубликована: 13.10.2010

Введение

Протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol) – это сервисный протокол, который является обязательным стандартом TCP/IP, используется для оповещения об ошибках и управляет информацией и сведениями о состоянии для протокола IP. ICMP сообщения обычно отправляются в тех случаях, когда IP-датаграмма не может попасть к узлу назначения, шлюз не может перенаправить датаграммы с текущей скоростью передачи, а также когда IP-маршрутизатор перенаправляет узел-отправитель на другой, более выгодный маршрут к узлу назначения. Типы ICMP-сообщений различаются по заголовку ICMP. Длина заголовка ICMP-сообщения постоянная – 8 байтов, где назначение первых четырех байтов всегда одинаково, а назначение оставшихся четырех байтов зависит от типа ICMP-сообщения. Так как ICMP-сообщения переносятся IP-датаграммами, то их доставка не гарантируется. В следующей таблице отображены некоторые типы ICMP-сообщений:

ТипКодОписаниеНазначениеКто обрабатывает
00EchoОтвет пользовательскому приложениюПользовательское приложение
3Получатель недоступенОшибкаПользовательское приложение
0Сеть недоступна
1Узел недоступен
2Протокол недоступен
3Порт недоступен
4Нужна фрагментация, но бит фрагментации не установлен
5Ошибка маршрута
6Неизвестная сеть назначения
7Неизвестен узел назначения
9Сеть получателя административно запрещена
10Узел получателя административно запрещен
11Сеть недоступна для TOS
12Узел недоступен для TOS
13Связь запрещена сетевым фильтром
40Подавление источникомОшибкаЯдро ОС для TCP
5ПеренаправлениеОшибкаЯдро ОС
0Перенаправление для сети
1Перенаправление для узла
2Перенаправление для TOS и сети
3Перенаправление для TOS и узла
80Echo-запросЗапрос приложения пользователяЯдро ОС
90Объявление маршрутизацииОтвет приложения пользователяПроцесс пользователя
11Истечение времениОшибкаПроцесс пользователя
0TTL = 0
1Вышло время сбора фрагмента

По умолчанию этот протокол блокируется брандмауэром Windows Vista, Windows 7, Windows Server 2008/2008 R2, а также некоторыми маршрутизаторами и функционально независимыми брандмауэрами. Для того чтобы вы могли использовать функционал устранения неполадок сетевых подключений, создайте исключение для ICMP в брандмауэре Windows или включите общий доступ к файлам в диалоговом окне «Центр управления сетями и общим доступом». В этой статье вы узнаете о таких утилитах ICMP, как Ping, Tracert, а также PathPing.

Использование утилиты Ping

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

Утилита Ping помогает проверить соединение на IP-уровне и используется для тестирования сетевых подключений, позволяя отправить Echo-запрос по протоколу ICMP на имя или IP-адрес целевого узла. Чаще всего данная утилита используется в том случае, когда необходимо проверить, может ли ведомый компьютер подключиться к сети TCP/IP или сетевым ресурсам. Для того чтобы воспользоваться командой ping, откройте окно командной строки, введите там команду ping, укажите имя или IP-адрес удаленного компьютера или сервера, подключение к которому вам нужно проверить и, в случае необходимости, укажите дополнительные параметры. Утилита ping отображает Echo-ответы и ведет простую статистику, из которой понятно, сколько пакетов получено, а сколько потеряно. Если удаленный компьютер реагирует на запрос ping, то подключение к удаленному компьютеру работает. По умолчанию утилита ping ожидает каждый ответ в течение четырех секунд и в случае неудачи отображает сообщение «Превышен интервал ожидания для запроса», то есть, если вы выполняете команду по каналу с большим временем задержки, вам придется увеличить период ожидания. Так как при преобразовании имени компьютера в IP-адрес команда ping использует разрешение имен по типу Windows Sockets и если данная команда успешно выполняется для адреса, но не для имени, то возможно был указан не правильный адрес или проблема может быть связана с разрешением имени. Для этой команды вы можете использовать следующие параметры:

Пример использования данной команды:

Ping 89.108.123.52 –w 5000 –n 7

*
Увеличить рисунок

Рис. 1. Использование утилиты Ping

Использование утилиты Tracert

Помимо утилиты Ping при возникновении неполадок связи вы также можете воспользоваться командой Tracert для отслеживания пути к конечной точке в сети, а также тестирования на этом пути каждого маршрутизатора и отображения времени, которое было затрачено на этот прыжок. Путь до точки назначения определяется посредством пересылки в точку назначения Echo-запросов протокола ICMP или сообщений ICMPv6 с постоянным увеличением значений срока жизни TTL. Каждый маршрутизатор, через который проходит путь, обязан перед дальнейшей пересылкой пакета уменьшить значение его поля TTL, по меньшей мере, на 1. Путь, который выводится в окне командной строки, является списком ближайших интерфейсов маршрутизаторов, которые расположены на пути между узлом источника и местом назначения. В том случае, когда параметр TTL становится равным 0, маршрутизатор посылает системе-источнику сообщение ICMP об истечении времени. Максимальное количество переходов по умолчанию равно 30, но вы его можете изменить, используя дополнительный параметр. Некоторые маршрутизаторы не посылают сообщения об истечении времени для пакетов с нулевыми значениями TTL. Для команды tracert такие маршрутизаторы не видны, и в случае перехода они обозначаются строкой звездочек. В том случае, если путь от ведомого до искомого сервера пролегает через промежуточные маршрутизаторы, вы можете проверить реагирование каждого промежуточного маршрутизатора. Для того чтобы воспользоваться функционалом текущей утилиты, откройте окно командной строки, введите команду tracert, а затем имя или адрес конечного компьютера или сервера и дополнительные параметры. Для этой команды используются следующие параметры:

Пример использования:

Tracert oszone.net –w 7000

*
Увеличить рисунок

Рис. 2. Использование утилиты Tracert

Использование утилиты PathPing

Утилиты Ping и Tracert сочетают в себе хорошие возможности, предназначенные для тестирования сетевых подключений, но существует команда, которая совмещает в себе все эти возможности, а также содержит некоторые дополнительные особенности. Утилита PathPing отправляет многочисленные сообщения с Echo-запросом каждому маршрутизатору, который находится между исходным пунктом и пунктом назначения, после чего, на основании пакетов, полученных от каждого из них, вычисляет процентное соотношение пакетов, возвращаемых в каждом прыжке. Так как утилита PathPing показывает степень потери пакетов на каждом маршрутизаторе или узле, с ее помощью вы можете точно определить маршрутизаторы и узлы, на которых возникают сетевые проблемы. Эквивалентно утилите Tracert, утилита PathPing идентифицирует маршрутизаторы, которые расположены на пути к исходному узлу, после чего она периодически в течение заданного времени обменивается пакетами со всеми маршрутизаторами и на основании числа пакетов, полученных от каждого из них, обрабатывает статистику. В отличие от предыдущих утилит, во избежание перегрузки сети пакеты должны передаваться через довольно большие интервалы времени. Подобно утилите Tracert, утилита PathPing сначала выводит путь, а после чего, в течение 90 секунд выдает сообщение о том, что она занята. Именно в этот период происходит сбор сведений со всех маршрутизаторов, перечисленных выше и со всех соединений между ними. С данной командой вы можете использовать следующие параметры:

Пример использования:

PathPing –n –w 5000 oszone.net

*
Увеличить рисунок

Рис. 3. Использование утилиты PathPing

Заключение

В этой статье вы узнали о назначении протокола межсетевых управляющих сообщений ICMP, а также о таких утилитах ICMP, как Ping, Tracert и PathPing, которые помогают проверять соединение на IP-уровне и используются для тестирования сетевых подключений, позволяя отправить Echo-запрос по протоколу ICMP на имя или IP-адрес целевого узла. Утилита Ping используется в том случае, когда необходимо проверить, может ли ведомый компьютер подключиться к сети TCP/IP или сетевым ресурсам. Утилита Tracert предназначена для отслеживания пути к конечной точке в сети, а также тестирования на этом пути каждого маршрутизатора и отображения времени, которое было затрачено на этот прыжок. А утилита PathPing, в свою очередь, совмещает все возможности вышеперечисленных утилит, а также на основании пакетов, полученных от каждого из них, вычисляет процентное соотношение пакетов, возвращаемых в каждом прыжке.


Ссылка: http://www.oszone.net/13503/icmp