《IP组播(第1卷)》一2.9 二层组管理

2.9 二层组管理

如前所述,二层设备上如果没有部署组管理机制的话,它会像处理广播那样处理组播消息。这不仅会增加某个子网中的流量,而且这些消息还会发送(泛洪)给这个子网中的所有设备。而这些设备对待组播消息的处理方法可能并不统一,这要取决于操作系统和相关硬件的行为。组播消息可以在硬件和/或软件中进行处理。因此组播消息,或者说有太多的组播消息可能会给一台设备带来负面影响。工程师最好能在网络中对组播消息进行管理,只把组播消息发送给希望接收它的设备。

有两种协议可以用来管理LAN网段中的组播行为:CGMP(Cisco组管理协议)和RGMP(路由器端口组管理协议)。虽然这两种协议还都活跃在当今的网络中,但由于IGMP探测(在接下来的小节中进行介绍)的关系,管理员通常都不使用它们。出于这种原因,我们只对这两种协议进行简要介绍。

2.9.1 Cisco组管理协议

要想解决二层设备将组播消息处理为广播的问题,Cisco 首先开发了一个私有解决方案:CGMP(Cisco组管理协议)。在开发这项协议时,二层交换机还不能实现三层信息的监测或探测(如今可以了)。CGMP当时用于直连的路由器与交换机之间。路由器会使用CGMP向交换机发送IGMP消息,说明哪些客户端已注册。接收到这个消息的交换机就能根据这些消息,决定从哪些接口向外发送组播消息。

CGMP的行为如下所示:当主机有意从某个GDA(组目的地址)接收组播流时,它会发送IGMP报告消息。路由器会收到这个消息,然后路由器会向目的MAC地址0x0100.0CDD.DDD,发送CGMP SNAP(子网访问协议)数据帧,其中携带以下信息。

  • 版本:1或2。
    -消息字段:加入或离开。
  • 计数器:地址对的数量。
  • IGMP客户端的MAC地址。
  • 组播组地址/组目的地址(GDA)。
  • 单播源地址(USA):发送加入消息的主机MAC地址。

与路由器直连的交换机上配置了CGMP,它会从路由器那里收到这个数据帧。交换机会查看USA,并在CAM(内容可寻址存储器)表中进行查找,以此确定发出请求的主机所连接的接口。现在这个主机连接的接口已经确定了,如果这是对这个GDA的第一次请求,交换机就会添加一条静态条目,将GDA与CAM表中的主机地址联系起来。如果交换集中已经有了这个GDA的条目,交换机就只需要将USA添加到这个GDA表中。

注释
 

由于和其他协议有冲突,比如HSRPv1,CGMP可能禁用了一些特性。工程师在启用CGMP之前一定要查看当前的配置指南。使用IGMP探测可以轻松避免发生冲突。
CGMP离开过程
离开过程取决于主机上的IGMP版本。IGMPv1不提供这种机制,当主机不再希望接收某个组播流时,主机无法向网络中通知自己的意愿。当IGMPv1主机离开时,网络能够意识到主机不再属于这个组播流的唯一途径,是通过IGMP查询消息。想象当一台主机加入了一个流,然后加入了另一个,以此类推;久而久之会在网络中引入大量组播流。比如用户观看IPTV时快速换台。为了解决这个问题,路由器需要周期性地发送IGMP查询消息,来确定是否仍有主机对某个组播流感兴趣。如果在3次发送出IGMP查询消息后,路由器都没有收到响应,它就会通过CGMP通知交换机,让它删除有关这个GDA的全部条目。

IGMPv2中添加了离开消息;这样当主机不想再接收某个组播流时,可以向网络中表达这种意愿。当主机发送了IGMP离开消息后,路由器会发送查询消息并启动查询响应消息计时器。这个过程是为了确认在这个网络中,是否还有主机对这个组播流感兴趣。如果路由器没有收到响应,它就会向交换机发送CGMP消息,让交换机删除与这个GDA相关的条目。

2.9.2 路由器端口组管理协议

与CGMP一样,另一个协议RGMP(路由器端口组管理协议)也是用来解决交换网络中路由器组播通信的问题。当多个路由器连接在同一个二层交换网络时,组播消息会被转发到所有PIM(协议无关组播)路由器,包括那些并不希望接收组播流的路由器。

RGMP是和IGMP探测特性(2.10节就会介绍IGMP探测特性)一起配置在交换机上的。连接交换机的路由器上配置了PIM稀疏模式和RGMP。配置了RGMP的路由器会向直连交换机发送RGMP Hello消息。交换机上会创建一个条目,表明收到RGMP Hello消息的接口连接着RGMP路由器,并且只有当从这台路由器那里收到加入消息后,交换机才会向这个接口转发组播流。如果路由器希望接收某个组播流,它就会向交换机发送RGMP加入消息,其中包含相应的GDA。然后交换机会为这个GDA创建一个条目,然后关联CAM表中的路由器接口。

我们已经提到了4种RGMP消息类型中的2种:“Hello”和“加入”。另2个消息类型是“Bye”和“离开”。“Bye”RGMP消息告诉交换机,将指定接口放入普通的转发模式。最后当路由器无意接收某个组播后,它会发出“离开”消息。

时间: 2024-10-28 20:52:42

《IP组播(第1卷)》一2.9 二层组管理的相关文章

《IP组播(第1卷)》一导读

前 言 IP组播(第1卷)本书包含了基本IP组播原理和路由技术,尤其是Cisco路由器和交换机使用的组播技术,其中切合实际地讨论了 IP 组播网络的常见特性.部署模型和实战经验,之后讨论了 Cisco IP组播网络在实施和排错时使用的命令和方法. 本书读者对象本书适用于所有为IP组播网络提供支持的专业人士.本书的目标读者为以下人士,网络管理员也会从本书包含的案例学习和特性解释中获得帮助: IP网络工程师和架构师: 网络操作技术员: 网络顾问: 安全专家: 融合专家和架构师. 目 录 第1章 IP

