实现未知组播报文向路由器端口转发的方法和装置转让专利

申请号 : CN200710145588.X

文献号 : CN101159665B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵金锁

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种实现未知组播报文向路由器端口转发的方法,包括:满足预设条件时,建立未知组播报文转发表项,所述未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,该转发表项中包含了虚拟局域网VLAN的路由器端口;判断接收到的组播报文为未知组播报文时,查找所述未知组播报文转发表项;当所述查找成功时,将所述未知组播报文转发至所述路由器端口。本发明还公开了一种实现未知组播报文向路由器端口转发的装置。应用本发明可以实现由协议平台创建和维护交换芯片内的所有组播报文转发表项,降低了未知组播报文向路由器端口转发的复杂性,同时也降低了对交换设备CPU的冲击,提高了交换设备的性能。

权利要求 :

1.一种实现未知组播报文向路由器端口转发的方法,其特征在于,包括:当根据通过IGMP-Snooping功能侦听并学习的虚拟局域网VLAN的路由器端口开启了未知组播不广播功能后,建立未知组播报文转发表项,所述未知组播不广播功能为在所述VLAN内预先设置的功能,所述未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,该转发表项中包含了所述VLAN的路由器端口;

判断接收到的组播报文为未知组播报文时,查找所述未知组播报文转发表项;

当所述查找成功时,将所述未知组播报文转发至所述路由器端口。

2.根据权利要求1所述的方法,其特征在于,还包括:所述VLAN内关闭未知组播不广播功能后,删除所述未知组播报文转发表项。

3.根据权利要求1所述的方法,其特征在于,还包括:删除所述未知组播报文转发表项中老化的路由器端口;

当所述未知组播报文转发表项中不存在路由器端口时,删除所述未知组播报文转发表项。

4.根据权利要求1所述的方法,其特征在于,所述判断接收到的组播报文为未知组播报文由以下方式实现:接收到组播报文后依次查找已知组播源地址与目的地址的组播转发表项和已知组播目的地址的组播转发表项,如匹配,则按照匹配的转发表项进行转发;如不匹配,则将所述组播报文判断为未知组播报文。

5.根据权利要求1至4任意一项所述的方法,其特征在于,进一步包括:当所述查找所述未知组播报文转发表项不成功时,按照预设处理所述未知组播报文。

6.根据权利要求5所述的方法,其特征在于,所述按照预设处理所述未知组播报文包括:按照预设将所述未知组播报文通过广播的方式向所述VLAN的端口转发;或按照预设将所述未知组播报文丢弃。

7.一种实现未知组播报文向路由器端口转发的装置,其特征在于,包括:预设单元,用于在虚拟局域网VLAN内预先设置未知组播不广播功能;

操作单元,用于根据通过IGMP-Snooping功能侦听并学习的所述VLAN的路由器端口,开启所述未知组播不广播功能;

建立单元,用于当所述操作单元开启所述未知组播不广播功能后,建立未知组播报文转发表项,所述未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,该转发表项中包含了所述VLAN的路由器端口;

查找单元,用于判断接收到的组播报文为未知组播报文时,查找所述未知组播报文转发表项;

判断单元,用于判断所述查找单元是否查找成功;

执行单元,用于当所述判断单元判断查找成功时,将所述未知组播报文转发至所述路由器端口。

8.根据权利要求7所述的装置,其特征在于,所述操作单元进一步用于关闭所述未知组播不广播功能,所述装置还包括:删除单元,用于所述操作单元关闭未知组播不广播功能后,删除所述未知组播报文转发表项。

9.根据权利要求7所述的装置,其特征在于,所述装置还包括:维护单元,用于删除所述未知组播报文转发表项中老化的路由器端口,并且当所述未知组播报文转发表项中不存在路由器端口时,删除所述未知组播报文转发表项。

10.根据权利要求7所述的装置,其特征在于,当所述判断单元判断查找失败时,所述执行单元进一步用于按照预设处理所述未知组播报文。

