一种lsa同步方法和设备的制作方法

文档序号:7796432阅读:166来源:国知局
一种lsa同步方法和设备的制作方法
【专利摘要】本发明公开了一种LSA同步方法和设备,该方法包括:网络设备遍历所述网络设备上的所有接口,确定各接口对应的邻居网络设备的路由标识,并确定各接口所属的LSDB类型,并将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组;所述网络设备在通过接口组内的一个接口收到来自邻居网络设备的LSA时,禁止从所述接口组内的其它接口向所述邻居网络设备发送所述LSA。本发明实施例中,可以避免LSA的冗余发送,降低了同步LSA的占用带宽,并可以减轻网络传输负担。
【专利说明】一种LSA同步方法和设备
【技术领域】
[0001]本发明涉及了数据通信【技术领域】,尤其是涉及了一种LSA (Link StateAdvertisement,链路状态通告)同步方法和设备。
【背景技术】
[0002]0SPFv3 (Open Shortest Path First,开放式最短路径优先版本3)是一个基于链路状态的自治系统内部路由协议,其工作机制是各网络设备之间通过周期性的通告Hello报文建立并维持邻居关系,在形成邻接关系的网络设备之间互相扩散描述链路状态的LSA,并且各网络设备最终形成相同的LSDB (Link State Data Base,链路状态数据库),在LSDB基础上进行路由计算生成路由信息保存到RIB (Routing Information Base,路由信息表)中,RIB选取最优路由并下发给FIB (Forwarding Information Base,转发信息表)用于指导报文转发。
[0003]现有技术中,网络设备在通过一个接口收到来自邻居网络设备的LSA后,需要通过其它所有接口去扩散该LSA,以保证在整个网络上同步LSA,但是其会导致LSA的冗余发送。以图1所示的应用场景为例,网络设备A和网络设备B之间存在三条链路,网络设备B在通过接口 I收到来自网络设备A的LSA后,需要通过接口 2和接口 3去扩散该LSA,即通过接口 2将该LSA发送给网络设备A,并通过接口 3将该LSA发送给网络设备A,显然通过接口 2和接口 3向网络设备A发送的LSA是不必要发送的,其会造成LSA的冗余发送,增加网络传输负担。

【发明内容】

