一种多播保护装置和方法

文档序号:7551575阅读:99来源:国知局
专利名称:一种多播保护装置和方法
技术领域
本发明涉及网络通信中多播业务的保护倒换领域,具体来讲是一种多播保护装置和方法。
背景技术
多播业务是一种点到多点的业务,视频会议、网络教学、网络直播等都属于多播业务,多播业务在网络应用中占有的重要地位。在基于包的多播中(例如IPMC多播、MPLS多播、MAC层多播),需采用包复制技术来实现多播,要能够将一个包复制到多个物理接口,且一个物理接口下可复制多份。不同的应用场景下对复制的份数要求是不同的,对包进行复制的问题在包交换芯片中一直是个难点,涉及到存储资源管理、队列管理、队列调度等。在传统的传送网,例如SDH (Synchronous Digital Hierarchy,即同步数字体系)中,采用自动保护倒换技术来提高网络的可用性。MPLS-TP (Mult1-Protocol LabelSwitching-Transport Profile,多协议标签交换传输框架)技术在采用分组转发的同时,也继承了原来传送网中好的机制,包括自动保护倒换机制:1+1方式和1:N方式。MPLS-TP技术出现前,在包交换芯片中大都没有涉及到自动保护倒换的处理;MPLS-TP技术出现后,主流的包交换芯片中已包含自动保护倒换的部分功能,对于单播包的保护倒换可以提供较完善支持;但由于多播包处理的复杂性,所以对多播业务的自动保护倒换的支持存在局限性,尤其是在发送端环节。对于多播业务的自动保护倒换中的1+1方式,可通过在多播链表中预先配置保护路径来进行并发,但对于多播业务的1:N保护方式,是无法在链表中预先配置保护路径的。而如果在路径发生故障时,由软件重新配置链表,则不光要求软件即时的计算出要修改的路径,并及时完成配置的修改,还要求在改变配置的过程中不能影响正常路径数据包的发送,这就要求必须按照一定的过程来改变链表。由于软件不光要计算出要改变的配置,还要给出修改配置的步骤,然后依据修改步骤对链表进行修改,而链路发送故障存在多种可能性,所以上述两个要求就会导致软件处理非常复杂,可见采用软件改变链表的配置需要很复杂的软件计算过程和较多的资源,在修改量较大的情况下,不能及时满足自动保护倒换的要求。对于多播业务的1:N保护方式的自动保护倒换功能在设备实现中还有一种方法,就是由一块芯片或单盘完成多播的复制,然后由其它的芯片或单盘完成自动保换功能,但这样做的缺点是:增加了设备的成本,尤其是对于小型设备。单播包的1:N保护倒换是通过及时修改转发路径实现的,将这种思路应用于多播包是一个好的办法,但由于在发生保护倒换时,数据包可能会改变转发端口、队列,会使基于输出端口的缓存管理、队列调度都出现问题。

