IP : IP 组播

重建与CGMP和生成树拓扑变化相应的组播条目

2016 年 10 月 27 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 10 月 20 日) | 反馈


目录


简介

本文讨论思科组管理协议(CGMP)如何在思科Catalyst交换机和思科IOSï ¿  ½路由器工作关于重建CGMP的组播条目,在生成树拓扑变化发生后。

先决条件

要求

Cisco 建议您了解以下主题:

  • 交换机、路由器和组播基本操作

  • 生成树、CGMP和互联网组管理协议(IGMP)的基本操作

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • Catalyst 3550版本12.1(9)EA1c

  • Catalyst 2900/3500XL版本12.0(5)WC3b

  • Catalyst 4000管理引擎III版本12.1(11b)EW

  • Catalyst 4000管理引擎I/II版本7.2(2)

  • Catalyst 6500 Supervisor引擎Cisco IOS软件版本12.1(11b)EX

  • Catalyst 6500 Catalyst OS (CatOS)版本7.2(2)

  • Catalyst 5500 CatOS版本4.5(13a)

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

CGMP 和拓扑结构变化

此部分描述步骤什么发生,并且什么问题能出现,当生成树拓扑变化在CGMP用于为了从在所有端口的泛滥克制组播数据流的VLAN时检测。当此示例显示,在本文讨论的网络包括一个路由器、一交换机和四PCs:

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

  • 端口1 —接收器PC 1

  • 端口2 —接收器PC 2

  • 端口3 —接收器PC 3

  • 端口4 —不是接收器PC 4

  • 端口5 —其他交换机(没有接收方或路由器此的交换机)

  • 端口48 —运行IGMP和CGMP的Cisco IOS路由器

为本文的目的,假设,接收方仅供PC使用IGMP和交换机运行CGMP。Cisco IOS路由器运行IGMP和CGMP,接收从一个视频服务器的组播流在一个不同的接口。此接口发送对IP组播组239.100.100.100。

稳定状态

一旦所有设备是启动,并且接收器PC传送了他们的组的239.100.100.100 IGMP Join消息,他们全部由CGMP添加到对应的层MAC地址代表的2组01-00-5e-64-64-64。

此列表显示通过Cisco IOS路由器来的哪些端口,选中项目在粗体,在交换机接收组播流。

  • 端口1 —接收器PC 1

  • 端口2 —接收器PC 2

  • 端口3 —接收器PC 3

  • 端口4 —不是接收器PC 4

  • 端口5 —其他交换机(没有接收方或路由器此的交换机)

  • 端口48 —运行IGMP和CGMP的Cisco IOS路由器

注意: Cisco IOS路由器也被添加到组播组,但是,因为它是来源,不收到其自己的数据包。

在每个查询间隔, Cisco IOS路由器派出被发送给组播组224.0.0.1的IGMP一般查询(并且充斥对所有其他组件)。当这发生,建立239.100.100.100组的一IGMP报告的所有接收方开始。接收方发送此报告回到与01-00-5E-64-64-64第2层MAC地址的IP组播组239.100.100.100。因为这发送对组地址,所有接收方收到由其他接收方以及报告被退还的发送由第一个接收方的报告。这触发另一接收器PC取消他们的此组的报告。这意味着仅一CGMP Join消息为有是第一个响应PC的源MAC地址的此组传送。这长期以来继续时间和所有接收器PC接收视频广播。

在拓扑更改期间和之后

这时,其他交换机触发在网络的一次拓扑更改。根据在接收拓扑更改的CGMP规格,交换机清除通过CGMP了解的所有组播条目。从路由器的组播数据流被充斥到交换机的所有端口。

此列表显示通过Cisco IOS路由器来的哪些端口,选中项目在粗体,在交换机接收组播流:

  • 端口1 —接收器PC 1

  • 端口2 —接收器PC 2

  • 端口3 —接收器PC 3

  • 端口4 —不是接收器PC 4

  • 端口5 —其他交换机(没有接收方或路由器此的交换机)

  • 端口48 —运行IGMP和CGMP的Cisco IOS路由器

当流量被充斥到所有端口,接收器PC不注意任何差异,并且他们继续收到视频广播。然而,因为流量被充斥到所有端口, PC4,不是接收方和另一交换机也当前接收组播流,虽然他们未请求它。这继续,直到Cisco IOS路由器再派出其定期IGMP一般查询。此的默认值是在Cisco IOS路由器的60秒(配置与IP IGMP查询间隔)。

拓扑结构变化通知之后的两个 IGMP 一般查询

当Cisco IOS路由器派出其第一次IGMP一般查询,建立他们的239.100.100.100组的IGMP报告的所有接收器PC开始。他们中的一个(在本文,它是PC 3)是发送回到其IGMP报告的第一个。因为没有在交换机建立的组播条目,由所有PCs和另一个接收器PC取消接收他们的IGMP报告。Cisco IOS路由器收到报告并且派出与源地址的随后的CGMP Join消息接收器PC 3。

交换机再建立组播条目组的01-00-5e-64-64-64并且添加端口3到它,和这在CGMP加入数据包的源地址。因为端口5是组播路由器端口,这也被添加到组播组。所以,而在PC1和PC2的视频流直,站仅接收器PC 3接收视频流。

此列表显示哪些端口,选中项目在粗体,在交换机接收通过Cisco IOS路由器来的组播流:

  • 端口1 —接收器PC 1

  • 端口2 —接收器PC 2

  • 端口3 —接收器PC 3

  • 端口4 —不是接收器PC 4

  • 端口5 —其他交换机(没有接收方或路由器此的交换机)

  • 端口48 —运行IGMP和CGMP的Cisco IOS路由器

