实现组播路由汇聚的方法、组播方法及路由设备的制作方法

文档序号:7769433阅读:208来源:国知局
实现组播路由汇聚的方法、组播方法及路由设备的制作方法
【专利摘要】本发明适用于通信领域,提供了一种实现组播路由汇聚的方法、组播方法及路由设备,所述方法包括:网络设备将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项,网络设备将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。本发明【具体实施方式】提供的技术方案具有硬件转发表内组播路由表项,提高转发效率的优点。
【专利说明】实现组播路由汇聚的方法、组播方法及路由设备

【技术领域】
[0001]本发明属于通信领域,尤其涉及一种实现组播路由汇聚的方法、组播方法及路由设备。

【背景技术】
[0002]随着网际协议电视(英文全称:Internet Protocol televis1n,英文简称IPTV)业务的迅速开展,组播业务在网络中的应用规模也越来越大。在日常生活中,IPTV从以前的十几个频道,扩大到上百个频道,后续可能扩大到上千个频道。
[0003]通常的组播业务的数据转发方式可以包括:网络设备收到组播数据后,需要依靠组播路由表项完成组播数据的转发,当前的组播路由表项主要通过协议无关组播(英文全称:Protocol Independent Multicast,英文简称:PIM)协议来获取,具体的获取方式可以包括:在协议无关组播-密集模式(英文全称:Protocol Independent Multicast-DenseMode,英文简称:PIM-DM)中,组播路由表项的表现形式都是源组对(英文:source/grouppair),即(S,G),其中,S表示源设备的网际协议(英文全称:Internet Protocol,英文简称IP)地址,G表示组播组的IP地址,S是单播IP地址,G是组播IP地址,并且S和G均是唯一的IP地址,而不是一个带掩码的地址。组播路由表项中还包括与该(S,G)对应的接口。组播数据达到网络设备后,根据该组播数据的源地址和目的地址,查找对应的以(S,G)形式表示的组播路由表项,并依据查找到的对应的以(S,G)形式表示的组播路由表项中的接口转发该组播数据。当然,上述组播路由表项的表现形式(S,G)也可以在协议无关组播-稀疏模式(Protocol Independent Multicast-Sparse Mode, PIM-SM)中米用。
[0004]由于每一个节目频道对应不同的(S,G),所以每存在一个节目频道就可能需要一条组播表项(S,G),处于核心层的网络设备就可能需要存储很多组播路由表项(S,G),存储很多组播路由表项会占用硬件转发表内的大量资源,会影响到设备整体性能和组播数据的转发效率。


【发明内容】

