一种处理igmp报文的方法和装置的制作方法

文档序号:7929137阅读:164来源:国知局
专利名称:一种处理igmp报文的方法和装置的制作方法
技术领域
本发明涉及网络通信技术,特别涉及 一 种处理因特网群组管理协议 (IGMP, Internet Group Management Protocol)才艮文的方法禾口装置。
背景技术
在现有的二层组播环境下,通常会采用环网方式来提供冗余链路,并且 采用生成树协议(STP, Spanning Tree Protocol)来阻塞某条链路上的端口 , 使组播流能够根据实际需要的端口来进行转发,从而避免环路。另外,会采 用IGMP技术来管理组播成员,实现对组播成员加入组播组或离开组播组的控制。
图l为一种二层组播环境下的组网结构,如图1所示,该二层组播环境 为三层交换才几l、三层交换才几2和二层交换才几组成的环网,在该环网中运行 STP和IGMP侦听(snooping)技术。其中,设置三层交换机1为根桥,负 责从三层组播环境中接收组播流,并转发至二层组播环境中的设备;三层交 换2为IGMP查询器,负责在该二层组播环境中的各虚拟局域网(VLAN) 中发送IGMP查询(query)报文来获取组播成员的状态;二层交换机连接 用户端。各交换机接收到IGMP query报文后,通过处于转发(forwarding ) 状态的端口进行转发,通过处于forwarding状态的端口接收IGMP report报 文,并生成转发表项;交换机中处于阻塞(discarding)状态的端口仅处理 STP协议报文和点对点协议报文,而不接收和处理IGMP报文。图1中作为 根桥的三层交换机1的所有端口均为forwarding状态,为了避免环路运行 STP后,假设二层交换机的端口 P2被处于discarding状态,则链路3不转 发流量。作为IGMP查询器的三层交换机2周期性发送的IGMP query报文通过链路2和链路1转发至二层交换机,再由二层交换机发送至用户端,接 收到用户端返回的IGMP加入(report)才艮文后,各交换才几利用IGMP report 报文建立转发表项,使得组播流通过链路1进行转发。
然而,如果链路1发生故障,运行的STP会迅速启用链路3,将端口 P2转换为forwarding状态,但是,由于二层交换机需要等待IGMP查询器 发送IGMP query报文后通过端口 P2接收并转发给用户端,并利用用户端返 回的IGMP report报文来建立基于端口 P2的转发表项,三层交换机2和三 层交换机1也需要利用而二层交换机通过端口 P2转发来的report报文来分 别建立以P6和P4为出接口的转发表项之后,才能够进行组播流的转发。由 于IGMP查询器发送IGMP query报文的时间间隔较长,因此,从链路1发 生故障到通过链路2和链路3进行组播流的恢复可能需要等待近1分钟的时 间,这显然给组播业务造成较长的中断时间。

