Протокол IP : Групповая IP-адресация

Основные средства устранения проблем при многоадресной рассылке

20 октября 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Перевод, выполненный профессиональным переводчиком (6 августа 2008) | Английский (22 августа 2015) | Отзыв


Содержание


Введение

Этот документ объясняет различные инструменты и методы устранения неполадок в многоадресных сетях. Для устранения неполадок в многоадресных сетях необходимо иметь достаточные знания о различных инструментах интерфейса командной строки и основных информационных полях в выходных данных команд.

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

Требования

Для этого документа отсутствуют особые требования.

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

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

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

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

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

Стратегии устранения неполадок

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

Таблица пересылки служит для сопоставления элементов информации по устранению неполадок для проверки корректности работы каждого раздела таблицы:

  Источник Сеть Приемники
Сигнализация NA Проверка сетевой сигнализации Проверка сигнализации приемника
Движение пакетов Проверка потока пакетов источника Проверка потока сетевых пакетов Проверка потока пакетов приемника

Следующий подраздел представляет подробное описание инструментов для проверки и устранения широко распространенных проблем.

Проверка потока пакетов источника

Выполните следующие действия для определения фактической посылки пакетов источником и вставки соответствующих полей пакета:

  1. Проверьте счетчики интерфейса на хосте. Во-первых, проверьте счетчики интерфейса (если вы находитесь на системе UNIX, используйте команду netstat) на исходном хосте, чтобы видеть, передает ли это пакеты. Если это не так, проверьте на предмет ошибок и неправильной настройки в стеке хоста и приложения.

  2. Используйте команду show ip igmp groups interface-name для проверки вышестоящего маршрутизатора, чтобы увидеть, получил ли он сообщение о принадлежности к группе на интерфейсе, подключенном к источнику напрямую.

  3. Проверьте значение TTL в приложении, отправляющем пакеты; оно должно быть больше 1. Если приложение отправляет пакеты при значении TTL меньше 1, трафик будет отброшен в первом же вышестоящем маршрутизаторе. Используйте команду show ip traffic и убедитесь, что значение счетчика "bad hop count" увеличивается. Любой пакет со значением TTL равным 1 или меньше порога TTL, установленного через интерфейс при помощи команды ip multicast ttl-threshold, будет отброшен, и значение счетчика "bad hop count" увеличится на единицу. Выполните команду show ip igmp interface interface-name, чтобы проверить значение порога интерфейса TTL.

  4. Используйте команды количество show ip mroute и show ip mroute active для проверки первого вышестоящего маршрутизатора или коммутатора, чтобы видеть, видит ли это пакеты групповой адресации из источника. Выходные данные команды показывают статистику потока трафика для каждой пары (S,G). Если никаких данных о трафике не представлено, проверьте сигнализацию приемника.

  5. Воспользуйтесь командой debug ip mpacket на ближайшем вышестоящем маршрутизаторе с помощью аргумента detail или acl для детализации. При интенсивном многоадресном трафике данную команду необходимо использовать с осторожностью. В крайнем случае, можно применить на маршруте команду debug ip mpacket. Используйте аргумент detail, чтобы просмотреть заголовки пакетов в выходных данных debug и списков доступа для проверки трафика от определенных источников. Помните, что данная команда существенно влияет на весь остальной трафик, и используйте ее с осторожностью.

Проверка сетевой сигнализации

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

Устранение проблем разреженного режима PIM

Для устранения неполадок разреженного режима PIM выполните следующие действия:

  1. Убедитесь, что многоадресное IP-маршрутизация включена на всех многоадресных маршрутизаторах.

  2. Используйте команду show ip pim neighbor для проверки таймера истечения срока действия и режима, чтобы гарантировать успешное установление соседа PIM и искать любое возможное подключение и проблемы таймера, которые могли бы запретить установление соседства PIM. Если необходимо, используйте подкоманду ip pim [version] [dense-mode] [sparse-mode] [sparse-dense-mode] interface level, чтобы установить верный режим и версию для успешного установления PIM-соседей.

  3. Выполните команду show ip pim rp mapping, чтобы убедиться в правильном сопоставлении RP-групп и проверить таймер отключения, если настроена автоматическая обработка маршрутов (auto-RP). Используйте команду debug ip pim auto-rp для обнаружения сбоев auto-RP. Если не наблюдается никаких сопоставлений PIM-группы и RP, проверьте настройки Auto-RP или настройте статическое сопоставление группы-RP с помощью команды ip pim rp-address ip address of RP [access-list] [named-accesslist] [override]. Конфигурация auto-rp может быть выполнена со значением TTL области interface-id ip pim send-rp-announce и командами значения TTL области interface-id ip pim send-rp-discovery. Эти команды должны быть настроены, только если существуют конфигурации auto-rp.

  4. Выполните команду show ip rpf ip address of source, чтобы проверить сбой RPF для адреса источника. Режим PIM плотности и PIM сберегающий режим посылают сообщения сокращения назад к источнику, если трафик достигает non-RPF точка-в-точку (point-to-point) интерфейса. С помощью команды debug ip pim можно определить возможные причины отказа в работе PIM-сети – она выявляет отличия полученных выходных данных от типовых. Используйте эти выходные данные, чтобы определить три дискретных этапа в разреженном режиме PIM: соединение, регистрация и SPT-коммутация. Команда show ip mroute позволяет вам смотреть пустые записи в Списках исходящих интерфейсов и сокращенные записи в таблице mroute.

