CN104426781A - 实现组播路由汇聚的方法、组播方法及路由设备 - Google Patents
实现组播路由汇聚的方法、组播方法及路由设备 Download PDFInfo
- Publication number
- CN104426781A CN104426781A CN201310400601.7A CN201310400601A CN104426781A CN 104426781 A CN104426781 A CN 104426781A CN 201310400601 A CN201310400601 A CN 201310400601A CN 104426781 A CN104426781 A CN 104426781A
- Authority
- CN
- China
- Prior art keywords
- multicast
- multicast group
- routing table
- prefix
- group address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明适用于通信领域,提供了一种实现组播路由汇聚的方法、组播方法及路由设备,所述方法包括:网络设备将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项,网络设备将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。本发明具体实施方式提供的技术方案具有硬件转发表内组播路由表项,提高转发效率的优点。
Description
技术领域
本发明属于通信领域,尤其涉及一种实现组播路由汇聚的方法、组播方法及路由设备。
背景技术
随着网际协议电视(英文全称:Internet Protocol television,英文简称IPTV)业务的迅速开展,组播业务在网络中的应用规模也越来越大。在日常生活中,IPTV从以前的十几个频道,扩大到上百个频道,后续可能扩大到上千个频道。
通常的组播业务的数据转发方式可以包括:网络设备收到组播数据后,需要依靠组播路由表项完成组播数据的转发,当前的组播路由表项主要通过协议无关组播(英文全称:Protocol Independent Multicast,英文简称:PIM)协议来获取,具体的获取方式可以包括:在协议无关组播-密集模式(英文全称:ProtocolIndependent Multicast-Dense Mode,英文简称:PIM-DM)中,组播路由表项的表现形式都是源组对(英文:source/group pair),即(S,G),其中,S表示源设备的网际协议(英文全称:Internet Protocol,英文简称IP)地址,G表示组播组的IP地址,S是单播IP地址,G是组播IP地址,并且S和G均是唯一的IP地址,而不是一个带掩码的地址。组播路由表项中还包括与该(S,G)对应的接口。组播数据达到网络设备后,根据该组播数据的源地址和目的地址,查找对应的以(S,G)形式表示的组播路由表项,并依据查找到的对应的以(S,G)形式表示的组播路由表项中的接口转发该组播数据。当然,上述组播路由表项的表现形式(S,G)也可以在协议无关组播-稀疏模式(Protocol IndependentMulticast-Sparse Mode,PIM-SM)中采用。
由于每一个节目频道对应不同的(S,G),所以每存在一个节目频道就可能需要一条组播表项(S,G),处于核心层的网络设备就可能需要存储很多组播路由表项(S,G),存储很多组播路由表项会占用硬件转发表内的大量资源,会影响到设备整体性能和组播数据的转发效率。
发明内容
本发明的目的在于提供一种实现组播路由汇聚的方法,旨在解决现有技术硬件转发表内组播路由表项过多导致的转发效率低的问题。
第一方面,提供一种实现组播路由汇聚的方法,所述方法包括:
网络设备将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
网络设备将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项;
所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
所述多个组播组地址的前缀的获取方式具体为:
采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀。
结合第一方面提供的一种实现组播路由汇聚的方法,在第一方面的第一种可选方案中,所述方法删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项之后还包括:
如果接收到协议无关组播剪枝PIM-PRUNE报文时,获取所述PIM-PRUNE内的组播组地址;
在所述PIM-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PIM-PRUNE内的组播组地址相关的组播路由表项删除,并将软件转发表内所述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的组播组地址的前缀;在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于所述多个组播路由表项的汇聚路由表项中组的值;
所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
第二方面,提供一种网络设备,所述网络设备包括:
汇聚单元,用于将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
更新单元,将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项;
所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
所述汇聚单元具体用于:采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀。
结合第二方面提供的一种网络设备,在第二方面的第一种可选方案中,所述网络设备还包括:
接收单元,用于接收协议无关组播剪枝PIM-PRUNE报文,获取所述PIM-PRUNE内的组播组地址;
删除单元,用于在PIM-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PIM-PRUNE内的组播组地址相关的组播路由表项删除;
所述汇聚单元,还用于将软件转发表内上述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成所述剩余的组播路由表项的组播组地址的前缀;
替换单元,用于在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于上述多个组播路由表项的汇聚路由表项中组的值;
所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
第三方面,提供一种网络设备,所述网络设备包括通信接口、处理器、存储器和交换网芯片;所述存储器,存储程序代码和软件转发表,所述软件转发表内存储有组播路由表项;所述交换网芯片存储有硬件转发表,所述硬件装法表内存储有组播路由表项;
处理器将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
处理器具体采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀;
处理器将汇聚路由表项存储在所述存储器的软件转发表内,将汇聚路由表项存储在所述交换网芯片的硬件转发表内,并删除所述交换网芯片的硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
结合第三方面提供的一种网络设备,在第三方面的第一种可选方案中,
所述通信接口,用于接收协议无关组播剪枝PIM-PRUNE报文,并PIM-PRUNE报文通过总线传递给处理器;
处理器获取所述PIM-PRUNE内的组播组地址,在PIM-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将所述存储器的软件转发表中与PIM-PRUNE内的组播组地址相关的路由表项删除;将所述存储器的软件转发表内所述多个组播路由表项里剩余的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的前缀,在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换所述存储器的软件转发表和所述交换网芯片的硬件转发表存储的对应于所述多个组播路由表项的汇聚路由表项中组的值并使用多个组播组地址的前缀;
所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
在本发明的技术方案使用VLSM方法减少了硬件转发表内的组播路由表项的数量,所有其具有减少硬件转发表内组播路由表项,提高转发效率的优点。
附图说明
图1是本发明具体实施方式提供的实现组播路由汇聚的方法流程图;
图2是本发明具体实施方式提供的一种网络设备的结构框图
图3是本发明具体实施提供的另一种网络设备的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明具体实施方式提供的一种实现组播路由汇聚的方法,该方法由网络设备执行,下述组播路由表项或汇聚路由表项如无特殊说明,均指网络设备的硬件转发表中的组播路由表项或汇聚路由表项,该方法如图1所示,包括:
101、网络设备将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项。
102、网络设备将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
上述网络设备可以是路由器,网络交换机或业务网关。
上述多个组播路由表项分别包括源和组。一个组播路由表项中的源的值是该组播路由表项的组播源的IP地址,组的值是该组播路由表项的组播IP地址。
上述汇聚路由表项包括源和组。源的值是上述多个组播路由表项的相同组播源的IP地址。组的值是上述相近似组播组中的多个组播组地址的前缀,该前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀。该前缀以组播IP地址和掩码的组合来表示。
上述相近似组播组具体可以为:具有相同入接口(英文全称:IncomingInterface,简称:IIF)和相同出接口列表(英文全称:Outgoing Interface List,英文简称:OIL)的多个组播组。
上述多个组播组地址的前缀的获取方式具体为:采用可变长子网掩码(英文全称:Variable Length Subnet Mask,英文简称:VLSM)将上述相近似组播组汇聚成多个组播组地址的前缀。
本发明提供的方法使用VLSM方法减少了硬件转发表内的组播路由表项的数量,所有其具有减少硬件转发表内组播路由表项,提高转发效率的优点。
可选的,上述方法在102还包括:
在网络设备的硬件转发表存储有具有相同组播源,相同入接口和相同出接口列表的组播路由表项和汇聚路由表项的情况下,如果该汇聚路由表项中的组的值是该组播路由表项中的组的值的前缀,则删除硬件转发表内存储的该组播路由表项,并保持硬件转发表内存储的该汇聚路由表项不变;如果汇聚路由表项中的组的值不是该组播路由表项中的组的值的前缀,则删除硬件转发表内存储的该组播路由表项,并使用VLSM的方法获取该组播路由表项中的组的值与该汇聚路由表项中的组的值的前缀,将硬件转发表内存储的该汇聚路由表项中的组的值修改为该获取到的前缀。
其实现的具体方式如下所述,PIM协议中的组播路由表项包含四个要素,S、G、IIF和OIL,这里以32位IP地址为例,具有相同组播源和相近似组播组的多个组播路由表项的数量有2个,分别命名为组播路由表项1和组播路由表项2,其具体可以为:组播路由表项1可以为:(10.49.150.100,239.0.0.1,Port0,Port_List1;组播路由表项2可以为:(10.49.150.100,239.0.0.6,Port0,Port List1);则将组播路由表项1和组播路由表项2汇聚成汇聚路由表项具体可以为:(10.49.150.100,239.0.0.0/29,Port0,Port List1),其中“/29”表示该前缀,即239.0.0.0/29,的掩码的29最高有效位(英语:most significant bit,MSB)为1,该掩码的其余位均为0;如在网络设备中还存储有具有相同组播源,相同入接口和相同出接口列表的组播路由表项即组播路由表项3为(10.49.150.100,239.0.0.5,Port0,Port List1)的情况下,则可以删除组播路由表项3,直接使用原来的汇聚路由表项,即使用(10.49.150.100,239.0.0.0/29,Port0,Port List1);如在网络设备中还存储有具有相同组播源,相同入接口和相同出接口列表的组播路由表项即组播路由表项4为(10.49.150.100,239.0.0.10,Port0,Port List1)的情况下,则获取239.0.0.10与239.0.0.0/29的前缀239.0.0.0/28,并将该汇聚路由表项中组的值修改为该获取到的前缀值,修改后的汇聚路由表项为:(10.49.150.100,239.0.0.0/28,Port0,Port List1)。
可选的,上述方法在102之后,还可以包括:
如果接收到协议无关组播剪枝(英文全称:Protocol Independent Multicast-prune,英文简称:PIM-PRUNE)报文时,获取PIM-PRUNE内的组播组地址,在PIM-PRUNE内的组播组地址是上述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PIM-PRUNE内的组播组地址相关的组播路由表项删除,并将软件转发表内上述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的组播组地址的前缀,在这些剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用这些剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于上述多个组播路由表项的汇聚路由表项中组的值。
上述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
其实现的具体方式如下所述,这里以32位IP地址为例,网络设备的软件转发表存储的具有相同组播源和相近似组播组的多个组播路由表项的数量有3个,分别为组播路由表项1、组播路由表项2和组播路由表项3,其具体可以为:组播路由表项1可以为:(10.49.150.100,239.0.0.1,Port0,Port List1);组播路由表项2可以为:(10.49.150.100,239.0.0.6,Port0,Port List1);组播路由表项3为(10.49.150.100,239.0.0.10,Port0,Port List1);汇聚路由表项具体可以为:(10.49.150.100,239.0.0.0/28,Port0,Port List1);如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,Port0,Port List1)中组的值,替换后的汇聚路由表项为(10.49.150.100,239.0.0.0/29,Port0,Port List1)。
采用本发明提供的方法的网络设备进行组播路由表项的汇集以后,在进行组播数据转发时,表项命中则由现有的组播路由表项替换成汇聚组播路由表项,在转发时也是依据命中的汇聚组播路由表项进行组播报文的转发。具体的,采用本发明提供的方法的网络设备在接收组播数据报文后,在该组播数据报文的组播地址和硬件转发表内的所述汇聚组播路由表项中的组播组地址的前缀匹配的情况下,根据所述汇聚组播路由表项转发该组播数据报文。
本发明具体实施方式提供一种网络设备,该网络设备如图2所示,包括:
汇聚单元21,用于将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
更新单元26,将所述汇聚路由表项存储在所述网络设备的软件转发表内,将所述汇聚路由表项存储在所述网络设备的硬件转发表内,并删除所述硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
汇聚单元21具体用于:采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀。
可选的,上述网络设备还包括:
接收单元22,用于接收协议无关组播剪枝PIM-PRUNE报文,获取所述PIM-PRUNE内的组播组地址;
删除单元23,用于在PIM-PRUNE内的组播组地址是上述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将网络设备的软件转发表中与PIM-PRUNE内的组播组地址相关的组播路由表项删除;
汇聚单元21,还用于将软件转发表内上述多个组播路由表项里剩余的组播路由表项的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的组播组地址的前缀;
替换单元24,用于在这些剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用这些剩余的组播路由表项的组播组地址的前缀替换软件转发表和硬件转发表存储的对应于上述多个组播路由表项的汇聚路由表项中组的值;
所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
本发明提供的网络设备进行组播路由表项的汇集以后,在进行组播数据转发时,表项命中则由现有的组播路由表项替换成汇聚组播路由表项,在转发时也是依据命中的汇聚组播路由表项进行组播报文的转发。具体的,本发明提供的网络设备在接收组播数据报文后,在该组播数据报文的组播地址和硬件转发表内的所述汇聚组播路由表项中的组播组地址的前缀匹配的情况下,根据所述汇聚组播路由表项转发该组播数据报文。
本发明提供的网络设备使用VLSM方法减少了硬件转发表内组播路由表项的数量,所有其具有减少硬件转发表内组播路由表项,提高转发效率的优点。
如图3所示,本发明实施例还提供了一种网络设备,包括通信接口301、处理器302和存储器303、和交换网芯片304(英文:switched fabric circuit,简称为fabric circuit)。
其中,处理器302可以为中央处理器(英文:central processing unit,缩写:CPU)。上述交换网芯片304为硬件芯片,可以是以下一种或多种的组合:专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD)和网络处理器(英文:network processor,缩写:NP)。存储器303可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-accessmemory,缩写:RAM),或者非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)。通信接口301用于实现网络设备与服务器或其他网络设备的物理连接。通信接口301可以为以下一种或多种:提供有线接口的网络接口控制器(英文:network interfacecontroller,缩写:NIC),例如以太网NIC,该以太网NIC可以提供铜线接口,光纤接口或既提供铜线接口也提供光纤接口;提供无线接口的NIC,例如无线局域网(英文:wireless local area network,缩写:WLAN)NIC。通信接口301、交换网芯片304、存储器303都和处理器302通过总线(英文:bus)相连。
存储器303,存储程序代码和软件转发表,软件转发表内存储有组播路由表项,存储器303还将存储的程序代码传输给处理器302。交换网芯片304用于接收并转发组播数据报文,交换网芯片304中存储有硬件转发表,该硬件装法表内存储有组播路由表项。
处理器302将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
处理器302具体采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀;
处理器302将汇聚路由表项存储在存储器303的软件转发表内,将汇聚路由表项存储在交换网芯片304的硬件转发表内,并删除交换网芯片304的硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
可选的,通信接口301,用于接收协议无关组播剪枝PIM-PRUNE报文,并PIM-PRUNE报文通过总线传递给处理器302;
处理器302获取所述PIM-PRUNE内的组播组地址,在PIM-PRUNE内的组播组地址是上述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将存储器303的软件转发表中与PIM-PRUNE内的组播组地址相关的路由表项删除;将存储器303的软件转发表内上述多个组播路由表项里剩余的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的前缀,在这些剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用这些剩余的组播路由表项的组播组地址的前缀替换存储器303的软件转发表和交换网芯片304的硬件转发表存储的对应于上述多个组播路由表项的汇聚路由表项中组的值并使用多个组播组地址的前缀;
上述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
本发明提供的网络设备进行组播路由表项的汇集以后,在进行组播数据转发时,表项命中则由现有的组播路由表项替换成汇聚组播路由表项,在转发时也是依据命中的汇聚组播路由表项进行组播报文的转发。具体的,本发明提供的网络设备的通信接口在接收组播数据报文后,网络设备的处理器在该组播数据报文的组播地址和硬件转发表内的所述汇聚组播路由表项中的组播组地址的前缀匹配的情况下,根据所述汇聚组播路由表项转发该组播数据报文。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
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内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
5.一种网络设备,所述网络设备包括通信接口、处理器、存储器和交换网芯片;所述存储器,存储程序代码和软件转发表,所述软件转发表内存储有组播路由表项;所述交换网芯片存储有硬件转发表,所述硬件装法表内存储有组播路由表项;其特征在于,
处理器将具有相同组播源和相近似组播组的多个组播路由表项汇聚成一个汇聚路由表项;
所述汇聚路由表项包括:源和组,所述源的值是所述多个组播路由表项的相同组播源的网际协议IP地址,所述组的值是所述相近似组播组中的多个组播组地址的前缀,所述前缀为上述相近似组播组中的多个组播组地址的所有可能前缀中长度最大的前缀;
所述相近似组播组具体为:具有相同入接口和相同出接口列表的多个组播组;
处理器具体采用可变长子网掩码VLSM将所述相近似组播组汇聚成多个组播组地址的前缀;
处理器将汇聚路由表项存储在所述存储器的软件转发表内,将汇聚路由表项存储在所述交换网芯片的硬件转发表内,并删除所述交换网芯片的硬件转发表内的具有相同组播源和相近似组播组的多个组播路由表项。
6.根据权利要求5所述的网络设备,其特征在于,
所述通信接口,用于接收协议无关组播剪枝PIM-PRUNE报文,并PIM-PRUNE报文通过总线传递给处理器;
处理器获取所述PIM-PRUNE内的组播组地址,在PIM-PRUNE内的组播组地址是所述相同组播源和相近似组播组的多个组播路由表项中的一个组播路由表项中的组播组地址的情况下,将所述存储器的软件转发表中与PIM-PRUNE内的组播组地址相关的路由表项删除;将所述存储器的软件转发表内所述多个组播路由表项里剩余的组播组地址采用VLSM汇聚成这些剩余的组播路由表项的前缀,在所述剩余的组播路由表项的组播组地址的前缀与汇聚路由表项的组播组地址的前缀不同的情况下,使用所述剩余的组播路由表项的组播组地址的前缀替换所述存储器的软件转发表和所述交换网芯片的硬件转发表存储的对应于所述多个组播路由表项的汇聚路由表项中组的值并使用多个组播组地址的前缀;
所述与PIM-PRUNE内的组播组地址相关的组播路由表项包括:组播路由表项中组的值与PIM-PRUNE内的组播组地址相同的组播路由表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310400601.7A CN104426781A (zh) | 2013-09-05 | 2013-09-05 | 实现组播路由汇聚的方法、组播方法及路由设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310400601.7A CN104426781A (zh) | 2013-09-05 | 2013-09-05 | 实现组播路由汇聚的方法、组播方法及路由设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104426781A true CN104426781A (zh) | 2015-03-18 |
Family
ID=52974760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310400601.7A Pending CN104426781A (zh) | 2013-09-05 | 2013-09-05 | 实现组播路由汇聚的方法、组播方法及路由设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104426781A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939266A (zh) * | 2015-09-06 | 2016-09-14 | 杭州迪普科技有限公司 | 一种报文的传输方法和装置 |
CN107534613A (zh) * | 2015-05-20 | 2018-01-02 | 华为技术有限公司 | 使用子树标识符的多区域源路由组播 |
CN111629276A (zh) * | 2020-05-15 | 2020-09-04 | 浙江信网真科技股份有限公司 | 一种控制表项自转换的安全过滤方法及装置 |
CN111917651A (zh) * | 2020-07-13 | 2020-11-10 | 烽火通信科技股份有限公司 | 一种交叉芯片的组播转发方法及系统 |
CN114513701A (zh) * | 2022-01-06 | 2022-05-17 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN115412528A (zh) * | 2022-08-08 | 2022-11-29 | 北京达佳互联信息技术有限公司 | 一种主机路由地址存储方法、装置、电子设备及存储介质 |
WO2024001221A1 (zh) * | 2022-06-27 | 2024-01-04 | 中兴通讯股份有限公司 | 一种组播信息转发方法、装置、组播信息汇聚节点及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595879A (zh) * | 2003-09-08 | 2005-03-16 | 华为技术有限公司 | 一种大容量组播路由表下提高组播数据转发效率的方法 |
US20060193333A1 (en) * | 2003-03-25 | 2006-08-31 | Prolego Technologies Ltd. | Topology aggregation for hierarchical routing |
JP2007318689A (ja) * | 2006-05-29 | 2007-12-06 | Nippon Telegr & Teleph Corp <Ntt> | マルチキャストmplsにおけるlspの経路集約方法及びルータ及びlsp経路集約プログラム |
CN101304390A (zh) * | 2008-07-07 | 2008-11-12 | 杭州华三通信技术有限公司 | Mpls标签分配方法和vpls报文映射方法及装置 |
CN101605103A (zh) * | 2009-07-16 | 2009-12-16 | 杭州华三通信技术有限公司 | 一种组播数据静态转发的方法及装置 |
-
2013
- 2013-09-05 CN CN201310400601.7A patent/CN104426781A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060193333A1 (en) * | 2003-03-25 | 2006-08-31 | Prolego Technologies Ltd. | Topology aggregation for hierarchical routing |
CN1595879A (zh) * | 2003-09-08 | 2005-03-16 | 华为技术有限公司 | 一种大容量组播路由表下提高组播数据转发效率的方法 |
JP2007318689A (ja) * | 2006-05-29 | 2007-12-06 | Nippon Telegr & Teleph Corp <Ntt> | マルチキャストmplsにおけるlspの経路集約方法及びルータ及びlsp経路集約プログラム |
CN101304390A (zh) * | 2008-07-07 | 2008-11-12 | 杭州华三通信技术有限公司 | Mpls标签分配方法和vpls报文映射方法及装置 |
CN101605103A (zh) * | 2009-07-16 | 2009-12-16 | 杭州华三通信技术有限公司 | 一种组播数据静态转发的方法及装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107534613A (zh) * | 2015-05-20 | 2018-01-02 | 华为技术有限公司 | 使用子树标识符的多区域源路由组播 |
CN107534613B (zh) * | 2015-05-20 | 2020-02-14 | 华为技术有限公司 | 使用子树标识符的多区域源路由组播方法 |
CN105939266A (zh) * | 2015-09-06 | 2016-09-14 | 杭州迪普科技有限公司 | 一种报文的传输方法和装置 |
CN105939266B (zh) * | 2015-09-06 | 2018-11-27 | 杭州迪普科技股份有限公司 | 一种报文的传输方法和装置 |
CN111629276A (zh) * | 2020-05-15 | 2020-09-04 | 浙江信网真科技股份有限公司 | 一种控制表项自转换的安全过滤方法及装置 |
CN111629276B (zh) * | 2020-05-15 | 2022-04-19 | 浙江信网真科技股份有限公司 | 一种控制表项自转换的安全过滤方法及装置 |
CN111917651A (zh) * | 2020-07-13 | 2020-11-10 | 烽火通信科技股份有限公司 | 一种交叉芯片的组播转发方法及系统 |
CN111917651B (zh) * | 2020-07-13 | 2022-04-15 | 烽火通信科技股份有限公司 | 一种交叉芯片的组播转发方法及系统 |
CN114513701A (zh) * | 2022-01-06 | 2022-05-17 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN114513701B (zh) * | 2022-01-06 | 2023-11-24 | 新华三技术有限公司 | 一种报文处理方法及装置 |
WO2024001221A1 (zh) * | 2022-06-27 | 2024-01-04 | 中兴通讯股份有限公司 | 一种组播信息转发方法、装置、组播信息汇聚节点及介质 |
CN115412528A (zh) * | 2022-08-08 | 2022-11-29 | 北京达佳互联信息技术有限公司 | 一种主机路由地址存储方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10693765B2 (en) | Failure protection for traffic-engineered bit indexed explicit replication | |
US11303470B2 (en) | Bridging of non-capable subnetworks in bit indexed explicit replication | |
US20210266190A1 (en) | Bit Indexed Explicit Forwarding Optimization | |
US10536324B2 (en) | Per-prefix LFA FRR with bit indexed explicit replication | |
CN104426781A (zh) | 实现组播路由汇聚的方法、组播方法及路由设备 | |
US11240053B2 (en) | Overlay signaling for bit indexed explicit replication | |
US9948574B2 (en) | Bit indexed explicit replication packet encapsulation | |
US10033632B2 (en) | Migration support for bit indexed explicit replication | |
US9736058B2 (en) | Multi-region source routed multicast using sub-tree identifiers | |
US11233724B2 (en) | Multicast data packet processing method, and apparatus | |
US20130003732A1 (en) | Abstracting accepting interface to optimize parent and child entry lookup for bidirectional pim | |
US9973352B2 (en) | Information sending method, apparatus, and communications system | |
JPWO2011162215A1 (ja) | 通信システム、制御装置、ノードの制御方法およびプログラム | |
WO2020093871A1 (zh) | 下行报文发送、转发方法和装置 | |
US20160269188A1 (en) | Reverse directed acyclic graph for multiple path reachability from origin to identified destination via multiple target devices | |
WO2014199924A1 (ja) | 制御装置、通信システム、中継装置の制御方法及びプログラム | |
CN103973576B (zh) | 一种链路本地组播报文的处理方法和网络设备 | |
US9577930B2 (en) | Method for determining multicast path, method for receiving data packet, and router | |
EP4380129A1 (en) | Communication method and device | |
CN116132364A (zh) | 报文传输方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150318 |
|
WD01 | Invention patent application deemed withdrawn after publication |