实现组播侦听在以太网交换机上的研究分析(2)

来源:南粤论文中心 作者:尹海春 发表于:2010-01-18 10:05  点击:
【关健词】组播;以太网交换机;网络分组管理协议侦听;虚拟局域网
3 IGMP Snooping 的分析实现 IGMP Snooping的运行和标准IGMP协议一样,运行在一个虚拟状态机上。虚拟状态的运行通常需要以下两种事件的驱动:定时器超时、收到报文。对于每一种事件的发生,都会触发IGMP Snooping各
3 IGMP Snooping的分析实现
IGMP Snooping的运行和标准IGMP协议一样,运行在一个虚拟状态机上。虚拟状态的运行通常需要以下两种事件的驱动:定时器超时、收到报文。对于每一种事件的发生,都会触发IGMP Snooping各自产生相应的处理步骤。定时器超时和收发报文相互触发,形成一个有机整体。以下通过对这两种事件进一步的阐述,展示了一种较高效的组播侦听的实现方法。
 
3.1定时器超时的处理(实现组播侦听在以太网交换机上的研究分析)
   IGMP Snooping必须动态的维护相应的定时器。如果定时器超时,则一般需要进行定时器超时处理。这里对于IGMP Snooping一共设计了四个不同功用的定时器。第一个是QueryIntervalTimer,即查询间隔定时器。设计此定时器主要是为了维护路由器端口的,其值表示路由器发两次查询报文的时间间隔
。当此定时器超时后,表明被定时的这个端口不再是路由器端口,要将这个端口从相应的VLAN的所有组播组中删除。第二个是ResponseRouterTimer,即路由器响应定时器,其值表示路由器从发出查询到收到主机响应的时间间隔
。此定时器超时后,只是表明组播组对路由器的查询没有响应,而在交换机中不做任何的处理。第三个是ResponseSwitchTimer,即交换机响应定时器。当交换机收到IGMP离开报文时向收到报文的端口发IGMP特定组查询并启动此定时器
。此定时器超时后,表明组播组的组成员对交换机的查询没有响应。如果连续两次交换机响应定时器超时,则将此查询的端口从组播组中删除。如果删除端口没有其它组成员存在,则将整个组播组删除并且向路由器转发IGMP离开报文。第四个是MembershipTimer,即组成员定时器。其值表示组成员两次发IGMP报告报文的时间间隔,主要是为了防止组成员悄悄地离开组而不发IGMP离开报文。
当某个组成员的定时器超时后,表明此组成员有可能“偷偷地”离开了组播组。因此要向此端口发IGMP特定组查询报文并启动交换机响应定时器,以确定此端口下是否还有组成员存在。
 
3.2收到的报文的处理(实现组播侦听在以太网交换机上的研究分析)
 
 
IGMP Snooping处理三种标准的IGMP报文,以下是针对收到这三种不同类型的IGMP报文而设计的处理方法。
1)IGMP Query(查询报文)。此报文由路由器发出,
又可分为通用查询报文和特定组查询报文。对于通用查询报文,首先要判断收到此通用查询报文的端口是新路由器端口还是旧路由器端口。如果是新路由器端口,则将此端口加入报文所带VALN的所有组播组,并启动查询间隔定时器;如果是旧路由器端口,则重新启动查询间隔定时器。接着向交换机的除路由器端口外所有其它端口转发IGMP通用查询报文,同时要对每个组播组启动路由器响应定时器。对于特定组查询报文,交换机要向被查询的组播组的组成员转发IGMP特定组查询报文,同时要启动对这个组播组的路由器响应定时器。
2)IGMP Report(报告报文)。由主机发出,当主机想主动加入某一多播组或对路由器的查询给予响应是产生此种报文,目前支持IGMP v1和IGMP v2两种报告报文。
对于报告报文,交换机首先要确定收到报告报文的端口是新成员还是旧成员。对于新成员的处理是:如果所报告的组播组不存在,则新建此组播组并且将路由器端口和报告的端口一起加入新建的组播组;如果报告的组存在,则只是将报告的端口加入报告的组播组中。然后启动组成员定时器。对于旧成员的处理是:将组成员定时器重启,接着判断交换机响应定时器是否在运行,如果交换机响应定时器正在运行则停止它。判断并处理完接收到报告报文的端口是新成员或是旧成员后,交换机接着要确定是否向路由器端口转发。如果此收到报告报文的端口是报告的组播组中的第一个成员,则要向路由器端口转发,否则不转发。如果发现此报告组播组的查询间隔定时器正在计时,则停止对其计时同时向路由器端口转发IGMP报告报文,否则不转发。
3)
IGMP Leave(离开报文)。由主机发出,当主机想离开某一多播组时产生此种报文。
当交换机从某一端口收到IGMP离开报文时,为了确认此端口下是否还有其它组成员存在,交换机向此端口发特定组查询报文,然后启动交换机响应定时器。当交换机响应定时器超时并且到达查询的次数(2次)后,则将端口从离开的组播组中删除。如果删除离开端口后组播组中没有其它组成员存在,则将整个组播组删除同时向路由器转发IGMP离开报文。(责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)
顶一下
(0)
0%
踩一下
(0)
0%


版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.