[0004]本发明实施例提供了一种LSA同步方法和设备,以避免发送不必要的LSA,避免LSA的冗余发送,并可以减轻网络传输负担。
[0005]为了达到上述目的,本发明实施例提供一种链路状态通告LSA同步方法,所述方法包括:网络设备遍历所述网络设备上的所有接口,确定各接口对应的邻居网络设备的路由标识以及所述各接口所属的链路状态数据库LSDB类型,并将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组;
[0006]所述网络设备在通过接口组内的一个接口收到来自邻居网络设备的LSA时,禁止从所述接口组内的其它接口向所述邻居网络设备发送所述LSA。
[0007]所述网络设备确定所述各接口所属的链路状态数据库LSDB类型的过程,具体包括:如果接口用于传输链路LSA或未知LSA,则所述网络设备确定所述接口所属的LSDB类型为接口 LSDB ;如果接口用于传输I类LSA、或2类LSA、或3类LSA、或4类LSA、或7类LSA、或9类LSA,则所述网络设备确定所述接口所属的LSDB类型为区域LSDB ;如果接口用于传输5类LSA,则所述网络设备确定所述接口所属的LSDB类型为进程LSDB。
[0008]所述网络设备将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组,具体包括:网络设备在划分接口组时,如果不同的接口所属的LSDB类型相同,且不同的接口对应的邻居网络设备的路由标识相同,且不同的接口传输的LSDB内容相同,则将所述不同的接口划分到同一个接口组。
[0009]所述网络设备将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组,之后还包括:网络设备在需要通过接口组内的接口向邻居网络设备发送LSA时,只通过接口组内的一个接口向邻居网络设备发送所述LSA。
[0010]所述网络设备在需要通过接口组内的接口向邻居网络设备发送多个LSA时,所述方法进一步包括:所述网络设备通过所述接口组内的一个接口向所述邻居网络设备发送所述多个LSA ;或者,所述网络设备通过所述接口组内的多个接口分别向所述邻居网络设备发送所述多个LSA中的各个LSA。
[0011]本发明实施例提供一种用于链路状态通告LSA同步的网络设备,包括:确定模块,用于遍历网络设备上的所有接口,确定各接口对应的邻居网络设备的路由标识以及所述各接口所属的链路状态数据库LSDB类型;分配模块,用于将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组中;处理模块,用于在通过接口组内的一个接口收到来自邻居网络设备的LSA时,禁止从所述接口组内的其它接口向所述邻居网络设备发送所述LSA。
[0012]所述确定模块,具体用于当接口用于传输链路LSA或未知LSA时,确定所述接口所属的LSDB类型为接口 LSDB ;或者,当接口用于传输I类LSA、或2类LSA、或3类LSA、或4类LSA、或7类LSA、或9类LSA时,确定所述接口所属的LSDB类型为区域LSDB ;或者,当接口用于传输5类LSA时,确定所述接口所属的LSDB类型为进程LSDB。
[0013]所述分配模块,具体用于在划分接口组时,如果不同的接口所属的LSDB类型相同,且所述不同的接口对应的邻居网络设备的路由标识相同,所述不同的接口传输的LSDB内容相同,则将所述不同的接口划分到同一个接口组。
[0014]所述处理模块,还用于在需要通过接口组内的接口向邻居网络设备发送LSA时,只通过所述接口组内的一个接口向所述邻居网络设备发送所述LSA。
[0015]所述处理模块,进一步用于在需要通过接口组内的接口向邻居网络设备发送多个LSA时,通过所述接口组内的一个接口向所述邻居网络设备发送所述多个LSA ;或者,通过所述接口组内的多个接口分别向所述邻居网络设备发送所述多个LSA中的各个LSA。
[0016]与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,通过将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组,且在通过接口组内的一个接口收到来自邻居网络设备的LSA时,禁止从接口组内的其它接口向邻居网络设备发送该LSA,从而避免发送不必要的LSA,避免LSA的冗余发送,降低同步LSA的占用带宽,并可以减轻网络传输负担。
【专利附图】

