Протокол IP : IP-маршрутизация

Использование расширенных команд ping и traceroute

28 июля 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (28 июля 2006) | Отзыв

Содержание

Введение
Предварительные условия
     Требования
     Используемые компоненты
     Условные обозначения
Команда ping
     Расширенная команда ping
     Описание полей команды ping
     Команда traceroute
     Расширенная команда traceroute
     Описания полей команды traceroute
Связанные обсуждения сообщества поддержки Cisco
Дополнительные сведения

Введение

В этом документе объясняется, как использовать расширенные команды ping и traceroute. Сведения о стандартных командах ping и traceroute широко представлены в следующих документах:

Предварительные условия

Требования

Данный документ требует наличия основных сведений о командах ping и traceroute, ссылки на подробные описания которых приведены в разделе "Введение".

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного и аппаратного обеспечения:

  • ПО Cisco IOS® версии 12.2(10b)

  • Маршрутизаторы всех серий Cisco

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

Условные обозначения

Дополнительные сведения о применяемых в документе обозначениях см. в Условные обозначения, используемые в технической документации Cisco

Команда ping

Команда ping (Packet InterNet Groper) является очень распространенным средством для устранения неполадок, связанных с доступом к устройствам. В ней для определения активности удаленного хоста используются два типа сообщений протокола ICMP – эхо-запрос и эхо-ответ. Команда ping также измеряет количество времени, необходимого для получения эхо-ответа.

Команда ping сначала посылает пакет эхо-запроса на адрес, а затем ожидает ответа. Эхо-тест является удачным только в том случае, если ECHO REQUEST попадает в место назначения, и место назначения может отправить ECHO REPLY к источнику эхо-теста в течение заданного временного интервала.

Расширенная команда ping

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

Описания полей команды ping

В этой таблице приведены описания полей команды ping. Эти поля могут быть изменены с помощью расширенной команды ping.

Поле

Описание

Protocol [ip]:

Запрос поддерживаемого протокола. Введите appletalk, clns, ip, novell, apollo, vines, decnet или xns. По умолчанию используется ip.

Target IP address:

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

Repeat count [5]:

Число ping-пакетов, передаваемых на адрес назначения. Значение по умолчанию – 5.

Datagram size [100]:

Размер ping-пакета (в байтах). По умолчанию: 100 байт

Timeout in seconds [2]:

Интервал времени ожидания. По умолчанию: 2 секунды. Запрос "ICMP-эхо" считается успешным, только если пакет ЭХО-ОТВЕТА получен до этого временного промежутка.

Extended commands [n]:

Указывает на появление или отсутствие дополнительных команд. По умолчанию не используется.

Source address or interface:

Интерфейс или IP адрес маршрутизатора будут использованы в качестве адреса отправителя для тестирования. Обычно IP-адрес для использования исходящим интерфейсом выбирает маршрутизатор. Интерфейс также может использоваться, но с корректным синтаксисом, как показано ниже:

Source address or interface: ethernet 0 

Примечание. Выше приведены неполные выходные данные расширенной команды ping. Интерфейс не может быть записан как e0.

Type of service [0]:

Определяет тип обслуживания (ToS). Запрошенный ToS размещен в каждом тестовом пакете, но нет гарантии, что все маршрутизаторы смогут обработать ToS. Это выбор качества Интернет-обслуживания. Значение по умолчанию – 0.

Set DF bit in IP header? [no]:

Задает необходимость включения бита "Не фрагментировать" (DF) в пакете ping-трассировки. Если необходимость будет подтверждена, параметр "Не фрагментировать" не разрешает фрагментацию пакета, когда он должен пройти через сегмент с меньшей максимальной единицей передачи данных (MTU), и выдается сообщение об ошибке от устройства, которое должно было фрагментировать пакет. Это используется для определения минимальной единицы MTU на тракте к адресату. По умолчанию используется значение "no".

Validate reply data? [no]:

Указывает, следует ли проверять ответные данные. По умолчанию используется значение "no".

Data pattern [0xABCD]

Задает шаблон данных. Для устранения ошибок кадрирования и проблем синхронизации на линиях последовательной передачи используются разные шаблоны данных. По умолчанию используется шаблон [0xABCD].

Loose, Strict, Record, Timestamp, Verbose[none]:

