分布式系统中路由处理方法和分布式系统的制作方法

文档序号:7698047阅读:137来源:国知局
专利名称:分布式系统中路由处理方法和分布式系统的制作方法
技术领域
本发明涉及网络通信技术领域,特别涉及分布式系统中路由处理方法和分布式系统。
背景技术
现有的分布式路由器或交换机等分布式系统中包括主控卡和多个线卡,图1示出了仅包括一个主控卡和一个线卡的分布式系统,其他情况原理类似。在图1中,主控卡包括路由管理模块、转发信息表(FIB)管理模块和转发引擎,而线卡包括FIB管理模块和转发引擎。基于图1所示的分布式系统,现有的分布式系统路由处理方法包括主控卡的路由管理模块用于在路由发生变化时更新路由信息表(RIB),并将发生变化的路由信息下发给主控板的FIB管理模块。之后,主控卡的FIB管理模块依据该接收的路由信息更新自身上的FIB,并将更新后的转发信息下发至该主控卡的转发引擎中,用于报文的转发。另外, 该主控卡的FIB管理模块还将接收的路由信息同步下发到线卡的FIB管理模块,由该线卡的FIB管理模块根据接收的路由信息更新自身上的FIB,并将更新后的转发信息下发至该线卡的转发引擎中,用于报文的转发。从上面描述可以看出,现有的分布式系统路由处理方法中,主控卡上的FIB管理模块既负责将路由信息下发至该主控卡上的转发引擎,还要负责主控卡和线卡间路由信息的同步,实现比较复杂,开发难度较大。并且,现有的路由处理方法中,先由主控卡上的路由管理模块下发发生变化的路由信息至该主控卡的FIB管理模块,然后由该主控卡的FIB管理模块将该路由信息同步下发至线卡的FIB管理模块,最后由该线卡的FIB管理模块下发至线卡的转发引擎,下发过程较多,在路由发生变化时不利于快速更新线卡上的转发引擎。

发明内容
本发明提供了分布式系统中路由处理方法和装置,能够在路由发生变化加快转发引擎的更新速度。本发明提供的技术方案包括一种分布式系统中路由处理方法,所述分布式系统包括主控卡和线卡,所述主控卡包括路由管理模块、FIB管理模块和转发引擎,所述线卡包括FIB管理模块和转发引擎; 该方法包括主控卡上的路由管理模块将路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块;所述主控卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该主控卡上的转发引擎;所述线卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该线卡上的转发引擎。
一种分布式系统,该系统包括主控卡和线卡,所述主控卡包括路由管理模块、FIB 管理模块和转发引擎,线卡包括FIB管理模块和转发引擎;其特征在于,所述主控卡的路由管理模块,用于将路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块;所述主控卡上的FIB管理模块,用于从主控卡的路由管理模块接收路由更新信息,依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该主控卡上的转发引擎;所述线卡上的FIB管理模块,用于从主控卡的路由管理模块接收路由更新信息, 依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该线卡上的转发引擎。由以上技术方案可以看出,本发明中,并非现有分布式系统路由处理方法中先由主控卡上的路由管理模块下发发生变化的路由信息至该主控卡的FIB管理模块,然后由该主控卡的FIB管理模块将该路由信息同步下发至线卡的FIB管理模块,而是由主控卡上的路由管理模块将路由更新信息直接传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块,相比于现有分布式系统中路由处理方法,减少了路由下发过程的处理环节,提高了转发引擎的更新速度,也提高了在路由发生动荡时的收敛速度;进一步地,本发明中,相比于现有分布式系统路由处理方法,主控卡上的FIB管理模块不再负责主控卡和线卡间路由信息的同步,这降低了主控卡上FIB管理模块的复杂度和开发难度。


