您当前的位置:五五电子网电子知识电工技术电工文摘交换式工业以太网中的多播方法分析 正文
交换式工业以太网中的多播方法分析

交换式工业以太网中的多播方法分析

点击数:7453 次   录入时间:03-04 11:53:18   整理:http://www.55dianzi.com   电工文摘

    (1) 为GDA 创建一个新的多播项目组,并把USA 对应的端口和所有的路由器端口链接到该GDA。

    (2) 如果属于该GDA 的多播项目组已经存在,交换机只是把该USA 对应的端口加入到已有GDA 的端口列表中。

4.3 使用CGMP 离开一个多播组

    当使用IGMPv1,工作站希望离开一个多播组时,不发送IGMP leave 报文, 路由器在两次连续的IGMP 询问没有收到回应后,发送IGMP Leave 报文。如果仍旧有用户对某多播组感兴趣,属于该多播组的端口就不会从多播树上被删除掉。当使用IGMPv2 时,工作站希望离开某一多播组时,可以发送IGMP Leave 报文。CGMPv2 借助该机制可以使工作站快速离开一个组(CGMP Fast-Leave)。

    CGMP Fast-Leave 处理方式允许交换机在端口监视引擎模块(具有IGMP 解析功能的硬件模块)中监听工作站发往所有路由器多播地址(224.0.0.2)的IGMPv2 Leave 报文。当它发现有Leave 报文时,就启动一个查询响应计时器,并发送一条查询报文到接收到该Leave 报文的端口,以确认该端口是否还有工作站希望接收到此多播组数据。如果在定时器超时时还没有收到CGMP Join 报文,则该端口从IGMP Leave 报文所标明的多播组的多播树中被移除。如果它是该多播组的最后一个端口,交换机就把IGMP Leave 报文转发到路由器端口。然后路由器通过发送一个特定组的查询报文启动正常的删除过程,因为不会收到响应报文,路由器就在多播路由表中把相应的端口删除掉。同时路由器也发送一条CGMP Leave 报文给交换机把该多播组从转发表中删除掉 [3]。

5. GARP 多播注册协议(GARP Multicast Registration Protocol)

    在IEEE 802.1D 标准中定义了GMRP,它使用GARP(generic attribute registration protocol)协议机制声明和注册工作站和交换机监听接收多播数据的需要。

5.1 GMRP 的帧格式

    GMRP 的数据帧格式如图3 所示,其各个字段的意义如下:

(1) GMRP 应用地址,为多播地址0x01-80-C2-00-00-20。

(2) 源地址,取产生该GMRP 数据帧的设备的单播地址。

(3) 长度,标明整个GMRP 数据帧的长度。

(4) LLC 头,所有GARP 应用都使用源地址和目的地址为0x42 的LLC 服务接入点,控制字段取值为0x03 标明为无连接服务。

(5) 协议ID,所有GARP 应用都使用值为0x0001 的协议ID,以便和其他LLC 服务(如生成树协议)相区别。


图3 GMRP 帧协议格式

(6) GMRP 属性类别, GMRP 数据帧可以包含多个GMRP 信息字段,用值0x00 标明GMRP信息的结束。GMRP 信息具有两种属性类别:当属性类型为0x01 时表明后面是组成员属性列表,用来声明接收特定多播数据的需要;当属性类型为0x02 时是为了保证兼容不支持GARP 的设备。

(7) GMRP 属性列表,属性列表可以包含多个属性值,每个属性值包含三个元素:属性长度;属性事件,标明对属性值要采取的行为,加入或离开一个多播组;属性值,当属性类别取组成员属性时为48 位的MAC 多播地址[5][6]。

5.2 GMRP 的多播原则

    GMRP 的实现基于GARP 工作机制,用于维护交换机中的动态多播注册信息。所有支持GMRP 特性的交换机都能够接收来自其他交换机的多播注册信息,并动态更新本地的多播注册信息,同时也能将本地的多播注册信息向其他交换机传播,以便使同一交换网内所有支持GMRP 特性的设备的多播信息达成一致。GMRP 依据下面的原则进行操作[5]:

(1) 设备通过Join 命令声明它们加入某多播组的愿望,该声明可以通过Leave 命令撤销。

(2) 当同一网段的已有设备声明对某一多播组感兴趣时,如果另外一个对该多播组感兴趣的设备监听到了该声明,它无需再明确提出声明。

(3) 交换机在某一端口监听到对某一多播组的声明时,它在该端口为该多播组添加一个注册信息。当声明某一多播组服务的所有设备都离开后,交换机将向其他交换机注销掉对该多播组的声明。