Параметры IP-заголовка. Это приглашение предлагает выбрать более одного параметра. Типичные сбои:

  • Verbose – автоматически выбирается вместе с любым другим параметром.

  • Record является очень полезным параметром: он позволяет показать адреса узлов (до девяти), через которые проходит пакет.

  • Loose - влияет на тракт за счет определения адреса (адресов) узлов, через которые выполняется передача пакета.

  • Strict используется для указания узлов, через которые должен пройти пакет, но при этом прохождение через другие узлы не разрешается.

  • Timestamp используется для определения времени полного обхода маршрутов к определенным хостам.

Различие между использованием параметра Record этой команды и использованием команды traceroute состоит в том, что параметр Record этой команды не только информирует об участках тракта, пройденных эхо-запросом (ping) до места назначения, но также информирует об участках, через которые запрос прошел на обратном пути. Команда traceroute не предоставляет информацию о тракте, пройденном эхо-ответом. Команда traceroute выдает приглашения для заполнения обязательных полей. Команда traceroute устанавливает запрошенный параметр для каждого теста. Однако нет гарантии, что все маршрутизаторы (или конечные узлы) обработают эти параметры. По умолчанию не используется.

Sweep range of sizes [n]:

Позволяет менять размеры отправляемых эхо-пакетов. Эта команда используется для определения минимальных размеров MTU, настроенных для узлов на тракте к адресату. Таким образом, устраняется снижение производительности, вызванное фрагментацией пакетов. По умолчанию используется значение "no".

!!!!!

Каждый восклицательный знак (!) указывает на получение ответа. Точка (.) означает, что время ожидания ответа сетевым сервером истекло. Описание остальных символов см. в разделе символы эхо-тестирования.

Success rate is 100 percent

Процент пакетов, успешно возвращенных маршрутизатору. Результаты со значением менее 80 процентов обычно указывают на наличие проблем.

round-trip min/avg/max = 1/2/4 ms

Интервалы времени полного обхода для эхо-пакетов протокола, включая минимальные/средние/максимальные значения (в миллисекундах)

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

ext_ping_trace-01.gif

Для выполнения эхо-тестирования из хоста 1 к хосту 2 каждый хост должен указать маршрутизатору шлюз по умолчанию на соответствующем сегменте LAN, или он должен обменяться сетевой информацией с маршрутизаторами, использующими некоторый протокол маршрутизации. Если для одного из хостов задан неверный шлюз или указаны неверные маршруты в таблице маршрутизации, он не сможет отправлять пакеты на адреса, отсутствующие в ARP (Кэш протокола разрешения адресов). Также возможно, что хосты не могут обмениваться ping -пакетами по причине того, что для одного из маршрутизаторов не указан маршрут в подсеть, из которой хост посылает свои эхо-пакеты.

Пример

Ниже приведен пример команды расширенной ping команды, источник которой – интерфейс Ethernet 0 маршрутизатора А, а получатель – интерфейс Ethernet маршрутизатора В. Если эхо-тестирование выполняется успешно, проблем маршрутизации нет. Маршрутизатор A имеет доступ в Ethernet маршрутизатора B, а маршрутизатор B имеет доступ в Ethernet маршрутизатора A. А также шлюзы по умолчанию для обоих узлов настроены корректно.

Если выполнение расширенной команды ping из маршрутизатора A не удается, значит возникли проблемы маршрутизации. Проблема маршрутизации может быть на любом из трех маршрутизаторов. Маршрутизатору А может недоставать маршрута в подсеть Ethernet маршрутизатора B или в подсеть между маршрутизаторами C и B. Маршрутизатору B может недоставать маршрута в подсеть Ethernet маршрутизатора A или в подсеть между маршрутизаторами C и A; а маршрутизатор C может не иметь маршрута в подсеть сегментов Ethernet маршрутизаторов A или B. Следует устранить проблемы маршрутизации, и после этого попытаться выполнить команду ping из хоста 1 к хосту 2. Если хост 1 все еще не может связаться с хостом 2, следует проверить шлюзы по умолчанию обоих хостов. Возможность соединения между Ethernet маршрутизатора А и Ethernet маршрутизатора В проверяется с помощью расширенной команды ping.

Если обычная команда ping посылается из интерфейса Ethernet от маршрутизатора А к маршрутизатору В, адрес источника этого эхо-пакета является IP-адресом исходящего интерфейса, то есть, адресом последовательного интерфейса 0 (172.31.20.1). Когда маршрутизатор В отвечает на эхо-пакет, этот ответ отсылается на адрес источника (172.31.20.1). Таким образом проверяется только связь между последовательным интерфейсом 0 маршрутизатора А (172.31.20.1) и интерфейсом Ethernet маршрутизатора B (192.168.40.1).