Проверка потока сетевых пакетов

Используйте эти команды для проверки потока многоадресных пакетов по всей сети:

Проверка сигнализации приемника

Выполните следующие действия для проверки сигнализации приемника:

  1. Используйте команду show ip igmp groups в первом вышестоящем маршрутизаторе, связанном с получателем, чтобы проверить, что интерфейс присоединился к группе.

  2. Выполните команду ping для проверки доступности хоста и первого вышестоящего маршрутизатора.

  3. Выполните команду show ip igmp interface для проверки IGMP-версии интерфейса.

    Примечание: Помните, что маршрутизатор, настроенный с IGMP версии 1, считает пакеты IGMP версии 2 полученными от хоста как недопустимые. Эти IGMP-пакеты не будут объединяться с группой до тех пор, пока маршрутизатор не начнет получать от хоста IGMP-пакеты версии 1.

  4. Воспользуйтесь командой debug ip igmp для дальнейшего устранения неполадок сигнализации приемника.

Проверка потока пакетов приемника

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

  1. Выполните команду netstat в операционной системе UNIX для проверки статистики интерфейса приемника.

  2. Убедитесь в том, что стек TCP/IP правильно установлен и сконфигурирован.

  3. Проверьте правильность установки и настройки клиентского приложения Multicast receiver.

  4. В сегменте многоадресного доступа обратите внимание на появление дублируемых многоадресных пакетов.

Мощный инструментарий

Команды, приведенные в этом разделе, могут быть очень полезны в устранении неполадок, особенно при тестировании сетевого пакетного потока и поиске точек неисправности в многоадресной сети. Для большего количества расширенных сведений на командах программного средства групповой адресации обратитесь к Командам Программных средств Групповой IP-адресации.

mstat

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

Router# mstat lwei-home-ss2 171.69.58.88 224.0.255.255
Type escape sequence to abort
Mtrace from 171.69.143.27 to 171.69.58.88 via group 224.0.255.255
>From source (lwei-home-ss2.cisco.com) to destination (lwei-ss20.cisco.com)
Waiting to accumulate statistics......
Results after 10 seconds:
 
  Source        Response Dest    Packet Statistics For    Only For Traffic
171.69.143.27    171.69.62.144    All Multicast Traffic     From 171.69.143.27
     |       __/  rtt 48   ms   Lost/Sent = Pct  Rate     To 224.0.255.255
     v      /     hop 48   ms   ---------------------     --------------------
171.69.143.25   lwei-cisco-isdn.cisco.com  
     |     ^      ttl   1   
     v     |      hop 31   ms    0/12 = 0%      1 pps    0/1 = --%  0 pps
171.69.121.84   
171.69.121.45   eng-frmt12-pri.cisco.com  
     |     ^      ttl   2   
     v     |      hop -17  ms    -735/12 = --%      1 pps    0/1 = --%  0 pps
171.69.121.4    
171.69.5.27     eng-cc-4.cisco.com  
     |     ^      ttl   3   
     v     |      hop -21  ms    -678/23 = --%      2 pps    0/1 = --%  0 pps
171.69.5.21     
171.69.62.130   eng-ios-2.cisco.com  
     |     ^      ttl   4   
     v     |      hop 5    ms    605/639 = 95%      63 pps    1/1 = --%  0 pps
171.69.62.144   
171.69.58.65    eng-ios-f-5.cisco.com  
     |      \__   ttl   5   
     v         \  hop 0    ms        4         0 pps           0    0 pps
171.69.58.88    171.69.62.144   
  Receiver      Query Source

mrinfo

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

Router# mrinfo 
  192.1.7.37 (b.cisco.com) [version cisco 11.1] [flags: PMSA]: 
  192.1.7.37 -> 192.1.7.34 (s.cisco.com) [1/0/pim] 
  192.1.7.37 -> 192.1.7.47 (d.cisco.com) [1/0/pim] 
  192.1.7.37 -> 192.1.7.44 (d2.cisco.com) [1/0/pim] 
  131.9.26.10 -> 131.9.26.9 (su.bbnplanet.net) [1/32/pim]

Индикаторы в выходных данных имеют следующие значения:

  • P = prune-capable

  • M = с поддержкой mtrace

  • S = с поддержкой SNMP

  • A = c поддержкой Auto-RP

mtrace

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

