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

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

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (20 октября 2015) | Отзыв


Содержание


Введение

Этот документ обсуждает, как протокол CGMP работает на коммутаторы Cisco Catalyst и Cisco маршрутизаторы IOS� относительно восстановления многоадресных записей для CGMP после того, как произошло изменение топологии связующего дерева.

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

Требования

Корпорация Cisco рекомендует ознакомиться со следующими темами:

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

  • главная операция связующего дерева, CGMP и Протокола IGMP

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

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

  • Версия 12.1 (9) EA1c Catalyst 3550

  • Версия 12.0 (5) WC3b Catalyst 2900/3500XL

  • Версия III 12.1 (11b) Catalyst 4000 Supervisor Engine EW

  • Catalyst 4000 Supervisor Engine версия 7.2 (2) I/II

  • Cisco IOS Software Release 12.1 (11b) EX механизма Catalyst 6500 Supervisor

  • Версия 7.2 (2) операционной системы Catalyst (CatOS) Catalyst 6500

  • Версия CatOS 4.5 (13a) Catalyst 5500

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

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

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

CGMP и изменения топологии

В этом разделе описываются постепенно, что происходит и какие проблемы могут возникнуть, когда изменение топологии связующего дерева обнаружено на VLAN, где CGMP используется для ограничения многоадресного трафика от затопления на всех портах. Как показано в примере сеть, обсужденная в этом документе, состоит из одного маршрутизатора, одного коммутатора и четырех PC:

/image/gif/paws/24100/154-a.gif

  • порт 1 — принимающий компьютер 1

  • порт 2 — принимающий компьютер 2

  • порт 3 - приемник PC 3

  • порт 4 - не приемник PC 4

  • порт 5 - следующий коммутатор (без приемников и маршрутизаторов на этом коммутаторе)

  • port 48 маршрутизатора Cisco IOS - для запуска протоколов IGMP и CGMP

В целях этого документа, предполагается что принимающие компьютеры используют IGMP и CGMP выполнений коммутатора. Маршрутизатор Cisco IOS выполняет IGMP и CGMP, который получает многоадресную рассылку от видеосервера на другом интерфейсе. Этот интерфейс передает к IP-группе многоадресной рассылки 239.100.100.100.

Устойчивое состояние

Как только все устройства загружены, и принимающие компьютеры передали свои сообщения присоединения IGMP за группой 239.100.100.100, они все добавлены CGMP к соответствующему уровню 2 группы, представленные MAC-адресом 01-00-5e-64-64-64.

Этот список показывает, какие порты, выделенные полужирным, на коммутаторе, получают многоадресную рассылку, которые проникают через маршрутизатор Cisco IOS.

  • порт 1 — принимающий компьютер 1

  • порт 2 — принимающий компьютер 2

  • порт 3 - приемник PC 3

  • порт 4 - не приемник PC 4

  • порт 5 - следующий коммутатор (без приемников и маршрутизаторов на этом коммутаторе)

  • порт 48 — маршрутизатор Cisco IOS, который выполняет IGMP и CGMP

Примечание: Маршрутизатор Cisco IOS также добавлен к группе многоадресной рассылки, но так как это - источник, это не получает свои собственные пакеты.

В каждом интервале запроса маршрутизатор Cisco IOS отсылает общий запрос IGMP (который передан группе многоадресной рассылки 224.0.0.1, и поэтому лавинно разослан ко всем другим компонентам). Когда это происходит, все приемники начинают создавать отчет IGMP для 239.100.100.100 групп. Приемники передают, это сообщает IP-группе многоадресной рассылки 239.100.100.100 с MAC-адресом Уровня 2 01-00-5E-64-64-64. Так как это передается групповому адресу, все приемники получают отчёты, которые передаются другими приемниками, а также отчётом, переданным обратно первым получателем. Это вызывает другие принимающие компьютеры для отмены их отчёта для этой группы. Это означает, что только одно сообщение присоединения CGMP отправляется для этой группы с MAC-адресом источника того ПК, который ответил первым. Это продолжается в течение длительного времени времени, и все принимающие компьютеры получают видео широковещания.

Во время и после изменения топологии

На этом этапе другой коммутатор вызывает изменение топологии в сети. Согласно спецификации CGMP после получения изменения топологии, коммутатор очищает все многоадресные записи, которые это изучило через CGMP. Многоадресный трафик от маршрутизатора лавинно рассылается ко всем портам на коммутаторе.

