一种组播报文两级复制方法及装置与流程

文档序号:12182644阅读:251来源:国知局
一种组播报文两级复制方法及装置与流程

本发明涉及组播报文复制技术领域,尤其涉及一种组播报文两级复制的方法及装置。



背景技术:

根据应用场景的不同,组播分为二层组播和三层组播,现有组播复制采用单级组播复制方式,即同一组播报文复制到二层设备和三层设备时采用同一复制模块,依次完成二层复制和三层复制,当前一个包完成所有的复制后再进行下一个包复制。

一方面,二层设备和三层设备的数据来源于同一个复制模块,当二层设备拥塞或者三层设备拥塞时,都将导致组播复制暂停,那么将影响不拥塞设备的数据业务。

另一方面,由于组播复制时不区分二层组播和三层组播,想要独立的管理二者时,需要使用不同的组播标识,而设备的组播标识数量是有限的,这将影响设备支持的业务数。

由于存在上述两个方面原因,随着组播业务的增加和QOS(Quality of Service,服务质量)的要求不断提高,迫切需要新的组播复制方式。



技术实现要素:

本发明的目的在于提供一种组播报文两级复制方法及装置,解决了现有技术中二层复制和三层复制相互影响的问题。

根据本发明的一个方面,提供了一种组播报文两级复制方法,包括以下步骤:

利用待复制组播报文的组播描述符信息,获得组播复制信息表的地址;

通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第三层组播复制信息,根据所得到的第三层组播复制信息对所述待复制组播报文进行复制,完成三层组播复制;

在完成三层组播复制之后,通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第二层组播复制信息,根据所得到的第二层组播复制信息对所述待复制组播报文进行复制,完成二层组播复制。

优选地,所述的利用待复制组播报文的组播描述符信息,获得组播复制信息表的地址包括:

利用待复制组播报文的组播描述符信息,提取组播标识;

根据所提取的组播标识,在组播索引表中获取组播复制信息表的地址。

优选地,所述的通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第三层组播复制信息包括:

当组播发出查表请求,利用所述组播复制信息表的地址读组播复制信息表,获取第三层组播数据;

将所获取的第三层组播数据作为第三层组播复制信息。

优选地,所述的根据所得到的第三层组播复制信息对所述待复制组播报文进行复制,完成三层组播复制包括:

通过在所得到的第三层组播复制信息的第一份复制时打上首份复制标识和最后一份复制时打上尾份复制标识,计算出所述待复制组播报文的总复制份数;

通过组播地址的复制和先进先出地址的回跳机制对所计算出的总复制份数进行复制,以便完成三层组播复制。

优选地,所述的通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第二层组播复制信息包括:

当组播发出查表请求,利用所述组播复制信息表的地址读组播复制信息表,获取第二层组播数据;

将所获取的第二层组播数据作为第二层组播复制信息。

优选地,所述的根据所得到的第二层组播复制信息对所述待复制组播报文进行复制,完成二层组播复制包括:

通过在所得到的第二层组播复制信息的第一份复制时打上首份复制标识和最后一份复制时打上尾份复制标识,计算出所述待复制组播报文的总复制份数;

通过组播地址的复制和先进先出地址的回跳机制对所计算出的总复制份数进行复制,以便完成二层组播复制。

优选地,所述先进先出地址的回跳机制是指当组播包首到达时记录先进先出地址,当包尾到达且不是尾份复制时,下一读地址为包首地址,否则,下一读地址为当前地址加1。

优选地,所述组播复制信息包括出向端口号、全球索引和下一表项地址。

根据本发明的另一方面,提供了一种组播报文两级复制装置,包括:

获取模块,用于利用待复制组播报文的组播描述符信息,获得组播复制信息表的地址;

三层组播复制模块,用于通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第三层组播复制信息,根据所得到的第三层组播复制信息对所述待复制组播报文进行复制,完成三层组播复制;

二层组播复制模块,用于在完成三层组播复制之后,通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第二层组播复制信息,根据所得到的第二层组播复制信息对所述待复制组播报文进行复制,完成二层组播复制。

优选地,所述获取模块包括:

获取单元,用于利用待复制组播报文的组播描述符信息,提取组播标识,并根据所提取的组播标识,在组播索引表中获取组播复制信息表的地址。

与现有技术相比较,本发明的有益效果在于:

本发明避免了无关业务相互影响,提高组播业务数,简化组播配置变更流程,简化组播业务管理,提高设备资源利用率。

附图说明

图1是本发明实施例提供的一种组播报文两级复制方法的流程图;

图2是本发明实施例提供的一种组播报文两级复制装置的示意图;

图3是本发明实施例提供的组播报文两级复制的装置示意图;

图4是本发明实施例提供的一级组播复制的装置示意图;

图5是本发明实施例提供的地址回收装置的示意图;