《IP组播(第1卷)》一1.4 三层组播是建立在TCP/IP协议栈中的

1.4 三层组播是建立在TCP/IP协议栈中的 IP组播是建立在TCP/IP协议栈中的.也就是说,传输组播数据帧和数据包所需的协议是由Internet工程任务组(IETF)进行控制的.IETF成员通过RFC发布和管理相关协议,也就是说IP组播协议是开放标准. 注释 组播协议IETF标准适用于IPv4和IPv6组播技术:但和其他IP协议一样,这并不意味着所有厂商处理组播的方式都是相同的,同时也不意味着所有组播协议的实施都能够与标准完美兼容. 使用TCP/IP协议栈也意味着IP组播隶属于互联网数字分

《IP组播(第1卷)》一2.3 组播数据帧的交换

2.3 组播数据帧的交换 二层交换机会根据目的MAC地址将数据帧发送到物理接口或逻辑接口.组播MAC地址与单播MAC地址是不同的,因为单播MAC地址应该是唯一的,它应该对应着唯一一个目的接口.组播MAC地址可能会对应着多个目的接口,这取决于有多少台设备请求接收这个IP组播流中的内容. 在二层交换机能够转发组播数据帧之前,它必须知道应该把消息发往哪些目的接口.它会在目的接口列表中记录需要接收这个组播数据帧的接口,这个列表中只包含那些注册了这个组播流的设备所连接的接口.工程师可以在目的接口列表中静态

《IP组播(第1卷)》一2.4 组的注册

2.4 组的注册 前文我们已经看到了,为了使本地网段和整个网络中的 IP 组播转发能够正常工作,交换机和网关路由器需要知道有哪些主机对组播组感兴趣,以及这些主机都连接在哪里.如果没有这些信息的话,唯一的做法只有在整个网络域中泛洪组播数据帧.这样做就破坏了使用 IP组播带来的好处. 主机组成员的注册和离开是个动态的过程.当有一台主机加入一个组播组时,交换机就没有必要再向这个网段持续无目的地转发组播数据包了,组成员也就确定了下来.管理网络中组播主机位置的唯一方法就是让组播主机组成员自己向网络中通告加

《IP组播(第1卷)》一2.2 MAC地址映射

2.2 MAC地址映射 传统以太网交换机(二层设备)负责处理以太网数据帧,传统路由器(三层设备)负责查看数据包,来决定如何处理这个消息.如第1章中讨论的,当设备发送的是广播数据帧时,目的地址代表所有设备,而单播消息的目的地址代表一个目的MAC地址. 如果发送方发送的是组播消息会发生什么?为了优化网络资源,以太网交换机也需要能够处理组播.这也是关键的地方.发送方设备必须将目的IP组播地址按照以下方式,转换成具体的MAC地址. 最高的25比特是官方为组播预留的MAC地址范围:0100.5E00.00

《IP组播(第1卷)》一1.3 组播数据包

1.3 组播数据包 如前所述,组播这种通信方式可以只通过一条数据流,将消息送到多个接收方.在运行Internet协议(IP)的以太网环境中,构成网络基础设施的设备主要是路由器和交换机,它们负责将单个数据包复制为多个数据包或消息,并高效地将这些数据包分发给有意接收这些消息的设备. 现在我们需要简要回顾开放式系统互联(OSI)模型,并解释组播在不同层中的应用.表1-1中列出了OSI模型的组成部分. 组播应用通常使用IP上的用户数据报协议(UDP).因此需要使用传输层,使用了传输层就不能没有网络层运行

《IP组播(第1卷)》一1.6 组播的历史

1.6 组播的历史 必要性是发明之母.20世纪80年代早期,Steve Deering是斯坦福大学的一名学生,正在研究分布式处理项目.这个项目中使用的其中一个底层通信机制能够让一台设备向多台设备发送消息.随着项目的成长,计算机资源的需求也随之增长.这些资源分布在校园各处,因此需要有一种机制能够让这些设备通过路由器(三层)架构进行通信.这种通信可以使用多个单播消息实现,或者通过在整个网络中发送广播消息实现.在这个环境中,上述方法都不可行,因为它们的效率都太低了.这个解决方案需要一个单独的组地址,需

Java数据报编程之组播

编程|数据   在信息时代,网络技术应用已经很普通.其中很多应用都依赖于从一个主机向多个主机或者从多个主机向多个主机发送同一信息的能力,在Internet上分发的数目可能达数十万台,这些都需要更高的带宽,并且大大超出了单播的能力.一种能最大限度地利用现有带宽的重要技术是IP组播. 1.IP组播技术的概念 IP组播技术,是一种允许一台或多台主机(组播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术,是一点对多点的通信.在网络多媒体广播的应用中,当需要将一个节点的信号传送到多个节

路由故障中下游设备学习不到路由器上的组播路由的解决过程

路由故障中,下游设备学习不到路由器上的组播路由的解决过程如下: 网络环境 组播数据通过二层转发到RouterA,RouterA上用VLANIF口终结该组播源的VLAN信息,所有的三层接口(包括物理的和逻辑的)都 启用了组播协议IGMP和PIM SM,设备RouterB的IGP路由可达,但是下挂设备RouterB学习不到RouterA的组播路由,导致组播业务不能正常运行. 图为组播业务组网图 故障分析 1.在RouterB上使用命令ping,能正常Ping通组播源地址,IGP路由可达,说明正常的I