(4) 交换机会把一个端口的注册信息向其他端口广播,同时多播注册信息将沿生成树进行广播。

6. 四种多播方式的对比分析

    在表1 中对上述四种多播通信方式进行了对比。除VLAN 外,其他几种多播方式都是针对多播通信特点设计的多播解决方案,它们本质上都是通过某种方法来构建二层的多播树,并减少网络上不必要的数据传输。虽然在控制领域有不少学者提出用VLAN 来解决交换式工业以太网中的多播问题,但通过第2 小节的分析可知,VLAN 并不是多播通信的理想解决办法。它只适合具有较少“生产者-消费者”数据组成员个数的控制网络,而且不同VLAN 之间的通信应限制在一定流量内,因为它们必须通过路由器转发,当不同VLAN 之间的通信流量较大时,路由器就会成为控制网络中的通信瓶颈。因此用VLAN 来实现多播的应限制在小型的控制网络中。


表1 四种多播方式的对比

    使用CGMP 协议时,由路由器根据接收到的IGMP 报文构建CGMP 报文然后再发送给交换机进行二层多播配置,因此在使用CGMP 协议时,多播路由器是必须的设备。当使用IP 窃听时,由于交换机可以代替多播路由器来解析IGMP 信息,通过适当的配置,进行多播配置时可以不需要路由器的介入,而由交换机代理路由器的相关功能。IGMP 窃听方法和CGMP 协议的提出都是源于互联网上多媒体通信快速增长的需要,它们在构建二层的多播树时都利用了三层网络上的IGMP 报文信息,二层的多播地址是由三层的IP 多播地址转换得到的,因此参加二层多播的工作站也必须配置三层的IP 多播地址。另一方面,CGMP 和IP 窃听都是专有的多播解决方案,其中CGMP 只被Cisco 的交换机和路由器支持,相比之下,IP 窃听方法有多个交换机厂商支持,但其实现方法并没有一个统一的标准。

    GMRP 的提出一方面是源于互联网上多媒体多播通信快速增长的需要,另一方面也是交换式以太网普遍采用提出的要求(在共享式以太网中不存在多播通信消耗大量带宽的情况)。CMRP 是纯二层的协议,它所使用的GARP 注册协议也同时被VLAN 采用来注册各个工作站的VLAN 属性(GVRP,GARP VLAN Registration Protocol),因此在以太网交换机中,CMRP 会获得越来越广泛的支持。在使用GMRP 时,工作站的网络接口卡和协议栈也必须提供对GMRP 的支持,但现有设备和系统的协议栈对GMRP 的支持并不充分。

    因此在工业交换式以太网中,目前可考虑采用CGMP 或IP 窃听来解决实时数据的多播问题,待工作站的接口卡和系统的协议栈对GMRP 做出相应改进后,逐渐过渡到使用GMRP来解决二层控制网络中的多播问题。

7. 总结

    本文分析了工业控制网络中的数据通信特点:即存在大量多播数据,并介绍了目前交换式以太网中比较常用的四种多播方法:VLAN,IGMP 窃听,CGMP,GMRP,对它们的特点进行了对比分析,指出了各自的使用范围。另一方面,由于交换机的学习注册过程需要一定时间,如果在这段时间内传送数据,对于未知的多播地址,交换机仍然以广播的方式发送数据,依然会导致广播风暴,引起控制网络的不稳定性。因此在各工作站正式通信前,有必要引入一个学习期,使各个站点有足够的时间进行多播地址的注册,在这段时间内,交换机也可以学习各个工作站的单播地址,从而在正式传送控制数据时尽可能地减少网络上的广播数据。

参考文献

[1] IEEE Std 802.1Q. IEEE Standards for Local and Metropolitan Area Networks: Virtual Bridged Local Area Network[S]. 1999
[2] 王军,吴志美. 交换式以太网上的多播协议[J]. 软件学报,2003,14(3): 496-502
[3] Cisco Systems Inc. Multicast in a Campus Network: CGMP and IGMP Snooping [J/OL]. URL:http://www.cisco.com/. 2003
[4] Kennedy C. and Kevin H. Cisco LAN Switching [M]. Cisco Press, 1999, 773-598
[5] IEEE Std 802.1D, 1998 Edition. Media Access Control (MAC) Bridges [S]
[6] Rich Seifert. The Switch Book [M]. Wiley Computer Publishing, 2000, 422-429

上一页  [1] [2] 


本文关键字:以太网  工业  电工文摘电工技术 - 电工文摘

《交换式工业以太网中的多播方法分析》相关文章>>>