说明书 :

实现未知组播报文向路由器端口转发的方法和装置

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种实现未知组播报文向路由器端口转发的方法和装置。

背景技术

[0002] 传统的以太网交换机采用广播方式对组播报文进行转发,即该以太网交换机的端口在同一个VLAN(Virtual Local Area Network,虚拟局域网)内,当其中一个端口接收到组播报文时,该组播报文将向该VLAN内的所有其它端口转发。为了节约由广播方式对组播报文进行转发时造成的网络带宽资源的浪费,在以太网交换机上引入了IGMP(Internet Group Management Protocol,因特网组管理协议)-Snooping(窃听)功能,通过该功能以太网交换机可以建立已知组播地址信息与VLAN内端口的对应关系表,也可称为已知组播报文转发表项,根据该已知组播报文转发表项可以将组播报文精确转发到对应的端口,而不必向VLAN内的所有端口广播。对于在已知组播报文转发表项中没有对应的转发端口的未知组播报文,按照RFC4541的规定要保证该未知组播报文向路由器端口转发,在向路由器端口转发的同时可以选择是否向其它主机端口进行广播。
[0003] 现有技术中对未知组播报文进行转发的一个典型应用示意图如图1所示:路由器A和路由器B通过以太网设备LSW互连,LSW上的端口a、端口b和端口c在同一个VLAN内,路由器A和路由器B之间建立PIM(ProtocolIndependent Multicast,协议无关组播)邻居关系,PIM可以利用静态单播路由协议或者任意动态单播路由协议生成的单播路由表为组播报文提供路由。假设路由器A是组播报文流向的上游,路由器B是组播报文流向的下游,当路由器B需要加入组播报文时,路由器B通过PIM协议向上游路由器A报告,路由器A将组播报文通过共享网段转发给路由器B。当以太网设备LSW通过IGMP-Snooping功能在端口a和端口b上侦听到PIM协议的Hello报文时,由于Hello报文属于组播路由协议报文,因此端口a和端口b被设置为路由器端口,而由于VLAN内的主机端口没有接收组播报文的需求,因此不会在以太网设备LSW上建立对应主机端口的的已知组播报文转发表项。当组播报文从路由器端口a进入以太网设备LSW时,由于在已知组播报文转发表项中没有对应该组播报文的转发端口,因此该组播报文为未知组播报文,为了防止该未知组播报文在VLAN内广播,需要将该未知组播报文向路由器端口b精确转发。
[0004] 现有技术中对组播报文进行转发时通常采用交换芯片,交换芯片基于组播报文MAC地址对组播报文进行转发,而IGMP-Snooping功能通常位于协议平台中。对于已知组播报文的转发,协议平台的IGMP-Snooping功能在建立了已知组播报文转发表项后,将该已知组播报文的MAC(Media Access Control,媒体访问控制)地址与对应端口的绑定信息下发到交换芯片,交换芯片根据该绑定关系将已知组播报文转发到对应的端口。对于未知组播报文的转发,协议平台的IGMP-Snooping功能由于没有创建已知组播报文转发表项,交换芯片无法获知该未知组播报文的MAC地址与对应端口的绑定信息,如果要通过交换芯片对该未知组播报文进行精确转发,则该交换芯片需要提取一个未知组播报文发送至CPU(Central Processing Unit,中央处理器),CPU通过分析该未知组播报文得到该未知组播报文的MAC地址信息,并将该MAC地址信息与路由器端口进行绑定,再将绑定信息下发到交换芯片,后续交换芯片根据绑定信息将该未知组播报文精确转发到所有路由器端口。
[0005] 由以上对现有技术的描述可知,现有技术中的协议平台只能创建和维护已知组播报文转发表项,而对未知组播报文的转发,则需要CPU分析未知组播报文的地址信息,然后将地址信息与路由器端口进行绑定后,才能实现将未知组播报文转发到路由器端口,因此实现流程复杂;并且将大量未知组播报文发送至CPU,会对CPU带来一定的冲击,从而影响整个设备的性能;进一步现有技术适用于基于组播MAC地址转发的交换芯片,其设计已经不适合日益成为主流的基于IP(Internet Protocol,网际协议)地址转发的交换芯片。