在IGMP查询间隔结束时, Cisco IOS路由器派出另一次IGMP一般查询。当接收查询后,所有接收器PC构建239.100.100.100组的一报告。这时,然而,从另一PCs的报告由接收器PC 3和Cisco IOS路由器只接收。(路由器端口自动地被添加到每个组播组。)

因为接收方PC1和PC2看不到从其他接收方的一报告,他们派出他们的报告。Cisco IOS路由器随后派出与各自PCs的源MAC地址的一CGMP Join消息,并且,他们被添加并且通过Cisco IOS路由器开始再接收组播流。

此列表显示哪些端口,选中项目在粗体,在交换机接收通过Cisco IOS路由器来的组播流:

  • 端口1 —接收器PC 1

  • 端口2 —接收器PC 2

  • 端口3 —接收器PC 3

  • 端口4 —不是接收器PC 4

  • 端口5 —其他交换机(没有接收方或路由器此的交换机)

  • 端口48 —运行IGMP和CGMP的Cisco IOS路由器

配置是回到原始稳定状态,并且一切再适当地运作。这是什么的细分发生:

  1. 拓扑更改发生。

    提示: 当portfast没有在主机端口时启用,主机每次重新启动,或者连接/断开到/从端口,在连接状态上的一个变化触发在VLAN的一拓扑变化通知。如果CGMP调试在拓扑更改时启用,此调试消息显示:

    CGMP SHIM: got short age timer
  2. 充斥开始到所有端口。

  3. 第一次IGMP一般查询被派出。

  4. 充斥终止。

  5. 不是所有的接收方接收组播流。

  6. 第二次IGMP一般查询被派出。

  7. 所有接收方再被添加并且接收组播流。

CGMP 增强

从那以后有组播流的一一分钟(默认IGMP查询间隔)损耗PC的总是不是可接受,有为运行CGMP的两路由器和交换机做的一些增强。

交换机和路由器之间的通信

因为路由器是发生,有需要对于在网络的交换机警告此拓扑更改路由器的第3层设备并且通常不知道关于生成树和拓扑更改。IGMP全局离开消息定义为了处理此。

此IGMP全局离开消息是交换机能传送的IGMP离开,请求离开组0.0.0.0。

为了保证路由器没有超载IGMP全局离开消息,只有在生成树域的根交换机对发送此IGMP全局离开消息负责,当拓扑更改结束。

路由器工作情况

当路由器收到在运行Cisco IOS软件的接口时的此IGMP全局离开消息,认为生成树拓扑变化在该接口发生并且采取这些行动尝试和限制组播数据流损耗组播接收器的:

  1. 发送CGMP在接收IGMP全局离开消息以后的批Join消息。路由器派出与其自己的MAC地址的一CGMP Join消息,有在其该接口的IGMP缓存每个组播组的用户源地址。通过发送这些CGMP自加入消息, CGMP交换机自动地创建每组的一个条目用它的仅路由器端口。

    此列表显示用于本文的网络,在CGMP批加入后。如粗体所显示,仅Cisco IOS路由器被添加了到组播组。

    注意: 当在本文的前面的示例,接收时的端口从组播路由器的流量在粗体显示,此示例显示在交换机被添加到组播组的所有端口。

    • 端口1 —接收器PC 1

    • 端口2 —接收器PC 2

    • 端口3 —接收器PC 3

    • 端口4 —不是接收器PC 4

    • 端口5 —其他交换机(没有接收方或路由器此的交换机)

    • 端口48 —运行IGMP和CGMP的Cisco IOS路由器

  2. 派出IGMP一般查询。所有接收方收到此IGMP一般查询,并且建立他们加入的每组的一报告。因为CGMP交换机已经建立了其中每一的组播条目组用仅路由器作为接收方,所有报告被发送到仅路由器。路由器派出添加的所有接收方随后的CGMP Join消息到对应的组。

    在所有接收方退还他们的IGMP报告后,并且路由器派出了对应的CGMP Join消息,应该添加了所有接收方回到组播组。

  3. 在10秒(max-response-time默认IGMP之后),另一次IGMP一般查询被派出确保,所有接收方被添加。此步骤被重复几次确保,所有接收方再结合组播组。

    应该添加了到组播组如在本例中的粗体所显示的所有端口是, :

    • 端口1 —接收器PC 1

    • 端口2 —接收器PC 2

    • 端口3 —接收器PC 3

    • 端口4 —不是接收器PC 4

    • 端口5 —其他交换机(没有接收方或路由器此的交换机)

    • 端口48 —运行IGMP和CGMP的Cisco IOS路由器

Catalyst 交换机行为

在范围Catalyst交换机内,有在他们的行为的一些差异。支持CGMP的每交换机执行正如本文的CGMP和拓扑变化部分所描述。CGMP的增强,然而,在所有平台没有实现。此表提供Catalyst交换机列表,并且他们如何起反应对CGMP :

  CGMP交换机 CGMP路由器 发送Globle Leave,当生成树协议根
运行Cisco IOS软件的Catalyst 6500 N Y Y
运行CatOS的Catalyst 6500 N N N
Catalyst 5500, Catalyst 2926/2926G Y N Y
Catalyst 4000管理引擎I/II, Catalyst 2948G/2980G, Catalyst 4912G Y N Y
Catalyst 4000/4500 Supervisor引擎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

注意: 在有Supervisor引擎III/IV的Catalyst 4000/4500上,关于拓扑更改的行为和CGMP可配置。当它不是生成树根时,请发出此命令为了配置Catalyst 4000传送或不传送IGMP全局离开消息:

  • ip igmp snooping tcn query solicit

注意: 发出命令的此no表为了禁用它:

  • no ip igmp snooping tcn query solicit


相关信息


Document ID: 24100