Этот список показывает, какие порты, выделенные полужирным, на коммутаторе, получают многоадресную рассылку, которые проникают через маршрутизатор Cisco IOS:

  • порт 1 — принимающий компьютер 1

  • порт 2 — принимающий компьютер 2

  • порт 3 - приемник PC 3

  • порт 4 - не приемник PC 4

  • порт 5 - следующий коммутатор (без приемников и маршрутизаторов на этом коммутаторе)

  • порт 48 — маршрутизатор Cisco IOS, который выполняет IGMP и CGMP

Поскольку трафик лавинно рассылается ко всем портам, принимающие компьютеры не замечают различия, и они продолжают получать видео широковещания. Однако, так как трафик лавинно рассылается ко всем портам, ПК 4, который не является получателем, и другой коммутатор теперь также получает многоадресную рассылку, хотя они не запросили его. Это продолжается, пока маршрутизатор Cisco IOS опять не посылает периодические общие запросы IGMP. Значение по умолчанию на маршрутизаторах Cisco IOS составляет 60 секунд (настраивается вместе с интервалом запросов IP IGMP).

Два общих IGMP-запроса после уведомления об изменении топологии

Когда маршрутизатор Cisco IOS отсылает свой первый общий запрос IGMP, все принимающие компьютеры начинают создавать свой отчет IGMP для 239.100.100.100 групп. Один из них (в данном документе это PC 3) первым отправляет обратно свой отчет IGMP. Так как до сих пор нет многоадресной записи, построенной на коммутаторе, ее получают все РС, а другие РС-получатели отменяют свои отчеты IGMP. Маршрутизатор Cisco IOS получает отчет и отправляет последующее сообщение присоединения CGMP с исходным адресом получателя PC 3.

Коммутатор создает многоадресную запись опять для группы 01-00-5e-64-64-64 и добавляет к ней порт 3, так как в пакете соединения CGMP представлен исходящий адрес. Поскольку порт 5 является многоадресным портом маршрутизатора, он также добавляется в многоадресную группу. Таким образом, только приемник ПК 3 получает поток видео, в то время как, поток видео на ПК 1 и ПК 2 стоит на месте.

Этот список показывает, какие порты, выделенные полужирным, на коммутаторе, получают многоадресную рассылку, которая проникает через маршрутизатор Cisco IOS:

  • порт 1 — принимающий компьютер 1

  • порт 2 — принимающий компьютер 2

  • порт 3 - приемник PC 3

  • порт 4 - не приемник PC 4

  • порт 5 - следующий коммутатор (без приемников и маршрутизаторов на этом коммутаторе)

  • port 48 маршрутизатора Cisco IOS - для запуска протоколов IGMP и CGMP

В конце Интервала между запросами IGMP маршрутизатор Cisco IOS отсылает другой общий запрос IGMP. При получении запроса все приемники компьютера создают отчет для группы 239.100.100.100. На этот раз, однако, отчёты из других PC только получены принимающим компьютером 3 и маршрутизатор Cisco IOS. (Порт маршрутизатора автоматически добавлен к каждой группе многоадресной рассылки.)

Поскольку приемники PC 1 и PC 2 не видят отчеты от других приемников, они оба отправляют свои отчеты. Маршрутизатор Cisco IOS последовательно отсылает общие сообщения CGMP с исходным MAC адресом соответствующих компьютеров, поэтому они добавляются в список и начинают получать многоадресный поток опять через маршрутизатор Cisco IOS.

Этот список показывает, какие порты, выделенные полужирным, на коммутаторе, получают многоадресную рассылку, которая проникает через маршрутизатор Cisco IOS:

  • порт 1 — принимающий компьютер 1

  • порт 2 — принимающий компьютер 2

  • порт 3 - приемник PC 3

  • порт 4 - не приемник PC 4

  • порт 5 - следующий коммутатор (без приемников и маршрутизаторов на этом коммутаторе)

  • port 48 маршрутизатора Cisco IOS - для запуска протоколов IGMP и CGMP

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

  1. Изменение топологии происходит.

    Совет: Когда portfast не включен в порту хоста, каждый раз, когда хост перезагружен, или связанный/разъединенный к/от порт, изменение в статусе ссылок вызывает Topology Change Notification в VLAN. Если отладка CGMP включена во время изменения топологии, это сообщение отладки отображено:

    CGMP SHIM: got short age timer
  2. Затопление запускается ко всем портам.

  3. Первый общий запрос IGMP отослан.

  4. Затопление останавливается.

  5. Не все приемники получают многоадресную рассылку.

  6. Посылается второй общий запрос IGMP.

  7. Все приемники добавлены и получают многоадресную рассылку снова.

Усовершенствования протокола CGMP

