发明内容
本发明提供一种链路状态协议数据单元的同步方法和设备,以节省带宽资源。
为了达到上述目的,本发明实施例提供一种链路状态协议数据单元的同步方法,该方法应用于包括多个路由桥RB设备的多链路透明互联TRILL网络中,该方法包括以下步骤:
当链路状态协议数据单元LSP发生更新时,所述TRILL网络中的各RB设备获得所述TRILL网络中的最短路径树,并按照所述TRILL网络中的最短路径树的路径同步更新后的LSP。
所述TRILL网络中的各RB设备按照所述TRILL网络中的最短路径树的路径同步更新后的LSP,具体为:
所述TRILL网络中的RB设备以自身为所述最短路径树的根节点,向与自身相连的最短路径树上的其它RB设备发送所述更新后的LSP。
所述LSP发生更新具体包括:
当所述RB设备上有新的终端设备加入到所述TRILL网络或者有终端设备离开所述TRILL网络时;或者,
当所述RB设备与其它RB设备之间的链路断开时;或者,
当所述RB设备与新加入到所述TRILL网络的RB设备建立邻居关系时。
所述LSP发生更新具体包括:当所述RB设备接收到其它RB设备发送的更新后的LSP时;
所述TRILL网络中的各RB设备按照所述TRILL网络中的最短路径树的路径同步更新后的LSP,具体为:所述TRILL网络中的RB设备在收到其它RB设备发送的更新后的LSP时,以自身为所述最短路径树的根节点,向所述其它RB设备之外的其它与自身相连的最短路径树上的RB设备发送所述更新后的LSP。
所述TRILL网络中的各RB设备按照所述TRILL网络中的最短路径树的路径同步更新后的LSP之前,还包括:
所述TRILL网络中的RB设备判断自身是否配置有网格组MESHGROUP;当所述RB设备上配置有所述MESHGROUP时,所述RB设备将更新后的LSP发送给所述MESHGROUP中的RB设备;当所述RB设备上没有配置所述MESHGROUP时,执行所述向与自身相连的最短路径树上的其它RB设备发送所述更新后的LSP的步骤。
本发明实施例提供一种链路状态协议数据单元的同步设备,应用于包括多个路由桥RB设备的多链路透明互联TRILL网络中,且所述同步设备作为所述TRILL网络中的RB设备,所述RB设备包括:
确定模块,用于确定链路状态协议数据单元LSP发生更新;
获得模块,用于当LSP发生更新时,获得TRILL网络中的最短路径树;
发送模块,用于按照所述TRILL网络中的最短路径树的路径同步更新后的LSP。
所述发送模块,具体用于以本设备为所述最短路径树的根节点,向与本设备相连的最短路径树上的其它RB设备发送所述更新后的LSP。
所述LSP发生更新具体包括:
当本设备上有新的终端设备加入到所述TRILL网络或者有终端设备离开所述TRILL网络时;或者,
当本设备与其它RB设备之间的链路断开时;或者,
当本设备与新加入到所述TRILL网络的RB设备建立邻居关系时。
所述LSP发生更新具体包括:当本设备接收到其它RB设备发送的更新后的LSP时;
所述发送模块,具体用于在收到其它RB设备发送的更新后的LSP时,以本设备为所述最短路径树的根节点,向所述其它RB设备之外的其它与本设备相连的最短路径树上的RB设备发送所述更新后的LSP。
所述发送模块,还用于判断本设备是否配置有网格组MESHGROUP;当本设备上配置有所述MESHGROUP时,将更新后的LSP发送给所述MESHGROUP中的RB设备;当本设备上没有配置所述MESHGROUP时,执行所述向与本设备相连的最短路径树上的其它RB设备发送所述更新后的LSP的过程。
与现有技术相比,本发明实施例至少具有以下优点:
本发明实施例中,各RB设备通过最短路径树来传输更新后的LSP,以实现TRILL网络中各RB设备上LSP的同步,从而减少了TRILL网络中所传输的LSP的数量,并节省了TRILL网络中的带宽资源。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
本发明实施例提出了一种链路状态协议数据单元的同步方法,针对TRILL网络实现减少LSP洪泛,节省带宽资源的目的;以图1为本发明实施例的应用场景示意图,该TRILL网络中可以包括多个RB设备。
如图3所示,该链路状态协议数据单元的同步方法可以包括以下步骤:
步骤301,当LSP发生更新时,该TRILL网络中的各RB设备获得TRILL网络中的最短路径树。
步骤302,该TRILL网络中的各RB设备按照TRILL网络中的最短路径树的路径同步更新后的LSP。
本发明实施例中,TRILL网络中的各RB设备按照TRILL网络中的最短路径树的路径同步更新后的LSP,具体包括:
针对LSP发生更新的情况一、情况二和情况三(相应情况在后续过程中描述),TRILL网络中的RB设备在获取最短路径树后,以自身为最短路径树的根节点,向与自身直接相连的最短路径树上的其它RB设备发送更新后的LSP;且由于TRILL网络中的各RB设备均需要以自身为最短路径树的根节点,按照最短路径树发送更新后的LSP,从而可以使得TRILL网络中的各RB设备均接收到更新后的LSP,实现LSP的同步。
针对LSP发生更新的情况四(相应情况在后续过程中描述),TRILL网络中的RB设备在收到其它RB设备(以RB设备1为例)发送的更新后的LSP,并在获取最短路径树后,以自身为最短路径树的根节点,向RB设备1之外的与自身直接相连的最短路径树上的其它RB设备发送更新后的LSP;且由于TRILL网络中的各RB设备均需要以自身为最短路径树的根节点,按照最短路径树发送更新后的LSP,从而可以使得TRILL网络中的各RB设备均接收到更新后的LSP,实现LSP的同步。
本发明实施例中,由于ISIS的LSDB是全网络进行同步的,因此在TRILL网络中,各RB设备基于SPF(ShortestPathFirst,最短路径优先)算法以及LSDB所计算出来的最短路径树是相同的,针对图1所示的应用场景,则TRILL网络中的最短路径树可以如图4所示。
进一步的,各RB设备在获得TRILL网络中的最短路径树之后,需要按照该最短路径树发送更新后的LSP;针对图4所示的最短路径树,则发送更新后的LSP的路径如图5所示;RB6在获知LSP发生更新时,按照最短路径树将更新后的LSP发送给RB1;RB1在接收到更新后的LSP时,按照最短路径树将更新后的LSP发送给RB7;RB7在接收到更新后的LSP时,按照最短路径树将更新后的LSP发送给RB2、RB3、RB4;RB4在接收到更新后的LSP时,按照最短路径树将更新后的LSP发送给RB8、RB9;RB9在接收到更新后的LSP时,按照最短路径树将更新后的LSP发送给RB5。
又例如,针对图4所示的最短路径树,RB7在获知LSP发生更新时,按照最短路径树将更新后的LSP发送给RB1、RB2、RB3、RB4;RB1在接收到更新后的LSP时,按照最短路径树将更新后的LSP发送给RB6;RB4在接收到更新后的LSP时,按照最短路径树将更新后的LSP发送给RB8、RB9;RB9在接收到更新后的LSP时,按照最短路径树将更新后的LSP发送给RB5。
综上所述,各RB设备通过最短路径树来传输更新后的LSP,可减少TRILL网络中所传输的LSP的数量,并节省TRILL网络中的带宽资源;且由于ISIS的所有邻居之间会定时发送CSNP(CompleteSequenceNumbersProtocolDataUnit,完整序列号数据协议单元)报文,从而可以保证全网LSP的一致。
具体的,为了保证全网LSP的一致,DRB可周期性发送CSNP(其包含本地所有LSP的摘要信息(如发送者、序列号、校验和、剩余时限)),以保证链路上所有LSDB一致。其中,各RB设备通过比较本地LSDB与收到的CSNP;如果本地没有某个LSP或者某个LSP更旧(即收到的CSNP中序列号更大),则RB设备通过PSNP(PartialSequenceNumbersProtocolDataUnit,部分序列号数据协议单元,用于LSDB不同步时进行LSP请求或者确认)向DRB请求该LSP;如果本地有某个LSP但CSNP中没有,或者本地某个LSP更新(即收到的CSNP中序列号更小),则RB设备主动向DRB泛洪该LSP。
本发明实施例中,LSP发生更新的过程具体包括但不限于:
情况一、当RB设备上有新的终端设备加入到TRILL网络或者有终端设备离开TRILL网络时,该RB设备获知LSP发生更新。之后,该RB设备需要获得TRILL网络中的最短路径树,按照最短路径树将更新后的LSP发送给其它RB设备,由其它RB设备在接收到更新后的LSP时获得TRILL网络中的最短路径树,并按照最短路径树发送更新后的LSP;进一步的,由于各RB设备均需要按照最短路径树发送更新后的LSP,从而可以使得TRILL网络中的各RB设备均接收到更新后的LSP,实现LSP的同步。
例如,当RB6上有新的MAC(MediaAccessControl,介质访问控制)加入时,表明RB6上有新的终端设备加入到TRILL网络,因此RB6获知LSP发生更新,并按照TRILL网络中的最短路径树将更新后的LSP发送给RB1,具体传输路径如图5所示,后续传输过程在此不再赘述。
情况二、当RB设备与其它RB设备之间的链路断开时,RB设备获知LSP发生更新。之后,RB设备需要获得TRILL网络中的最短路径树,按照最短路径树将更新后的LSP发送给其它RB设备,由其它RB设备在接收到更新后的LSP时获得TRILL网络中的最短路径树,并按照最短路径树发送更新后的LSP;进一步的,由于各RB设备均按照最短路径树发送更新后的LSP,从而可使得TRILL网络中的各RB设备均接收到更新后的LSP,实现LSP的同步。
本发明实施例中,当RB设备与其它RB设备之间的链路断开时,TRILL网络中的最短路径树会发生变化;且在最短路径树发生变化之前,各RB设备会按照变化之前的最短路径树发送更新后的LSP;在最短路径树发生变化之后,各RB设备会按照变化之后的最短路径树发送更新后的LSP。
具体的,TRILL网络中的RB设备在本设备与其它RB设备之间的链路断开之前,需要按照链路断开之前的最短路径树的路径同步更新后的LSP;以及,在本设备与其它RB设备之间的链路断开之后,需要按照链路断开之后的最短路径树的路径同步更新后的LSP。
情况三、当有RB设备加入到TRILL网络,且新加入的RB设备(如RB10)为某RB设备(如RB6)的邻居(即RB设备与新加入到TRILL网络的RB设备建立邻居关系)时,则该RB6获知LSP发生更新。之后,RB设备需要获得TRILL网络中的最短路径树,按照最短路径树将更新后的LSP发送给其它RB设备,由其它RB设备在接收到更新后的LSP时获得TRILL网络中的最短路径树,并按照最短路径树发送更新后的LSP;进一步的,由于各RB设备均按照最短路径树发送更新后的LSP,从而可使得TRILL网络中的各RB设备均接收到更新后的LSP,实现LSP的同步。
本发明实施例中,当有RB设备(RB10)加入到TRILL网络时,TRILL网络中的最短路径树会发生变化;且在最短路径树发生变化之前,该新加入的RB设备(RB10)的邻居(RB6)会按照变化之前的最短路径树发送更新后的LSP,且收到更新后的LSP的各RB设备会按照变化之前的最短路径树发送更新后的LSP;在最短路径树发生变化之后,该新加入的RB设备(RB10)的邻居(RB6)会按照变化之后的最短路径树发送更新后的LSP,且收到更新后的LSP的各RB设备会按照变化之后的最短路径树发送更新后的LSP。
具体的,TRILL网络中的RB设备在新RB设备加入到TRILL网络之前,需要按照新RB设备加入到TRILL网络之前的最短路径树的路径同步更新后的LSP;以及,在新RB设备加入到TRILL网络之后,需要按照新RB设备加入到TRILL网络之后的最短路径树的路径同步更新后的LSP。
情况四、当RB设备收到来自其它RB设备的更新后的LSP时,则该RB设备获知LSP发生更新。之后,该RB设备需要获得TRILL网络中的最短路径树,按照最短路径树将更新后的LSP发送给其它RB设备(向该RB设备发送更新后的LSP的RB设备除外),由其它RB设备在接收到更新后的LSP时获得TRILL网络中的最短路径树,并按照最短路径树发送更新后的LSP;由于各RB设备均按照最短路径树发送更新后的LSP,从而使得TRILL网络中的各RB设备均接收到更新后的LSP,实现LSP同步。
本发明实施例的上述技术方案还可以与ISIS的MESHGROUP(网格组)同时使用,在使能MESHGROUP的RB设备上按照MESHGROUP路径传输LSP,在没有使能MESHGROUP的RB设备上按照最短路径树传输LSP。
具体的,RB设备通过判断自身是否配置有MESHGROUP;当RB设备上配置有MESHGROUP时,该RB设备将更新后的LSP发送给MESHGROUP中的RB设备;当RB设备上没有配置MESHGROUP时,该RB设备按照最短路径树将更新后的LSP发送给其它RB设备,即执行本发明实施例所提供的技术方案,该过程在此不再重复赘述。
针对图4所示的TRILL网络中的最短路径树的示意图,假设在RB1和RB6上配置MESHGROUP,在RB1上配置的MESHGROUP中包括RB6、RB7、RB8,在RB6上配置的MESHGROUP中包括RB1、RB2、RB3、RB4、RB5;则具体的传输路径如图6所示;RB6在获知LSP发生更新时,由于RB6上配置有MESHGROUP,因此RB6将更新后的LSP发送给RB1、RB2、RB3、RB4、RB5;RB1在接收到更新后的LSP时,由于RB1上配置有MESHGROUP,因此RB1将更新后的LSP发送给RB7、RB8;此外,由于RB9不在MESHGROUP中,因此RB9需要按照最短路经树传输更新后的LSP,即RB4在接收到更新后的LSP时,将更新后的LSP发送给RB9。
基于与上述方法同样的发明构思,本发明还提出了一种链路状态协议数据单元的同步设备,应用于包括多个路由桥RB设备的多链路透明互联TRILL网络中,且所述同步设备作为所述TRILL网络中的RB设备,如图7所示,该RB设备包括:
确定模块11,用于确定链路状态协议数据单元LSP发生更新;
获得模块12,用于当LSP发生更新时,获得TRILL网络中的最短路径树;
发送模块13,用于按照所述TRILL网络中的最短路径树的路径同步更新后的LSP。
所述发送模块13,具体用于以本设备为所述最短路径树的根节点,向与本设备相连的最短路径树上的其它RB设备发送所述更新后的LSP。
所述LSP发生更新具体包括:当本设备上有新的终端设备加入到所述TRILL网络或者有终端设备离开所述TRILL网络时;或者,当本设备与其它RB设备之间的链路断开时;或者,当本设备与新加入到所述TRILL网络的RB设备建立邻居关系时。
所述LSP发生更新具体包括:当本设备接收到其它RB设备发送的更新后的LSP时;所述发送模块13,具体用于在收到其它RB设备发送的更新后的LSP时,以本设备为所述最短路径树的根节点,向所述其它RB设备之外的其它与本设备相连的最短路径树上的RB设备发送所述更新后的LSP。
所述发送模块13,还用于判断本设备是否配置有网格组MESHGROUP;当本设备上配置有所述MESHGROUP时,将更新后的LSP发送给所述MESHGROUP中的RB设备;当本设备上没有配置所述MESHGROUP时,执行所述向与本设备相连的最短路径树上的其它RB设备发送所述更新后的LSP的过程。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。