图1为现有分布式系统结构图;图2为本发明实施例提供的分布式系统的基本结构示意图;图3为本发明实施例提供的路由处理方法的基本流程图;图4为本发明实施例提供的分布式系统的第一详细结构示意图;图5为本发明实施例提供的路由处理方法的详细流程图;图6为本发明实施例提供的分布式系统的第二详细结构示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提供的分布式系统如图2所示,可包括主控卡和线卡,所述主控卡包括路由管理模块、FIB管理模块和转发引擎,线卡包括FIB管理模块和转发引擎。其中,主控卡上的路由管理模块将路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块;所述主控卡上的FIB管理模块和线卡上的FIB管理模块用于依据接收的路由更新信息生成转发信息,并将生成的转发信息下发至自身所在卡上的转发引擎,具体为所述主控卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该主控卡上的转发引擎;所述线卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该线卡上的转发引擎。
基于图2所示的分布式系统结构,本发明提供的分布式系统中路由处理方法如图 3所示,具体包括以下步骤步骤301,主控卡上的路由管理模块将路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块;步骤302,主控卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该主控卡上的转发引擎;线卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该线卡上的转发引擎。本步骤302中,主控卡上的FIB管理模块执行的下发操作与线卡上的FIB管理模块执行的下发操作可同时执行,也可不同时执行,本发明不特别限定。至此,完成本发明提供的路由处理方法的流程。以上只是简单地对本发明进行了描述,下面对本发明提供的分布式系统和分布式系统中路由处理方法进行详细描述参见图4,图4为本发明提供的分布式系统的具体结构示意图。如图4所示,该分布式系统主要包括主控卡和线卡,所述主控卡包括路由管理模块、FIB管理模块和转发引擎,所述线卡包括FIB管理模块和转发引擎。其中,主控卡上的路由管理模块、转发信息表 FIB管理模块和转发引擎,线卡上的FIB管理模块和转发引擎执行的操作如上所述,这里不再赘述。优选地,如图4所示,该分布式系统中的主控卡和线卡均包括进程间通信(IPC) 管理模块。基于该IPC管理模块,主控卡上的路由管理模块将路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块具体包括所述主控卡上的路由管理模块将所述路由更新信息传递至主控卡上的IPC管理模块;所述主控卡上的IPC管理模块将接收的路由更新信息转发至该主控卡上的FIB管理模块和线卡上的IPC管理模块;所述线卡上的IPC管理模块将所述路由更新信息转发至该线卡上的FIB管理模块。另外,本发明中,所述主控卡上的FIB管理模块和线卡上的FIB管理模块用于预先向主控卡上的IPC管理模块订阅路由更新信息,只有订阅了路由更新信息的FIB管理模块才能接收到路由管理模块通告的路由更新信息。基于此,上述所述主控卡上的IPC管理模块将所述路由更新信息转发至该主控卡上的FIB管理模块包括所述主控卡上的IPC管理模块判断该主控卡上的FIB管理模块是否已订阅了路由更新信息,如果是,将所述路由更新信息转发至该主控卡上的FIB管理模块。当然,作为本发明实施例的一种扩展,在主控卡上的IPC管理模块判断出该主控卡上的 FIB管理模块未订阅路由更新信息时,可按照现有分布式系统的路由处理方法执行,本发明并不特别限定。而上述主控卡上的IPC管理模块将所述路由更新信息转发至线卡上的IPC管理模块包括所述主控卡上的IPC管理模块判断该线卡上的FIB管理模块是否已订阅了路由更新信息,如果是,则将接收的路由更新信息转发至该线卡上的IPC管理模块。当然,作为本发明实施例的一种扩展,在主控卡上的IPC管理模块判断出该线卡上的FIB管理模块未订阅路由更新信息时,该主控卡上的IPC管理模块不转发路由更新信息至线卡上的IPC管理模块,直接结束当前流程。 需要说明的是,本发明中,所述主控卡上的FIB管理模块和线卡上的FIB管理模块预先向主控卡上的IPC管理模块订阅路由更新信息的操作具体实现时可为主控卡上的FIB管理模块向主控卡上的IPC管理模块发送用于订阅路由更新信息的请求,当主控卡上的IPC管理模块接收到主控卡上的FIB管理模块发送的用于订阅路由更新信息的请求后,确定该FIB管理模块订阅路由更新信息;线卡上的FIB管理模块向线卡上的IPC管理模块发送用于订阅路由更新信息的请求,当线卡上的IPC管理模块接收到该请求后,向主控卡上的IPC管理模块发送针对该线卡上的FIB管理模块订阅路由更新信息的请求;当主控卡上的IPC管理模块接收到线卡上的 IPC管理模块发送的针对该线卡上的FIB管理模块订阅路由更新信息的请求后,确定该线卡上的FIB管理模块订阅路由更新信息。基于此,主控卡上的IPC管理模块判断该主控卡上的FIB管理模块是否已订阅了路由更新信息具体为主控卡上的IPC管理模块判断是否接收了该主控卡上的FIB管理模块发送的用于订阅路由更新信息的请求,如果是,确定该主控卡上的FIB管理模块已订阅了路由更新信息,否则,确定该主控卡上的FIB管理模块未订阅路由更新信息。而主控卡上的IPC管理模块判断该线卡上的FIB管理模块是否已订阅了路由更新信息包括主控卡上的IPC管理模块判断是否接收了所述线卡上的IPC管理模块发送的针对该线卡上的FIB管理模块订阅路由更新信息的请求,如果是,确定该线卡上的FIB管理模块订阅了路由更新信息,否则,确定该线卡上的FIB管理模块未订阅路由更新信息。基于图4所示的分布式系统,本发明提供了路由处理方法的详细流程,主要包括图5所示的步骤步骤501,主控卡上的FIB管理模块和线卡上的FIB管理模块向主控卡上的IPC管理模块订阅路由更新信息。本步骤501的具体实现如上所述。步骤502,主控卡上的路由管理模块在路由发生变化时,更新RIB,并生成路由更
新fe息。这里,路由发生变化是通过接收任一种动态路由协议或静态路由的路由变化事件确定的。步骤503,主控卡上的路由管理模块将生成的路由更新信息传递至主控卡上的 IPC管理模块。步骤504,主控卡上的IPC管理模块判断主控卡上的FIB管理模块是否订阅了路由更新信息,如果是,将接收的路由更新信息转发至该主控卡上的FIB管理模块;主控卡上的 IPC管理模块判断该线卡上的FIB管理模块是否已订阅了路由更新信息,如果是,则将接收的路由更新信息转发至该线卡上的IPC管理模块。需要说明的是,本步骤504中主控卡上的IPC管理模块执行的两个判断操作可同时执行,也可不同时执行,本发明并不特别限定。步骤505,主控卡上的FIB管理模块根据接收的路由更新信息生成转发信息,并更新至自身的FIB,然后将生成的转发信息下发至该主控卡的转发引擎中;线卡上的FIB管理模块根据接收的路由更新信息生成转发信息,并更新至自身的FIB,然后将生成的转发信息下发至该线卡的转发引擎中。需要说明的是,本步骤505中主控卡上的FIB管理模块和线卡上的FIB管理模块执行的操作可同时执行,也可不同时执行,本发明并不特别限定。另外,步骤505中,FIB管理模块下发转发信息至转发引擎具体实现时可为FIB管理模块通过调用转发引擎提供的接口将转发信息下发至转发引擎。至此,完成图5所示的流程。另外,在图4中,只是简单描述了分布式系统中主控卡和线卡中各个模块执行的操作,下面通过图6所示的结构对各个模块的功能进行详细描述参见图6,图6为本发明实施例提供的分布式系统的详细结构示意图。如图6所示,该主控卡包括路由管理模块、FIB管理模块和转发引擎,线卡包括FIB管理模块和转发引擎;其中,路由管理模块包括路由更新响应单元和路由更新通告单元,所述主控卡上的FIB管理模块和线卡上的FIB管理模块均包括信息更新单元和信息下发单元;其中,所述路由更新响应单元,用于在路由发生变化时生成路由更新信息;所述路由更新通告单元,用于将所述路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块;所述转发信息更新单元,用于依据所述路由更新通告单元传递的所述路由更新信息生成转发信息;所述转发信息下发单元,用于将所述转发信息下发至自身所在卡上的转发引擎, 具体为所述主控卡上FIB管理模块包括的转发信息下发单元用于将该主控卡上FIB管理模块包括的转发信息更新单元生成的转发信息下发至该主控卡上的转发引擎,所述线卡上 FIB管理模块包括的转发信息下发单元用于将该线卡上FIB管理模块包括的转发信息更新单元生成的转发信息下发至该线卡上的转发引擎。优选地,如图6所示,主控卡和线卡均包括IPC管理模块;所述IPC管理模块包括IPC转发单元。基于此,所述路由更新通告单元将路由更新信息传递至主控卡上IPC转发单元;所述主控卡上的IPC转发单元将所述路由更新信息转发至该主控卡上的FIB管理模块和所述线卡上的IPC转发单元;所述线卡上的IPC转发单元将所述路由更新信息转发至该线卡上的FIB管理模块。优选地,所述主控卡上的IPC转发单元在将所述路由更新信息转发至该主控卡上的FIB管理模块时,判断该主控卡上的FIB管理模块是否已订阅了路由更新信息,如果是, 将所述路由更新信息转发至该主控卡上的FIB管理模块。所述主控卡上的IPC转发单元在将所述路由更新信息转发至线卡上的IPC管理模块时,判断该线卡上的FIB管理模块是否已订阅了路由更新信息,如果是,则将接收的路由更新信息转发至该线卡上的IPC管理模块。本实施例中,所述线卡上的IPC管理模块还包括IPC注册单元,用于接收该线卡上的FIB管理模块发送的用于订阅路由更新消息的请求;所述主控卡上的IPC管理模块还包括IPC注册单元,用于接收该主控卡上的FIB管理模块发送的用于订阅路由更新消息的请求,以及所述线卡上的IPC注册单元发送的该线卡上的FIB管理模块发送的用于订阅路由更新消息的请求;所述主控卡上的IPC转发单元判断该主控卡上的IPC注册单元是否接收了该主控卡上的FIB管理模块发送的用于订阅路由更新消息的请求,如果是,确定该主控卡上的FIB 管理模块订阅了路由更新信息,否则,确定该主控卡上的FIB管理模块未订阅路由更新信息;所述主控卡上的IPC转发单元判断该主控卡上的IPC注册单元是否接收了所述线卡上的IPC注册单元发送的针对该线卡上的FIB管理模块订阅路由更新信息的请求,如果是,确定该线卡上的FIB管理模块订阅了路由更新信息,否则,确定该线卡上的FIB管理模块未订阅路由更新信息;其中,所述线卡上的IPC管理模块向主控卡上的IPC管理模块发送针对该线卡上的FIB管理模块订阅路由更新信息的请求,是在接收到该线卡上的FIB管理模块发送的用于订阅路由更新信息的请求之后执行的。至此,完成图6的描述。由以上技术方案可以看出,本发明中,并非现有分布式系统路由处理方法中先由主控卡上的路由管理模块下发发生变化的路由信息至该主控卡的FIB管理模块,然后由该主控卡的FIB管理模块将该路由信息同步下发至线卡的FIB管理模块,而是由主控卡上的路由管理模块将路由更新信息直接传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块,相比于现有分布式系统中路由处理方法,减少了路由下发过程的处理环节,提高了转发引擎的更新速度,也提高了在路由发生动荡时的收敛速度;进一步地,本发明中,相比于现有分布式系统中路由处理方法,主控卡上的FIB管理模块不再负责主控卡和线卡间路由信息的同步,这降低了主控卡上FIB管理模块的复杂度和开发难度。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种分布式系统中路由处理方法,所述分布式系统包括主控卡和线卡,所述主控卡包括路由管理模块、转发信息表FIB管理模块和转发引擎,线卡包括FIB管理模块和转发引擎;其特征在于,该方法包括主控卡上的路由管理模块将路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块;所述主控卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该主控卡上的转发引擎;所述线卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该线卡上的转发引擎。
2.根据权利要求1所述的方法,其特征在于,所述主控卡和线卡均包括进程间通信 IPC管理模块;所述主控卡上的路由管理模块将路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块具体包括所述主控卡上的路由管理模块将所述路由更新信息传递至主控卡上的IPC管理模块;所述主控卡上的IPC管理模块将所述路由更新信息转发至该主控卡上的FIB管理模块和线卡上的IPC管理模块;所述线卡上的IPC管理模块将所述路由更新信息转发至该线卡上的FIB管理模块。
3.根据权利要求2所述的方法,其特征在于,所述主控卡上的IPC管理模块将所述路由更新信息转发至该主控卡上的FIB管理模块包括所述主控卡上的IPC管理模块判断该主控卡上的FIB管理模块是否已订阅了路由更新信息,如果是,将所述路由更新信息转发至该主控卡上的FIB管理模块;所述主控卡上的IPC管理模块将所述路由更新信息转发至线卡上的IPC管理模块包括所述主控卡上的IPC管理模块判断该线卡上的FIB管理模块是否已订阅了路由更新信息,如果是,则将接收的路由更新信息转发至该线卡上的IPC管理模块。
4.根据权利要求3所述的方法,其特征在于,所述主控卡上的IPC管理模块判断该线卡上的FIB管理模块是否已订阅了路由更新信息包括所述主控卡上的IPC管理模块判断是否接收了所述线卡上的IPC管理模块发送的针对该线卡上的FIB管理模块订阅路由更新信息的请求,如果是,确定该线卡上的FIB管理模块订阅了路由更新信息,否则,确定该线卡上的FIB管理模块未订阅路由更新信息,其中,所述线卡上的IPC管理模块向主控卡上的IPC管理模块发送针对该线卡上的FIB管理模块订阅路由更新信息的请求,是在接收到该线卡上的FIB管理模块发送的用于订阅路由更新信息的请求之后执行的。
5.一种分布式系统,该系统包括主控卡和线卡,所述主控卡包括路由管理模块、转发信息表FIB管理模块和转发引擎,线卡包括FIB管理模块和转发引擎;其特征在于,所述主控卡的路由管理模块,用于将路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块;所述主控卡上的FIB管理模块,用于从主控卡的路由管理模块接收路由更新信息,依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该主控卡上的转发引擎;所述线卡上的FIB管理模块,用于从主控卡的路由管理模块接收路由更新信息,依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该线卡上的转发引擎。
6.根据权利要求5所述的分布式系统,其特征在于,所述主控卡和线卡均包括进程间通信IPC管理模块;所述IPC管理模块包括IPC转发单元,所述路由管理模块将路由更新信息传递至主控卡上IPC转发单元;所述主控卡上的IPC转发单元将所述路由更新信息转发至该主控卡上的FIB管理模块和所述线卡上的IPC转发单元;所述线卡上的IPC转发单元将所述路由更新信息转发至该线卡上的FIB管理模块。
7.根据权利要求6所述的分布式系统,其特征在于,所述路由管理模块包括路由更新响应单元和路由更新通告单元,所述主控卡上的FIB管理模块和线卡上的FIB管理模块均包括信息更新单元和信息下发单元;其中,所述路由更新响应单元,用于在路由发生变化时生成路由更新信息;所述路由更新通告单元,用于将所述路由更新信息传递至主控卡上IPC转发单元;所述转发信息更新单元,用于依据所述路由更新通告单元传递的所述路由更新信息生成转发信息;所述转发信息下发单元,用于将所述转发信息下发至自身所在卡上的转发引擎。
8.根据权利要求6或7所述的分布式系统,其特征在于,所述主控卡上的IPC转发单元判断该主控卡上的FIB管理模块是否已订阅了路由更新信息,如果是,将所述路由更新信息转发至该主控卡上的FIB管理模块;所述主控卡上的IPC转发单元判断该线卡上的FIB管理模块是否已订阅了路由更新信息,如果是,则将接收的路由更新信息转发至该线卡上的IPC管理模块。
9.根据权利要求8所述的分布式系统,其特征在于,所述线卡上的IPC管理模块还包括IPC注册单元,用于接收该线卡上的FIB管理模块发送的用于订阅路由更新消息的请求;所述主控卡上的IPC管理模块还包括IPC注册单元,用于接收该主控卡上的FIB管理模块发送的用于订阅路由更新消息的请求,以及接收所述线卡上的IPC注册单元发送的该线卡上的FIB管理模块发送的用于订阅路由更新消息的请求;所述主控卡上的IPC转发单元判断该主控卡上的IPC注册单元是否接收了该主控卡上的FIB管理模块发送的用于订阅路由更新消息的请求,如果是,确定该主控卡上的FIB管理模块订阅了路由更新信息,否则,确定该主控卡上的FIB管理模块未订阅路由更新信息;所述主控卡上的IPC转发单元判断该主控卡上的IPC注册单元是否接收了所述线卡上的IPC注册单元发送的针对该线卡上的FIB管理模块订阅路由更新信息的请求,如果是,确定该线卡上的FIB管理模块订阅了路由更新信息,否则,确定该线卡上的FIB管理模块未订阅路由更新信息;其中,所述线卡上的IPC管理模块向主控卡上的IPC管理模块发送针对该线卡上的FIB管理模块订阅路由更新信息的请求,是在接收到该线卡上的FIB管理模块发送的用于订阅路由更新信息的请求之后执行的。
全文摘要
本发明提供了分布式系统中路由处理方法和分布式系统,其中,所述方法包括主控卡上的路由管理模块将路由更新信息传递至该主控卡上的FIB管理模块和线卡上的FIB管理模块;所述主控卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该主控卡上的转发引擎;所述线卡上的FIB管理模块依据所述路由更新信息生成转发信息,并将生成的转发信息下发至该线卡上的转发引擎。采用本发明,能够在路由发生变化加快转发引擎的更新速度。
文档编号H04L12/56GK102231699SQ201110165178
公开日2011年11月2日 申请日期2011年6月13日 优先权日2011年6月13日
发明者李永合, 林茂 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1