发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种多播保护装置和方法,对需进行1:N保护倒换的数据包进行了额外的处理,使保护倒换快速、简便,又避免了资源管理的复杂性,无需大量复杂软件,降低成本。
为达到以上目的,本发明提供一种多播保护装置:包括依次相连的原始资源管理模块、写缓存模块、原始队列管理模块、原始队列调度模块、保护倒换信息库、端口调度模块和读缓存模块,还包括依次相连的倒换队列资源管理模块、倒换队列管理模块和倒换队列调度模块;其中原始队列调度模块还连接一个复制数据库,保护倒换信息库的输出端还连接倒换队列资源管理模块的输入端,倒换队列调度模块的输出端连接端口调度模块的输入端。在上述技术方案的基础上,还包括端口复制计算模块和数据缓存模块,所述写缓存模块的输出端连接数据缓存模块的输入端,数据缓存模块的输出端连接读缓存模块的输入端,写缓存模块和读缓存模块二者的输出端还均连接端口复制计数模块的输入端。在上述技术方案的基础上,还包括队列复制计数模块,所述原始资源管理模块和倒换队列资源管理模块组成资源管理模块,资源管理模块、原始队列管理模块和端口调度模块均连接队列复制计数模块。本发明还提供一种多播保护装置的方法,包括如下步骤:S1.原始资源模块判断数据包是否准入,将准入数据包发送至写缓存模块;S2.写缓存模块对数据包进行端口间复制,根据数据包的转发优先级进行原始队列排队;S3.原始队列管理模块进行队列内复制,原始队列调度模块从复制数据库中读取复制的数据信息,保护倒换信息库根据数据信息,判断是否需要倒换,若是,进入S4 ;若否,进入S7 ;S4.倒换队列资源管理模块判断所述数据信息是否准入,若是,进入S5 ;若否,进入S6 ;S5.准入数据信息进入倒换队列,倒换队列调度模块通过倒换队列管理模块进行倒换队列调度,进入S7 ;S6.倒换队列资源管理模块丢弃所述数据信息,进入S8 ;S7.端口调度模块采用层次化调度算法,进行端口调度,得到上游模块输入的数据信息;S8.端口调度模块判断数据信息是否为队列复制拷贝,若是,进入S9 ;若否,进入SlO ;S9.队列复制计数模块判断队列复制是否完成,若是,进入SlO ;若否,进入Sll ;S10.判断端口间复制是否完成,若是,进入S12 ;若否,进入Sll ;S11.读取数据缓存,输出数据包,并等待调度结果;S12.读取数据缓存,输出数据包,释放缓存资源。在上述技术方案的基础上,所述S7中层次化调度算法为,将原始队列调度模块中的原始队列调度节点的调度对象,配置为原始队列管理模块中的原始队列,倒换队列调度模块中的倒换队列调度节点的调度对象,配置为倒换队列,再通过端口调度节点对端口队列调度节点和倒换端口队列调度节点的调度结果进行调度。在上述技术方案的基础上,所述多播保护装置包括队列复制计数模块,所述S3中,原始队列管理模块进行队列内复制,每成功完成队列内的一次复制,则队列复制计数模块进行加I操作。在上述技术方案的基础上,所述S9中将队列复制计数模块中的队列复制统计计数减1,若结果为0,则表示完成队列复制;否则表示队列复制未完成。在上述技术方案的基础上,所述多播保护装置包括端口复制计数模块,所述端口间复制,是将数据包复制到各端口对应的队列,复制到n个端口,则端口复制计数模块计数为n,且n彡I。在上述技术方案的基础上,所述SlO中将端口复制计数模块的计数减1,若结果为O,则表示完成端口间复制;否则表示端口间复制未完成。在上述技术方案的基础上,所述S3中,读取的复制数据信息需带有转发信息,包括下一跳接口信息、是否要倒换的信息。本发明的有益效果在于:1.所述多播保护装置和方法减少了在需要倒换时软件更改链表的复杂过程,软件只需要及时的配置保护倒换信息库即可,数据包包缓存的释放过程也只需要很小的改动。2.将倒换数据包的处理分成两个过程,两个过程的资源管理独立,使资源管理清晰,且容易实现。3.在保护倒换发生时,如果不改变端口调度相关的配置,可使倒换数据包保留倒换前的流量特性。4.数据包及时的转换到倒换队列,不需增加端口调度速度即可满足整体调度需要,由于端口调度速度可满足整体调度需要,所以所需的倒换队列资源并不需要很多。5.在增加不多的硬件资源和处理复杂度的情况下,解决了多播业务的1:N自动保换倒换发送问题。