Router# mtrace 171.69.215.41 171.69.215.67 239.254.254.254 
Type escape sequence to abort. 
Mtrace from 171.69.215.41 to 171.69.215.67 via group 239.254.254.254 
From source (?) to destination (?) 
Querying full reverse path... 
0  171.69.215.67 
-1  171.69.215.67 PIM  thresh^ 0  0 ms 
-2  171.69.215.74 PIM  thresh^ 0  2 ms 
-3  171.69.215.57 PIM  thresh^ 0  894 ms 
-4  171.69.215.41 PIM  thresh^ 0  893 ms 
-5  171.69.215.12 PIM  thresh^ 0  894 ms 
-6  171.69.215.98 PIM  thresh^ 0  893 ms

ping

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

R3# ping 239.255.0.1 
 Type escape sequence to abort. 
Sending 1, 100-byte ICMP Echos to 239.255.0.1, timeout is 2 seconds: 
Reply to request 0 from 172.16.12.2, 16 ms 
Reply to request 0 from 172.16.7.2, 20 ms 

команды "show"

Команды в этой секции помагают вам собрать полезную информациию при устранении неполадок многоадрессной проблемы. Дополнительные сведения о командах show см. в Справочном руководстве по командам многоадресной передачи IP.

Совет: Если ваши ответы команды показа вялы, большая часть вероятной причины - то, что маршрутизатор в настоящее время выполняет IP domain lookup для IP-адресов в команде показа. Можно отключить IP domain lookup, можно использовать команду no ip domain lookup, под режимом глобальной конфигурации маршрутизатора, для отключения IP domain lookup. Она отключает поиск в IP-домене и повышает скорость вывода данных команды show.

show ip igmp groups

Данная команда показывает группы многоадресной передачи, подключенные напрямую к маршрутизатору и определяемые им через протокол IGMP (Протокол управления группами Интернета). Она используется для проверки присоединения источника или приемника к целевой группе в интерфейсе маршрутизатора. Колонка "Last Reporter" содержит единственный IGMP-хост, который сообщает об отправке либо незатребованного IGMP-объединения, либо IGMP-отчета в ответ на IGMP-запрос от PIM-маршрутизатора для данной конкретной группы. Каждой адресной группе соответствует только одно значение в колонке "Last Reporter".

R1# show ip igmp groups
IGMP Connected Group Membership
Group Address    Interface      Uptime          Expires         Last Reporter
239.255.0.1      Ethernet1      00:10:54        00:01:10        192.168.9.1
224.0.1.40       Ethernet0      01:36:27        00:02:45        192.168.10.2
224.0.1.40       Ethernet1      01:48:15        never           192.168.9.3

show ip igmp interface

Используйте эту команду для отображения сведений об интерфейсе, имеющих отношение к многоадресной передаче, а также для проверки включения IGMP, соответствия используемой версии, работоспособности таймеров, пороговых значений TTL (Time To Live) и настройки маршрутизатора, посылающего запрос IGMP. Настройка IGMP в интерфейсе не требуется. Он неактивен по умолчанию при настройке ip pim dense-mode|sparse-mode|sparse-dense-mode.

R1# show ip igmp interface
Ethernet1 is up, line protocol is up
  Internet address is 192.168.9.3/24
  IGMP is enabled on interface
  Current IGMP version is 2
  CGMP is disabled on interface
  IGMP query interval is 60 seconds
  IGMP querier timeout is 120 seconds
  IGMP max query response time is 10 seconds
  Last member query response interval is 1000 ms
  Inbound IGMP access group is not set
  IGMP activity: 22 joins, 18 leaves
  Multicast routing is enabled on interface
  Multicast TTL threshold is 0
  Multicast designated router (DR) is 192.168.9.5  
  IGMP querying router is 192.168.9.3 (this system)
  Multicast groups joined (number of users):
      224.0.1.40(1)

show ip pim neighbor

Используйте эту команду для распечатки соседних узлов независимой от протокола многоадресной передачи (PIM), обнаруженных Cisco программное обеспечение IOS�.

R1# show ip pim neighbor
PIM Neighbor Table
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
10.10.10.1        Ethernet0/0              02:19:41/00:01:38 v2    1 / DR B S

Подробные данные каждого поля объяснены здесь:

  • Neighbor Address – определяет IP-адрес соседа PIM

  • Interface – определяет интерфейс, в котором был обнаружен сосед PIM

  • Uptime – полный период активности соседа

  • Expires – время, по истечении которого сосед отключается, пока не будет получен следующий hello-сигнал PIM

  • Ver – версия PIM в интерфейсе соседа

  • DR Prio – возможные значения: от 0 до 4294967294 или N

    Это новый столбец, в котором отслеживается приоритет интерфейса PIM при выборе DR. Функция для настройки DR на основе наивысшего приоритета по сравнению с самым высоким IP-адресом была представлена в Cisco IOS Software Release 12.1 (2) T и 12.2 и Образы Cisco IOS с Bidir-PIM. Используйте команду интерфейса ip pim dr-priority <0-4294967294> для установления приоритета DR. Значение приоритета DR по умолчанию равно 1. Если сосед PIM использует более старую версию Cisco IOS, не поддерживающую функцию приоритета DR, тогда в целях совместимости в столбце DR Prior устанавливается значение N. Если сосед является единственным маршрутизатором, в интерфейсе которого установлено значение N, он становится маршрутизатором DR вне зависимости от того, какой маршрутизатор имеет наибольший IP-адрес. Если в данном столбце находится несколько соседей PIM со значением N, устройство, разрывающее связь, будет иметь наибольший IP-адрес.

  • Режим- Информация о DR и других пропускных способностях PIM.

    В данном столбце перечислены DR в добавление к функциям, поддерживаемым PIM-соседом:

    DR – маршрутизатор, назначенный в качестве соседа PIM

    B – с поддержкой двунаправленного PIM (Bidir-PIM)

    S – с поддержкой обновления состояния (применяется только в уплотненном режиме)