发明内容
有鉴于此,本发明提供了一种处理IGMP报文的方法和装置,以便于縮 短链路切换后组播流的恢复时间。
一种处理IGMP报文的方法,预先使能处于阻塞状态的端口处理IGMP 才艮文,该方法包4舌
交换机通过处于阻塞状态的端口接收到或者要发送IGMP报文时,判断
项,如果否,则在针对该端口设置的IGMP报文表中创建包含该IGMP报文 信息的表项,转发该IGMP报文,并在该IGMP报文为IGMP加入报文时, 利用该IGMP报文创建转发表项;如果是,则丢弃该IGMP报文。
一种处理IGMP报文的装置,该装置预先使能处于阻塞状态的端口处理 IGMP报文,该装置包括判断单元、报文表存储单元、报文处理单元和报文 丢弃单元;
所述判断单元,用于在处于阻塞状态的端口接收到或者要发送IGMP报文时,判断针对该端口设置的IGMP报文表中是否已经存在包含该IGMP报文信 息的表项;
所述报文表存储单元,用于存储针对所述处于阻塞状态的端口设置的IGMP 报文表;
所述报文处理单元,用于在所述判断单元的判断结果为否时,在针对所述 端口设置的IGMP报文表中创建包含该IGMP报文信息的表项,转发该IGMP 报文,并在该IGMP报文为IGMP加入报文时,利用该IGMP冲艮文创建转发表
项;
所述报文丟弃单元,用于在所述判断单元的判断结果为是时,丢弃该IGMP报文。
由以上技术方案可以看出,在本发明提供的方法和装置中,预先使能处于 阻塞状态的端口处理IGMP报文,交换机通过处于阻塞状态的端口接收到或者 要发送IGMP报文时,判断针对该端口设置的IGMP报文表中是否已经存在包 含该IGMP报文信息的表项,如果否,则在针对该端口设置的IGMP报文表中 创建包含该IGMP报 文信息的表项,转发该IGMP报文,并在该IGMP报文为 IGMP加入报文时,利用该IGMP报文创建转发表项;如果是,则丢弃该IGMP 报文。也就是说,预先在端口处于阻塞状态时创建转发表项,由于该端口处于 阻塞状态不会转发组播流,用户端不会收到2份组播流, 一旦环网中正在使用 的链路发生故障,运行的STP迅速将处于阻塞状态的端口切换为转发状态,则 该端口可以利用已经创建的转发表项立即转发组播流,从而缩短链路切换后组 播流中断的时间。并且,通过针对该处于阻塞状态的端口设置IGMP报文表存 储IGMP报文信息来避免IGMP报文环路引起的广播。



