CN1881931A - 组播转发路由聚合方法 - Google Patents

组播转发路由聚合方法 Download PDF

Info

Publication number
CN1881931A
CN1881931A CNA2005100766420A CN200510076642A CN1881931A CN 1881931 A CN1881931 A CN 1881931A CN A2005100766420 A CNA2005100766420 A CN A2005100766420A CN 200510076642 A CN200510076642 A CN 200510076642A CN 1881931 A CN1881931 A CN 1881931A
Authority
CN
China
Prior art keywords
index
multicast
outgoing interface
routing entry
interface
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.)
Granted
Application number
CNA2005100766420A
Other languages
English (en)
Other versions
CN100473051C (zh
Inventor
黄进宏
马彧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing creates a code science and technology limited liability company
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB2005100766420A priority Critical patent/CN100473051C/zh
Publication of CN1881931A publication Critical patent/CN1881931A/zh
Application granted granted Critical
Publication of CN100473051C publication Critical patent/CN100473051C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种组播转发路由聚合方法,包括如下步骤:协议层产生由若干组播路由条目构成的组播转发路由表,其中所述组播路由条目包括有组播源地址、组播组地址、组播路由操作标志、组播入接口和索引Index等字段,索引Index为全局有效且唯一,表征出接口列表,对于出接口列表相同的组播路由条目,索引Index相同;协议层同时产生索引index和表征的出接口列表的映射关系;转发层产生若干与各自接口板对应的、由全局有效的索引Index与本接口板上有效的出接口列表之间映射关系构成的Index局部出接口映射表。采用本方法,不仅能降低组播路由占用的内存空间数量,而且还能够将大容量的组播转发路由聚合成当前硬件芯片容量可支持的组播转发路由。

Description

组播转发路由聚合方法
技术领域
本发明涉及IP网络组播领域,尤其是涉及一种在有线和无线等IP通信系统中实现IP组播时对组播转发路由进行聚合的方法。
背景技术
当前,IP组播技术能有效地解决单点发送多点接收的问题,可实现IP网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。作为一种与单播、广播并列的通信方式,组播的意义不仅在于此。更重要的是,它可以借助网络的组播特性方便地提供一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等互联网的信息服务领域。由于IP组播的上述特性,使其在有线网络和无线网络领域都有巨大的应用前景。
但是,现有的组播路由管理中存在如下问题:
A、由于组播应用越来越广泛,从而导致所需的组播路由表越来越大。组播路由容量需求的增加将导致对系统内存的需求增加,同时也会导致路由同步负担的增加。
B、此外,组播应用的业务类型主要是视频,音频等大流量业务,且往往具有实时性要求。为能够提供良好的组播业务服务,组播转发趋向于采用硬件转发模式。组播硬件转发时为实现跨转发板的快速转发,通常采用以下方法:入接口板上的每一条组播路由条目和出接口板上对应于该组播路由条目,分配全局有效且唯一的索引index,index表示该路由条目在组播路由表中的位置;当入接口板收到组播数据报文时,查询该转发板上的组播路由表获得index,从而获得该组播路由条目在出接口板的位置;当组播数据通过出接口板向外转发时,就不再需要查询位于出接口板上的组播路由表而是通过index直接定位组播路由条目而获得转发出接口。从上述描述可以看出,这种采用硬件的组播转发方式可以减小一次查找组播路由的时间,从而提高转发效率。但是,由于当前硬件芯片支持的index的数目是有限的,如果采用上述方法,Index的数目会限制系统所能支持的组播路由条目容量。目前的组播硬件转发芯片的index容量一般为几K个,有的芯片甚至只能提供几百个index,这样会使得系统能够支持的组播路由条目最多只有103。目前组播业务的发展要求系统组播路由容量在105以上,因此组播的硬件转发方式和组播所需要的大容量支持已成为一对矛盾。
C、由于组播的应用越来越广泛,各种IP网络通讯设备都需要支持组播,但是不同的组播网络设备,而所用转发芯片往往是不同的。此外,组播的应用环境也不同,在路由环境下组播路由条目的出接口是IP端口,组播数据根据三层IP端口转发;但是在交换环境中,IP端口对应的是VLAN端口,而转发端口对应的是实际物理接口。为防止组播数据流的扩散,在交换环境中,通过igmpsnooping和pimsnooping等协议为以VLAN转发端口的IP组播路由条目进一步确定需要转发的物理端口,因此在交换环境中,用于组播数据转发的路由条目的出接口列表与路由环境中的组播路由条目出接口表是不同的,接入环境下如宽带远程接入服务器(BRAS)和数字用户线接入复用器(DSLAM)为实现组播的端口复制也需要提供组播路由聚合的跨平台支持。所以,这将导致组播路由的转发信息和路由表构造也不同,从而index所要标识的含义也不完全相同,不便于跨平台操作。
发明内容
本发明需要解决的技术问题是提供一种组播转发路由聚合方法,采用本方法,不仅能降低组播路由占用的内存空间数量,减少组播协议和组播转发间的同步消息量,而且还能够将大容量的组播转发路由聚合成当前硬件芯片容量可支持的组播转发路由,由此提高跨板组播转发的转发效率。
为了解决上述技术问题,本发明提供了一种组播转发路由聚合方法,包括如下步骤:
(a)协议层产生由若干组播路由条目构成的组播转发路由表,其中所述组播路由条目包括有组播源地址、组播组地址、组播路由操作标志、组播入接口和索引index等字段,index为全局有效且唯一,表征出接口列表,对于出接口列表相同的组播路由条目,index相同;
(b)协议层产生索引index与其代表的出接口列表的映射关系;
(c)转发层产生若干与各自接口板对应的、由全局有效的索引index与本接口板上有效出接口之间映射关系构成的index局部出接口映射表;
(d)转发层根据所接收组播数据报文的源地址和组播组地址,查询所述组播转发路由表获得索引index,然后将组播数据报文发送至根据索引index确定的相应出接口板;该出接口板接收到组播数据报文后,查询本板上的index局部出接口映射表而获得本板有效出接口,并将该组播数据报文转发。
进一步地,本发明还具有如下特点:所述组播路由条目还包括有表征当前索引index变化前的原有索引old_index字段,该old_index字段与index字段的结构和长度相同;所述索引index字段和old_index字段均包括有表示出接口列表的完整信息和表示出接口列表的板信息位图的两部分内容。
进一步地,本发明还具有如下特点:所述协议层生成组播转发路由表的操作包括有增加、删除组播路由条目的操作和出接口列表发生变化时的处理操作。
进一步地,本发明还具有如下特点,所述增加组播路由条目的操作包括如下步骤:
(A1)协议层接收包括有出接口列表字段的共享树组播路由条目;
(A2)判断当前组播转发路由表中的index是否存在着与该共享树组播路由条目的出接口列表字段相同的出接口列表映射关系,若有,则将该index添加至此共享树组播路由条目,然后将该共享树组播路由条目中的出接口列表字段去除,从而生成组播路由条目且加入组播转发路由表,否则分配新的index至此共享树组播路由条目,然后将该共享树组播路由条目中的出接口列表字段去除,生成组播路由条目且加入至组播转发路由表;
(A3)协议层将index与出接口映射关系的变化同步至转发层,用于更新各接口板上的index局部出接口映射表。
进一步地,本发明还具有如下特点,所述删除组播路由条目的操作包括如下步骤:
(B1)协议层删除某个组播路由条目;
(B2)协议层判断所删除的组播路由条目中index字段当前是否为多个组播路由条目引用,若是,则将该index的引用次数减1,否则将该index释放回index池,并删除此index与出接口列表的映射关系;
(B3)协议层将index与出接口映射关系的变化同步至转发层,用于更新各接口板上的index局部出接口映射表。
进一步地,本发明还具有如下特点,所述出接口列表发生变化时的处理操作包括如下步骤:
(C1)协议层判断出接口列表发生变化的组播路由条目的index字段当前是否为多个组播路由条目引用,若是,则将该index的引用次数减1,否则将该index释放回index池,并删除此index与出接口列表的映射关系;
(C2)将处理后的index填充至该组播路由条目的old_index字段,并且协议层根据变化后的出接口列表分配与之相对应的index,同时将该重新分配的index填充至原组播路由条目的index字段;
(C3)协议层将index与出接口映射关系的变化同步至转发层,用于更新各接口板上的index局部出接口映射表。
进一步地,本发明还具有如下特点,转发层更新各接口板上的Index局部出接口映射表的步骤包括:
(E1)转发层接收到的协议层同步的组播路由条目,并且根据该组播路由条目中组播路由操作标志的index位进行判断,若该标志位表示增加,则执行步骤(E4),若表示删除,则执行步骤(E2),若表示变化,则执行步骤(E3);
(E2)根据同步的组播路由条目中的index字段,转发层将本板上index局部出接口映射表中与该index字段相同的index和出接口列表之间映射关系删除,执行步骤(E6);
(E3)根据同步的组播路由条目中的old_index字段,转发层将本板上index局部出接口映射表中与该old_index字段相同的index和出接口列表之间映射关系删除;
(E4)转发层接收协议层同步下来的index与出接口映射关系;
(E5)转发层将不属于本接口板的接口从index与出接口映射关系中删除,从而形成index与本板有效出接口之间的映射关系。并且利用这些映射关系更新index局部出接口映射表;
(E6)结束。
进一步地,本发明还具有如下特点:所述index分配的决定因素包括应用环境因素,当应用环境为路由环境时,index的分配只与组播路由的三层出接口相关;当应用环境为交换环境和接入环境时,index的分配同时取决于组播路由的三层出接口和二层出接口;对没有三层出接口的设备设置一个虚拟三层出接口号。
进一步地,本发明还具有如下特点:对于每一个使用中的index均设置有引用计数器,用于表示引用该index的组播路由条目数;当index池中的index分配完毕后,若还有组播路由条目申请分配index,则通知协议层在周期T内不再向下同步该组播路由条目。
进一步地,本发明还具有如下特点:所述步骤(d)中如果由index确定的入接口板与出接口板不一致,需要将组播数据报文跨板传送时,则必须将index附带至组播数据报文中,一并传送至出接口板。
与现有技术相比,本发明具有以下优点:
A、由于采用全局有效且唯一的index代替现有组播路由条目中的出接口列表,并且对于出接口列表相同的组播路由条目,分配相同的index,从而大大节省组播路由占用的内存空间,同时也减少组播协议和组播转发间的同步消息量;
B、由于本发明中的index不标识具体的组播路由条目,只是用来标识不同的出接口列表,而不同组播路由条目的出接口列表的相似性和重叠性能够节省大量的index,因此能够将大容量的组播转发路由聚合成当前硬件芯片容量可支持的组播转发路由,并且由此能提高跨板组播转发的转发效率;
C、本发明还针对组播路由的不同应用环境设计有相应的index分配规则,使得本发明具有跨平台性。
附图说明
图1是本发明在组播路由系统中的位置示意图;
图2是本发明处理方法组成示意图;
图3是本发明中组播路由条目与传统组播路由条目之间的区别示意图;
图4是本发明中基于Index的组播转发处理说明简图(以正常转发为例);
图5是采用本发明进行组播转发路由聚合时路由增加的协议层处理流程图;
图6是采用本发明进行组播转发路由聚合时路由删除的协议层处理流程图;
图7是采用本发明进行组播转发路由聚合时出接口变化的协议层处理流程图;
图8是采用本发明进行组播转发路由聚合时路由转发层处理流程。
具体实施方式
为深入了解本发明,下面结合附图及具体实施例对本发明进行详细说明。
如图1所示,本发明由组播路由聚合模块实现。该模块嵌入在传统的组播路由处理模块中,用于实现组播转发路由的聚合,需要在组播转发层、组播协议层都设有相应的处理模块。组播路由聚合模块在协议层的主要作用:组播转发路由的出接口聚合,Index分配和动态管理,Index与出接口列表的映射关系的管理和同步以及聚合跨平台虚拟机等作用。组播路由聚合模块在转发层的主要作用是对出接口聚合的组播转发路由的Index和出接口列表映射关系的管理并提供跨转发板的组播报文快速转发路由依据。
如图2所示,本发明组成包括出接口Index管理分配子模块、路由出接口聚合子模块、Index与接口列表映射关系管理子模块、Index与接口列表映射关系同步子模块和Index局部出接口映射表管理子模块五部分组成。Index管理子模块的作用是维护全局有效的index池,为每一类出接口列表分配唯一的index字段,当该出接口列表完全失效时,回收释放的index并放入index池中。出接口聚合子模块作用是根据Index管理分配子模块分配的index替代组播路由条目中的出接口列表,形成新的出接口聚合后的组播路由条目。Index与接口映射关系管理子模块负责记录当前处于激活状态的各Index和出接口列表之间的映射关系F。Index与接口映射关系同步子模块负责定期向处于组播转发层的Index局部出接口映射表管理子模块同步处于激活状态的F。Index局部出接口映射表管理子模块根据本板有效原则,从出接口列表中过滤出本板有效的出接口子列表。Index局部出接口列表映射表存放全局有效的index与本板有效的出接口列表的映射关系F。利用该映射关系在跨转发板的组播快速转发时,不需要再次查找组播路由,而是根据该组播报文的index快速对应出接口,从而实现快速转发。
如图3所示本发明中组播路由条目与传统组播路由条目的结构示意图,其中(a)是传统组播路由条目的结构,(b)是经过组播路由聚合处理后的组播路由。
从构成上看,传统的组播路由条目主要由组播源地址、组播源地址掩码、组播组地址、组播组地址掩码、路由条目操作标志、入接口和组播出接口列表等字段组成。组播源地址,组播组地址,路由条目操作标志,组播入接口都可以分别用一个4个字节表出。
组播的特性决定了一条组播路由条目可以有多个出接口,每一个出接口占用一个4字节位。出接口的数目由该网络节点的组播树下游收到该组播业务需求的接口个数决定。在实际应用中,一个组播路由条目可能会由几十到几百个出接口。这样相对于其它组播路由信息,组播的出接口列表占用的容量要大得多。如果想要减小组播路由所占的内存量,那么应当压缩组播路由出接口列表所占用的空间。在传统的组播路由管理中,不同的组播路由条目各自保存一份自己的出接口列表,而实际应用中,不同的组播路由条目中出接口列表会有很大的相似性,甚至不同组播路由条目的出接口列表是完全相同的。
所以本发明中,采用全局有效且唯一的index代替现有组播路由条目中的出接口列表,并且对于出接口列表相同的组播路由条目,分配相同的index,聚合后的组播路由结构中old_index字段用于当组播路由出接口发生变换时,通知组播转发层发生变化的原index,current_index字段填充的是当前有效的index。此外,current_index字段和old_index字段均包括有表示出接口列表的完整信息和表示出接口列表的板信息位图的两部分内容
因此,从结构上可以明显的看到采用本发明聚合后的组播路由条目的内存占用量要小于传统的组播路由条目,而且随着出接口数目的增加,聚合的作用更明显。
另外传统的硬件组播转发路由index管理方式是不同的组播路由分配不同的index。对于组播转发而言,分配index的目的是为了组播数据入接口和出接口不在同一转发板时,减少在出接口板上查找组播路由的系统开销。对于出接口板而言,可以不关注组播路由的具体细节,关注的是从哪些出接口转发出去。因此index可以不标识具体的组播路由条目,而是用来标识不同的出接口列表。不同组播路由条目的出接口列表的相似性和重叠性能够节省大量的index,从而大大降低index的有限性对组播转发路由容量的影响。
如图4所示基于index的组播转发处理简要说明。传统的组播转发是组播转发层接收到组播数据报文后,查询组播路由表,如果能够匹配到该组播路由条目(*,G1),则组播数据报文根据出接口列表中的接口数目复制多份,分别在这些接口中转发。如果转发的出接口有在其它转发板上,则需要将该数据报文通过本机内部的交换网等传送到对应的其它转发板上,当组播数据到达非入口的转发板上,还需要在查一次位于该板的组播路由,获得在该板的出接口,根据这些出接口将组播数据转发出去。
但是,如果采用通过组播路由聚合后基于index的组播转发,组播转发层通过index可以为组播转发提供一种本机内的标签转发机制,从而提高组播转发速度。其具体实现是在组播转发层同时存在两张转发表,但两张表的内容和作用是不同的,一张是与通过出接口聚合处理的组播路由条目组成的组播转发路由表(也称为入接口组播路由表),该组播转发路由表包含本机有效的所有组播路由条目,这些路由条目的特点是没有出接口列表,替代的是全局有效且唯一的、表征出接口列表的index字段。这些路由条目用于组播转发时的入口处理,包括逆向路径转发检查等。当入接口相关处理结束需要通过出接口将该组播报文转发出去时,需要查询另一张组播路由转发表——index局部出接口映射表,该Index局部出接口映射表是由Index局部出接口列表映射表管理子模块产生。其处理流程为:
步骤401,接口板接收到组播数据报文;
步骤402,转发层根据该组播数据报文的源地址和组地址,查询组播转发路由表;
步骤403,通过查询组播转发路由表,得到相应的Index;
步骤404,根据查询到的Index,判断是否本接口板上有出接口,若没有,执行步骤407,否则执行步骤405;
步骤405,查询本接口板的index局部出接口映射表获得本板有效的出接口;
步骤406,根据这些出接口将此组播数据报文转发出去;
步骤407,根据Index判断是否其它转发板上存在该组播路由条目的出接口,若没有,执行步骤411,否则执行步骤408;
步骤408,将组播数据报文根据Index的出接口板位信息通过本机内部的交换网(交换矩阵)等传送到对应的其它转发板上,跨板传送前要将Index附带给该组播数据报文;
步骤409,对应的其它转发板接收组播数据报文,并且根据该组播数据报文附带的index直接检索本板的index局部出接口映射表,获得本板有效的出接口;
步骤410,根据获得的本板有效出接口将此组播数据报文转发出去;
步骤411,结束。
如图5所示组播路由聚合方法(简称路由聚合模块)对组播路由条目增加的处理方法中协议层的处理流程(以共享树组播路由条目为例),包括如下步骤:
步骤501,路由聚合模块接收到三层组播协议如PIMSM(协议独立多目传送——稀疏模式)等产生新的共享树组播路由条目(*,G1),根据该(*,G1)包含出接口列表o_list查询index与接口列表映射关系管理子模块;
步骤502,判断是否目前激活的index中是否存在与o_list相同的出接口列表映射关系,如果存在,执行步骤507,否则执行步骤503;
步骤503,调用出接口Index管理分配子模块查询index池中是否还存在空闲的index,如果有,执行步骤504,否则执行步骤510;
步骤504,从index池中根据index的分配规则分配新的index给o_list,该index的分配规则包括有如下几项,index需要能够表示出接口列表所包含的所有板位信息;根据应用环境的不同来进行index的分配,如路由环境下index的分配只与三层接口相关,如在交换环境和接入环境下即组播数据报文复制在二层物理端口(交换机,DSLAM),则index的分配同时取决于组播路由的三层出接口和二层出接口;对于没有三层端口的设备设置一个虚拟三层端口号;不同设备的index资源量不同,由设备控制;
步骤505,如果index分配成功,则执行步骤506,否则执行步骤510;
步骤506,调用index与接口列表映射关系管理子模块记录index和o_list的映射关系,将该index的引用值清零,新分配的index要回填到协议层的组播转发路由表中,对于每一个使用中的index均设置有引用计数器,用于表示引用该index的组播路由条目数;
步骤507,调用index与接口列表映射关系管理子模块直接将激活的index赋给(*,G1)的current_index字段,将该index的引用值加1;
步骤508,调用出接口聚合子模块,将(*,G)路由中的o_list去除;
步骤509,将组播路由操作标志的index位设置为新增标志(用于通知组播转发层),执行步骤511;
步骤510,返回FALSE,通知组播路由处理模块不能向下同步该组播路由条目,退出本流程;
步骤511,将该组播路由条目交给传统的组播路由处理流程向组播转发同步(此时的组播路由条目不包含o_list);
步骤512,Index与接口列表映射关系同步子模块负责及时将index与出接口映射关系的变化同步到组播转发层的Index局部出接口列表映射表管理子模块,其同步的原则是仅向该index相关的转发层板卡同步。
如图6所示组播路由聚合方法(简称路由聚合模块)对组播路由条目删除的处理方法中协议层的处理流程(以共享树组播路由条目为例),包括如下步骤:
步骤601,当将组播路由条目(*,G)删除时,组播路由协议模块通知路由聚合模块,该模块根据(*,G)的index查询Index与接口列表映射关系管理和同步子模块;
步骤602,如果该index的引用数=1,则执行步骤604,否则执行步骤603;
步骤603,将该引用数目减1,执行步骤607;
步骤604,删除该index和o_list的映射关系;
步骤605,将该index释放回收到index池;
步骤606,调用Index与接口列表映射关系管理和同步子模块将该index与olist映射关系被删除的信息发送给组播路由转发层,向各相关转发板同步index与出接口列表o_list的映射关系,退出流程;
步骤606,通过传统的组播路由同步模块向组播转发同步该组播路由。
如图7所示组播路由聚合方法(简称路由聚合模块)对组播路由条目出接口变化的处理方法(以共享树组播路由条目为例),包括如下步骤:
步骤701,当组播路由发生出接口变化时,组播协议模块通知路由聚合模块。该模块根据发生变化的组播路由(*,G)的index,查询Index与接口列表映射关系管理和同步子模块;
步骤702,如果该index的引用数=1,执行步骤704,否则执行步骤703;
步骤703,将该index的引用数目减1,执行步骤706;
步骤704,删除该index和o_list的映射关系;
步骤705,将该index释放回收到index池;
步骤706,将原来的index字段填充此组播路由条目的old_index字段;
步骤707,index与接口列表映射关系管理子模块根据新的出接口列表查询是否该出接口列表已经有与之对应的index,若有,执行步骤712,否则执行步骤708;
步骤708,调用出接口index管理分配子模块查询index池中是否还存在空闲的index,若有,执行步骤709,否则执行步骤715;
步骤709,从index池中根据index的分配规则分配新的index给o_list,具体规则与步骤504中所述规则相同;
步骤710,如果index分配成功,执行步骤711,否则执行步骤715;
步骤711,调用index与接口列表映射关系管理子模块记录index和o_list的映射关系,将index的引用值清零,新分配的index要回填到协议层的组播转发路由表中;
步骤712,将已经分配的index字段填充组播路由条目的current_index字段,将该index的引用值加1;
步骤713,去除组播路由(*,G)的出接口列表o_list;
步骤714,将组播路由操作标志的index位设置为变化标志,执行步骤716;
步骤715,返回FALSE,通知组播路由处理模块不能向下同步该组播路由条目,退出本流程;
步骤716,将该组播路由条目交给传统的组播路由处理流程向组播转发同步;
步骤717,Index与接口列表映射关系同步子模块负责及时将index与出接口映射关系的变化同步到组播转发层的Index局部出接口列表映射表管理子模块,其同步的原则是仅向该index相关的转发层板卡同步。
如图8所示组播路由聚合方法(简称路由聚合模块)中转发层的路由处理流程(以共享树组播路由条目为例),包括如下步骤:
步骤801,组播转发层根据接收到的协议层同步的组播路由,利用传统的组播转发路由处理方法形成组播入口转发路由表;
步骤802,判断组播路由操作标志的index位,如果该标志位表示增加,执行步骤805,如果表示删除,执行步骤803,如果表示变化,执行步骤804;。
步骤803,根据同步的组播路由条目中的current_index字段,转发层将本板上index局部出接口映射表中与该index字段相同的index和出接口列表之间映射关系删除,执行步骤807;
步骤804,根据同步的组播路由条目中的old_index字段,转发层将本板上index局部出接口映射表中与该old_index字段相同的index和出接口列表之间映射关系删除;
步骤805,组播转发层的Index局部出接口映射表管理子模块接收组播协议层的Index与接口列表映射关系同步子模块同步下来的index与出接口映射关系(变化同步);
步骤806,转发层查询该映射关系的出接口列表中哪些接口不属于本转发板,将不属于本转发板的接口从index与出接口映射关系中删除,形成index与本板有效接口之间的映射关系,并且利用这些映射关系组织成或更新index局部出接口映射表;
步骤807,结束。

Claims (10)

1、一种组播转发路由聚合方法,包括如下步骤:
(a)协议层产生由若干组播路由条目构成的组播转发路由表,其中所述组播路由条目包括有组播源地址、组播组地址、组播路由操作标志、组播入接口和索引index等字段,index为全局有效且唯一,表征出接口列表,对于出接口列表相同的组播路由条目,index相同;
(b)协议层产生索引index与其代表的出接口列表的映射关系;
(c)转发层产生若干与各自接口板对应的、由全局有效的索引index与本接口板上有效出接口之间映射关系构成的index局部出接口映射表;
(d)转发层根据所接收组播数据报文的源地址和组播组地址,查询所述组播转发路由表获得索引index,然后将组播数据报文发送至根据索引index确定的相应出接口板;该出接口板接收到组播数据报文后,查询本板上的index局部出接口映射表而获得本板有效出接口,并将该组播数据报文转发。
2、根据权利要求1所述的组播转发路由聚合方法,其特征在于:所述组播路由条目还包括有表征当前索引index变化前的原有索引old_index字段,该old_index字段与index字段的结构和长度相同;所述索引index字段和old_index字段均包括有表示出接口列表的完整信息和表示出接口列表的板信息位图的两部分内容。
3、根据权利要求2所述的组播转发路由聚合方法,其特征在于:所述协议层生成组播转发路由表的操作包括有增加、删除组播路由条目的操作和出接口列表发生变化时的处理操作。
4、根据权利要求3所述的组播转发路由聚合方法,其特征在于,所述增加组播路由条目的操作包括如下步骤:
(A1)协议层接收包括有出接口列表字段的共享树组播路由条目;
(A2)判断当前组播转发路由表中的index是否存在着与该共享树组播路由条目的出接口列表字段相同的出接口列表映射关系,若有,则将该index添加至此共享树组播路由条目,然后将该共享树组播路由条目中的出接口列表字段去除,从而生成组播路由条目且加入组播转发路由表,否则分配新的index至此共享树组播路由条目,然后将该共享树组播路由条目中的出接口列表字段去除,生成组播路由条目且加入至组播转发路由表;
(A3)协议层将index与出接口映射关系的变化同步至转发层,用于更新各接口板上的index局部出接口映射表。
5、根据权利要求3所述的组播转发路由聚合方法,其特征在于,所述删除组播路由条目的操作包括如下步骤:
(B1)协议层删除某个组播路由条目;
(B2)协议层判断所删除的组播路由条目中index字段当前是否为多个组播路由条目引用,若是,则将该index的引用次数减1,否则将该index释放回index池,并删除此index与出接口列表的映射关系;
(B3)协议层将index与出接口映射关系的变化同步至转发层,用于更新各接口板上的index局部出接口映射表。
6、根据权利要求3所述的组播转发路由聚合方法,其特征在于,所述出接口列表发生变化时的处理操作包括如下步骤:
(C1)协议层判断出接口列表发生变化的组播路由条目的index字段当前是否为多个组播路由条目引用,若是,则将该index的引用次数减1,否则将该index释放回index池,并删除此index与出接口列表的映射关系;
(C2)将处理后的index填充至该组播路由条目的old_index字段,并且协议层根据变化后的出接口列表分配与之相对应的index,同时将该重新分配的index填充至原组播路由条目的index字段;
(C3)协议层将index与出接口映射关系的变化同步至转发层,用于更新各接口板上的index局部出接口映射表。
7、根据权利要求4、5或6所述的组播转发路由聚合方法,其特征在于,转发层更新各接口板上的index局部出接口映射表的步骤包括:
(E1)转发层接收到的协议层同步的组播路由条目,并且根据该组播路由条目中组播路由操作标志的index位进行判断,若该标志位表示增加,则执行步骤(E4),若表示删除,则执行步骤(E2),若表示变化,则执行步骤(E3);
(E2)根据同步的组播路由条目中的index字段,转发层将本板上index局部出接口映射表中与该index字段相同的index和出接口列表之间映射关系删除,执行步骤(E6);
(E3)根据同步的组播路由条目中的old_index字段,转发层将本板上index局部出接口映射表中与该old_index字段相同的index和出接口列表之间映射关系删除;
(E4)转发层接收协议层同步下来的index与出接口映射关系;
(E5)转发层将不属于本接口板的接口从index与出接口映射关系中删除,从而形成index与本板有效出接口之间的映射关系。并且利用这些映射关系更新index局部出接口映射表;
(E6)结束。
8、根据权利要求8所述的组播转发路由聚合方法,其特征在于:所述index分配的决定因素包括应用环境因素,当应用环境为路由环境时,index的分配只与组播路由的三层出接口相关;当应用环境为交换环境和接入环境时,index的分配同时取决于组播路由的三层出接口和二层出接口;对没有三层出接口的设备设置一个虚拟三层出接口号。
9、根据权利要求8所述的组播转发路由聚合方法,其特征在于:对于每一个使用中的index均设置有引用计数器,用于表示引用该index的组播路由条目数;当index池中的index分配完毕后,若还有组播路由条目申请分配index,则通知协议层在周期T内不再向下同步该组播路由条目。
10、根据权利要求1所述的组播转发路由聚合方法,其特征在于:所述步骤(d)中如果由index确定的入接口板与出接口板不一致,需要将组播数据报文跨板传送时,则必须将index附带至组播数据报文中,一并传送至出接口板。
CNB2005100766420A 2005-06-13 2005-06-13 组播转发路由聚合方法 Expired - Fee Related CN100473051C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100766420A CN100473051C (zh) 2005-06-13 2005-06-13 组播转发路由聚合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100766420A CN100473051C (zh) 2005-06-13 2005-06-13 组播转发路由聚合方法

Publications (2)

Publication Number Publication Date
CN1881931A true CN1881931A (zh) 2006-12-20
CN100473051C CN100473051C (zh) 2009-03-25

Family

ID=37519912

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100766420A Expired - Fee Related CN100473051C (zh) 2005-06-13 2005-06-13 组播转发路由聚合方法

Country Status (1)

Country Link
CN (1) CN100473051C (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008095435A1 (fr) * 2007-02-05 2008-08-14 Huawei Technologies Co., Ltd. Procédé de multidiffusion et procédé de routage de multidiffusion
CN101242419B (zh) * 2008-03-19 2010-12-29 中兴通讯股份有限公司 一种快速组播的处理方法
CN101364889B (zh) * 2008-09-24 2011-01-19 中兴通讯股份有限公司 一种快速接入组播用户的方法
CN101459620B (zh) * 2009-01-06 2011-01-19 杭州华三通信技术有限公司 一种转发组播数据的方法和装置
CN101005458B (zh) * 2007-01-30 2012-08-08 华为技术有限公司 一种下发路由的方法、装置及系统
CN103457862A (zh) * 2013-09-06 2013-12-18 杭州华三通信技术有限公司 一种软件纵向堆叠系统中三层组播实现方法和设备
CN101719835B (zh) * 2009-12-30 2014-01-01 中兴通讯股份有限公司 一种提高组播用户接入数的方法和装置
CN105227490A (zh) * 2014-05-27 2016-01-06 杭州迪普科技有限公司 一种多设备链路聚合的方法以及装置
CN105323724A (zh) * 2015-06-03 2016-02-10 成都西加云杉科技有限公司 组播/广播技术中发送速率的设置方法及装置
CN105939266A (zh) * 2015-09-06 2016-09-14 杭州迪普科技有限公司 一种报文的传输方法和装置
CN106331186A (zh) * 2015-06-17 2017-01-11 华为技术有限公司 分配互联网协议ip地址的方法和设备
CN107370680A (zh) * 2016-05-12 2017-11-21 中兴通讯股份有限公司 一种组播路由条目控制方法、装置及通信系统
CN108206785A (zh) * 2016-12-16 2018-06-26 瞻博网络公司 针对多播流量优化与路由和/或下一跳相关的信息
CN111917651A (zh) * 2020-07-13 2020-11-10 烽火通信科技股份有限公司 一种交叉芯片的组播转发方法及系统
CN113824720A (zh) * 2021-09-18 2021-12-21 恒安嘉新(北京)科技股份公司 报文处理方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11546185B2 (en) 2020-04-27 2023-01-03 Hewlett Packard Enterprise Development Lp Multicast route summarization

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005458B (zh) * 2007-01-30 2012-08-08 华为技术有限公司 一种下发路由的方法、装置及系统
CN101242342B (zh) * 2007-02-05 2012-09-19 华为技术有限公司 组播方法及组播路由方法
WO2008095435A1 (fr) * 2007-02-05 2008-08-14 Huawei Technologies Co., Ltd. Procédé de multidiffusion et procédé de routage de multidiffusion
US8009671B2 (en) 2007-02-05 2011-08-30 Huawei Technologies Co., Ltd. Multicast method and multicast routing method
CN101242419B (zh) * 2008-03-19 2010-12-29 中兴通讯股份有限公司 一种快速组播的处理方法
CN101364889B (zh) * 2008-09-24 2011-01-19 中兴通讯股份有限公司 一种快速接入组播用户的方法
CN101459620B (zh) * 2009-01-06 2011-01-19 杭州华三通信技术有限公司 一种转发组播数据的方法和装置
CN101719835B (zh) * 2009-12-30 2014-01-01 中兴通讯股份有限公司 一种提高组播用户接入数的方法和装置
CN103457862A (zh) * 2013-09-06 2013-12-18 杭州华三通信技术有限公司 一种软件纵向堆叠系统中三层组播实现方法和设备
CN103457862B (zh) * 2013-09-06 2016-05-04 杭州华三通信技术有限公司 一种软件纵向堆叠系统中三层组播实现方法和设备
CN105227490A (zh) * 2014-05-27 2016-01-06 杭州迪普科技有限公司 一种多设备链路聚合的方法以及装置
CN105227490B (zh) * 2014-05-27 2018-06-12 杭州迪普科技股份有限公司 一种多设备链路聚合的方法以及装置
CN105323724A (zh) * 2015-06-03 2016-02-10 成都西加云杉科技有限公司 组播/广播技术中发送速率的设置方法及装置
CN105323724B (zh) * 2015-06-03 2019-06-07 成都西加云杉科技有限公司 组播/广播技术中发送速率的设置方法及装置
CN106331186B (zh) * 2015-06-17 2019-05-21 华为技术有限公司 分配互联网协议ip地址的方法和设备
CN106331186A (zh) * 2015-06-17 2017-01-11 华为技术有限公司 分配互联网协议ip地址的方法和设备
CN105939266B (zh) * 2015-09-06 2018-11-27 杭州迪普科技股份有限公司 一种报文的传输方法和装置
CN105939266A (zh) * 2015-09-06 2016-09-14 杭州迪普科技有限公司 一种报文的传输方法和装置
CN107370680A (zh) * 2016-05-12 2017-11-21 中兴通讯股份有限公司 一种组播路由条目控制方法、装置及通信系统
CN108206785A (zh) * 2016-12-16 2018-06-26 瞻博网络公司 针对多播流量优化与路由和/或下一跳相关的信息
CN108206785B (zh) * 2016-12-16 2020-12-15 瞻博网络公司 针对多播流量优化与路由和/或下一跳相关的信息
US11140069B2 (en) 2016-12-16 2021-10-05 Juniper Networks, Inc. Optimizing information related to a route and/or a next hop for multicast traffic
CN111917651A (zh) * 2020-07-13 2020-11-10 烽火通信科技股份有限公司 一种交叉芯片的组播转发方法及系统
CN111917651B (zh) * 2020-07-13 2022-04-15 烽火通信科技股份有限公司 一种交叉芯片的组播转发方法及系统
CN113824720A (zh) * 2021-09-18 2021-12-21 恒安嘉新(北京)科技股份公司 报文处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN100473051C (zh) 2009-03-25

Similar Documents

Publication Publication Date Title
CN1881931A (zh) 组播转发路由聚合方法
CN100346605C (zh) 一种组播源控制的方法和系统
CN1237755C (zh) 通信网络中的子组多播
CN1925444A (zh) 在p2p网络中建立点对点连接的方法及在p2p网络中的节点
CN101047583A (zh) 支持虚拟局域网服务的无源光网络系统及相应方法
CN1615015A (zh) 视讯会议系统及其管理方法
CN1208538A (zh) 支持非区域性电话号码的方法和装置
CN1968183A (zh) 一种在MAC in MAC网络中实现组播的方法
CN1960521A (zh) 增大多媒体消息业务系统容量的方法及系统
CN1878143A (zh) 组播网络部署方法及组播网络
CN101079760A (zh) 实现网络监控的方法、系统及内容分发网络
CN1848791A (zh) 树型组网拓扑结构的获取及地址分配方法
CN1801956A (zh) 一种资源分配策略系统及其控制通信资源分配的方法
CN1909739A (zh) 无线接入网及其中分组的传输和终端的切换方法
CN1747447A (zh) 区分服务网络域内支持不同服务质量的ip组播方法
CN101079869A (zh) 一种基于分布式的数据同步方法及系统
CN1315312C (zh) 一种大规模多媒体接入网关的方法
CN1780225A (zh) 按用户和终端设备的关系变更推送业务参数信息的方法
CN1917667A (zh) 群发短消息业务中的号码处理系统及处理方法
CN1889448A (zh) 指定源组播协议无关组播模式下跨虚拟局域网组播的方法和系统
CN101075954A (zh) 点对点流媒体通讯系统及其超级节点资源的配置方法
CN1291566C (zh) 基于ip网络数字媒体传送方法
CN1885812A (zh) 一种流媒体点播系统中时间相关的对等网络组织方法
CN1866886A (zh) 一种网络监听系统及实现监听的方法
CN1543132A (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NANJING CHUANGMA TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20140404

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 210012 NANJING, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20140404

Address after: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee after: Nanjing creates a code science and technology limited liability company

Address before: 518057 Nanshan District, Guangdong high tech Industrial Park, science and Technology Industrial Park, ZTE building, block A, layer 6, layer

Patentee before: ZTE Corporation

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090325

Termination date: 20140613

EXPY Termination of patent right or utility model