При устранении неполадок используйте данную команду для проверки активности всех соседей и соответствия используемой ими версии, а также таймера отключения. С помощью команды show ip pim interface проверьте настройки маршрутизатора в отношении режима PIM (уплотненного или разреженного). Воспользуйтесь командой debug ip pim для наблюдения за обменом сообщениями pim-запросов.

show ip pim interface

Данная команда выводит данные об интерфейсах, настроенных для PIM. Кроме того, данная команда используется для определения режима PIM (уплотненного или разреженного) установленного в интерфейсе, соответствия значений счетчика соседа и соответствия назначенного маршрутизатора (DR) (что особенно важно для разреженного режима PIM). Сегменты множественного доступа (такие как Ethernet, Token Ring, FDDI) выбирают DR с наибольшим IP-адресом. Соединения "точка-точка" не отображают информацию о DR.

R1# show ip pim interface 
Address          Interface          Version/Mode    Nbr   Query     DR
                                                    Count Intvl
192.168.10.1     Ethernet0          v2/Sparse-Dense  1    30     192.168.10.2
192.168.9.3      Ethernet1          v2/Sparse-Dense  1    30     192.168.9.5

show ip mroute summary

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

R1## show ip mroute summary
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned
       R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT
       M - MSDP created entry, X - Proxy Join Timer Running
       A - Advertised via MSDP
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.255.0.1), 01:57:07/00:02:59, RP 192.168.7.2, flags: SJCF
  (133.33.33.32, 239.255.0.1), 01:56:23/00:02:59, flags: CJT
  (192.168.9.1, 239.255.0.1), 01:57:07/00:03:27, flags: CFT

(*, 224.0.1.40), 1d00h/00:00:00, RP 192.168.7.2, flags: SJPCL

show ip mroute

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

  • (S,G) и (*,G) записи состояния из флагов.

  • Входящий интерфейс должен соответствовать. Если это не так, проверьте таблицу одноадресной передачи.

  • Исходящий интерфейс должен соответствовать. Если он некорректно сокращен, проверьте состояние нисходящего маршрутизатора.

R1# show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned
       R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT
       M - MSDP created entry, X - Proxy Join Timer Running
       A - Advertised via MSDP
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(*, 239.255.0.1), 01:55:27/00:02:59, RP 192.168.7.2, flags: SJCF
  Incoming interface: Ethernet0, RPF nbr 192.168.10.2
  Outgoing interface list:
    Ethernet1, Forward/Sparse, 01:55:27/00:02:52

(133.33.33.32, 239.255.0.1), 01:54:43/00:02:59, flags: CJT
  Incoming interface: Ethernet0, RPF nbr 192.168.10.2
  Outgoing interface list:
    Ethernet1, Forward/Sparse, 01:54:43/00:02:52

(192.168.9.1, 239.255.0.1), 01:55:30/00:03:26, flags: CFT
  Incoming interface: Ethernet1, RPF nbr 0.0.0.0
  Outgoing interface list:
    Ethernet0, Forward/Sparse, 01:55:30/00:03:12

(*, 224.0.1.40), 1d00h/00:00:00, RP 192.168.7.2, flags: SJPCL
  Incoming interface: Ethernet0, RPF nbr 192.168.10.2
  Outgoing interface list: Null

show ip mroute active

Используйте данную команду для отображения активных источников и групп трафика выше порогового значения. При устранении неполадок воспользуйтесь командой для проверки активных групп-источников, скорости передачи трафика для каждой пары (S,G) групп-источников (необходимо переключиться в SPT (Shortest Path Tree)) и проверки получения многоадресного трафика от целевой группы. Если трафик не принимается, найдите активный трафик, начиная от источника в направлении к приемнику.

R1# show ip mroute active
Active IP Multicast Sources - sending >= 4 kbps

Group: 239.255.0.1, (?)
   Source: 133.33.33.32 (?)
   Rate: 10 pps/115 kbps(1sec), 235 kbps(last 23 secs), 87 kbps(life avg)

show ip rpf

Данная команда показывает, каким образом многоадресная IP-маршрутизация выполняет пересылку по обратному пути (Reverse Path Forwarding, RPF). При устранении неполадок используйте эту команду для проверки корректности данных RPF. Если данные не верны, проверьте адрес источника в таблице маршрутизации одноадресной передачи. Также используйте команды ping и trace по адресу источника для проверки работоспособности маршрутизации одноадресной передачи. Вы, возможно, должны были бы использовать маршруты Протокола DVMRP или статические маршруты для решения проблемы любых переданных в многоадресном режиме индивидуальной рассылкой несоответствий.