Начиная с наличия одной минуты (Интервал между запросами IGMP по умолчанию) потеря многоадресной рассылки для ПК не всегда приемлема, были некоторые усовершенствования, сделанные и для маршрутизаторов и для коммутаторов, которые выполняют CGMP.

Взаимодействие между переключателем и маршрутизатором

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

Это глобальное сообщение о выходе IGMP говорит о том, что IGMP позволяет коммутатору передавать, запрашивая выход из группы 0.0.0.0.

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

Реакция маршрутизатора

Когда маршрутизатор получает это сообщение глобального выхода IGMP на интерфейсе, который выполняет программное обеспечение Cisco IOS, это распознает, что изменение топологии связующего дерева произошло на том интерфейсе и принимает эти меры, чтобы попытаться ограничить потерю многоадресного трафика для получателей групповой адресации:

  1. Отправляет сообщения о включении в пакет CGMP после получения глобального сообщения о выходе IGMP. Маршрутизатор отсылает сообщение присоединения CGMP со своим собственным MAC-адресом как пользовательский адрес источника для каждой группы многоадресной рассылки, которую это имеет в его кэше IGMP для того интерфейса. Путем передачи этих Сообщений о рефлексивном присоединении протокола CGMP коммутаторы CGMP автоматически создают запись для каждой группы с только портом маршрутизатора в нем.

    Этот список показывает сеть, используемую в этом документе после пакетного соединения CGMP. Только маршрутизатор Cisco IOS был добавлен к группе многоадресной рассылки, как показано полужирным.

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

    • порт 1 — принимающий компьютер 1

    • порт 2 — принимающий компьютер 2

    • порт 3 - приемник PC 3

    • порт 4 - не приемник PC 4

    • порт 5 - следующий коммутатор (без приемников и маршрутизаторов на этом коммутаторе)

    • port 48 маршрутизатора Cisco IOS - для запуска протоколов IGMP и CGMP

  2. Отправляет общий запрос IGMP. Все приемники получают этот общий запрос IGMP и создают отчёт для каждой группы, что они присоединились. Поскольку коммутатор CGMP уже создал запись многоадресной передачи для каждой группы с единственным маршрутизатором в качестве приемника, то все отчеты будут поcтупать только на этот маршрутизатор. Маршрутизатор отсылает последующие сообщения присоединения CGMP для добавления всех приемников соответствующим группам.

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

  3. После 10 секунд (Max. время отклика IGMP по умолчанию), другой общий запрос IGMP отослан, чтобы удостовериться, что добавлены все приемники. Этот шаг повторяется несколько раз, чтобы гарантировать, что все приемники повторно соединят группу многоадресной рассылки.

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

    • порт 1 — принимающий компьютер 1

    • порт 2 — принимающий компьютер 2

    • порт 3 - приемник PC 3

    • порт 4 - не приемник PC 4

    • порт 5 - следующий коммутатор (без приемников и маршрутизаторов на этом коммутаторе)

    • port 48 маршрутизатора Cisco IOS - для запуска протоколов IGMP и CGMP

Поведение коммутатора Catalyst

В диапазоне коммутаторов Catalyst существуют различия в их поведении. Каждый коммутатор, который способен к CGMP, делает, как описано в CGMP и разделе Изменений топологии этого документа. Усовершенствования для CGMP, однако, не реализованы на всех платформах. Данная таблица содержит список коммутаторов Catalyst и способы их взаимодействия с CGMP:

  Коммутатор CGMP Маршрутизатор CGMP Отправляет глобальный выход при маршруте Spanning Tree Protocol STP
Catalyst 6500 рабочее программное обеспечение Cisco IOS N Y Y
Catalyst 6500 рабочий CatOS N N N
Catalyst 5500, Catalyst 2926/2926G Y N Y
Catalyst 4000 Supervisor Engine I/II, Catalyst 2948G, Catalyst 4912G Y N Y
Catalyst 4000/4500 Supervisor Engine III/IV N Y Y
Catalyst 2900XL/3500XL Y N Y
Catalyst 2940 N N N
Catalyst 2950 N N N
Catalyst 2970 N N N
Catalyst 3550 N Y Y
Catalyst 3750 N Y Y

Примечание: На Catalyst 4000/4500 с Supervisor Engine III/IV поведение в отношении изменений топологии и CGMP может конфигурироваться. Выполните эту команду для настройки Catalyst 4000, чтобы передать или не передать сообщение глобального выхода IGMP, когда это не корень связующего дерева:

  • ip igmp snooping tcn query solicit

Примечание: Выйдите это "no" (нет) форму команды для отключения его:

  • no ip igmp snooping tcn query solicit

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

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


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


Document ID: 24100