发明内容

[0006] 本发明的目的在于提供一种实现未知组播报文向路由器端口转发的方法,以克服现有方法实现流程复杂,且容易对CPU造成冲击的问题。
[0007] 本发明的另一目的在于提供一种实现未知组播报文向路由器端口转发的装置,以克服现有装置实现流程复杂,且容易对CPU造成冲击的问题。
[0008] 为解决上述技术问题,本发明提供如下技术方案:
[0009] 一种实现未知组播报文向路由器端口转发的方法,包括:
[0010] 当根据通过IGMP-Snooping功能侦听并学习的虚拟局域网VLAN的路由器端口开启了未知组播不广播功能后,建立未知组播报文转发表项,所述未知组播不广播功能为在所述VLAN内预先设置的功能,所述未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,该转发表项中包含了所述VLAN的路由器端口;
[0011] 判断接收到的组播报文为未知组播报文时,查找所述未知组播报文转发表项;
[0012] 当所述查找成功时,将所述未知组播报文转发至所述路由器端口。
[0013] 还包括:
[0014] 所述VLAN内关闭未知组播不广播功能后,删除所述未知组播报文转发表项。
[0015] 还包括:
[0016] 删除所述未知组播报文转发表项中老化的路由器端口;
[0017] 当所述未知组播报文转发表项中不存在路由器端口时,删除所述未知组播报文转发表项。
[0018] 所述判断接收到的组播报文为未知组播报文由以下方式实现:
[0019] 接收到组播报文后依次查找已知组播源地址与目的地址的组播转发表项和已知组播目的地址的组播转发表项,如匹配,则按照匹配的转发表项进行转发;如不匹配,则将所述组播报文判断为未知组播报文。
[0020] 进一步包括:
[0021] 当所述查找所述未知组播报文转发表项不成功时,按照预设处理所述未知组播报文。
[0022] 所述按照预设处理所述未知组播报文包括:
[0023] 按照预设将所述未知组播报文通过广播的方式向所述VLAN的端口转发;或按照预设将所述未知组播报文丢弃。
[0024] 一种实现未知组播报文向路由器端口转发的装置,包括:
[0025] 预设单元,用于在虚拟局域网VLAN内预先设置未知组播不广播功能;
[0026] 操作单元,用于根据通过IGMP-Snooping功能侦听并学习的所述VLAN的路由器端口,开启所述未知组播不广播功能;
[0027] 建立单元,用于当所述操作单元开启所述未知组播不广播功能后,建立未知组播报文转发表项,所述未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,该转发表项中包含了所述VLAN的路由器端口;
[0028] 查找单元,用于判断接收到的组播报文为未知组播报文时,查找所述未知组播报文转发表项;
[0029] 判断单元,用于判断所述查找单元是否查找成功;
[0030] 执行单元,用于当所述判断单元判断查找成功时,将所述未知组播报文转发至所述路由器端口。
[0031] 所述操作单元进一步用于关闭所述未知组播不广播功能,所述装置还包括:
[0032] 删除单元,用于所述操作单元关闭未知组播不广播功能后,删除所述未知组播报文转发表项。
[0033] 所述装置还包括:
[0034] 维护单元,用于删除所述未知组播报文转发表项中老化的路由器端口,并且当所述未知组播报文转发表项中不存在路由器端口时,删除所述未知组播报文转发表项。
[0035] 当所述判断单元判断查找失败时,所述执行单元进一步用于按照预设处理所述未知组播报文。
[0036] 由以上对本发明技术方案的描述可知,本发明在满足预设条件时,建立未知组播报文转发表项,该未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,该转发表项中包含了虚拟局域网VLAN的路由器端口,判断接收到的组播报文为未知组播报文时,查找未知组播报文转发表项,当所述查找成功时,将未知组播报文转发至路由器端口。应用本发明可以实现由协议平台维护交换芯片内的所有组播报文转发表项,使协议平台和交换芯片的转发表项能够保持一致,在对未知组播报文进行转发时由于无需通过CPU分析获取路由器端口信息,因此降低了未知组播报文向路由器端口转发的复杂性;由于通过建立未知组播报文转发表项实现了对未知组播报文的转发,同时也降低了未知组播报文对CPU的冲击,提高了以太网交换设备的性能。