R1# show ip rpf 133.33.33.32
RPF information for ? (133.33.33.32)
  RPF interface: Ethernet0
  RPF neighbor: ? (192.168.10.2)
  RPF route/mask: 133.33.0.0/16
  RPF type: unicast (eigrp 1)
  RPF recursion count: 0
  Doing distance-preferred lookups across tables

show ip mcache

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

R1# show ip mcache
IP Multicast Fast-Switching Cache
(133.33.33.32/32, 239.255.0.1), Ethernet0, Last used: 00:00:00
  Ethernet1       MAC Header: 01005E7F000100000C13DBA90800
(192.168.9.1/32, 239.255.0.1), Ethernet1, Last used: 00:00:00
  Ethernet0       MAC Header: 01005E7F000100000C13DBA80800

show ip mroute count

Данная команда используется для проверки получения многоадресного трафика, скорости его потока и уровня отбрасывания. Если трафик не принимается, необходимо проверить весь отрезок от источника до приемника и найти точку остановки трафика. Данная команда также используется для проверки переадресации трафика. Если трафик не переадресуется, воспользуйтесь командой show ip mroute для поиска "пустого списка исходящих интерфейсов" и ошибок RPF.

R1# show ip mroute count 
   IP Multicast Statistics 
    routes using 2406 bytes of memory 
   2 groups, 1.00 average sources per group 
   Forwarding Counts: Pkt Count/Pkts per second/Avg Pkt Size/Kilobits per second    
   Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc) 
   Group: 239.255.0.1, Source count: 2, Group pkt count: 11709 
  RP-tree: Forwarding: 3/0/431/0, Other: 3/0/0 
  Source: 133.33.33.32/32, Forwarding: 11225/6/1401/62, Other: 11225/0/0 
  Source: 192.168.9.1/32, Forwarding: 481/0/85/0, Other: 490/0/9 
Group: 224.0.1.40, Source count: 0, Group pkt count:

show ip route

Используйте данную команду для проверки таблицы маршрутизации одноадресной передачи и исправления ошибок RPF в таблице mroute.

R2# show ip route 
   Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP 
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP 
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area 
       * - candidate default, U - per-user static route, o - ODR 
       P - periodic downloaded static route 
Gateway of last resort is not set 
D    192.168.9.0/24 [90/307200] via 192.168.10.1, 00:59:45,    Ethernet0 
   C    192.168.10.0/24 is directly connected, Ethernet0 
   D    192.168.4.0/24 [90/11040000] via 192.168.7.1, 23:21:00,    Serial0 
   D    192.168.5.0/24 [90/11023872] via 192.168.7.1, 23:21:02,    Serial0 
   C    192.168.7.0/24 is directly connected, Serial0 
   D    133.33.0.0/16 [90/2195456] via 192.168.7.1, 1d23h, Serial0    
   D    192.168.1.0/24 [90/11552000] via 192.168.7.1, 22:41:27,    Serial0

show ip pim rp mapping

Используйте эту команду, чтобы проверить назначение RP в пределах диапазона групп многоадресной передачи и убедиться, что источник RP-обучения (статический или auto-RP), и сопоставления верны. При обнаружении ошибки проверьте настройки локального маршрутизатора и настройки auto-RP.

R1# show ip pim rp mapping 
   PIM Group-to-RP Mappings 
Group(s) 224.0.1.40/32 
     RP 192.168.7.2 (?), v1 
       Info source: local, via Auto-RP 
            Uptime: 2d00h, expires: never    
   Group(s): 224.0.0.0/4, Static 
       RP: 192.168.7.2 (?)

команды "debug"

Этот раздел разработан, чтобы показать вам, как определенные результаты выполнения команды debug должны посмотреть в функционирующей сети. При устранении неполадок следует сравнить "правильные" выходные данные debug с теми, что указывают на наличие проблем в работе сети. Подробные сведения о командах debug см. в разделе Справочник по командам отладки Cisco IOS.

debug ip igmp

Используйте команду debug ip igmp для просмотра отправленных и полученных IGMP-пакетов, а также всех событий, имеющих отношение к IGMP-хосту. Использование no в этой команде отключает вывод отладочных данных.

Эти данные позволяют определить работоспособность IGMP-процессов. В большинстве случаев, если IGMP не работает, то для процесса маршрутизации обнаружить какой-либо хост в сети, настроенный на получение многоадресных пакетов, будет невозможно. В уплотненном режиме PIM это приводит к "пульсирующей" передаче пакетов (несколько пакетов передаются каждые три минуты). В разреженном режиме PIM пакеты вообще не доставляются.

R1# debug ip igmp 
   12:32:51.065: IGMP: Send v2 Query on Ethernet1 to 224.0.0.1 