Чтобы проверить связь между интерфейсами Ethernet 0 маршрутизатора A (172.16.23.2) и Ethernet 0 маршрутизатора B (192.168.40.1), используйте команду расширенную команду ping. Расширенная команда ping дает возможность указать адрес источника ping-пакета, как показано ниже.

Router A>enable
Router A#ping
Protocol [ip]:
Target IP address: 192.168.40.1
!--- Адрес, на который должен быть выполнен эхо-запрос.

Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 172.16.23.2 
!--- Этот адрес является ичточником ping-пакетов.

Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 162.108.21.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 36/97/132 ms  
!--- Эхо-запрос выполнен успешно.

Router A#

Следующий пример содержит расширенные команды и подробности изменений:

Router A>enable
Router A#ping

Protocol [ip]:
!--- Имя протокола.


Target IP address: 192.168.40.1
!--- Адрес, на который должен быть выполнен эхо-запрос.


Repeat count [5]: 10
!--- Число ping-пакетов, передаваемых на адрес назначения.


Datagram size [100]:
!--- Размер ping-пакета. Значение по умолчанию – 100 байт.


Timeout in seconds [2]:
!--- Интервал времени ожидания. Эхо-запрос может быть успешным, только если: 
!--- Пакет ECHO REPLY получен до истечения данного промежутка времени.


Extended commands [n]: y	
!--- Если необходимо получить параметры расширенной команды, выберите "yes" 
!--- (Loose Source Routing, Strict Source Routing, Record route и Timestamp).


Source address or interface: 172.16.23.2 
!--- Этот адрес является источником ping-пакетов и должен быть IP-адресом 
!--- или полным именем интерфейса (например, Serial0/1 или 172.16.23.2).


Type of service [0]:
!--- Определяет тип обслуживания (ToS).


Set DF bit in IP header? [no]:
!--- Задает необходимость включения бита DF в 
!--- пакет эхо-запроса.


Validate reply data? [no]:
!--- Указывает, следует ли проверять ответные данные.


Data pattern [0xABCD]:
!--- Указывает шаблон данных в полезной нагрузке пакета.  Некоторые физические каналы 
!--- могут иметь проблемы, связанные с шаблоном данных. Например, последовательные каналы 
!--- с неверно настроенной кодировкой канала.  Полезные шаблоны данных для тестирования 
!--- включают шаблоны "все 1" (0Xffff), шаблоны "все 0" (0x0000), а также чередование  
!--- единиц и нулей (0Xaaaa).


Loose, Strict, Record, Timestamp, Verbose[none]:
!--- Параметры IP-заголовка.


Sweep range of sizes [n]: y
!--- Если необходимо менять размеры отправляемых эхо-пакетов, выберите "yes".

	
Sweep min size [36]:
Sweep max size [18024]:
Sweep interval [1]:
	
Sending 179890, [36..18024]-byte ICMP Echos to 162.108.21.8, timeout is 2 seconds:

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

!--- 18024 (верхний предел диапазона) - 36 (нижний предел диапазона) = 17988 (байт в диапазоне) 
!--- 17988 (байт в диапазоне) / 1 (интервал между изменениями) = 17988  (шаги в диапазоне)
!--- 17988 (байт в диапазоне) + 1 (первое значение) = 17989 (значения, подлежащие проверке)
!--- 17989 (значения, подлежащие проверке) * 10 (счетчик повторений) = 179890 (эхо-запросы, подлежащие отправке)

!--- Чтобы уменьшить значение, необходимо увеличить интервал между изменениями или уменьшить 
!--- счетчик повторений, можно также сократить разницу между 
!--- минимальным и максимальным уровнем изменений.  На базе предыдущего примера 
!--- количество 17890 является ожидаемым значением, предпринимается попытка выполнить запрос "ICMP-эхо" 17890 раз.


Packet sent with a source address of 172.16.23.2
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent, round-trip min/avg/max = 1/2/4 ms


!--- Запрос "ICMP-эхо" успешно выполнен.


Router A#

Команда трассировки

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

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