图6是本发明实施例提供的变更判决流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1显示了本发明实施例提供的一种组播报文两级复制方法的流程图,如图1所示,包括以下步骤:

步骤S101:利用待复制组播报文的组播描述符信息,获得组播复制信息表的地址;

步骤S102:通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第三层组播复制信息,根据所得到的第三层组播复制信息对所述待复制组播报文进行复制,完成三层组播复制;

步骤S103:在完成三层组播复制之后,通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第二层组播复制信息,根据所得到的第二层组播复制信息对所述待复制组播报文进行复制,完成二层组播复制。

其中,所述的利用待复制组播报文的组播描述符信息,获得组播复制信息表的地址包括:利用待复制组播报文的组播描述符信息,提取组播标识;根据所提取的组播标识,在组播索引表中获取组播复制信息表的地址。

本发明所述的通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第三层组播复制信息包括:当组播发出查表请求,利用所述组播复制信息表的地址读组播复制信息表,获取第三层组播数据;将所获取的第三层组播数据作为第三层组播复制信息。所述的根据所得到的第三层组播复制信息对所述待复制组播报文进行复制,完成三层组播复制包括:通过在所得到的第三层组播复制信息的第一份复制时打上首份复制标识和最后一份复制时打上尾份复制标识,计算出所述待复制组播报文的总复制份数;通过组播地址的复制和先进先出地址的回跳机制对所计算出的总复制份数进行复制,以便完成三层组播复制。

本发明所述的通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第二层组播复制信息包括:当组播发出查表请求,利用所述组播复制信息表的地址读组播复制信息表,获取第二层组播数据;将所获取的第二层组播数据作为第二层组播复制信息。所述的根据所得到的第二层组播复制信息对所述待复制组播报文进行复制,完成二层组播复制包括:通过在所得到的第二层组 播复制信息的第一份复制时打上首份复制标识和最后一份复制时打上尾份复制标识,计算出所述待复制组播报文的总复制份数;通过组播地址的复制和先进先出地址的回跳机制对所计算出的总复制份数进行复制,以便完成二层组播复制。

其中,所述先进先出地址的回跳机制是指当组播包首到达时记录先进先出地址,当包尾到达且不是尾份复制时,下一读地址为包首地址,否则,下一读地址为当前地址加1。所述组播复制信息包括出向端口号、全球索引和下一表项地址。

图2显示了本发明实施例提供的一种组播报文两级复制装置的示意图,如图2所示,包括:获取模块201、三层组播复制模块202以及二层组播复制模块203。所述获取模块201,用于利用待复制组播报文的组播描述符信息,获得组播复制信息表的地址;所述三层组播复制模块202,用于通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第三层组播复制信息,根据所得到的第三层组播复制信息对所述待复制组播报文进行复制,完成三层组播复制;所述二层组播复制模块203,用于在完成三层组播复制之后,通过用所述组播复制信息表的地址,对组播复制信息表进行查表处理,得到第二层组播复制信息,根据所得到的第二层组播复制信息对所述待复制组播报文进行复制,完成二层组播复制。其中,所述获取模块201包括:获取单元,用于利用待复制组播报文的组播描述符信息,提取组播标识,并根据所提取的组播标识,在组播索引表中获取组播复制信息表的地址。

图3显示了本发明实施例提供的组播报文两级复制的装置示意图,如图3所示,其中地址分配装置,净荷存储装置,地址回收装置是现有技术普遍使用的技术,本发明新增装置主要包括以下几个部分:组播标识映射装置、一级组播复制装置、二级组播复制装置以及动态变更装置。

所述地址分配装置接收组播报文并为组播报文分配存储地址和提取组播描述符信息;存储地址分配通过空闲链表实现,空闲链表使用一个1024x10的1w1r ram作为存储体,每个ram地址里存储了下一个空闲地址,实现了ram地址的链接,通过一个空闲地址可以逐级追索到所有空闲地址,从而完成地址分配。在组播包首时提取组播标识,然后将包首尾标识和存储地址一起封装为组播描述符。

所述净荷存储装置根据存储地址将组播报文存储到缓存中,根据出队地址将组播报文从缓存中读出,完成组播数据的复制。也就是说,净荷存储装置根据地 址分配装置分配的地址将组播报文存储到组播缓存中,该实例中使用一个1024x2048的1w1r ram;根据地址回收装置的出队地址将缓存中的数据读出,通过多次重复读取同一个地址完成组播净荷复制。

所述组播标识映射装置完成每个组播标识到组播复制信息缓存地址的映射,确定每个组播的复制信息的存储位置。也就是说,组播标识映射装置接收组播描述符信息,提取组播标识,然后以组播标识为地址查询组播索引表获得该组播的复制信息地址,组播索引表使用一个128kx17的1wr ram实现,ram地址表示组播标识,每个地址里存储了组播复制信息地址,通过查表实现了组播标识映射。