12:32:51.069: IGMP: Set report delay time to 9.4 seconds for 224.0.1.40 on Ethernet1 
12:32:56.909: IGMP: Received v1 Report from 192.168.9.1 (Ethernet1) for 239.255.0.1 
12:32:56.917: IGMP: Starting old host present timer for 239.255.0.1 on Ethernet1 
12:33:01.065: IGMP: Send v2 Report for 224.0.1.40 on Ethernet1 
12:33:01.069: IGMP: Received v2 Report from 192.168.9.4 (Ethernet1) for 224.0.1.40 
12:33:51.065: IGMP: Send v2 Query on Ethernet1 to 224.0.0.1

Приведенные выше выходные данные демонстрируют процесс отправки маршрутизатором IGMP-запроса версии 2 через интерфейс Ethernet 1 на адрес многоадресной передачи 224.0.0.1 (всем многоадресным системам данной подсети). Интерфейс Ethernet 1 в то же время сам является членом группы 224.0.1.40 (это можно установить с помощью команды show ip igmp interface), для которой установлено время задержки отчета, равное 9,4 секундам (произвольное значение). Так как отчета от другой системы для многоадресной группы 224.0.1.40 в течение следующих 9,4 секунд не получено, он посылает отчет версии 2 о своем членстве в группе; этот отчет получает сам маршрутизатор по Ethernet 1. Он также получает IGMP-отчет версии 1 от хоста 192.168.9.1, который подключен напрямую к интерфейсу Ethernet 1 группы 239.255.0.1.

Выходные данные debug очень важны, когда необходимо определить, отправляет ли запросы интерфейс маршрутизатора, и установить интервал их отправки (на примере, приведенном выше – 60 секунд). Также эта команда применяется для определения версии IGMP, используемой клиентами.

debug ip mpacket

Команда debug ip mpacket выводит данные обо всех полученных и переданных IP-пакетах многоадресной передачи. Использование no в этой команде отключает вывод отладочных данных.

R1# debug ip mpacket 239.255.0.1 detail 
   13:09:55.973: IP: MAC sa=0000.0c70.d41e (Ethernet0), IP last-hop=192.168.10.2 
   13:09:55.977: IP: IP tos=0x0, len=892, id=0xD3C1, ttl=12, prot=17 
   13:09:55.981: IP: s=133.33.33.32 (Ethernet0) d=239.255.0.1 (Ethernet1) len 906, mforward

Данная команда расшифровывает многоадресный пакет и показывает, был ли пакет переадресован (mforward) или отброшен. Эта информация может быть полезна при анализе проблем пакетного потока в сети, когда необходимо выяснить значение TTL и причину отбрасывания пакета.

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

debug ip mrouting

Данная команда применяется для обслуживания таблицы маршрутизации. С ее помощью можно определить, установлен или нет маршрут mroute (S,G) в mrouting-таблице, и, если не установлен, то по какой причине. Ключевой здесь является информация в выходных данных RPF-интерфейса. Если проверка RPF неудачна, то mroute (S,G) не может быть установлен в mrouting-таблице.

R1# debug ip mrouting 239.255.0.1
13:17:27.821: MRT: Create (*, 239.255.0.1), RPF Null, PC 0x34F16CE 
    13:17:27.825: MRT: Create (133.33.33.32/32, 239.255.0.1), RPF Ethernet0/192.168.10.2, 
    PC 0x34F181A 
    13:17:30.481: MRT: Create (192.168.9.1/32, 239.255.0.1), RPF Ethernet1/0.0.0.0, 
    PC 0x34F18

отладка ip pim

Команда debug ip pim применяется для вывода данных о полученных и переданных PIM-пакетах, а также о всех событиях, связанных с PIM. Использование no в этой команде отключает вывод отладочных данных.

В данном разделе произведен анализ примера отладочных данных в разреженном режиме PIM и продемонстрированы типичные выходные данные отладки.

/image/gif/paws/13726/57a.gif

Выходные данные команды debug ip pim, выполненной на R1:

R1# debug ip pim 
 PIM: Send v2 Hello on Ethernet0 
 PIM: Send v2 Hello on Ethernet1 
 PIM: Received v2 Hello on Ethernet0 from 192.168.10.2 
 PIM: Send v2 Hello on Ethernet0 
 PIM: Send v2 Hello on Ethernet1 
 PIM: Building Join/Prune message for 239.255.0.1 
 PIM: v2, for RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit, S-bit 
 PIM: Send v2 periodic Join/Prune to RP via 192.168.10.2 (Ethernet0) 
 PIM: Received RP-Reachable on Ethernet0 from 192.168.7.2 for group 239.255.0.1 
 PIM: Update RP expiration timer (270 sec) for 239.255.0.1

Каждая строка выходных данных означает следующее: R1 и R2 устанавливают PIM-соседство через обмен Hello-сообщениями. Эти Hello-сообщения, периодически посылаемые R1 (E0) и R2 (E0) друг другу через интервал времени (в сек.), равный значению в "Query-Interval", отслеживают PIM-соседей.

