并行链路报文传输方法以及路由设备的制作方法

文档序号:7658572阅读:109来源:国知局

专利名称::并行链路报文传输方法以及路由设备的制作方法
技术领域
:本发明涉及通信领域,尤其涉及一种并行链路报文传输方法以及路由设备。
背景技术
:随着网络技术的日益发展,互联网在人们的日常生活中占据了越来越重要的地位。正因为如此,客户对运营商提供网络的带宽、可靠性、稳定性提出了越来越高的要求。由于硬件、软件的故障以及人为的因素或是某种偶然因素的存在,网络随时都会有链路失效或设备故障的危险,网络的可靠性面临着巨大的挑战。针对这种情况,解决方案提供商多采用设置冗余链路的方案。并行链路就是一种很典型的冗余备份方式。现有技术中一种并行链路报文传输方法为拥有并行链路的路由器在传播路由信息的时候,会在每条链路上都进行同步和洪泛操作。但是,在实际的网络系统中,尤其在光网络中,两台设备之间经常会存在成千上万条并行链路,所以网络中会存在大量的冗余报文,增加链路和路由器的负担,影响系统性能。
发明内容本发明实施例要解决的技术问题是提供一种并行链路报文传输方法以及路由设备,能够提高系统性能。本发明实施例提供的并行链路报文传输方法,包括获取第一路由设备与第二路由设备之间的并行链路信息;根据所述并行链路信息在第一路由设备与第二路由设备之间的并行链路中选择出至少一条链路作为主链路;通过所述主链路传输所述第一路由设备与第二路由设备之间的报文。本发明实施例提供的另一种并行链路报文传输方法,包括建立第一路由器与第二路由器之间的邻居关系;根据建立的邻居关系信息,在第一路由器与第二路由器之间的并行链路中选择一条链路作为主链路;当第一路由器接收到链路状态通告报文或生成链路状态通告报文时,通过所述主链路将所述链路状态通告报文发送至第二路由器;第一路由器通过所述主链路从第二路由器获得反馈链路状态通告响应报文。本发明实施例提供的再一种并行链路报文传输方法,包括建立所述第一路由器与所述第二路由器之间的邻居关系;根据建立的邻居关系信息,在第一路由器与第二路由器之间的并行链路中选择预置数目的链路组成链路过所述链路组中任意一条链路将所述链路状态通告报文发送至第二路由器;第二路由器接收到所述链路状态通告报文之后,通过所述链路组中任意一条链路向所述第一路由器反馈链路状态通告响应报文。本发明实施例提供的路由设备,包括获取单元,用于获取本地及与本地连接的路由设备的并行链路信息;链路选择单元,用于根据所述并行链路信息选择本地及与本地连接的路由设备之间的并行链路中的主链路;发送控制单元,用于通过所述主链路传输所述第一路由设备与第二路由设备之间的报文。从以上技术方案可以看出,本发明实施例具有以下优点本发明实施例中由于在发送报文之前先根据预置的规则选择满足预置条件的链路作为主链路,并仅通过主链路进行报文传输,所以不需要在所有链路中传输报文,进而减少了链路中的报文数量,降低了网络资源的浪费,提高了系统性能。图1为本发明实施例中报文传输场景示意图;图2为本发明实施例中并行链路报文传输方法第一实施例流程图;图3为本发明实施例中并行链路^J:传输方法第二实施例流程图;图4为本发明实施例中并行链路报文传输方法第三实施例流程图;图5为本发明实施例中路由设备实施例示意图。具体实施例方式本发明实施例提供了一种并行链路报文传输方法以及路由设备,用于减少链路中的报文数量,降低网络资源的浪费。请参阅图1,本发明实施例中的方法流程描述均基于该场景,即描述两个路由设备之间的通信,假设两个路由设备之间一共有3条并行链路,分别为链路1,链路2以及链路3。请参阅图2,—并参阅图1,本发明实施例中并行链路报文传输方法第一实施例包4舌201、获取并行链路信息;获取第一路由设备与第二路由设备之间的并行链路信息。202、根据并行链路信息确定主链路;根据并行链路信息确定第一路由设备与第二路由设备之间的并行链路中满足预置条件的链路作为主链路。具体的确定方式可以大致分为两类A、确定一组链路组成链路组作为主链路如图1所示,确定3条链路中的任意两条,或者是全部三条组成链路组作为主链路,具体的数目可以根据实际情况而定,一般来说,在链路负担不重的情况下尽可能多选一些链路以提高链路利用率,在链路负担较重的情况下尽可能少选一些链路以降低链路负担。在本实施例中以选择三条链路为例。B、确定满足预置条件的链路作为主链路如图1所示,确定3条链路中满足预置条件的链路作为主链路,满足预置条件可以是根据接口配置选择传输消耗值(COST值)最小的链路作为主链路,或者是选择互联网协议(IP,InternetProtocol)地址最大的链路作为主链路,可以理解的是,同样可以根据实际要求选择满足不同的预置条件的链路作为主链路,此处不作限定。本发明实施例中,在选择COST值最小的链路作为主链路时,如图l所示,假设对于第一路由设备而言,链路1的COST值为1,链路2的COST值为5,链路3的COST值为10,对于第二路由设备而言,链路1的COST值为10,链路1的COST值为5,链路3的COST值为1,则选择的主链路可能会有三种情况Bl、以链路1作为主链路,第一路由设备与第二路由设备之间的报文仅通过链路1进行传输;B2、以链路3作为主链路,第一路由设备与第二路由设备之间的报文仅通过链路3进行传输;B3、以链路1以及链路3作为主链路,第一路由设备与第二路由设备之间的报文同时在链路1与链路3中进行传输,其中,链路1与链路3传输的报文完全一致。203、通过所述主链路传输所述第一路由设备与第二路由设备之间的报文。具体的传输方式与步骤202中选择主链路的方式有关当选择一条链路作为主链路时,将该链路的传输标记设置为传输,发送报文时,判断并行链路的传输标记,选择传输标记为传输的链路传输所述报文;当选择若干条链路组成链路组作为主链路时,将所述链路组中每一条链路的传输标记设置为传输,发送报文时,判断并行链路的传输标记,选择传输标记为传输的链路中的任意一条链路发送所述报文,接收报文时,从传输标记为传输的链路中的任意一条接收所述报文。可以理解的是,除了对链路进行标记之外,还可以采取其他的方式,只要能够在发送报文时区分出主链路与普通链路,并只在主链路上发送报文即可。本发明实施例中由于在发送报文之前先根据预置的规则选择满足预置条件的链路作为主链路,并仅通过主链路进行报文传输,所以不需要在所有链路中传输报文,进而减少了链路中的报文数量,降低了网络资源的浪费,提高了系统性能;其次,本发明实施例在选择主链路时可以选择COST值最小的链路,即可认为是路径最短,或资源消耗最少的链路,所以可以进一步降低网络资源的浪费,提高系统性能。下面结合具体实例对本发明实施例进行详细介绍,在下面的实施例中,以应用于开放最短路径优先路由协议(OSPF,OpenShortestPathFirst)的网络为例进行说明,可以理解的是,本发明实施例同样可以应用于其他在路由设备之间具有并行链路的网络,实现手段基本一致;此外,在下面的实施例中,以路由器作为路由设备的例子进行说明,可以理解的是,同样可以是其他具有路由功能的设备。根据主链路确定方式的不同,将本发明并行链路报文传输方法实施例分为两类一、确定满足预置条件的链路作为主链路请参阅图3,一并参阅图l,本发明实施例中并行链路报文传输方法第一实施例包括301、发送问候报文(HELLO报文);路由器之间相互发送HELLO报文以请求建立邻居关系。302、根据HELLO报文确定并行链路;在本实施例中,OSPF是使用邻居设备发送的HELLO报文头部来分析计算出两台设备间的并行链路的。由于OSPF建立邻接之前除了HELLO报文以外没有其他报文,因此通过分析HELLO报文最为简单快捷。在OSPF的协议报文头部中有这样两个字段路由器标识(RouterID)、域标识(AreaID),如下表所示表1<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>由于一个OSPF进程只有一个RouterID,这样,在同一个区域下,与同一个路由器之间的并行链路都会被划入同一个并行组。如图1中,链路l,2,3将会被划入同一个并行链路组。303、在每条并行链路上相互发送HELLO报文直至达到两路(2-WAY)状态;第一路由器与第二路由器通过每一条并行链路相互发送HELLO报文直至达到2-WAY状态。304、发送数据库描述(DD,DatabaseDescription)报文;当第一路由器与第二路由器之间的每条并行链路均发送过HELLO报文达到2-WAY状态之后,第一路由器与第二路由器相互发送DD报文。本实施例中,发送DD报文时可以选择并行链路中的一条进行发送,可以任意选择一条,也可以按照接口配置选择COST值最小的一条链路,也可以选择IP地址最大的一条链路,还可以按照其他的机制选择一条链路。若此处选择了链路传输DD报文,则可以将该链路作为主链路,则后续发送报文时直接使用该链路,而不需要再次选择主链路,可以理解的是,若该主链路失效,则需要在后续发送报文时重新选择一条满足预置条件的链路作为主链路。305进行链路状态数据库(LSDB,LinkStateDatabase)同步操作;第一路由器与第二路由器之间通过步骤304确定的链路进行LSDB的同步操作,具体的同步可以是发送链路状态请求(LSR,LinkStateRequest)报文并接收链路状态更新(LSU,LinkStateUpdate)报文实现。第一路由器与第二路由器通过确定的链路进行同步操作后,该链路达到完全连接(FULL)状态,则此时将第一路由器与第二路由器之间其他的并行链路均标记达到FULL状态,则第一路由器与第二路由器之间的邻居关系建立完成。306、选择满足预置条件的链路作为主链路;本实施例中,若以发送DD报文时确定的链路作为主链路,且该主链路未失效,则此步骤不需要执行,若发送DD报文时确定的主链路失效,则需要重新选择主链路,则如图1所示,确定3条链路中满足预置条件的链路作为主链路,满足预置条件可以是根据接口配置选择COST值最小的链路作为主链路,或者是选择IP地址最大的链路作为主链路,可以理解的是,同样可以根据实际要求选择满足不同的预置条件的链路作为主链路,此处不作限定。本发明实施例中,在选择COST值最小的链路作为主链路时,如图l所示,假设对于第一路由器而言,链路1的COST值为1,链路2的COST值为5,链路3的COST值为10,对于第二路由器而言,链路1的COST值为10,链路1的COST值为5,链路3的COST值为1,则选择的主链路可能会有三种情况Bl、以链路1作为主链路,第一路由器与第二路由器之间的报文仅通过链路1进行传输;B2、以链路3作为主链路,第一路由器与第二路由器之间的报文仅通过链路3进行传输;B3、以链路1以及链路3作为主链路,第一路由器与第二路由器之间的报文同时在链路1与链路3中进行传输,其中,链路1与链路3传输的报文完全一致。确定主链路后,将该主链路的传输标记设置为传输。307、通过主链路发送链^各状态通告(LSA,LinkStateAdvertisement);假设第一路由器接收到或新产生一个LSA时,按照OSPF的机制,需要将该新的LSA洪泛通知给邻居路由器,第一路由器与第二路由器存在邻居关系,则第一路由器需要将该LSA发送至第二路由器,首先判断每条并行链路的传输标记,若为传输,则将该LSA通过该链路发送至第二路由器。308、通过主链路发送链路状态响应(LSACK)。按照OSPF的机制,路由器在从某个接口接收到一个新的LSA时,需要从其他还没有接收到该LSA的接口将该LSA洪泛至邻居设备,但在本实施例中需要控制该部分LSA的洪泛以减少网络资源的浪费。第二路由器从主链路接收到LSA之后,尝试从其他接口的链路洪泛该LSA,但本实施例中在发送报文之前需要判定该链路的传输标记是否为传输,由于只有主链路的传输标记为传输,则第二路由器不会通过其他链路向邻居设备洪泛该LSA,而又从主链路接收到LSA,所以只从主链路向第一路由器反馈LSACK报文。在上述的实施例中,当路由器开始通过主链路进行LSDB同步之后,若有新的链路加入称为并行链路,则在该链路上相互发送HELLO报文,直至该链路达到2-WAY状态,之后该链路保持2-WAY状态。上述实施例中,若主链路发生故障,则在剩余的并行链路中按照预置的规则重新选择满足预置条件的链路作为主链路。二、确定预置数目的链路组成链路组作为主链路请参阅图3,一并参阅图1,本发明实施例中并行链路报文传输方法第一实施例包4舌401、发送HELLO报文;路由器之间相互发送HELLO报文以请求建立邻居关系。402、根据HELLO报文确定并行链路;具体的确定并行链路的方式与本发明实施例中并行链路报文传输方法第一实施例中的确定方式一致,此处不再赘述。403、在每条并行链路上相互发送HELLO报文直至达到2-WAY状态;第一路由器与第二路由器通过每一条并行链路相互发送HELLO报文直至达到2-WAY状态。404、发送DD报文;当第一路由器与第二路由器之间的每条并行链路均发送过HELLO报文达到2-WAY状态之后,第一路由器与第二路由器相互发送DD报文。本实施例中,发送DD报文时可以选择并行链路中若干条组成链路组进行发送,如图1所示,第一路由器与第二路由器之间有3条并行链路,本实施例中,假设选择全部3条组成链路组,则发送DD报文时可使用3条中的任意一条进行发送,同时,使用3条中的任意一条进行反馈。即DD报文仅发送一次,并且仅反馈一次,但可能使用不同的链路,例如,第一路由器通过链路1向第二路由器发送DD报文,第二路由器通过链路3向第一路由器发送DD报文。若此处选择了链路组传输DD报文,则可以将该链路组作为主链路,则后续发送报文时直接使用该链路组,而不需要再次选择主链路,可以理解的是,若该主链路失效,则在后续发送报文时需要重新选择主链路。405进行LSDB同步操作;第一路由器与第二路由器之间通过步骤404确定的链路组进行LSDB的同步操作,具体的同步可以是发送LSR报文并接收LSU报文实现。如图1所示,和发送DD报文一致的是,进行LSDB同步可使用3条中的任意一条进行发送,同时,使用3条中的任意一条进行反馈。例如,第一路由器通过链路1向第二路由器发送LSR,第二路由器通过链路2向第一路由器反馈LSU。当同步完成之后,则认为该链路组中所有的链路均达到FULL状态,此时第一路由器与第二路由器之间的邻居关系建立完成。406、选择满足预置条件的链路作为主链路;本实施例中,若以发送DD报文时确定的链路组作为主链路,且该主链路未失效,则此步骤不需要执行,若该主链路失效,则需要重新选择主链路,则如图l所示,确定3条链路中预置数目的链路组成链路组作为主链路。确定主链路后,将该主链路的传输标记设置为传输,即是将链路组中每一条链路的传输标记设置为传输。407、通过主链^各发送LSA;假设第一路由器接收到或新产生一个LSA时,按照OSPF的机制,需要将该新的LSA洪泛通知给邻居路由器,第一路由器与第二路由器存在邻居关系,则第一路由器需要将该LSA发送至第二路由器,首先判断每条并行链路的传输标记,若为传输,则将该LSA通过该链路发送至第二路由器,即可以通过链路组中的任意一条链路发送LSA。408、通过主链路发送LSACK。按照OSPF的机制,路由器在从某个接口接收到一个新的LSA时,需要从其他还没有接收到该LSA的接口将该LSA洪泛至邻居设备,但在本实施例中需要控制该部分LSA的洪泛以减少网络资源的浪费。第二路由器从主链路,即链路组中的任意一条链路接收到LSA之后,设置链路组中所有链路均接收到LSA,即不需要再向其他邻居设备洪泛该LSA,则第二路由器尝试从其他接口的链路洪泛该LSA,但本实施例中在发送报文之前需要判定该链路的传输标记是否为传输,由于只有主链路的传输标记为传输,则第二路由器不会通过其他链路向邻居设备洪泛该LSA。在上述的实施例中,当路由器开始通过主链路达到FULL状态之后,若有新的链路加入链路组,则将该链路状态直接修改为FULL状态。上述实施例中,若主链路发生故障,则在剩余的并行链路中按照预置的规则重新选择链路组作为主链路。上述提供了两种实现并行链路报文传输的方式,可以根据实际情况进行选择,为最大程度减少报文数量,可以只选择一条链路作为主链路,用以传输报文,为提高空闲链路的利用率,可以选择若干链路组成链路组作为主链路,所以提高了本发明实施例的灵活性。请参阅图5,本发明实施例中^各由设备实施例包括获取单元501,用于获取自身与第二路由设备的并行链路信息;链路选择单元503,用于根据所述并行链路信息确定自身与所述第二路由设备之间的并行链路中满足预置条件的链路作为主链路;发送控制单元503,用于通过所述主链路传输所述第一路由设备与第二路由设备之间的报文。其中,发送控制单元503包括判定单元5031,用于判断当前链路是否为主链路;发送执行单元5032,用于当当前链路为主链路时发送报文。是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括如下步骤获取第一路由设备与第二路由设备之间的并行链路信息;根据所述并行链路信息在第一路由设备与第二路由设备之间的并行链路中选择出至少一条链路作为主链路;通过所述主链路传输所述第一路由设备与第二路由设备之间的报文。上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明所提供的一种并行链路报文传输方法以及路由设备进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种并行链路报文传输方法,其特征在于,包括获取第一路由设备与第二路由设备之间的并行链路信息;根据所述并行链路信息在第一路由设备与第二路由设备之间的并行链路中选择出至少一条链路作为主链路;通过所述主链路传输所述第一路由设备与第二路由设备之间的报文。2、根据权利要求1所述的并行链路报文传输方法,其特征在于,所述根据所述并行链路信息在第一路由设备与第二路由设备之间的并行链路中选择出至少一条链路作为主链路的步骤包括在报文发送方路由设备连接的并行链路中,根据接口配置选择传输消耗值最小的链路作为主链路;或在报文发送方路由设备连接的并行链路中,根据接口配置选择链路互联网协议地址最大的链路作为主链路。3、根据权利要求1或2所述的并行链路报文传输方法,其特征在于,所述通过主链路传输所述第一路由设备与第二路由设备之间的报文的步骤包括当选择一条链路作为主链路时,将所述链路的传输标记设置为传输;发送报文时,判断并行链路的传输标记;选择传输标记为传输的链路传输所述报文;或当选择若干条链路组成链路组作为主链路时,将所述链路组中每一条链路的传输标记设置为传输;发送报文时,判断并行链路的传输标记;选择传输标记为传输的链路中的任意一条链路发送所述报文;接收报文时,从传输标记为传输的链路中的任意一条接收所述报文。4、一种并行4连^4艮文传输方法,其特征在于,包括建立第一路由器与第二路由器之间的邻居关系;根据建立的邻居关系信息,在第一路由器与第二路由器之间的并行链路中选择一条链路作为主链路;当第一路由器接收到链路状态通告报文或生成链路状态通告报文时,通过所述主链路将所述链路状态通告报文发送至第二路由器;第一路由器通过所述主链路从第二路由器获得反馈链路状态通告响应报文。5、根据权利要求4所述的并行链路报文传输方法,其特征在于,所述建立所述第一路由器与所述第二路由器之间的邻居关系的步骤包括第一路由器与第二路由器之间相互发送问候报文;根据所述问候报文中的路由器标识以及域标识确定所述第一路由器与所述第二路由器之间的并行链路;通过每一条所述并行链路发送问候报文直至每条链路达到两路状态;在所述并行链路中的一条链路上相互发送数据库描述报文;在所述并行链路中的预置的一条链路上进行第一路由器与第二路由器之间的链路状态数据库的同步操作直至该链路达到完全连接状态,将第一路由器与第二路由器之间其他并行链路状态修改为完全连接状态。6、根据权利要求5所述的并行链路报文传输方法,其特征在于,所述预置的一条链路可以为并行链路中任意一条链路,或者是消耗值最小的链路,或者是互联网协议地址最大的链路。7、根据权利要求4,5或6所述的并行链路报文传输方法,其特征在于,所述在第一路由器与第二路由器之间的并行链路中选择一条满足预置条件的链路作为主链路的步骤包括在报文发送方路由设备连接的并行链路中,根据接口配置选择传输消耗值最小的链路作为主链路;或在报文发送方路由设备连接的并行链路中,根据接口配置选择链路互联网协议地址最大的链路作为主链路。8、根据权利要求5所述的并行链路报文传输方法,其特征在于,在第一路由器与第二路由器之间的链路状态数据库的同步操作的步骤之后,若有新的链路加入第一路由器与第二路由器之间的并行链路,则在所述新的链路上相互发送问候报文直至达到两路状态,并保持两路状态。9、一种并行链^4艮文传输方法,其特征在于,包括建立第一路由器与第二路由器之间的邻居关系;根据建立的邻居关系信息,在第一路由器与第二路由器之间的并行链路中选择预置数目的链路组成链路组;当第一路由器接收到链路状态通告报文或生成链路状态通告报文时,通过所述链路组中任意一条链路将所述链路状态通告报文发送至第二路由器;第二路由器接收到所述链路状态通告报文之后,通过所述链路组中任意一条链路向所述第一路由器反馈链路状态通告响应报文。10、根据权利要求9所述的并行链路报文传输方法,其特征在于,所述建立所述第一路由器与所述第二路由器之间的邻居关系的步骤包括第一路由器与第二路由器之间相互发送问候报文;根据所述问候报文中的路由器标识以及域标识确定所述第一路由器与所述第二路由器之间的并行链路;在所述并行链路中的每一条上发送问候报文直至每条链路达到两路状太.在所述并行链路中的预置的一条链路上相互发送数据库描述报文;在所述并行链路中的预置的一条链路上进行第一路由器与第二路由器之间的链路状态数据库的同步操作直至该链路达到完全连接状态,将第一路由器与第二路由器之间其他并行链路状态修改为完全连接状态。11、根据权利要求IO所述的并行链路报文传输方法,其特征在于,所述预置的一条链路可以为并行链路中任意一条链路,或者是消耗值最小的链路,或者是互联网协议地址最大的链路。12、根据权利要求IO所述的并行链路报文传输方法,其特征在于,在第一路由器与第二路由器之间的链路状态数据库的同步操作直至该链路达到完全连接状态的步骤之后,若有新的链路加入所述链路组,则在所述新的链路上相互发送问候报文直至达到两路状态,之后修改所述新的链路的状态为完全连接状态。13、一种路由设备,其特征在于,包括获取单元,用于获取本地及与本地连接的路由设备的并行链路信息;链路选择单元,用于根据所述并行链路信息选择本地及与本地连接的路由设备之间的并行链路中的主链路;发送控制单元,用于通过所述主链路传输所述第一路由设备与第二路由设备之间的报文。14、根据权利要求13所述的路由设备,其特征在于,所述发送控制单元包括判定单元,用于判断当前链路是否为主链路;发送执行单元,用于在当前链路为主链路时发送报文。全文摘要本发明公开了一种并行链路报文传输方法以及路由设备,用于提高系统性能。本发明方法包括获取第一路由设备与第二路由设备之间的并行链路信息;根据所述并行链路信息在第一路由设备与第二路由设备之间的并行链路中选择出至少一条链路作为主链路;通过所述主链路传输所述第一路由设备与第二路由设备之间的报文。此外本发明还提供一种路由设备。本发明可以有效地提高系统性能。文档编号H04L1/22GK101350767SQ200710130438公开日2009年1月21日申请日期2007年7月19日优先权日2007年7月19日发明者超何,魏秀刚申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1