【附图说明】
[0017]图1是现有技术中网络设备与邻居网络设备交互LSA的示意图;
[0018]图2是本发明实施例提供的一种LSA同步方法流程示意图;
[0019]图3是本发明实施例提供的一种网络设备的结构示意图。
【具体实施方式】[0020]针对现有技术中存在的问题,本发明实施例提供一种LSA同步方法,该方法用于在网络设备之间实现LSA的同步。以图1为本发明实施例的应用场景示意图,网络设备A和网络设备B之间存在三条链路,网络设备A是网络设备B的邻居网络设备,且网络设备B是网络设备A的邻居网络设备。
[0021 ] 本发明实施例中,基于不同的同步范围将LSDB类型划分为3类,第一类LSDB类型为接口 LSDB,该接口 LSDB中的LSA包括链路LSA以及其它未知LSA,且接口 LSDB中的LSA的传播范围为当前链路;第二类LSDB类型为区域LSDB,该区域LSDB中的LSA包括I类LSA,2类LSA、3类LSA、4类LSA、7类LSA、9类LSA,且区域LSDB中的LSA的传播范围为当前区域下的所有接口,不同区域在不同区域所属的接口下进行同步;第三类LSDB类型为进程LSDB,该进程LSDB中的LSA包括5类LSA,且进程LSDB中的LSA的传播范围为当前进程下所有属于具有外部能力的区域的接口。
[0022]在上述应用场景下,如图2所示,该LSA同步方法包括以下步骤:
[0023]步骤201,网络设备遍历本网络设备上的所有接口,并确定各接口对应的邻居网络设备的路由标识以及各接口所属的LSDB类型。
[0024]本发明实施例中,基于上述三种LSDB类型,网络设备确定各接口所属的LSDB类型的过程,具体包括:如果接口用于传输链路LSA或未知LSA,则网络设备确定该接口所属的LSDB类型为接口 LSDB ;如果接口用于传输I类LSA、或2类LSA、或3类LSA、或4类LSA、或7类LSA、或9类LSA,则网络设备确定该接口所属的LSDB类型为区域LSDB ;如果接口用于传输5类LSA,则网络设备确定该接口所属的LSDB类型为进程LSDB。
[0025]如图1所示,网络设备A遍历本网络设备A上的所有接口为接口 4、接口 5和接口6,接口 4对应的邻居网络设备的路由标识为网络设备B的路由标识,接口 5对应的邻居网络设备的路由标识为网络设备B的路由标识,接口 6对应的邻居网络设备的路由标识为网络设备B的路由标识。此外,当接口 4、接口 5、接口 6均用于传输5类LSA时,网络设备A确定接口 4所属的LSDB类型为进程LSDB,接口 5所属的LSDB类型为进程LSDB,接口 6所属的LSDB类型为进程LSDB ;当接口 4、接口 5、接口 6均用于传输4类LSA时,网络设备A确定接口 4所属的LSDB类型为区域LSDB,接口 5所属的LSDB类型为区域LSDB,接口 6所属的LSDB类型为区域LSDB。
[0026]同样的,网络设备B遍历本网络设备B上的所有接口为接口 1、接口 2和接口 3,接口 I对应的邻居网络设备的路由标识为网络设备A的路由标识,接口 2对应的邻居网络设备的路由标识为网络设备A的路由标识,接口 3对应的邻居网络设备的路由标识为网络设备A的路由标识。此外,当接口 1、接口 2、接口 3均用于传输5类LSA时,网络设备B确定接口 I所属的LSDB类型为进程LSDB,接口 2所属的LSDB类型为进程LSDB,接口 3所属的LSDB类型为进程LSDB ;当接口 1、接口 2、接口 3均用于传输4类LSA时,网络设备B确定接口 I所属的LSDB类型为区域LSDB,接口 2所属的LSDB类型为区域LSDB,接口 3所属的LSDB类型为区域LSDB。
[0027]步骤202,基于各接口对应的路由标识以及各接口所属的LSDB类型,网络设备将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组。
[0028]本发明实施例中,对于每一类LSDB类型的LSDB来说,其同步范围是固定的。如:接口 LSDB,其同步范围只有一个接口,就是其所属接口 ;区域LSDB,其同步范围是当前区域下的所有建立邻居的接口 ;进程LSDB,其同步范围是当前进程下的所有可以发送和接收进程LSDB中LSA的接口,这些接口要求不是Stub区域的,也不是NSSA (Not-So-Stubby Area)区域的接口。
[0029]因此,对于每一类LSDB类型的LSDB来说,其可以同步的接口都具有相同特性,因此可以将每一类LSDB类型的接口划分到同一接口组,并且接口组中的所有接口都可以单独同步对应LSDB中的所有LSA,且同一个LSDB在这个接口组中的任意一个接口上完成同步,就可以达到这个LSDB的同步。基于此,网络设备可以将对应相同LSDB类型的接口划分到同一个接口组。
[0030]本发明实施例中,网络设备将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组的过程,具体包括:网络设备在划分接口组时,如果不同的接口所属的LSDB类型相同,且该不同的接口对应的邻居网络设备的路由标识相同,且该不同的接口传输的LSDB内容相同,则可以将该不同的接口划分到同一个接口组;否则不能将该不同的接口划分到同一个接口组。
[0031]如图1所示,假设接口 4、接口 5和接口 6用于传输相同的LSDB内容,则当接口 4、接口 5和接口 6所属的LSDB类型相同时,由于接口 4、接口 5和接口 6对应的邻居网络设备的路由标识相同,因此网络设备A可以将接口 4、接口 5和接口 6划分到同一个接口组。假设接口 1、接口 2和接口 3用于传输相同的LSDB内容,则当接口 1、接口 2和接口 3所属的LSDB类型相同时,由于接口 1、接口 2和接口 3对应的邻居网络设备的路由标识相同,因此网络设备B可以将接口 1、接口 2和接口 3划分到同一个接口组。
[0032]步骤203,网络设备在通过接口组内的一个接口收到来自邻居网络设备的LSA时,禁止从该接口组内的其它接口向邻居网络设备发送该LSA。
[0033]本发明实施例中,网络设备在需要通过接口组内的接口向邻居网络设备发送LSA时,只通过接口组内的一个接口向邻居网络设备发送LSA。进一步,网络设备在需要通过接口组内的接口向邻居网络设备发送多个LSA时,网络设备通过接口组内的一个接口向邻居网络设备发送多个LSA ;或,网络设备通过接口组内的多个接口分别向邻居网络设备发送多个LSA中的各个LSA。
[0034]如图1所示,以网络设备A向网络设备B发送LSA为例进行说明。
[0035]网络设备A在需要向网络设备B发送LSA时,如果接口 4、接口 5、接口 6被划分到同一个接口组(如接口 4、接口 5、接口 6所属的LSDB类型均为区域LSDB,或者,接口 4、接口
5、接口 6所属的LSDB类型均为进程LSDB),则网络设备A可以只通过接口 4向网络设备B发送LSA,或者只通过接口 5向网络设备B发送LSA,或者只通过接口 6向网络设备B发送LSA。
[0036]进一步的,网络设备A在需要向网络设备B发送多个LSA (如LSA1、LSA2和LSA3)时,网络设备A可以通过接口 4向网络设备B发送LSAl,通过接口 5向网络设备B发送LSA2,通过接口 6向网络设备B发送LSA3,基于上述处理,可以实现LSA同步的负载分担,而且上述发送过程可以同时进行,以在多个接口上并发进行LSA的同步,从而实现了 LSA的快速同步,加快了 LSA的同步速度,提高了 LSA的同步效率,并加快了网络收敛。
[0037]网络设备B在收到来自网络设备A的LSA时,如果接口 1、接口 2、接口 3被划分到同一个接口组(如接口 1、接口 2、接口 3所属的LSDB类型均为区域LSDB,或者,接口 1、接口2、接口 3所属的LSDB类型均为进程LSDB),网络设备B在通过接口 I (或接口 2、或接口 3)收到来自网络设备A的LSA时,不会通过接口 2和接口 3将该LSA返回给网络设备A,从而避免发送不必要的LSA,避免LSA的冗余发送,减少相同LSA在不同链路上的重复同步,降低同步LSA的占用带宽,并可以减轻网络传输负担。
[0038]基于与上述方法同样的发明构思,本发明实施例中还提供了一种用于链路状态通告LSA同步的网络设备,如图3所示,该网络设备包括:确定模块11,用于遍历网络设备上的所有接口,确定各接口对应的邻居网络设备的路由标识以及所述各接口所属的链路状态数据库LSDB类型;分配模块12,用于将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组中;处理模块13,用于在通过接口组内的一个接口收到来自邻居网络设备的LSA时,禁止从所述接口组内的其它接口向所述邻居网络设备发送所述LSA。
[0039]所述确定模块11,具体用于当接口用于传输链路LSA或未知LSA时,确定所述接口所属的LSDB类型为接口 LSDB ;或者,当接口用于传输I类LSA、或2类LSA、或3类LSA、或4类LSA、或7类LSA、或9类LSA时,确定所述接口所属的LSDB类型为区域LSDB ;或者,当接口用于传输5类LSA时,确定所述接口所属的LSDB类型为进程LSDB。
[0040]所述分配模块12,具体用于在划分接口组时,如果不同的接口所属的LSDB类型相同,且不同的接口对应的邻居网络设备的路由标识相同,所述不同的接口传输的LSDB内容相同,则将所述不同的接口划分到同一个接口组。
[0041]所述处理模块13,还用于在需要通过接口组内的接口向邻居网络设备发送LSA时,只通过接口组内的一个接口向所述邻居网络设备发送所述LSA。
[0042]所述处理模块13,进一步用于在需要通过接口组内的接口向邻居网络设备发送多个LSA时,通过所述接口组内的一个接口向所述邻居网络设备发送所述多个LSA ;或者,通过所述接口组内的多个接口分别向所述邻居网络设备发送所述多个LSA中的各个LSA。
[0043]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0044]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0045]本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0046]本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0047]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0048]以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
【权利要求】
1.一种链路状态通告LSA同步方法,其特征在于,所述方法包括: 网络设备遍历所述网络设备上的所有接口,确定各接口对应的邻居网络设备的路由标识以及所述各接口所属的链路状态数据库LSDB类型,并将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组; 所述网络设备在通过接口组内的一个接口收到来自邻居网络设备的LSA时,禁止从所述接口组内的其它接口向所述邻居网络设备发送所述LSA。
2.如权利要求1所述的方法,其特征在于,所述网络设备确定所述各接口所属的链路状态数据库LSDB类型的过程,具体包括: 如果接口用于传输链路LSA或未知LSA,则所述网络设备确定所述接口所属的LSDB类型为接口 LSDB ;如果接口用于传输I类LSA、或2类LSA、或3类LSA、或4类LSA、或7类LSA、或9类LSA,则所述网络设备确定所述接口所属的LSDB类型为区域LSDB ;如果接口用于传输5类LSA,则所述网络设备确定所述接口所属的LSDB类型为进程LSDB。
3.如权利要求1或2所述的方法,其特征在于,所述网络设备将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组,具体包括: 所述网络设备在划分接口组时,如果不同的接口所属的LSDB类型相同,且所述不同的接口对应的邻居网络设备的路由标识相同,且所述不同的接口传输的LSDB内容相同,则将所述不同的接口划分到同一个接口组。
4.如权利要求1所述的方法,其特征在于,所述网络设备将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组,之后还包括:` 所述网络设备在需要通过接口组内的接口向邻居网络设备发送LSA时,只通过所述接口组内的一个接口向所述邻居网络设备发送所述LSA。
5.如权利要求4所述的方法,其特征在于,所述网络设备在需要通过接口组内的接口向邻居网络设备发送多个LSA时,所述方法进一步包括: 所述网络设备通过所述接口组内的一个接口向所述邻居网络设备发送所述多个LSA ;或者,所述网络设备通过所述接口组内的多个接口分别向所述邻居网络设备发送所述多个LSA中的各个LSA。
6.一种用于链路状态通告LSA同步的网络设备,其特征在于,包括: 确定模块,用于遍历网络设备上的所有接口,确定各接口对应的邻居网络设备的路由标识以及所述各接口所属的链路状态数据库LSDB类型; 分配模块,用于将对应相同LSDB类型以及相同路由标识的接口划分到同一个接口组中; 处理模块,用于在通过接口组内的一个接口收到来自邻居网络设备的LSA时,禁止从所述接口组内的其它接口向所述邻居网络设备发送所述LSA。
7.如权利要求6所述的网络设备,其特征在于, 所述确定模块,具体用于当接口用于传输链路LSA或未知LSA时,确定所述接口所属的LSDB类型为接口 LSDB ;或者,当接口用于传输I类LSA、或2类LSA、或3类LSA、或4类LSA、或7类LSA、或9类LSA时,确定所述接口所属的LSDB类型为区域LSDB ;或者,当接口用于传输5类LSA时,确定所述接口所属的LSDB类型为进程LSDB。
8.如权利要求6或7所述的网络设备,其特征在于,所述分配模块,具体用于在划分接口组时,如果不同的接口所属的LSDB类型相同,且所述不同的接口对应的邻居网络设备的路由标识相同,所述不同的接口传输的LSDB内容相同,则将所述不同的接口划分到同一个接口组。
9.如权利要求6所述的网络设备,其特征在于, 所述处理模块,还用于在需要通过接口组内的接口向邻居网络设备发送LSA时,只通过所述接口组内的一个接口向所述邻居网络设备发送所述LSA。
10.如权利要求9所述的网络设备,其特征在于, 所述处理模块,进一步用于在需要通过接口组内的接口向邻居网络设备发送多个LSA时,通过所述接口组内的一个接口向所述邻居网络设备发送所述多个LSA ;或者,通过所述接口组内的多个接 口分别向所述邻居网络设备发送所述多个LSA中的各个LSA。
【文档编号】H04L12/755GK103780498SQ201410040860
【公开日】2014年5月7日 申请日期:2014年1月27日 优先权日:2014年1月27日
【发明者】魏志广 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1