R1 отправляет сообщение о присоединении/отсечении (Join/Prune) на RP-адрес 192.168.7.2. RP (R2) в ответ отправляет сообщение "Received RP Reachable" обратно R1 для группы 239.255.0.1. При этом происходит обновление таймера отключения RP на R1. Таймер отключения устанавливает контрольную точку для подтверждения существования RP, при отсутствии подтверждения осуществляется поиск нового RP. Для просмотра срока действия RP используется команда show ip pim rp.

Теперь, посмотрите на выходные данные отладки между R1 и R2 когда получатель групповой адресации для группы 239.255.0.1 соединения R1.

Сначала рассмотрим выходные данные на R1:

1 PIM: Check RP 192.168.7.2 into the (*, 239.255.0.1) entry 
 2 PIM: Send v2 Join on Ethernet0 to 192.168.10.2 for (192.16.8.7.2/32, 239.255.0.1), WC-bit, RPT-bit, S-bit 
 3 PIM: Building batch join message for 239.255.0.1 
 4 PIM: Building Join/Prune message for 239.255.0.1 
 5 PIM: v2, for RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit, S-bit 
 6 PIM: Send v2 periodic Join/Prune to RP via 192.168.10.2 (Ethernet0) 
 7 PIM: Received RP-Reachable on Ethernet0 from 192.168.7.2 : for group 239.255.0.1 
 8 PIM: Update RP expiration timer (270 sec) for 239.255.0.1 
 9 PIM: Building Join/Prune message for 239.255.0.1 
 10 PIM: v2, for RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit, S-bit 
 11 PIM: Send v2 periodic Join/Prune to RP via 192.168.10.2 (Ethernet0)

Теперь рассмотрим выходные данные на R2:

12 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us
13 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2
14 PIM: Check RP 192.168.7.2 into the (*, 239.255.0.1) entry, RPT-bit set, WC-bit set, S-bit set
15 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state
16 PIM: Building Join/Prune message for 239.255.0.1
17 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us
18 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RPT-bit set, WC-bit set, S-bit set
19 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state
20 PIM: Building Join/Prune message for 239.255.0.1
21 PIM: Send RP-reachability for 239.255.0.1 on Ethernet0
22 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us
23 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RPT-bit set, WC-bit set, S-bit set
24 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state
25 PIM: Building Join/Prune message for 239.255.0.1

В указанной выше строке 1 многоадресный приемник для группы 239.255.0.1 присоединяется к R1. При этом производится запись (*, 239.255.0.1) в mroute-таблице. В строке 2 многоадресный приемник отправляет R2 (RP) IGMP-сообщение Join для присоединения к общему дереву.

Строки 12 – 15 выходных данных R2 показывают, что когда IGMP-сообщение Join поступает в R2, R2 устанавливает маршрут mroute (*, 239.255.0.1).

После того, как R2 установит (*, 239.255.0.1) в своей mrouting-таблице, он добавляет интерфейс, от которого было получено сообщение о присоединении/отсечении (Join/Prune), в список исходящих интерфейсов в качестве переадресуемого. Затем он отправляет сообщение о RP-доступности обратно на интерфейс, с которого было получено сообщение Join/Prune. Эту транзакцию показывают в линиях 15 - 21 из выходных данных R2.

R1 получает сообщение о доступности RP для группы 239.255.0.1 и обновляет таймер отключения для RP. Этот обмен повторяет себя однажды минута по умолчанию и обновляет ее состояние переадресации широковещания как показано в линиях 7 и 8 из выходных данных R1.

В следующих строках, выходных данных отладки между R2 (RP) и R3 замечен. Источник (подсоединенный напрямую к R3) начал передачу пакетов для группы 239.255.0.1.

Во-первых, посмотрите на выходные данные на R3:

1 PIM: Check RP 192.168.7.2 into the (*, 239.255.0.1) entry 
2 PIM: Building Join/Prune message for 239.255.0.1 
3 PIM: For RP, Join-list: 192.168.7.2/32, RP-bit, WC-bit 
4 PIM: Send periodic Join/Prune to RP via 192.168.7.2 (Serial4/0) 
5 PIM: Received RP-Reachable on Serial4/0 from 192.168.7.2 
6 PIM: Update RP expiration timer (270 sec) for 239.255.0.1 
7 PIM: Send Register to 192.168.7.2 for 133.33.33.32, group 239.255.0.1 
8 PIM: Send Register to 192.168.7.2 for 133.33.33.32, group 239.255.0.1 
9 PIM: Received Join/Prune on Serial4/0 from 192.168.7.2 
10 PIM: Join-list: (133.33.33.32/32, 239.255.0.1), S-bit set 
11 PIM: Add Serial4/0/192.168.7.2 to (133.33.33.32/32, 239.255.0.1), Forward state    
12 PIM: Received Register-Stop on Serial4/0 from 192.168.7.2 
13 PIM: Clear register flag to 192.168.7.2 for (133.33.33.32/32, 239.255.0.1) 
14 PIM: Received Register-Stop on Serial4/0 from 192.168.7.2 
15 PIM: Clear register flag to 192.168.7.2 for (133.33.33.32/32, 239.255.0.1)