Устройство, выполняющее команду traceroute, отсылает последовательность блоков UDP (Протокол датаграмм пользователя) (с увеличением значений TTL (время существования) на неверный адрес порта (по умолчанию 33434) на удаленном хосте.

Сначала посылаются три датаграммы, причем поле TTL каждой датаграммы установлено в значение 1. Значение TTL, равное 1, является причиной "тайм-аута" датаграммы при достижении первого маршрутизатора на ее тракте. Этот маршрутизатор выдает ICMP сообщение о превышении времени, что означает истечение срока действия датаграммы.

Затем посылаются еще три сообщения UDP, каждое со значением 2 в поле TTL. Это значит, что второй маршрутизатор на тракте к адресату вернет сообщения ICMP об истечении срока.

Этот процесс продолжается до тех пор, пока пакеты не достигнут пункта назначения, а система, инициировавшая проверку прохождения сигнала по сети, не получит ICMP-сообщения об истечении времени от каждого маршрутизатора по пути к пункту назначения. Как только эти датаграммы пытаются получить доступ к неверному порту (по умолчанию 33434) на хосте назначения, то этот узел начинает отвечать ICMP-сообщениями "port unreachable", что значит "порт недоступен". Это событие служит признаком того, что программа traceroute завершена.

Расширенная команда traceroute

Расширенная команда traceroute – разновидность команды traceroute. Расширенная команда traceroute используется для просмотра пути, по которому пакеты доходят до пункта назначения. Эта команда также может быть использована для проверки маршрутизации. Это удобно для устранения петель маршрутизации или для определения, на каком участке происходит потеря пакетов (если маршрут отсутствует или пакеты блокируются списком управления доступом (ACL) или брандмауэром). Вы можете выполнить расширенную команду ping, чтобы определить тип проблемы соединения, а затем с помощью расширенной команды traceroute выяснить местоположение проблемы.

Сообщение об ошибке превышения лимита времени указывает на то, что сервер промежуточной связи "увидел" и отбросил пакет. Сообщение об ошибке недоступности пункта назначения указывает на то, что узел назначения получил тестовый пакет и отклонил его, так как не может отправить пакет. Если таймер срабатывает до прихода ответа, команда trace отображает звездочку (*). Выполнение команды заканчивается, когда происходит следующее:

  • конечная точка отвечает

  • максимальное значение TTL превышено

  • пользователь прерывает трассировку с помощью управляющей последовательности

    Примечание. Активизировать эту управляющую последовательность можно с помощью одновременного нажатия клавиш Ctrl, Shift и 6.

Описания полей команды traceroute

В этой таблице содержатся описания полей команды traceroute:

Поле

Описание

Protocol [ip]:

Запрос поддерживаемого протокола. Введите appletalk, clns, ip, novell, apollo, vines, decnet или xns. По умолчанию используется ip.

Target IP addres

Необходимо указать имя хоста или IP-адрес. Нет значения по умолчанию.

Source address:

Интерфейс или IP адрес маршрутизатора будут использованы в качестве адреса отправителя для тестирования. Обычно IP-адрес для использования исходящим интерфейсом выбирает маршрутизатор.

Numeric display [n]:

По умолчанию имеется как символическое, так и цифровое отображение; тем не менее можно отменить символическое отображение.

Timeout in seconds [3]:

Количество секунд ожидания ответа на тестовый пакет. Значение по умолчанию равно трем секундам.

Probe count [3]:

Число пробных пакетов, которые требуется отправить на каждом уровне TTL. Значение по умолчанию равно 3.

Minimum Time to Live [1]:

Значения TTL для первых пробных пакетов. Значение по умолчанию - 1, но для отмены отображения известных скачков может быть установлено более высокое значение.

Maximum Time to Live [30]:

Максимальное значение TTL, которое может использоваться. Значение по умолчанию – 30. Выполнение команды traceroute завершается при достижении точки назначения или данного значения.

Port Number [33434]:

Порт назначения, используемый пробными сообщениями UDP. Значение по умолчанию — 33434.

Loose, Strict, Record, Timestamp, Verbose[none]:

Параметры IP-заголовка. Можно указать любое сочетание. Команда traceroute выдает приглашения для заполнения обязательных полей. Запомните, что команда traceroute устанавливает запрашиваемый параметр для каждого теста; однако нет гарантии, что все маршрутизаторы (или конечные узлы) обработают эти параметры.

Пример

Router A>enable
Router A#traceroute
Protocol [ip]:
Target IP address: 192.168.40.2   
!--- Адрес, к которому выполняется трассировка тракта.

Source address: 172.16.23.2
Numeric display [n]:
Timeout in seconds [3]:
Probe count [3]:
Minimum Time to Live [1]:
Maximum Time to Live [30]:
Port Number [33434]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Type escape sequence to abort.
Tracing the route to 192.168.40.2

  1 172.31.20.2 16 msec 16 msec 16 msec
  2 172.20.10.2 28 msec 28 msec 32 msec
  3 192.168.40.2 32 msec 28 msec *   
!--- Трассировка выполнена успешно.


Router A#

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

Связанные обсуждения сообщества поддержки Cisco

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


Дополнительные сведения


Document ID: 13730