[0005]本发明的目的在于提供一种实现组播路由汇聚的方法,旨在解决现有技术硬件转发表内组播路由表项过多导致的转发效率低的问题。
[0006]第一方面,提供一种实现组播路由汇聚的方法,所述方法包括:
[0007]网络设备将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
[0008]网络设备将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项;
[0009]所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
[0010]所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
[0011]所述多个组播组地址的前缀的获取方式具体为:
[0012]采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀。
[0013]结合第一方面提供的一种实现组播路由汇聚的方法,在第一方面的第一种可选方案中,所述方法删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项之后还包括:
[0014]如果接收到协议无关组播剪枝PIM-PRUNE报文时,获取所述PIM-PRUNE内的组播组地址;
[0015]在所述PM-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PIM-PRUNE内的组播组地址相关的组播路由表项删除,并将软件转发表内所述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的组播组地址的前缀;在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于所述多个组播路由表项的汇聚路由表项中组的值;
[0016]所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
[0017]第二方面,提供一种网络设备,所述网络设备包括:
[0018]汇聚单元,用于将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
[0019]更新单元,将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项;
[0020]所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
[0021]所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
[0022]所述汇聚单元具体用于:采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀。
[0023]结合第二方面提供的一种网络设备,在第二方面的第一种可选方案中,所述网络设备还包括:
[0024]接收单元,用于接收协议无关组播剪枝PIM-PRUNE报文,获取所述PIM-PRUNE内的组播组地址;
[0025]删除单元,用于在PM-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PM-PRUNE内的组播组地址相关的组播路由表项删除;
[0026]所述汇聚单元,还用于将软件转发表内上述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成所述剩余的组播路由表项的组播组地址的前缀;
[0027]替换单元,用于在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于上述多个组播路由表项的汇聚路由表项中组的值;
[0028]所述与PM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
[0029]第三方面,提供一种网络设备,所述网络设备包括通信接口、处理器、存储器和交换网芯片;所述存储器,存储程序代码和软件转发表,所述软件转发表内存储有组播路由表项;所述交换网芯片存储有硬件转发表,所述硬件装法表内存储有组播路由表项;
[0030]处理器将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
[0031]所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
[0032]所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
[0033]处理器具体采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀;
[0034]处理器将汇聚路由表项存储在所述存储器的软件转发表内,将汇聚路由表项存储在所述交换网芯片的硬件转发表内,并删除所述交换网芯片的硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
[0035]结合第三方面提供的一种网络设备,在第三方面的第一种可选方案中,
[0036]所述通信接口,用于接收协议无关组播剪枝PIM-PRUNE报文,并PIM-PRUNE报文通过总线传递给处理器;
[0037]处理器获取所述PM-PRUNE内的组播组地址,在P頂-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将所述存储器的软件转发表中与PM-PRUNE内的组播组地址相关的路由表项删除;将所述存储器的软件转发表内所述多个组播路由表项里剩余的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的前缀,在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换所述存储器的软件转发表和所述交换网芯片的硬件转发表存储的对应于所述多个组播路由表项的汇聚路由表项中组的值并使用多个组播组地址的前缀;
[0038]所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
[0039]在本发明的技术方案使用VLSM方法减少了硬件转发表内的组播路由表项的数量,所有其具有减少硬件转发表内组播路由表项,提高转发效率的优点。

【专利附图】

【附图说明】
[0040]图1是本发明【具体实施方式】提供的实现组播路由汇聚的方法流程图;
[0041]图2是本发明【具体实施方式】提供的一种网络设备的结构框图
[0042]图3是本发明具体实施提供的另一种网络设备的硬件结构图。