Теперь обратимся к выходным данным R2, RP:

16 PIM: Received Join/Prune on Serial0 from 192.168.7.1, to us 
17 PIM: Send RP-reachability for 239.255.0.1 on Serial0 
18 PIM: Received Register on Serial0 from 192.168.7.1 for 133.33.33.32, group 239.255.0.1 
19 PIM: Forward decapsulated data packet for 239.255.0.1 on Ethernet0 
10 PIM: Forward decapsulated data packet for 239.255.0.1 on Serial0 
21 PIM: Send Join on Serial0 to 192.168.7.1 for (133.33.33.32/32, 239.255.0.1), S-bit 
22 PIM: Send Join on Serial0 to 192.168.7.1 for (133.33.33.32/32, 239.255.0.1), S-bit 
23 PIM: Send Register-Stop to 192.168.7.1 for 133.33.33.32, group 239.255.0.1
24 PIM: Received Join/Prune on Serial0 from 192.168.7.1, to us 
25 PIM: Prune-list: (133.33.33.32/32, 239.255.0.1) 
26 PIM: Received v2 Join/Prune on Ethernet0 from 192.168.10.1, to us 
27 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RPT-bit set, WC-bit set, S-bit set 
28 PIM: Add Ethernet0/192.168.10.1 to (*, 239.255.0.1), Forward state 
29 PIM: Add Ethernet0/192.168.10.1 to (133.33.33.32/32, 239.255.0.1) 
30 PIM: Join-list: (133.33.33.32/32, 239.255.0.1), S-bit set 
31 PIM: Add Ethernet0/192.168.10.1 to (133.33.33.32/32, 239.255.0.1), Forward state
32 PIM: Building Join/Prune message for 239.255.0.1 
33 PIM: For 192.168.7.1, Join-list: 133.33.33.32/32 
34 PIM: For 192.168.10.1, Join-list: 192.168.9.1/32 
35 PIM: Send v2 periodic Join/Prune to 192.168.10.1 (Ethernet0) 
36 PIM: Send periodic Join/Prune to 192.168.7.1 (Serial0) 
37 PIM: Received Join/Prune on Serial0 from 192.168.7.1, to us 
38 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RP-bit set, WC-bit set, S-bit set 
39 PIM: Add Serial0/192.168.7.1 to (*, 239.255.0.1), Forward state 
40 PIM: Add Serial0/192.168.7.1 to (133.33.33.32/32, 239.255.0.1) 
41 PIM: Add Serial0/192.168.7.1 to (192.168.9.1/32, 239.255.0.1) 
42 PIM: Join-list: (192.168.9.1/32, 239.255.0.1), S-bit set 
43 PIM: Add Serial0/192.168.7.1 to (192.168.9.1/32, 239.255.0.1), Forward state
44 PIM: Join-list: (*, 239.255.0.1) RP 192.168.7.2, RP-bit set, WC-bit set, S-bit set 
45 PIM: Add Serial0/192.168.7.1 to (*, 239.255.0.1), Forward state

Данные строки 1 показывают, что R3, напрямую подключенный через Ethernet0/0 к источнику, получает многоадресный трафик для группы 239.255.0.1. При этом создается запись (* , 239.255.0.1), и отправляется RP сообщение Join.

По данным строк 16 и 17 можно наблюдать, что R2, который представляет собой RP, также получает сообщение Join/Prune и отправляет данные о доступности RP обратно к R3.

В строках 5 и 6 R3 обновляет таймер отключения RP после получения данных о доступности RP. Данные строк 7 и 8 показывают, что R3 использует свою запись (*,G) для отправки данных RP, инкапсулированных в пакет Register, с помощью источника, который инициирует передачу группе 239.255.0.1.

Данные строк 18 – 20 показывают, что R2 получил пакет Register, деинкапсулировал его и переадресовал вниз по дереву с произведенной ранее записью (*, 239.255.0.1) в таблице маршрутизации.

Строки 21 и 29 показывают, что R2 отправляет сообщение Join к R3 и устанавливает запись (S,G) (133.33.33.32, 239.255.0.1) в mroute-в таблице.

Строки 9 – 11 показывают, что R3 получает сообщение Join от R2, устанавливает запись (S,G) (133.33.33.32,239.255.0.1) в mroute-таблице, и подключает интерфейс к RP в режиме переадресации, который выстраивает (S,G) многоадресное SPT-дерево по направлению к источнику.

В строке 23, R2 начинает получать (S,G) трафик ниже по SPT и отправляет сообщение Register-Stop (и сообщение Join) в направлении источника.

Данные строк 12 – 15 показывают, что R3 получает сообщение Register-Stop, убирает флажок регистра и прекращает инкапсуляцию трафика (S,G).

Периодически между RP и R3 возникают сообщения о присоединении и отсечении, чтобы поддерживать многоадресное дерево.


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


Document ID: 13726