所述一级组播复制完成三层组播复制,主要包括一级描述符缓存、一级查表、一级复制信息解析、一级复制控制器。一级组播复制装置如图4所示,包括一级描述符缓存装置、一级查表装置、一级复制信息解析装置、一级复制控制器装置。一级描述符缓存装置接收组播映射装置的新描述符,并将其存储到fifo(First in First out,先进先出)中,fifo是一个先进先出装置,使用1w1r ram作为存储体,加上读写控制逻辑,当数据输入时按照地址递增方式将数据存入ram中,当数据输出时同样按照地址递增方式将数据从ram中读出;一级查表装置接收组播标识映射后的新标识,当为组播包首切片时发出查表请求,并以新标识为地址读组播复制信息表,读出的数据作为该组播的复制信息,复制信息包括出向端口号、全球索引、下一表项地址;一级复制信息解析装置接收组播复制信息,解析出每一份复制的出现端口号、全球索引、下一表项地址,并在第一份复制时打上首份复制标识,在最后一份复制时打上尾份复制标识,根据下一表项地址和本表项地址比较产生尾份复制标识,两者相等时表示是尾份复制,不相等时是非尾份复制,并计算该组播的总复制份数。一级复制控制装置通过组播地址的复制最终实现净荷复制,通过fifo地址回跳机制来实现地址复制,fifo地址回跳是指当组播包首到达时记录下fifo地址,当包尾到达时根据尾份复制标识判断产生下一读地址,是尾份时下一读地址为当前读地址加1,非尾份时下一读地址为记录下的包首地址,从而实现了地址复制。

所述二级组播复制完成二层组播复制,主要包括二级描述符缓存、二级查表、二级复制信息解析、二级复制控制器。二级组播复制装置缓存一级组播复制输出的组播描述符信息,根据二级查表索引查组播复制信息表,其处理过程与一 级组播复制一样。不同之处在于二级组播复制只支持一级组播复制的部分模式,不支持表项的再次复制。

所述地址回收装置接收组播描述符信息,计算一级复制和二级复制总复制份数,同时计算当前复制份数,两者相同时产生该组播地址回收指示,指示地址分配装置释放该地址空间;本实例采用3个1w1r的ram实现,如图5所示,ram_0负责总复制份数计算,当一级复制或者二级复制为尾份复制时,以描述符中的地址为ram_0读地址读ram_0,将读出的值加上描述符中的复制份数,然后将新的总复制份数回写进ram_0和ram_1中,当地址出队时以描述符中地址为ram_1读地址和ram_3读地址读两块ram,将ram_1输出值与ram_3输出值加1进行比较,如果相等则当前地址被回收,不相等则不回收。

所述动态变更装置主要完成组播复制信息的动态变更,主要包括复制份数、输出端口、全球索引的变更。也就是说,动态变更装置接收组播变更信息,将其缓存到变更缓存中,等待一级组播复制结束和二级复制缓存空时,开始组播信息变跟,当组播变更缓存空时,组播变更结束,变更判决流程如图6所示,包括以下步骤:

步骤1、判断变更缓存是否满;

当判断变更缓存不满时,进入步骤2;否则重复本步骤。

步骤2、写变更缓存;

步骤3、判断变更缓存是否空;

当判断变更缓存不空时,进入步骤4;否则重复步骤1。

步骤4、判断一级复制是否结束;

当判断一级复制结束时,进入步骤5;否则重复本步骤。

步骤5、判断二级缓存是否空;

当判断二级缓存空时,进入步骤6;否则重复本步骤。

步骤6、读变更缓存;

步骤7、配置变更;

步骤8、判断变更缓存是否空。

当判断变更缓存空时,进入步骤3;否则重复进入步骤6。

综上所述,本发明的一级组播复制成三层组播复制,二级组播复制完成二层 组播复制,两级复制共享组播信息表,两级复制相互独立但资源共享,所以解决了二层复制和三层复制相互影响的问题。由于两级复制分开进行,所以可以使用同一个组播标识而各级复制配置参数不同来管理不同的业务,从而提高了组播标识利用率,提高了可支持的组播业务数;采用两级共享机制和动态变更机制,一级共享机制采用组播标识映射机制完成多个组播共享组播信息表项,二级共享机制完成一级复制和二级复制共享组播信息查找表,通过两级共享机制提高了资源利用率,减少了资源消耗,简化了业务管理;采用链表机制和bitmap机制管理组播复制份数,使得组播复制份数可以灵活配置,简化了组播复制份数变更流程。

综上所述,本发明具有以下技术效果:

本发明可以明显降低系统资源,满足多种业务需求,避免不同业务相互影响,提高QOS,简化配置流程和变更流程,提高复制带宽。

尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1