【具体实施方式】
[0043]为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0044]本发明【具体实施方式】提供的一种实现组播路由汇聚的方法,该方法由网络设备执行,下述组播路由表项或汇聚路由表项如无特殊说明,均指网络设备的硬件转发表中的组播路由表项或汇聚路由表项,该方法如图1所示,包括:
[0045]101、网络设备将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项。
[0046]102、网络设备将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
[0047]上述网络设备可以是路由器,网络交换机或业务网关。
[0048]上述多个组播路由表项分别包括源和组。一个组播路由表项中的源的值是该组播路由表项的组播源的IP地址,组的值是该组播路由表项的组播IP地址。
[0049]上述汇聚路由表项包括源和组。源的值是上述多个组播路由表项的相同组播源的IP地址。组的值是上述相近似组播组中的多个组播组地址的前缀,该前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀。该前缀以组播IP地址和掩码的组合来表示。
[0050]上述相近似组播组具体可以为:具有相同入接口(英文全称=IncomingInterface,简称:IIF)和相同出接口列表(英文全称:Outgoing Interface List,英文简称:0IL)的多个组播组。
[0051]上述多个组播组地址的前缀的获取方式具体为:采用可变长子网掩码(英文全称:Variable Length Subnet Mask,英文简称:VLSM)将上述相近似组播组汇聚成多个组播组地址的前缀。
[0052]本发明提供的方法使用VLSM方法减少了硬件转发表内的组播路由表项的数量,所有其具有减少硬件转发表内组播路由表项,提高转发效率的优点。
[0053]可选的,上述方法在102还包括:
[0054]在网络设备的硬件转发表存储有具有相同组播源,相同入接口和相同出接口列表的组播路由表项和汇聚路由表项的情况下,如果该汇聚路由表项中的组的值是该组播路由表项中的组的值的前缀,则删除硬件转发表内存储的该组播路由表项,并保持硬件转发表内存储的该汇聚路由表项不变;如果汇聚路由表项中的组的值不是该组播路由表项中的组的值的前缀,则删除硬件转发表内存储的该组播路由表项,并使用VLSM的方法获取该组播路由表项中的组的值与该汇聚路由表项中的组的值的前缀,将硬件转发表内存储的该汇聚路由表项中的组的值修改为该获取到的前缀。
[0055]其实现的具体方式如下所述,PM协议中的组播路由表项包含四个要素,S、G、IIF和OIL,这里以32位IP地址为例,具有相同组播源和相近似组播组的多个组播路由表项的数量有2个,分别命名为组播路由表项I和组播路由表项2,其具体可以为:组播路由表项 I 可以为:(10.49.150.100,239.0.0.1, PortO, Port_Listl ;组播路由表项 2 可以为:(10.49.150.100,239.0.0.6,PortO, Port Listl);则将组播路由表项I和组播路由表项2汇聚成汇聚路由表项具体可以为:(10.49.150.100, 239.0.0.0/29,PortO,Port Listl),其中“/29”表示该前缀,即239.0.0.0/29,的掩码的29最高有效位(英语:most significantbit, MSB)为1,该掩码的其余位均为O ;如在网络设备中还存储有具有相同组播源,相同入接口和相同出接口列表的组播路由表项即组播路由表项3为(10.49.150.100, 239.0.0.5,PortO, Port Listl)的情况下,则可以删除组播路由表项3,直接使用原来的汇聚路由表项,即使用(10.49.150.100, 239.0.0.0/29, PortO, Port Listl);如在网络设备中还存储有具有相同组播源,相同入接口和相同出接口列表的组播路由表项即组播路由表项4为(10.49.150.100,239.0.0.10,PortO, Port Listl)的情况下,则获取 239.0.0.10 与239.0.0.0/29的前缀239.0.0.0/28,并将该汇聚路由表项中组的值修改为该获取到的前缀值,修改后的汇聚路由表项为:(10.49.150.100,239.0.0.0/28,PortO, Port Listl)。
[0056]可选的,上述方法在102之后,还可以包括:
[0057]如果接收到协议无关组播剪枝(英文全称:Protocol IndependentMulticast-prune,英文简称:PM_PRUNE)报文时,获取PM-PRUNE内的组播组地址,在PIM-PRUNE内的组播组地址是上述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PIM-PRUNE内的组播组地址相关的组播路由表项删除,并将软件转发表内上述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的组播组地址的前缀,在这些剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用这些剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于上述多个组播路由表项的汇聚路由表项中组的值。
[0058]上述与PM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
[0059]其实现的具体方式如下所述,这里以32位IP地址为例,网络设备的软件转发表存储的具有相同组播源和相近似组播组的多个组播路由表项的数量有3个,分别为组播路由表项1、组播路由表项2和组播路由表项3,其具体可以为:组播路由表项 I 可以为:(10.49.150.100, 239.0.0.1,PortO, Port Listl);组播路由表项 2 可以为:(10.49.150.100,239.0.0.6,PortO, Port Listl);组播路由表项 3为(10.49.150.100,239.0.0.10,PortO, Port Listl);汇聚路由表项具体可以为:(10.49.150.100,239.0.0.0/28,PortO, Port Listl);如 PIM-PRUNE 包含的组播组地址为239.0.0.6,则将软件转发表存储的组播路由表项2删除,将239.0.0.1和239.0.0.10采用VLSM汇聚成多个组播组地址的前缀即239.0.0.0/28,此时,多个组播组地址的前缀与汇聚路由表项中组播组地址的前缀相同,所以可以不替换。如PIM-PRUNE包含的组播组地址为239.0.0.10,则将软件转发表存储的组播路由表项3删除,将239.0.0.1和239.0.0.6采用VLSM汇聚成多个组播组地址的前缀即239.0.0.0/29,此时,多个组播组地址的前缀与汇聚路由表项中组播组地址的前缀不同,所以使用239.0.0.0/29替换(10.49.150.100,239.0.0.0/28,PortO, Port Listl)中组的值,替换后的汇聚路由表项为(10.49.150.100, 239.0.0.0/29, PortO,Port Listl)。
[0060]采用本发明提供的方法的网络设备进行组播路由表项的汇集以后,在进行组播数据转发时,表项命中则由现有的组播路由表项替换成汇聚组播路由表项,在转发时也是依据命中的汇聚组播路由表项进行组播报文的转发。具体的,采用本发明提供的方法的网络设备在接收组播数据报文后,在该组播数据报文的组播地址和硬件转发表内的所述汇聚组播路由表项中的组播组地址的前缀匹配的情况下,根据所述汇聚组播路由表项转发该组播数据报文。
[0061]本发明【具体实施方式】提供一种网络设备,该网络设备如图2所示,包括:
[0062]汇聚单元21,用于将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
[0063]更新单元26,将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
[0064]所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
[0065]所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
[0066]汇聚单元21具体用于:采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀。
[0067]可选的,上述网络设备还包括:
[0068]接收单元22,用于接收协议无关组播剪枝PIM-PRUNE报文,获取所述PIM-PRUNE内的组播组地址;
[0069]删除单元23,用于在PM-PRUNE内的组播组地址是上述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PM-PRUNE内的组播组地址相关的组播路由表项删除;
[0070]汇聚单元21,还用于将软件转发表内上述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的组播组地址的前缀;
[0071]替换单元24,用于在这些剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用这些剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于上述多个组播路由表项的汇聚路由表项中组的值;
[0072]所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
[0073]本发明提供的网络设备进行组播路由表项的汇集以后,在进行组播数据转发时,表项命中则由现有的组播路由表项替换成汇聚组播路由表项,在转发时也是依据命中的汇聚组播路由表项进行组播报文的转发。具体的,本发明提供的网络设备在接收组播数据报文后,在该组播数据报文的组播地址和硬件转发表内的所述汇聚组播路由表项中的组播组地址的前缀匹配的情况下,根据所述汇聚组播路由表项转发该组播数据报文。
[0074]本发明提供的网络设备使用VLSM方法减少了硬件转发表内组播路由表项的数量,所有其具有减少硬件转发表内组播路由表项,提高转发效率的优点。
[0075]如图3所示,本发明实施例还提供了一种网络设备,包括通信接口 301、处理器302和存储器303、和交换网芯片304 (英文:switched fabric circuit,简称为fabriccircuit)。
[0076]其中,处理器302可以为中央处理器(英文:central processing unit,缩写:CPU)。上述交换网芯片304为硬件芯片,可以是以下一种或多种的组合:专用集成电路(英文:applicat1n-specific integrated circuit,缩写:ASIC),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),复杂可编程逻辑器件(英文:complexprogrammable logic device,缩写:CPLD)和网络处理器(英文:network processor,缩写:NP)。存储器303可以是易失性存储器(英文volatile memory),例如随机存取存储器(英文:random_access memory,缩写:RAM),或者非易失性存储器(英文:non_volatilememory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid_state drive,缩写:SSD)。通信接口 301用于实现网络设备与服务器或其他网络设备的物理连接。通信接口 301可以为以下一种或多种:提供有线接口的网络接口控制器(英文:network interface controller,缩写:NIC),例如以太网NIC,该以太网NIC可以提供铜线接口,光纤接口或既提供铜线接口也提供光纤接口 ;提供无线接口的NIC,例如无线局域网(英文:wireless local area network,缩写:WLAN)NIC。通信接口301、交换网芯片304、存储器303都和处理器302通过总线(英文:bus)相连。
[0077]存储器303,存储程序代码和软件转发表,软件转发表内存储有组播路由表项,存储器303还将存储的程序代码传输给处理器302。交换网芯片304用于接收并转发组播数据报文,交换网芯片304中存储有硬件转发表,该硬件装法表内存储有组播路由表项。
[0078]处理器302将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
[0079]所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
[0080]所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
[0081]处理器302具体采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀;
[0082]处理器302将汇聚路由表项存储在存储器303的软件转发表内,将汇聚路由表项存储在交换网芯片304的硬件转发表内,并删除交换网芯片304的硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
[0083]可选的,通信接口 301,用于接收协议无关组播剪枝PM-PRUNE报文,并PM-PRUNE报文通过总线传递给处理器302 ;
[0084]处理器302获取所述PM-PRUNE内的组播组地址,在PM-PRUNE内的组播组地址是上述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将存储器303的软件转发表中与PM-PRUNE内的组播组地址相关的路由表项删除;将存储器303的软件转发表内上述多个组播路由表项里剩余的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的前缀,在这些剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用这些剩余的组播路由表项的组播组地址的前缀替换存储器303的软件转发表和交换网芯片304的硬件转发表存储的对应于上述多个组播路由表项的汇聚路由表项中组的值并使用多个组播组地址的前缀;
[0085]上述与PM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
[0086]本发明提供的网络设备进行组播路由表项的汇集以后,在进行组播数据转发时,表项命中则由现有的组播路由表项替换成汇聚组播路由表项,在转发时也是依据命中的汇聚组播路由表项进行组播报文的转发。具体的,本发明提供的网络设备的通信接口在接收组播数据报文后,网络设备的处理器在该组播数据报文的组播地址和硬件转发表内的所述汇聚组播路由表项中的组播组地址的前缀匹配的情况下,根据所述汇聚组播路由表项转发该组播数据报文。
[0087]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘、光盘等。
[0088]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种实现组播路由汇聚的方法,其特征在于,所述方法包括: 网络设备将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项; 网络设备将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项; 所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀; 所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组; 所述多个组播组地址的前缀的获取方式具体为: 采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀。
2.根据权利要求1所述的方法,其特征在于,所述方法删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项之后还包括: 如果接收到协议无关组播剪枝PIM-PRUNE报文时,获取所述PIM-PRUNE内的组播组地址; 在所述PIM-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PIM-PRUNE内的组播组地址相关的组播路由表项删除,并将软件转发表内所述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的组播组地址的前缀;在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于所述多个组播路由表项的汇聚路由表项中组的值;所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
3.—种网络设备,其特征在于,所述网络设备包括: 汇聚单元,用于将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项; 更新单元,将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项; 所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀; 所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组; 所述汇聚单元具体用于:采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀。
4.根据权利要求3所述的网络设备,其特征在于,所述网络设备还包括: 接收单元,用于接收协议无关组播剪枝PIM-PRUNE报文,获取所述PIM-PRUNE内的组播组地址; 删除单元,用于在PIM-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PIM-PRUNE内的组播组地址相关的组播路由表项删除; 所述汇聚单元,还用于将软件转发表内上述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成所述剩余的组播路由表项的组播组地址的前缀; 替换单元,用于在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于上述多个组播路由表项的汇聚路由表项中组的值; 所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PM-PRUNE内的组播组地址相同的组播路由表项。
5.一种网络设备,所述网络设备包括通信接口、处理器、存储器和交换网芯片;所述存储器,存储程序代码和软件转发表,所述软件转发表内存储有组播路由表项;所述交换网芯片存储有硬件转发表,所述硬件装法表内存储有组播路由表项;其特征在于, 处理器将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项; 所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀; 所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组; 处理器具体采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的iu缀; 处理器将汇聚路由表项存储在所述存储器的软件转发表内,将汇聚路由表项存储在所述交换网芯片的硬件转发表内,并删除所述交换网芯片的硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
6.根据权利要求5所述的网络设备,其特征在于, 所述通信接口,用于接收协议无关组播剪枝PIM-PRUNE报文,并PIM-PRUNE报文通过总线传递给处理器; 处理器获取所述PM-PRUNE内的组播组地址,在PM-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将所述存储器的软件转发表中与PIM-PRUNE内的组播组地址相关的路由表项删除;将所述存储器的软件转发表内所述多个组播路由表项里剩余的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的前缀,在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换所述存储器的软件转发表和所述交换网芯片的硬件转发表存储的对应于所述多个组播路由表项的汇聚路由表项中组的值并使用多个组播组地址的前缀; 所述与PM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
【文档编号】H04L12/761GK104426781SQ201310400601
【公开日】2015年3月18日 申请日期:2013年9月5日 优先权日:2013年9月5日
【发明者】涂聪, 丁汉城, 林尤喜, 李刚强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1