图1为一种二层组播环境下的组网结构;
图2为本发明实施例提供的具体方法流程图3为本发明实施例提供的装置结构图。
具体实施例方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体 实施例对本发明进行详细描述。
本发明提供的方法主要包括预先使能处于discarding状态的端口处理 IGMP报文;交换机通过处于discarding状态的端口接收到或者要发送IGMP 报文时,判断针对该端口设置的IGMP报文表中是否已经存在包含该IGMP 报文信息的表项,如果否,则在针对该端口设置的IGMP报文表中创建包含 该IGMP报文信息的表项,转发该IGMP报文,并在该IGMP报文为IGMP report报文时,利用该IGMP report报文创建转发表项;如果是,则丢弃该 IGMP l艮文。
现有技术中,处于discarding状态的端口只能处理STP协议报文和二层 的点对点协议报文,在本发明中预先对处于discarding状态的端口进行配置, 例如,为交才吳才几中的STP才莫块增力口命令stp igmp ignore, 1吏3寻处于discarding 状态的端口也能处理IGMP报文,其中,IGMP报文包括IGMP query报文、 IGMP report报文或IGMP离开(leave)报文。但是,处于discarding状态 的端口仍不能转发组播流。
由于STP为了避免二层环路,会在二层环路中计算出一个处于 discarding状态的端口 ,该处于discarding状态的端口可能在二层交换沖儿上, 也可能在三层交换机上,由具体的STP计算策略来决定,因此,本发明提 供方法中的交换机可以是二层交换机,也可以是三层交换机。
下面结合具体实施例对上述方法进行详细描述。图2为本发明实施例提 供的具体方法流程图,如图2所示,在交换机上配置使能处于discarding状 态的端口处理IGMP报文后,该交换机对IGMP报文的处理过程可以包括以 下步骤
步骤201:交换机通过处于discarding状态的端口接收到或要发送IGMP 报文时,如果该IGMP报文为IGMP query报文,则执行步骤202;如果该IGMP报文为IGMP report报文,则执行步骤205;如果该IGMP报文为IGMP leave报丈,则执行步骤210。
步骤202:判断针对该处于discarding状态的端口设置的IGMP报文表 中是否已经存在包含该IGMP query报文信息的表项,如果否,执行步骤203, 如果是,则执行步骤204。
由于本发明中配置处于discarding状态的端口能够处理IGMP报文,为 了避免由于处于discarding状态的端口能够接收和发送IGMP报文而引起 IGMP报文的环路,因此,可以针对该处于discarding状态的端口设置IGMP 报文表,对该端口的IGMP报文进行监视,接收到或要发送IGMP报文时, 将该IGMP报文信息存储在该IGMP报文表的表项中,如果再次接收到或要 发送该IGMP报文,则IGMP报文表中已经存在包含该IGMP报文信息的表 项,则不再转发该IGMP报文,以避免环路。
步骤203:则在针对该处于discarding状态的端口设置的IGMP报文表 中创建包含该IGMP query报文信息的表项,转发该IGMP query才艮文,结束 流程
针对该处于discarding状态的端口设置的IGMP报文表中尚未存在包含 该IGMP query报文信息的表项,则说明不会引起IGMP query报文环路,则 创建包含该IGMP query报文信息的表项。该表项中可以包含IGMP query报 文中携带的VLAN标识、目的IP地址信息和有效时间信息,还可以包含查 询组信息,例如是特定组查询报文还是通用组查询报文。其中,有效时间信 息是表明该IGMP query报文的有效时间,以其作为该表项的老化时间,该 表项中的有效时间随着时间推移递减。需要说明的是,对于MSTP, 一个端 口对于不同的实例可能具有不同的状态,即对应不同的VLAN可能处于不 同的状态,因此,在确定是否为相同的IGMP报文时,需要区分具体的VLAN, 需要在表项中对VLAN标识进行记录。
另外,交换机在创建了包含该IGMP query报文信息的表项后,如果该 表项达到了记录的IGMP query才艮文的有效日寸间,即该有,文日寸间递减为0 ,或者,该端口从discarding转变为forwarding,则将该表项删除。 步骤204:丢弃该IGMP query报文,结束流程。
步骤205:判断针对该处于discarding状态的端口设置的IGMP报文表 项中是否存在包含该IGMP report报文信息的表项,如果是,执行步骤206, 否则才丸行步骤207。
步骤206:丢弃该IGMP report报文,结束流程。
步骤207:判断针对该处于discarding状态的端口设置的IGMP报文表 项中是否存在该IGMP report报文所对应的IGMP query报文信息,如果是, 执行步骤208,否则,执行步骤209。
步骤208:在IGMP报文表中创建包含该IGMP report报文信息的表项, 将包含对应的IGMP query报文信息的表项中的有效时间,作为包含该IGMP i-eport报文信息的表项的有效时间,转发该IGMP r印ort报文,并利用该IGMP report报文创建转发表项,结束流程。
其中,表项中记录的IGMP report 4艮文信息可以包含IGMP report报文 中携带的VLAN标识、加入的组地址信息,如果是IGMP版本3 ( IGMPv3 ) 情况下,由于各IGMP report报文存在加入模式的区别,因此表项中记录的 IGMP report ^艮文信息还可以包含加入模式信息。
包含该IGMP report报文信息的表项的有效时间也会随着时间的推移递 减,当该表项达到有效时间时,即递减为0时,该表项被删除。
步骤209:在IGMP报文表中创建包含该IGMP report报文信息的表项, 该表项中的有效时间采用默认的有效时间,转发该IGMP report报文,并利 用该IGMP report 4艮文创建转发表项,结束流程。
本步骤中,当先接收到IGMP report报文时,可以使该表项中的有效时 间采用默认的有效时间,可以在下次接收到IGMP report对应的IGMP query 报文时,利用IGMP query报文中包含的有效时间进行修改。
步骤210:判断针对该处于discarding状态的端口设置的IGMP报文表 项中是否存在包含该IGMP leave报文信息的表项,如果是,则执行步骤211,否则执行步骤212。
步骤211:丢弃该IGMP leave报文,结束流程。
步骤212:判断针对该处于discarding状态的端口设置的IGMP报文表 项中是否存在该IGMP leave报文所对应的IGMP query报文信息,如果是, 执行步骤213,否则执行步骤214。
步骤213:在IGMP报文表中创建包含该IGMP leave报文信息的表项, 将包含对应的IGMP query报文信息的表项中的有效时间作为包含该IGMP leave报文信息的表项的有效时间,转发该IGMP leave报文,并利用该IGMP leave报文删除相应的表项,结束流程。
本步骤中创建的表项中包含的IGMP leave报文信息可以包括VLAN 标识和离开组地址信息,另外,该表项的有效时间也会随着时间的推移递减, 当该表项达到有效时间时,即递减为0时,该表项被删除。
步骤214:在IGMP报文表中创建包含该IGMP leave报文信息的表项, 该表项中的有效时间采用默认的有效时间,转发该IGMP leave报文,并利 用该IGMP leave报文删除相应的转发表项,结束流程。
另外,由于交换机可能自身具有IGMP报文的MAC地址学习功能,为 了防止处于discarding状态的端口转发IGMP报文后,对端的交换机学习到 MAC地址而导致转发错误,可以进一步取消交换机具有的IGMP报文的 MAC地址学习功能。
下面仍以图1所示组网为例,假设三层交换机2的MAC地址小于二层 交换机,各链路正常的情况下,通过运行STP计算出二层交换机的端口 P2 处于discarding状态,由于预先使能了处于discarding状态的端口处理IGMP 报文,因此,端口 P2能够对作为IGMP查询器的三层交换机发送来的IGMP query报文进行处理,但不转发组播流。
当三层交换机2发送IGMP query报文到端口 P2后,二层交换机确定针 对P2设置的IGMP报文表中尚不存在包含该IGMP query报文信息的表项, 则在IGMP报文表中创建包含该IGMP query报文信息的表项,例如,将该IGMP报文中携带的VLAN标识、目的IP地址信息和有效时间存储在表项 中,其中,有效时间会随着时间递减,当有效时间递减为0时删除该表项, 然后转发该IGMP query报文。由于该IGMP query报文除了转发给用户端之 外,还会通过端口 PI转发给三层交换机1,经由三层交换机2再回到二层 交换才几的端口P2。当端口 P2再次4娄收到该IGMP query净艮文后,由于针对 端口 P2设置的IGMP报文表中已经存在包含该IGMP query报文信息的表 项,因此会丢弃该IGMP query报文,从而避免IGMP query报文环路造成广 播。
如果有用户端在接收到IGMP query净艮文后要加入组播组,则会回复 IGMP report报文。二层交换机通过端口 P2要发送该IGMP report寺艮文曰寸, 确定针对端口 P2设置的IGMP报文表中不存在包含该IGMP report报文信息 的表项,进 一 步确定该IGMP报文表中是否存在该IGMP report报文所对应 的IGMP query报文信息。由于已经存在该IGMP report报文所对应的IGMP query报文信息,则二层交换冲几在IGMP报文表中创建包含该IGMP report 报文信息的表项,将包含IGMP query报文的表项中剩余的有效时间作为创 建的包含IGMP report净艮文讦l息的表项的有-欠时间,it匕日于创建的该表项可以 包含VLAN标识、加入的组地址信息和有效时间;如果是IGMPv3,还可 以进一步包含加入才莫式信息。然后,二层交换才几利用该IGMP report净艮文创 建转发表项并转发该IGMP report报文。
IGMP report报文通过端口 P2转发给三层路由设备2和三层路由设备1 时,三层路由设备2和三层路由设备1也会利用IGMP report报文创建转发 表项,利用创建的转发表项组播流能够被转发到二层交换机的端口 P2,但 由于端口 P2仍处于discarding状态,因此并不会转发组播流,用户端不会 收到2份流量。
另外,IGMP report报文经由三层路由设备2和三层路由设备1会重新 发送至二层交换机,二层交换机的端口 P2在确定IGMP报文表中已经存在 包含该IGMP report报文信息的表项,因此会丢弃该IGMP report报文,从而避免IGMP query报文环路造成广播。
在执行上述过程之后,如果链路1发生故障,运行的STP会通过计算 迅速将端口 P2转换为forwarding状态,由于此时在二层交换机、三层交换 机2和三层交换机1中已经在端口 P2处于discarding状态时预先创建了相 应的转发表项,因此,可以立即转发组播流量而不会造成长时间的中断。
当用户端要离开组播组时会发送IGMP leave报文,其处理过程与IGMP report报文的处理过程基本相同只是,在IGMP报文表中创建相应表项后, 不是创建转发表项,而是删除对应的转发表项。具体过程不再赘述。
还有其他情况,例如,在运行不同的STP时,可能将二层交换机的端 口 P5设置为discarding,由于二层交换机为IGMP查询器,因此,预先使能 处于discarding状态的端口处理IGMP报文后,其通过端口 P5要发送IGMP query报文时,也会在针对P5设置的IGMP报文表中创建包含IGMP query 报文信息的表项,并转发该IGMP query报文给二层交换机,并通过本发明 的方法在接收到返回的IGMP report报文后,创建转发表项,但由于端口 P5 处于discarding状态,因此,不会转发组播流。 一旦链^各1发生故障,运行 的STP迅速将端口 P5切换为forwarding状态时,能够立即转发组播流,从 而避免流量中断。
以上是对本发明所提供的方法进行的描述,下面对本发明所提供的装置进 行详细描述。图3为本发明实施例提供的装置结构图,该装置预先使能处于阻 塞状态的端口处理IGMP报文,如图3所示,该装置可以包括判断单元301、 报文表存储单元302、报文处理单元303和报文丟弃单元304。
判断单元301,用于在处于阻塞状态的端口接收到或者要发送IGMP报文 时,判断针对该端口设置的IGMP报文表中是否已经存在包含该IGMP报文信 息的表项。
报文表存储单元302,用于存储针对处于阻塞状态的端口设置的IGMP报文表。
报文处理单元303,用于在判断单元301的判断结果为否时,在针对端口设置的IGMP报文表中创建包含该IGMP报文信息的表项,转发该IGMP报文, 并在该IGMP报文为IGMP REPORT报文时,利用该IGMP报文创建转发表项。 报文丢弃单元304,用于在判断单元301的判断结果为是时,丢弃该IGMP报文。
其中,上述IGMP报文可以为IGMP query报文、IGMP report报文或IGMP leave报文。当IGMP报文为IGMP query报文时,报文处理单元303创建的包 含IGMP报文信息的表项中包括该IGMP query报文中携带的有效时间。
报丈表存储单元302存储的各表项中的有效时间随着时间递减,递减为0
时删除该表项。
当IGMP报文为IGMP report报文时,报文处理单元303在判断单元301 的判断单元301为否时,还用于判断针对端口设置的IGMP报文表中是否存在 包含与该IGMP report推—文对应的IGMP query推-文j言息的.表项,如果.是,则扭, 行创建包含该IGMP报文信息的表项操作,并将包含与该IGMP report报文对 应的IGMP query报文信息的表项中的有效时间作为创建的包含该IGMP repoit 报文信息的表项的有效时间;如果否,则执行创建包含该IGMP报文信息的表 项操作,并将预设的默认有效时间作为该表项的有效时间。
当IGMP报文为IGMP leave报文时,报文处理单元303在判断单元301 的判断单元301为否时,还用于判断针对端口设置的IGMP报文表中是否存 在包含与该IGMP leave报文对应的IGMP query报文信息的表项,如果是, 则执行创建包含该IGMP报文信息的表项纟喿作,并将包含与该IGMP leave 报文对应的IGMP query报文信息的表项中的有效时间作为创建的包含该 IGMP leave报文信息的表项的有效时间,利用该IGMP leave报文删除对应 的转发表项;如果否,则执行创建包含该IGMP报文信息的表项操作,并将 预设的默认有效时间作为该表项的有效时间,利用该IGMP leave报文删除 对应的转发表项。
上述装置可以设置在二层交换机中,也可以设置在三层交换机中。
由以上描述可以看出,在本发明提供的方法和装置中,预先使能处于阻塞状态的端口处理IGMP报文,交换机通过处于阻塞状态的端口接收到或者要发
送IGMP报文时,判断针对该端口设置的IGMP报文表中是否已经存在包含该 IGMP报文信息的表项,如果否,则在针对该端口设置的IGMP报文表中创建 包含该IGMP报文信息的表项,转发该IGMP才艮文,并在该IGMP报文为IGMP 加入报文时,利用该IGMP报文创建转发表项;如果是,则丢弃该IGMP报文。 也就是说,预先在端口处于阻塞状态时创建转发表项,由于该端口处于阻塞状 态不会转发组播流,用户端不会收到2份组播流, 一旦环网中正在使用的链路 发生故障,运行的STP迅速将处于阻塞状态的端口切换为转发状态,则该端口 可以利用已经创建的转发表项立即转发组播流,从而缩短组播流中断的时间。 并且,通过针对该处于阻塞状态的端口设置IGMP报文表存储IGMP报文信息 来避免IGMP报文环路引起的广播。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。
权利要求
1、一种处理因特网群组管理协议IGMP报文的方法,其特征在于,预先使能处于阻塞状态的端口处理IGMP报文,该方法包括交换机通过处于阻塞状态的端口接收到或者要发送IGMP报文时,判断针对该端口设置的IGMP报文表中是否已经存在包含该IGMP报文信息的表项,如果否,则在针对该端口设置的IGMP报文表中创建包含该IGMP报文信息的表项,转发该IGMP报文,并在该IGMP报文为IGMP加入报文时,利用该IGMP报文创建转发表项;如果是,则丢弃该IGMP报文。
2、 根据权利要求1所述的方法,其特征在于,当所述IGMP报文为IGMP 查询报文时,所述IGMP报文信息包括VLAN标识、目的IP地址信息和有效 时间;当所述IGMP报文为IGMP加入报文时,所述IGMP报文信息包括VLAN 标识和加入的组地址信息,或者,VLAN标识、加入的组地址信息和加入模式 信息;当所述IGMP报文IGMP离开报文时,所述IGMP报文信息包括VLAN 标识和离开的组地址信息。
3、 根据权利要求1或2所述的方法,其特征在于,当所述IGMP报文为IGMP 查询报文时,所述包含该IGMP报文信息的表项中包括所述IGMP查询寺艮文中 携带的有效时间;IGMP报文表的各表项中的有效时间随着时间递减,递减为0 时删除该表项,或者所述端口从阻塞状态切换为转发状态时删除该表项。
4、 根据权利要求3所述的方法,其特征在于,当所述IGMP报文为IGMP 加入报文时,在针对该端口设置的IGMP报文表中创建包含该IGMP报文信息 的表项之前还包括判断针对该端口设置的IGMP报文表中是否存在包含与该 IGMP加入报文对应的IGMP查询报文信息的表项,如果是,继续执行在针对 该端口设置的IGMP报文表中创建包含该IGMP加入报文信息的表项,并将包 含与该IGMP加入报文对应的IGMP查询报文信息的表项中的有效时间作为创建的包含该IGMP加入报文信息的表项的有效时间;如果否,继续执行在针对该端口设置的IGMP报文表中创建包含该IGMP加入报文信息的表项,并将预 设的默认有效时间作为该表项的有效时间。
5、 根据权利要求3所述的方法,其特征在于,当所述IGMP报文为IGMP 离开报文时,在针对该端口设置的IGMP报文表中创建包含该IGMP报文信息 的表项之前还包括判断针对该端口设置的IGMP报文表中是否存在包含与该 IGMP离开报文对应的IGMP查询报文信息的表项,如果是,继续执行在针对 该端口设置的IGMP报文表中创建包含该IGMP离开报文信息的表项,并将包 含与该IGMP离开报文对应的IGMP查询报文信息的表项中的有效时间作为创 建的包含该IGMP离开报文信息的表项的有效时间,利用该IGMP离开报文删 除对应的转发表项;如果否,继续执行在针对该端口设置的IGMP报文表中创 建包含该IGMP离开报文信息的表项,.并将预设的默认有效时间作为该表项的 有效时间,利用该IGMP离开报文删除对应的转发表项。
6、 根据权利要求1或2所述的方法,其特征在于,该方法还包括取消交 换机利用IGMP报文学习MAC地址的功能。
7、 一种处理IGMP报文的装置,其特征在于,该装置预先使能处于阻塞状 态的端口处理IGMP报文,该装置包括判断单元、报文表存储单元、报文处 理单元和报文丟弃单元;所述判断单元,用于在处于阻塞状态的端口接收到或者要发送IGMP报文 时,判断针对该端口设置的IGMP报文表中是否已经存在包含该IGMP报文信 息的表项;所述报文表存储单元,用于存储针对所述处于阻塞状态的端口设置的IGMP 报文表;所述报文处理单元,用于在所述判断单元的判断结果为否时,在针对所述 端口设置的IGMP报文表中创建包含该IGMP报文信息的表项,转发该IGMP 报文,并在该IGMP报文为IGMP加入纟艮文时,利用该IGMP报文创建转发表 项;所述报文丢弃单元,用于在所述判断单元的判断结果为是时,丢弃该IGMP 报文。
8、 根据权利要求7所述的装置,其特征在于,当所述IGMP报文为IGMP 查询报文时,所述报文处理单元创建的包含IGMP报文信息的表项中包括该 IGMP查询才艮文中携带的有效时间;所述报文表存储单元存储的各表项中的有效时间随着时间递减,递减为0 时删除该表项。
9、 根据权利要求8所述的装置,其特征在于,当所述IGMP报文为IGMP 加入报文时,所述报文处理单元在所述判断单元的判断单元为否时,还用于判 断针对所述端口设置的IGMP报文表中是否存在包含与该IGMP加入报文对应 的IGMP查询报文信息的表项,如果是,则执行所述创建包含该IGMP报文信 息的表项操作,并将包含与该IGMP加入报文对应的1GMP查询报文信息的表 项中的有效时间作为创建的包含该IGMP加入报文信息的表项的有效时间;如 果否,则执行所述创建包含该IGMP报文信息的表项操作,并将预设的默认有 效时间作为该表项的有效时间。
10、 根据权利要求8所述的装置,其特征在于,当所述IGMP报文为IGMP 离开报文时,所述报文处理单元在所述判断单元的判断单元为否时,还用于判 断针对所述端口设置的IGMP报文表中是否存在包含与该IGMP离开报文对应 的IGMP查询报文信息的表项,如果是,则执行所述创建包含该IGMP报文信 息的表项操作,并将包含与该IGMP离开报文对应的IGMP查询报文信息的表 项中的有效时间作为创建的包含该IGMP离开报文信息的表项的有效时间,利 用该IGMP离开报文删除对应的转发表项;如果否,则执行所述创建包含该 IGMP报文信息的表项操作,并将预设的默认有效时间作为该表项的有效时间, 利用该IGMP离开报文删除对应的转发表项。
全文摘要
本发明提供了一种处理因特网组管理协议(IGMP)报文的方法和装置,预先使能处于阻塞状态的端口处理IGMP报文,其中,方法包括交换机通过处于阻塞状态的端口接收到或者要发送IGMP报文时,判断针对该端口设置的IGMP报文表中是否已经存在包含该IGMP报文信息的表项,如果否,则在针对该端口设置的IGMP报文表中创建包含该IGMP报文信息的表项,转发该IGMP报文,并在该IGMP报文为IGMP加入报文时,利用该IGMP报文创建转发表项;如果是,则丢弃该IGMP报文。本发明能够缩短链路切换后组播流中断的时间,并避免IGMP报文环路引起的广播。
文档编号H04L29/06GK101448003SQ20081024072
公开日2009年6月3日 申请日期2008年12月23日 优先权日2008年12月23日
发明者岭 沈 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1