图1为本发明多播保护装置的示意图;图2为本发明多播保护装置的方法流程图;图3为本发明层次化调度示意图;图4为本发明实施例的网络拓扑结构图;图5为实施案例正常工作时的网络拓扑图;图6是实施案例发生故障时的网络拓扑图。附图标记:资源管理模块1,原始资源管理模块111,倒换队列资源管理模块112,写缓存模块2,原始队列管理模块3,复制数据库4,原始队列调度模块5,保护倒换信息库6,端口调度模块7,读缓存模块8,倒换队列管理模块9,倒换队列调度模块10,队列复制计数模块11,端口复制计数模块12,数据缓存模块13。
具体实施例方式以下结合附图对本发明作进一步详细说明。如图1所示,本发明多播保护装置包括依次相连的原始资源管理模块111、写缓存模块2、原始队列管理模块3、原始队列调度模块5、保护倒换信息库6、端口调度模块7和读缓存模块8,原始队列管理模块3还连接一个复制数据库4,还包括依次相连的倒换队列资源管理模块112、倒换队列管理模块9和倒换队列调度模块10,保护倒换信息库6的输出端还连接倒换队列资源管理模块112的输入端,倒换队列调度模块10的输出端连接端口调度模块7的输入端。原始资源管理模块111和倒换队列资源管理模块112组成资源管理模块1,资源管理模块I的输出端连接一个队列复制计数模块11,原始队列管理模块3和端口调度模块7均连接队列复制计数模块11。所述多播保护装置还包括端口复制计数模块12和数据缓存模块13,写缓存模块2的输出端连接数据缓存模块13的输入端,数据缓存模块13的输出端连接读缓存模块8的输入端,写缓存模块3和读缓存模块8 二者的输出端均连接端口复制计数模块12的输入端。其中,原始资源管理模块111对输入数据包的数据信息、缓存资源、数据描述资源进行判断,判断是否准入,如果缓存能够容纳数据包,且队列内部有处理该数据信息的位置,就准入。写缓存模块2对于需要进行基于端口复制的数据,根据复制端口个数将其写入数据缓存模块13,并通过端口复制计数12对缓存资源进行计数。原始队列管理模块3进行队列管理;原始队列调度模块5中的数据信息进行调度;端口调度模块7对原始队列调度模块5和倒换队列资源管理模块112的调度结果再次进行调度,并与二者形成层次化的调度关系。读缓存模块8读取数据缓存;复制数据库4完成对队列内部复制链表的维护;端口复制计数模块12根据复制端口数对数据缓存资源进行计数,在分配数据缓存资源时即产生该计数,当计数减为0则对数据缓存资源进行释放;队列复制计数模块11根据队列内部复制次数,对数据缓存资源进行计数。保护倒换信息库6保护倒换数据信息;倒换队列资源管理模块112对需要倒换到倒换队列的数据信息进行资源管理;倒换队列管理模块9,对需要倒换到倒换队列的数据信息进行资源管理,如果倒换队列没有资源则需要将该数据信息丢弃,并将队列复制计数模块11的计数减I ;倒换队列调度模块10基于倒换队列进行调度。本发明将多播数据包按照现有的多播复制和调度进行处理,在原始队列调度后,基于数据包的转发信息查找保护倒换数据库,如果需要对数据包进行倒换,则将数据包转到倒换队列中,等待倒换端口队列调度;如果不需要进行倒换,则直接输出到后续模块。如图1和图2所示,本发明多播保护装置的方法,包括如下步骤:S1.原始资源管理模块111判断输入的数据包是否准入,将准入数据包发送至写缓存模块2。S2.数据包携带目的端口信息和复制入口信息,写缓存模块2对数据包进行端口间复制,将数据包复制到各端口对应的队列,如复制到n个端口,则端口复制计数模块12计数为n,且n > l,n等于I为特殊情况,即不进行端口间的复制。然后根据数据包的转发优先级进行原始队列排队。S3.原始队列管理模块3进行队列内复制,每成功完成队列内的一次复制,则写缓存2通过队列复制计数模块12进行加I操作。原始队列调度模块5通过原始队列管理模块3从复制数据库5中读取复制的数据信息先进行保护倒换查找,调度出的数据信息需带有mpls-tp协议相应的转发信息(例如下一跳接口信息),保护倒换信息库6内部超找该数据信息,得到是否要倒换、倒换到哪个队列的信息,以此判断是否需要倒换,若是,进入S4 ;若否,进入S7。S4.倒换队列资源管理模块121判断所述数据信息是否准入,若是,进入S5 ;若否,进入S6。S5.准入数据信息进入倒换队列,倒换队列调度模块10通过倒换队列管理模块9进行倒换队列调度,进入S7。S6.倒换队列资源管理模块121丢弃所述数据信息,进入S8。S7.端口调度模块7采用层次化调度算 法,进行端口调度,得到上游模块输入的数据信息。如图1和图3所示,端口调度节点包括原始队列调度节点和倒换队列调度节点,原始队列包括队列1、队列2……队列n,倒换队列包括倒换队列1、倒换队列2……倒换队列n。将原始队列调度模块5中的原始队列调度节点的调度对象,配置为原始队列管理模块3中的原始队列,倒换队列调度模块10中的倒换队列调度节点的调度对象,配置为倒换队列;然后通过端口调度节点,对端口队列调度节点和倒换端口队列调度节点的调度结果进行调度,使用灵活的层次化调度的配置,可以满足丰富的QoS需求,将调度的数据信息输出。S8.端口调度模块7判断数据信息是否为队列复制拷贝,若是,进入S9 ;若否,进入S10。S9.队列复制计数模块判断队列复制是否完成,对于队列复制拷贝,需要对队列复制计数模块11进行减I操作;将队列复制计数模块11中的队列复制统计计数减1,若结果为0,为0则表示完成队列复制,进入SlO ;否则表示队列复制未完成,进入S11。S10.端口调度模块7通 过读缓存模块8判断端口间复制是否完成,对于不是队列复制拷贝,或是已完成队列复制的数据信息,需要对端口复制计数模块12进行减I操作;将端口复制计数模块的计数减1,若结果为0,则表示完成端口间复制,进入S12 ;否则表示端口间复制未完成,进入S11。Sll.读取数据缓存,输出数据包,并等待调度结果;S12.读取数据缓存,输出数据包,释放数据缓存资源。上述过程中,对于到倒换的多播包是有两个子过程的,一个子过程是按照正常路径进行的复制调度过程,这一子过程中除不进行包缓存释放相关的处理外,其它功能(例如包复制,资源管理)都可按现有的机制进行。另一个子过程是改换到倒换队列,进行倒换队列调度,需基于倒换队列再次进行资源管理,按照单播队列的方式进行。在这两个过程中复制计数器的索引信息要一直携带,用于包数据缓存的释放。下面通过具体实施例详细介绍本发明。 如图4所示,为本实施例的拓扑图,节点PEO、节点PEI (P)、节点PE2和节点PE3⑵形成了环网的结构,且节点PEO需要对多播数据进行复制,并分别发送到节点PEl (P)、节点PE2 和节点 PE3(P)。如图5所示,正常工作时,当节点PEO收到上话数据信息,需要对该数据信息进行复制,并分别发送到节点PEl (P)、节点PE2和节点PE3 (P),且封装各自的标签信息;其中复制到节点PEl (P)和节点PE2的拷贝,通过端口队列内的复制完成,而复制到节点PE3 (P)的拷贝则是通过端口间复制完成。如图6所示,当节点PE(^IjfAPEUP)之间的工作路径出现故障(例如:断纤等),此时节点PEO的CPU会接收到这个故障,并对节点PEO发送到节点PE2的拷贝数据进行保护。本实施例中节点PEO节点进行保护的过程为:CPU刷新保护倒换信息库,复制到节点PEl(P)和节点PE2的拷贝仍然通过同一队列内的复制完成,但是复制到节点PE2的拷贝在查找保护倒换信息库时,会重定向到新的保护倒换队列,而复制到节点PEl(P)的拷贝由于不需要进行倒换,直接输出。重定向到保护倒换队列的拷贝,重新经过准入判断,如果倒换队列没有资源,则需要丢弃该拷贝数据,否则进入倒换队列管理模块,并通过调度器调度到新的出口,也就是通过节点PE0-PE3 (P) -PE2的路径进行发送。根据保护倒换数据库中查找到的新的转发信息,会重新添加标签信息。本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种多播保护装置,其特征在于:包括依次相连的原始资源管理模块、写缓存模块、原始队列管理模块、原始队列调度模块、保护倒换信息库、端口调度模块和读缓存模块,还包括依次相连的倒换队列资源管理模块、倒换队列管理模块和倒换队列调度模块;其中原始队列调度模块还连接一个复制数据库,保护倒换信息库的输出端还连接倒换队列资源管理模块的输入端,倒换队列调度模块的输出端连接端口调度模块的输入端。
2.如权利要求1所述的多播保护装置,其特征在于:还包括端口复制计算模块和数据缓存模块,所述写缓存模块的输出端连接数据缓存模块的输入端,数据缓存模块的输出端连接读缓存模块的输入端,写缓存模块和读缓存模块二者的输出端还均连接端口复制计数模块的输入端。
3.如权利要求2所述的多播保护装置,其特征在于:还包括队列复制计数模块,所述原始资源管理模块和倒换队列资源管理模块组成资源管理模块,资源管理模块、原始队列管理模块和端口调度模块均连接队列复制计数模块。
4.一种基于权利要求1中多播保护装置的方法,其特征在于,包括如下步骤: 51.原始资源模块判断数据包是否准入,将准入数据包发送至写缓存模块; 52.写缓存模块对数据包进行端口间复制,根据数据包的转发优先级进行原始队列排队; 53.原始队列管理模块进行队列内复制,原始队列调度模块从复制数据库中读取复制的数据信息,保护倒换信息库根据数据信息,判断是否需要倒换,若是,进入S4 ;若否,进入S7 ; 54.倒换队列 资源管理模块判断所述数据信息是否准入,若是,进入S5;若否,进入S6 ; 55.准入数据信息进入倒换队列,倒换队列调度模块通过倒换队列管理模块进行倒换队列调度,进入S7; 56.倒换队列资源管理模块丢弃所述数据信息,进入S8; 57.端口调度模块采用层次化调度算法,进行端口调度,得到上游模块输入的数据信息; 58.端口调度模块判断数据信息是否为队列复制拷贝,若是,进入S9;若否,进入SlO ; 59.队列复制计数模块判断队列复制是否完成,若是,进入SlO;若否,进入Sll ; 510.判断端口间复制是否完成,若是,进入S12;若否,进入Sll ; 511.读取数据缓存,输出数据包,并等待调度结果; 512.读取数据缓存,输出数据包,释放缓存资源。
5.如权利要求4所述的多播保护装置的方法,其特征在于:所述S7中层次化调度算法为,将原始队列调度模块中的原始队列调度节点的调度对象,配置为原始队列管理模块中的原始队列,倒换队列调度模块中的倒换队列调度节点的调度对象,配置为倒换队列,再通过端口调度节点对端口队列调度节点和倒换端口队列调度节点的调度结果进行调度。
6.如权利要求4所述的多播保护装置的方法,其特征在于:所述多播保护装置包括队列复制计数模块,所述S3中,原始队列管理模块进行队列内复制,每成功完成队列内的一次复制,则队列复制计数模块进行加I操作。
7.如权利要求6所述的多播保护装置的方法,其特征在于:所述S9中将队列复制计数模块中的队列复制统计计数减1,若结果为O,则表示完成队列复制;否则表示队列复制未完成。
8.如权利要求4所述的多播保护装置的方法,其特征在于:所述多播保护装置包括端口复制计数模块,所述端口间复制,是将数据包复制到各端口对应的队列,复制到n个端口,则端口复制计数模块计数为n,且n > I。
9.如权利要求8所述的多播保护装置的方法,其特征在于:所述SlO中将端口复制计数模块的计数减1,若结果为0,则表示完成端口间复制;否则表示端口间复制未完成。
10.如权利要求4所述的多播保护装置的方法,其特征在于:所述S3中,读取的复制数据信息需带有转发信息,包括下一 跳接口信息、是否要倒换的信息。
全文摘要
一种多播保护装置和方法,涉及网络通信中多播业务的保护倒换领域,包括依次相连的原始资源管理模块、写缓存模块、原始队列管理模块、原始队列调度模块、保护倒换信息库、端口调度模块和读缓存模块,还包括依次相连的倒换队列资源管理模块、倒换队列管理模块和倒换队列调度模块;原始队列调度模块还连接一个复制数据库,保护倒换信息库还连接倒换队列资源管理模块,倒换队列调度模块连接端口调度模块,如果需要对数据包进行倒换,则将数据包转到倒换队列中,等待倒换端口队列调度;如果不需要进行倒换则直接输出到后续模块。本发明使保护倒换快速、简便,又避免了资源管理的复杂性,无需大量复杂软件,降低成本。
文档编号H04L12/863GK103152258SQ20131003731
公开日2013年6月12日 申请日期2013年1月31日 优先权日2013年1月31日
发明者杨彦波, 匡可, 张伟 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1