第2卷第4期2003年10月 江南大学学报(自然科学版)Journal of Southern Yangtze U niversity(N atural Science Edition)
Vol.2 No.4
Oct. 2003
文章编号:1671-7147(2003)04-0361-04 收稿日期:2003-03-14; 修订日期:2003-04-02.
作者简介:尹海春(1977-),男,山东泰安人,计算机软件与理论硕士研究生.
二层以太网交换机上组播协议的实现
尹海春
(电子科技大学计算机科学与工程学院,四川成都610054)
摘 要:针对多媒体在交换机上实现阶组播的必要性,探讨了在二层以太网交换机上主要的组播协议:IGMP 侦听协议和GMRP 协议.通过分析比较,可把握当前以太网交换机组播技术实现的方
法和动向,为今后在交换机上组播技术的完善和发展给予启示.
关键词:组播;二层以太网交换机;网络分组管理协议侦听;通用属性纪录组播注册协议;虚拟局域网中图分类号:TN 919.85文献标识码:A
Study on R ealization of Multicast Protocols on Layer 2Switch
YIN Hai 2chun
(College of Computer Science and Engineering ,University of Electronic Science and Technology ,Chengdu 610054,China )
Abstract :In this paper ,several multicast protocols (IGMP Snooping and GMRP )on layer 2switch are discussed.Through analysis and comparation ,the paper presents the current methods and directions of realization multicast on Ethernet switch ,and puts forward some new idea for more consummation for technology of multicast on switch.
K ey w ords :multicast ;layer 2Ethernet switch ;IGMP snooping ;GMRP ;VLAN
随着宽带多媒体网络的不断发展,各种宽带网络应用层出不穷.IP TV 、视频会议、数据和资料分发、网络音频应用、网络视频应用、多媒体远程教育等宽带应用都对现有宽带多媒体网络的承载能力提出了挑战.采用单播技术构建的传统网络,在带宽和网络服务质量方面已无法满足新兴宽带网络的要求,同时也带来网络延时、数据丢失等问题,通过引入IP 组播技术,有助于解决此类问题.组播网络中,即使组播用户数量成倍增长,骨干网络中网络带宽也无需增加.因为成百上千的组播应用用户和一个组播应用用户所占用的骨干网带宽是相同的,从而最大限度地解决目前宽带应用对带宽和网络服务质量的要求[1].
目前二层以太网交换机在组网时已得到越来
越广泛的应用.在网络运行环境中,当路由器将组播报文转发下来后,处于接入层边缘的二层交换机负责将组播报文转发给组播用户.传统的二层交换机是将组播报文广播出去,不但浪费了大量的网络带宽,引起广播风暴,也影响了正常业务,所以迫切需要在二层交换机上实现组播.最简单的方法是通过手工配置,但是组播是动态变化的,手工配置方式不可能适应这种变化.这就需要二层交换机能根据组播用户的动态,加入或离开组播组,同时保证动态地维护组播组,而GMRP 和IGMP Snooping 正好可以解决上述问题.
1G MRP 和IG MP Sn ooping 的原理分析
1.1 G MRP 和IG MP Snooping 的含义和实现环境
GMRP 的全称是G ARP Multicast Registration Protocol,即G ARP 组播注册协议,它通过使用G ARP 提供的服务,在交换机上完成二层组播的动
态注册.有关G ARP 的详细介绍参见IEEE
802.
1D.IGMP Snooping ,即IGMP 侦听.它的作用和GMRP 一样,也是在交换机上完成二层组播的动态注册
,不过它使用的是IGMP 报文,IGMP 报文格式可以在RFC1122(IGMP 版本1)[2]和RFC2236(IGMP 版本2)[3]中找到.这两者的实现环境是不同的:G MRP 的实现只需要主机和交换机的参与;而IG MP Snooping 的实现则需要主机、交换机和路由器的同时参与.两者的运行环境如图1、图2所示.
图1 IG MP 侦听的实现环境
Fig.1 R ealization environment of IG MP snooping
图2 G MRP 的实现环境
Fig.2 R ealization environment of G MRP
1.2 G MRP 和IG MP Snooping 的实现原理
虽然GMRP 和IGMP Snooping 都是实现二层组播,但它们的实现机理却有所不同.通过GMRP 协议实现二层组播时,主机和交换机均须实现GM 2RP ,但不需路由器参与,故减轻了路由器的负担.交
换机在动态维护二层组播组的同时,还需传播GM 2RP 报文使其它交换机也能动态地更新其二层组播
组,这样无疑会加重交换机处理的负担.但通过IG MP Snooping 实现二层组播时,需在主机和路由器
上实现IG MP ,交换机只通过侦听主机和路由器传送的IG MP 报文动态地维护二层组播组,但在本交换机
上的组播注册一般不会传播到其它交换机上.
1.3 G MRP 和IG MP S nooping 的组播注册属性对比
虽然GMRP 和IGMP Snooping 都是实现二层组播,但两者的组播注册属性却有所不同,GMRP 注册组播时直接使用MAC 组播地址.注册的属性除了通常的MAC 组播地址外,还能注册端口的默认组过滤行为,即是否转发所有组播组,是否转发所有未注册的组播组[4].而IGMP Snooping 使用的却是IP 组播地址,这样不仅需将IP 组播地址映射到MAC 组播地址,还存在多个IP 组播地址对应一个MAC 组播地址的情况.另外,IGMP Snooping 不能注册端口的默认组过滤行为,且IG MP Snooping 除了维护一般的组成员端口外,还要维护路由器端口.该端口是指交换机和路由器相连的端口.1.4 G MRP 和IG MP S nooping 与V LAN 的紧密联系
VLAN 技术,即虚拟局域网技术.在交换机中
引入VLAN 的一个主要原因就是限制广播.在VLAN 环境下,为将两者更好地结合起来实现组
播,应将GMRP 和IGMP Snooping 所建立的组播组
局限在VLAN 广播域中.在VLAN 环境中,不但组播数据报文的传播被局限在VLAN 域中,而且用来建立组播组的IGMP 和GMRP 控制报文的传播也是局限在VLAN 域中的.如果某一VLAN 被删除,那么之前在它上面建立的所有组播组都应该被删除.
2 G MRP 和IG MP Sn ooping 的具体实现
GMRP 和IGMP Snooping 的运行通常需要3
种事件的驱动:STP 端口状态改变、定时器超时、收到报文.对于每一种事件的发生,都会触发GMRP 和IGMP Snooping 各自产生相应的处理步骤.
2.1 STP 端口状态改变的处理
STP 的全称是Spanning Tree Protocol ,即生成
树协议.采用STP 的目的是为了避免网络中产生循环,STP 会将交换机的端口置于转发或阻塞状态.在STP 中,只有处于转发状态的端口才能转发帧.在G MRP 中,所有处于转发状态的端口组成了GIP C ontext.GIP C ontext 的全称是G ARP Information Propagation C ontext ,即G ARP 消息传播上下文.G M 2RP 报文的传播就发生在GIP C ontext 中.
当某个交换机端口进入转发状态时,GMRP 对应的处理方式,首先是将本端口加到GIP Context 中,再将GIP Context 中其它端口上注册的组播组以GMRP 加报文的形式通过本端口传播出去,再将在本端口上注册的组播组通过其它端口向外传播,
2
63江南大学学报(自然科学版) 第2卷