附图说明

[0037] 图1为现有技术中未知组播报文转发的应用示意图;
[0038] 图2为本发明方法的第一实施例流程图;
[0039] 图3为本发明方法的第二实施例流程图;
[0040] 图4为本发明方法实施例在控制层的具体应用流程图;
[0041] 图5为本发明方法实施例在转发层的具体应用流程图;
[0042] 图6为本发明方法实施例在管理层的具体应用流程图;
[0043] 图7为本发明方法的第三实施例流程图;
[0044] 图8为本发明装置的第一实施例框图;
[0045] 图9为本发明装置的第二实施例框图。

具体实施方式

[0046] 本发明的核心是提供一种实现未知组播报文向路由器端口转发的方法,本发明在满足预设条件时,建立未知组播报文转发表项,该未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,并且该转发表项中包含了虚拟局域网VLAN的路由器端口,判断接收到的组播报文为未知组播报文时,查找未知组播报文转发表项,当所述查找成功时,将未知组播报文转发至路由器端口。
[0047] 为了使本技术领域的人员更好地理解本发明方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0048] 当以太网交换机使能IGMP-Snooping协议,从VLAN内的某个端口上侦听到IGMP成员关系报告报文时,IGMP-Snooping功能建立已知组播报文转发表项和表项<*,G,VID>,并将已知组播报文转发表项下发到该协议平台控制的交换芯片,交换芯片根据已知组播报文转发表项对接收到的已知组播报文进行转发。其中,已知组播报文转发表项用于唯一表征一条组播流,S表示组播报文的源IP地址,G表示组播报文的目的IP地址,VID表示组播报文所在的VLAN的标识;已知组播报文转发表项<*,G,VID>用于表征一组组播报文,*表示匹配组播报文的所有源IP地址,G表示组播报文的目的IP地址,VID表示组播报文所在的VLAN的标识。
[0049] 当以太网交换机使能IGMP-Snooping协议,从VLAN内的某个端口上侦听到IGMP通用查询报文或IGMP组播路由协议报文时,设置该端口成为路由器端口。由协议平台控制交换芯片建立未知组播报文转发表项<*,*,VID>,表项<*,*,VID>用于表征匹配所有组播报文,VID表示组播报文所在的VLAN的标识。该表项<*,*,VID>为对所有组播报文源地址和目的地址通配的转发表项,该表项中包含了VLAN内的路由器端口,交换芯片根据该表项<*,*,VID>将接收到的未知组播报文向路由器端口转发。
[0050] 本发明方法的第一实施例流程图如图2所示:
[0051] 步骤201:满足预设条件时,建立未知组播报文转发表项。
[0052] 建立的未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,该转发表项中包含了虚拟局域网VLAN的路由器端口。
[0053] 步骤202:判断接收到的组播报文为未知组播报文时,查找未知组播报文转发表项。
[0054] 当接收到组播报文后依次查找已知组播源地址与目的地址的已知组播报文转发表项,和已知组播目的地址的已知组播报文转发表项<*,G,VID>,如果匹配,则判断组播报文为已知组播报文并按照上述表项进行转发,如果不匹配,则将组播报文判断为未知组播报文。
[0055] 步骤203:当查找成功时,将未知组播报文转发至未知组播报文转发表项中包含的路由器端口。
[0056] 进一步的,当查找不成功时,按照预设将未知组播报文通过广播的方式向VLAN的端口转发,或者将未知组播报文丢弃。
[0057] 本发明方法的第二实施例流程图如图3所示,该实施例与实施例一的不同之处在于详细描述了增加预先设置未知组播不广播功能,并根据是否开启该未知组播不广播功能选择是否建立未知组播报文转发表项的过程:
[0058] 步骤301:在VLAN内预先设置未知组播不广播功能。
[0059] 步骤302:通过IGMP-Snooping功能侦听并学习该VLAN的路由器端口。
[0060] 步骤303:判断是否开启未知组播不广播功能,若是,则执行步骤304;否则,执行步骤305。
[0061] 步骤304:建立包含了VLAN内路由器端口的未知组播报文转发表项。
[0062] 步骤305:接收到组播报文后依次查找已知组播报文转发表项。
[0063] 步骤306:判断组播报文与已知组播报文转发表项是否匹配,若是,则执行步骤307;否则,执行步骤308。
[0064] 步骤307:按照已知组播报文转发表项进行转发,结束当前流程。
[0065] 步骤308:查找未知组播报文转发表项。
[0066] 步骤309:判断查找未知组播报文转发表项是否成功,若是,则执行步骤310;否则,执行步骤311。
[0067] 步骤310:将未知组播报文转发至路由器端口,结束当前流程。
[0068] 步骤311:按照预设处理未知组播报文,结束当前流程。
[0069] 上述实施例一或实施例二中,通常在以太网交换设备的控制层建立<*,*,VID>表项,协议平台通过侦听IGMP通用查询报文或组播路由协议报文,比如PIM协议的Hello报文,设置VLAN内的路由器端口。当VLAN内存在路由器端口时,则协议平台控制交换芯片创建<*,*,VID>表项,<*,*,VID>表项为对所有组播报文源地址和目的地址通配的转发表项,并且所有的路由器端口集组成该<*,*,VID>表项的转发端口;当VLAN内不存在路由器端口时,则协议平台无需控制交换芯片创建<*,*,VID>表项。
[0070] 在控制层除了建立用于转发未知组播报文的<*,*,VID>表项外,还同时建立用于转发已知组播报文的表项和<*,G,VID>表项。在建立表项时,协议平台侦听到IGMPv3协议过滤模式为INCLUDE的成员关系报告报文后,建立已知组播源地址与目的地址的表项并下发该表项到交换芯片,在该表项中的组播报文转发端口为协议平台的主机端口、<*,G,VID>的主机端口以及VLAN内路由器端口的并集。在建立<*,G,VID>表项时,协议平台侦听到IGMPv1协议、IGMPv2协议或IGMPv3协议过滤模式为EXCLUDE成员关系报告报文后,建立已知组播目的地址的<*,G,VID>表项并下发该表项到交换芯片,在该<*,G,VID>表项中的组播报文转发端口为协议平台<*,G,VID>的主机端口和VLAN内路由器端口的并集。
[0071] 在上述描述的基础上,当协议平台使能IGMP-Snooping协议侦听到IGMP通用查询报文或组播路由协议报文,并在协议平台设置了VLAN内的路由器端口后,该协议平台在控制交换芯片创建<*,*,VID>表项的同时,还要将设置的路由器端口添加到表项和<*,G,VID>表项的端口集中,以便后续接收到组播报文进行转发时,依次查找表项、<*,G,VID>表项及<*,*,VID>表项。
[0072] 下面以一个具体应用实例来说明上述实施例中控制层的操作流程,如图4所示为通过协议平台使能IGMP-Snooping协议建立<*,*,VID>表项及添加路由器端口的详细流程:
[0073] 步骤401:以太网交换设备开启IGMP-Snooping功能。
[0074] 步骤402:协议平台在标识为1的VLAN的某端口上侦听到PIM Hello报文。
[0075] 步骤403:协议平台设置该端口为VLAN1的路由器端口,然后同时执行步骤404和步骤407。
[0076] 步骤404:协议平台上是否存在表项和<*,G1,V1>表项,若是,则执行步骤405;否则,执行步骤408。
[0077] 步骤405:添加路由器端口至表项和<*,G1,V1>表项的端口集。
[0078] 步骤406:协议平台指示交换芯片更新表项和<*,G1,V1>表项,结束当前流程。
[0079] 步骤407:该VLAN1内是否开启未知组播不广播功能,若是,则执行步骤409;否则,执行步骤408。
[0080] 步骤408:不作进一步处理,结束当前流程。
[0081] 步骤409:协议平台控制交换芯片创建<*,*,V1>表项,结束当前流程。
[0082] 上述实施例一或实施例二中,通常在转发层判断<*,*,VID>表项并根据判断结果执行相应的对未知组播报文的转发操作。但是,由于在控制层建立了表项、<*,G,VID>表项和<*,*,VID>表项,因此转发层接收到一条组播报文后,首先查找表项和<*,G,VID>表项,若查找到匹配的主机端口则说明该组播报文为已知组播报文,将该已知组播报文转发至该匹配的主机端口;若未查找到匹配的主机端口,则说明该组播报文为未知组播报文,进一步查找<*,*,VID>表项,当查找到<*,*,VID>表项后,将该未知组播报文转发至该<*,*,VID>表项中的路由器端口。
[0083] 下面以一个具体应用实例来说明上述实施例中转发层的操作流程,如图5所示为交换芯片接收到组播报文后对该组播报文进行转发的详细流程:
[0084] 步骤501:以太网交换设备接收到组播报文
[0085] 步骤502:查找表项是否成功,若是,则执行步骤505;否则,执行步骤503。
[0086] 步骤503:查找<*,G,V1>表项是否成功,若是,则执行步骤506;否则,执行步骤504。
[0087] 步骤504:查找<*,*,V1>表项是否成功,若是,则执行步骤507;否则,执行步骤508。
[0088] 步骤505:按照表项中的匹配端口进行转发,结束当前流程。
[0089] 步骤506:按照<*,G,V1>表项中的匹配端口进行转发,结束当前流程。
[0090] 步骤507:按照<*,*,V1>表项中的匹配端口进行转发,结束当前流程。
[0091] 步骤508:按照对交换芯片的预设进行转发,结束当前流程。
[0092] 上述实施例二中,通常在管理层设置未知组播不广播功能,该功能是一种可选命令,通过该功能管理员能够对未知组播报文的处理做出管理配置。在缺省情况下可以关闭该未知组播不广播功能,对未知组播报文向VLAN内的所有端口进行广播转发。
[0093] 当管理员通过命令配置开启该未知组播不广播功能后,协议平台控制交换芯片生成<*,*,VID>表项,交换芯片对接收到的未知组播报文按照<*,*,VID>表项向路由器端口转发;当接收到未知组播报文后查找<*,*,VID>表项失败,可以设置交换芯片将未知组播报文进行丢弃处理。
[0094] 当管理员通过命令配置关闭已开启的未知组播不广播功能后,协议平台不会控制交换芯片生成<*,*,VID>表项,此时可以设置交换芯片对未知组播报文向VLAN内的所有端口进行广播转发。
[0095] 下面以一个具体应用实例来说明上述实施例中管理层的操作流程,如图6所示为管理层对交换芯片设置未知组播不广播功能的详细流程:
[0096] 步骤601:以太网交换设备开启IGMP-Snooping功能。
[0097] 步骤602:当前VLAN是否开启未知组播不广播功能,若是,则执行步骤603;否则,执行步骤604。
[0098] 步骤603:设置交换芯片对查找失败的未知组播报文采取丢弃处理,结束当前流程。
[0099] 步骤604:设置交换芯片对查找失败的未知组播报文采用广播转发,结束当前流程。
[0100] 本发明方法的第三实施例流程图如图7所示,该实施例示出了在实施例二的基础上,当关闭开启的未知组播不广播功能后或VLAN内有老化的路由器端口时,协议平台控制交换芯片对未知组播报文转发表项进行维护的过程:
[0101] 步骤701:是否关闭已开启的未知组播不广播功能,若是,则执行步骤706;否则,执行步骤702。
[0102] 步骤702:VLAN内是否存在老化的路由器端口,若是,则执行步骤703;否则,返回步骤701。
[0103] 步骤703:删除未知组播报文转发表项中老化的路由器端口。
[0104] 步骤704:未知组播报文转发表项中是否存在路由器端口,若是,则执行步骤705;否则,返回步骤701。
[0105] 步骤705:删除未知组播报文转发表项,结束当前流程。
[0106] 与方法相对应,本发明还提供了实现未知组播报文向路由器端口转发的装置,该装置用于建立未知组播报文转发表项,并将接收到的未知组播报文转发至该表项中的路由器端口。
[0107] 本发明实现未知组播报文向路由器端口转发的装置的第一实施例框图如图8所示:
[0108] 该装置包括:建立单元810,查找单元820,判断单元830以及执行单元840。
[0109] 其中,建立单元810用于满足预设条件时,建立未知组播报文转发表项,所述未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,该转发表项中包含了虚拟局域网VLAN的路由器端口;查找单元820用于判断接收到的组播报文为未知组播报文时,查找所述未知组播报文转发表项;判断单元830用于断所述查找单元820是否查找成功;执行单元840用于当所述判断单元830判断查找成功时,将所述未知组播报文转发至所述路由器端口;当所述判断单元830判断查找失败时,按照预设处理所述未知组播报文。
[0110] 本发明实现未知组播报文向路由器端口转发的装置的第二实施例框图如图9所示:
[0111] 该装置包括:预设单元910,操作单元920,建立单元930,查找单元940,判断单元950,执行单元960,删除单元970以及维护单元980。
[0112] 其中,预设单元910用于在所述VLAN内预先设置未知组播不广播功能;操作单元920用于根据通过IGMP-Snooping功能侦听并学习的所述VLAN的路由器端口,开启所述未知组播不广播功能;建立单元930用于在所述操作单元920开启未知组播不广播功能后,建立未知组播报文转发表项,所述未知组播报文转发表项为对所有组播报文源地址和目的地址通配的转发表项,该转发表项中包含了虚拟局域网VLAN的路由器端口;查找单元940用于判断接收到的组播报文为未知组播报文时,查找未知组播报文转发表项;判断单元950用于判断所述查找单元940是否查找成功;执行单元960用于当所述判断单元950判断查找成功时,将所述未知组播报文转发至所述路由器端口,当所述判断单元950判断查找失败时,按照预设处理所述未知组播报文;删除单元970用于所述操作单元920关闭未知组播不广播功能后,删除建立单元930建立的未知组播报文转发表项;维护单元980用于删除所述未知组播报文转发表项中老化的路由器端口,并且当所述未知组播报文转发表项中不存在路由器端口时,删除所述未知组播报文转发表项。
[0113] 本发明所提供装置实施例在实现未知组播报文向路由器端口转发时的细节与方法实施例类似,在此不再赘述。
[0114] 由以上本发明实施例的描述可知,应用本发明可以实现由协议平台创建和维护交换芯片内的所有二层组播转发表项,使协议平台和交换芯片的转发表项能够保持一致,降低了未知组播报文向路由器端口转发的复杂性,屏蔽了交换芯片的差异,便于交换芯片的跨产品移植;由于通过未知组播报文转发表项实现了对未知组播报文的转发,因此降低了未知组播报文对CPU的冲击,提高了交换设备的性能。
[0115] 虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。