一种虚链路地址的选择方法、装置及网络设备的制作方法

文档序号:7619163阅读:126来源:国知局
专利名称:一种虚链路地址的选择方法、装置及网络设备的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种虚链路地址的选择方法、装置及网络设 备。
背景技术
开放最短路径优先(Open Shortest Path First,0SPF)协议限制所有非骨干区要 与骨干区相连,但是由于拓扑结构设计,有时无法保证每个区域都与骨干区物理连接,为解 决该问题,OSPF协议提出了虚链路的概念,在两台区域边界路由器(Area Border Router, ABR)之间配置虚链路,使其穿越设定的传输区域,建立一条逻辑上的传输通道。虚链路两端 的设备通过单播报文交互邻居报文信息,这些报文通过传输区域的设备转发,最终送达虚 邻居设备。开放最短路径优先协议版本3 (0SPF v3)对于虚邻居,必须要得到邻居的全球单 播地址(一种全球唯一的表示单台设备的地址)才能传输报文信息,所以0SPFv3协议 (RFC5340)规定,OSPF v3路由设备将虚链路的接口地址封装到一个掩码长度为1 位的前 缀结构中,通过intra-area-prefix-LSA向虚链路所在的传输区域通告,这样同一区域的 路由设备就能通过路由计算得到到达该虚链路的主机路由。但是协议没有约定如何选择虚 链路的地址,并且intra-area-prefix-LSA中表示虚链路的信息与其它链路的信息封装格 式没有区别,这样,一旦所选择的虚链路地址不仅在传输区域内通告,而且作为其他区域的 物理接口地址被通告到除了传输区域之外的其他区域,那么其它路由设备可能计算出多条 到达该路由设备的路径,并且优选出除传输区域之外其它区域的路径,那么就会导致虚连 接无法建立。下面以图1所示的例子进行说明图1中,Area 0为骨干区域,Area 1为传输区域,路由设备A和路由设备C、路由 设备C和路由设备B在Area 0中建立邻居,路由设备A和路由设备D、路由设备D和路由设 备B在Area 1中建立邻居,路由设备A和路由设备B之间配置虚连接,该虚连接需要通过 传输区域Area 1,即两者之间的报文实际要通过路由设备D进行交互。路由设备A和路由 设备B作为ABR设备,要保证与骨干区域相连,如果路由设备A连接Area 0的接口 EO出现 链路故障,则路由设备A可以通过其虚链路保证与骨干区域的连接,这里路由设备A和B间 的虚链路可以作为其骨干区物理链路的备份。路由设备A的EO接口配置了全球单播地址2001 1 1/128、2001 2 1/64,路由设 备B的EO接口配置了全球单播地址2001 3 1/128、2001 4 1/64,路由设备A和路由设备 B连接传输区域的El接口没有配置任何全球单播地址。—方面,路由设备B在传输区域(Area 1)没有配置全球单播地址,所以从接 口 EO选择第一个接口地址2001:3: :1/1 作为其虚链路地址,通过区域内前缀链路状 态通告(intra-area-prefix-LSA)向Area 1进行通告;另一方面,由于接口 EO加入了 OSPF v3骨干区域的运行,所以其接口的IP地址还需要作为Area 0的物理接口地址通过intra-area-prefix-LSA 向 Area 0 进行通告,这时通告的 intra-area-pref ix-LSA 中也包 括地址2001:3: :1/128。那么,路由设备A分别从两个区域Area (^PArea 1学习到了表示 接口地址2001:3: :1/128的主机路由信息,通过该信息计算出有两条路径到达路由设备B 的2001 3 1/128接口,如果骨干区域的度量更优(即接口代价值更小),则路由设备A将 优先选择骨干区域的路径(经由路由设备C)作为2001:3::1/1 路由的下一跳路径。其 发往虚链路的0SPFv3报文将通过骨干区域传送,而路由设备B在骨干区域接收到虚链路 0SPFv3报文后会认为是无效报文,进行丢弃处理。这样路由设备A和B之间虚链路就会建 立失败。

发明内容
本发明实施例提供了一种虚链路地址的选择方法、装置及网络设备,用以解决现 有虚链路地址选择的随意性可能导致虚链路无法建立的问题。本发明实施例提供的一种的虚链路地址的选择方法,包括将路由设备中属于全球单播地址的各接口地址,分类归属于设定的多个地址类型 中;所述多个接口地址类型按照优先级从高到低至少包括传输区域的接口地址、非传输 区域的且前缀长度小于1 位的接口地址以及与非传输区域的前缀长度等于1 位的接口 地址;在配置虚链路时,从存在有接口地址的各地址类型中,选择最高优先级的地址类 型的接口地址作为虚链路地址。本发明实施例提供的一种的选择虚链路地址的装置,包括分类模块,用于将路由设备中属于全球单播地址的各接口地址,分类归属于设定 的多个地址类型中;所述多个接口地址类型按照优先级从高到低至少包括传输区域的接 口地址、非传输区域的且前缀长度小于1 位的接口地址以及非传输区域的前缀长度等于 1 位的接口地址;选择模块,用于在配置虚链路时,从存在有接口地址的各地址类型中,选择最高优 先级的地址类型的接口地址作为虚链路地址。本发明实施例提供的一种网络设备,该网络设备包括本发明实施例提供的上述选 择虚链路地址的装置。本发明实施例的有益效果包括本发明实施例提供的一种系统及方法,的问题。本发明实施例提供的虚链路地址的选择方法、装置及网络设备,首先将路由设备 中属于全球单播地址的各接口地址,分类归属于设定的多个地址类型中,多个地址类型按 照优先级从高到低至少包括下述三种类型传输区域的接口地址、非传输区域的且前缀长 度小于1 位的接口地址以及与非传输区域的前缀长度等于1 位的接口地址;在需要配 置虚链路时,从存在有接口地址的各地址类型中,选择最高优先级的地址类型的接口地址 作为虚链路地址,本发明实施例提供的虚链路地址的选择方法,克服了现有技术虚链路地 址选择的随意性,优先选择传输区域的接口地址为虚链路地址,在不存在传输区域的接口 地址时,次优选择其他区域前缀长度小于1 位的接口地址,这样,能够保证在通告虚链路 地址之后,虚链路的路由选择必然经过传输区域,保证虚链路的成功建立;这样可以保证在存在较高优先级的接口地址时,保证虚链路建立成功。即使上述两种接口地址均不存在的 情况下,还可选择其他区域前缀长度等于1 位的接口地址来完成虚链路的建立(存在完 成虚链路的建立的可能),本发明实施例提供的虚链路地址的选择方法、装置及网络设备, 能够较好地避免现有虚链路地址选择的随意性导致虚链路无法建立的问题。


图1为现有技术提供的一种虚链路实例的网络连接示意图;图2为本发明实施例提供的虚链路地址的选择方法的流程图;图3为本发明实施例提供的向三个链表中添加接口地址的步骤的流程图;图4为本发明实施例提供的选择最高优先级的地址类型的接口地址作为虚链路 地址的步骤的流程图;图5为本发明实施例提供的选择虚链路地址的装置的结构示意图之一;图6为本发明实施例提供的分类模块的结构示意图;图7为本发明实施例提供的选择模块的结构示意图;图8为本发明实施例提供的选择虚链路地址的装置的结构示意图之二 ;图9为本发明实施例提供的选择虚链路地址的装置的结构示意图之三。
具体实施例方式下面结合附图,对本发明实施例提供的一种虚链路地址的选择方法、装置及网络 设备的具体实施方式
进行详细地说明。本发明实施例提供的一种虚链路地址的选择方法,如图2所示,包括下述步骤S201、将路由设备中属于全球单播地址的各接口地址,分类归属于设定的多个地 址类型中;设定的多个地址类型按照优先级从高到低至少包括传输区域的接口地址、非传 输区域的且前缀长度小于1 位的接口地址以及与非传输区域的前缀长度等于1 位的接 口地址;S202、在配置虚链路时,从存在有接口地址的各地址类型中,选择最高优先级的地 址类型的接口地址作为虚链路地址。下面对上述各步骤进行详细地说明。在上述步骤S201中,路由设备预先创建一个虚链路地址的备选数据库,该数据库 中,包含多个地址类型对应的数据存储单元,每个数据存储单元用于存储属于该地址类型 的接口地址。针对路由设备中属于全球单播地址的每个接口地址,按照其所属的类型,依次添 加至对应的数据存储单元中。数据存储单元可采用多种数据结构形式,本发明实施例里中以数据链表为例进行 说明,但本发明实施例并不限于此种数据结构。每个链表按照优先级从高到低至少包括传输区域中属于全球单播地址的接口地址所对应的第一链表;非传输区域中属于全球单播地址的且前缀长度小于1 位的接口地址所对应的第二链表;非传输区域中属于全球单播地址的且前缀长度等于1 位的接口地址所对应的
第三链表。上述三个链表的优先级从高到低依次为第一链表、第二链表和第三链表。由于现有0SPFv3协议约定intra-area-pref ix_LSA中表示虚链路接口的前缀长 度必然为1 位,并且虚链路地址选择具有随意性,可能导致虚链路接口的前缀可能被作 为其他区域的物理接口地址被通告至传输区域之外的其他区域,导致了链路选择的不确定 性,发明人在设计中发现,为了排除这种不确定性,可以通过下述三种方式1、优选传输区域的物理接口的全球单播地址作为虚链路地址,这种情况下传输区 域的物理接口的前缀信息只会通告到该传输区域,传输区域中的路由设备计算出的到达虚 链路的路由只会选择为通过该传输区域到达,不存在不确定性;2、如果传输区域不存在有效的全球单播地址,则从其它区域的接口地址中选取前 缀长度小于1 位的地址,这样选择后,根据0SPFv3协议约定,将这个接口地址将以1 位 前缀长度向传输区域通告,而在该物理接口所在区域通告的则为物理接口实际对应网络前 缀信息,即一个小于1 位的前缀。这样通告后,其它设备如果同时计算出2条路由,则根 据掩码最长匹配原则,会优选传输区域的主机路由来通告虚链路报文;3、如果上述两种全球单播地址都不存在,则不得不选用非传输区域的前缀长度为 1 位的接口地址作为虚链路地址,这种情况下,可以通过用户对度量的预先配置,虚链路 的建立选择经过传输区域,这样可以保证虚链路建立成功。从上述三种方式的实施难度、技术效果来看,为了尽可能地排除虚链路路由选择 的不确定性,不难得出上述三种地址类型(即传输区域中属于全球单播地址的接口地址、 非传输区域中属于全球单播地址的且前缀长度小于1 位的接口地址和非传输区域中属 于全球单播地址的且前缀长度等于1 位的接口地址)具有从高到低的优先级。将接口地址按照相应的类别,添加至上述第一链表、第二链表和第三链表中之后, 当接口地址发生添加、删除和变更等事件时,实时地对上述数据库中的三个链表的内容进 行相应的更新。具体的向上述三个链表中添加接口地址的流程图如图3所示S301、初始化三个链表;S302、读取该路由设备第一个接口地址;S303、判断接口地址是否存在;若存在,执行下述步骤S304,若否,执行下述步骤 S311 ;S304、判断该接口地址是否是本地链路地址或环回地址(非全球单播地址);若 是,则执行下述步骤S310 ;若否,则执行下述步骤S305 ;S305、判断该接口地址是否在传输区域,若是执行步骤S306 ;若否,执行步骤 S307 ;S306、将该接口地址加入到第一链表;然后转向步骤S310 ;S307、判断该接口地址的前缀长度是否小于1 位;若是执行步骤S308 ;若否,执 行步骤S309 ;S308、将该接口地址加入到第二链表,然后转向步骤S310 ;
7
S309、将该接口地址加入到第三链表,然后转向步骤S310 ;S310、取下一个接口地址;然后转向步骤S303 ;S311、结束流程。在完成第一、第二和第三链表中的接口地址的添加流程之后,在配置虚链路时,上 述步骤S202从存在有接口地址的各地址类型中,选择最高优先级的地址类型的接口地址 作为虚链路地址,具体来说,如图4所示,通过下述流程实现S401、判断第一链表是否非空,若是,执行下述步骤S402 ;若否,执行下述步骤 S403 ;S402、将第一链表中的接口地址作为虚链路地址,然后转向步骤S407 ;S403、判断第二链表是否非空,若是,执行下述步骤S404;若否,执行下述步骤 S405 ;S404、将第二链表中的接口地址作为虚链路地址,然后转向步骤S407 ;S405、判断第三链表是否非空,若是,执行下述步骤S406 ;若否,执行下述步骤 S407 ;S406、将第三链表中的接口地址作为虚链路地址,然后转向步骤S407 ;S407、结束流程。上述虚链路地址的选择方法,如果所选择的虚链路地址为属于全球单播地址的、 非传输区域的且前缀长度小于1 位的接口地址时,如前述分析可知,为了避免虚链路路 由选择的不确定性,还需要执行下述步骤将所选择的接口地址通过高位填充0封装于长 度为1 位的前缀结构中进行通告。上述虚链路地址的选择方法,如果所选择的虚链路地址为属于全球单播地址的、 非传输区域的且前缀长度等于1 位的接口地址时,如前述分析可知,为了避免虚链路路 由选择的不确定性,还需要执行下述步骤设置传输区域和非传输区域的度量配置,所设置的传输区域和非传输区域的度量 配置保证所述虚链路经由所述传输区域;将所选择的接口地址封装于长度为1 位的前缀结构中进行通告。具体在实施时,可以连接有传输区域和非传输区域的接口,将非传输区域的度量 值(配置信息的一种,表征经由该区域的传输代价)设置地相应较大,同时将传输区域的度 量值设置地相对较小,这样,在进行传输路径选择时,按照最优路径的选择原则,会优先选 择传输区域作为虚链路路径所经由的区域。为了详细地阐明本发明实施例提供的上述虚链路地址选择方法的技术效果,还 是以图1所示的实例进行说明,在图1所示的环境中,假设路由设备B执行上述算法,因 为其不存在传输区域地址,所以第一链表为空,其中接口地址2001:4: :1/64加入第二链 表,接口地址2001 3 1/128加入第三链表,这样路由设备B将选择2001 4: 1/64作为其 在Area 1的虚链路地址0SPFv3协议约定,将生成2001 4: 1/128的前缀信息通过区域1 的intra-area-prefix-LSA通告。即路由设备B将在Area 0通告地址2001 4: 1/64 (因 为接口 EO 加入了 Area 0)和 2001 3 1/128,在 Area 1 通告地址 2001:4: 1/128 (因为 2001:4: 1被选择为虚链路地址)。当A学习到这些信息后,将为路由设备B计算出3条路 由,其中2001:4: :1/64和2001:3: :1/1 将选择骨干区路径,2001:4: :1/1 将选择传输区
8域Area 1路径。A发往虚链路对端的报文根据掩码最优匹配为2001 4: 1/128,这样就能 够做到只要存在更优的可用地址,就能够保证虚链路建立成功,克服了现有技术中的缺陷。基于同一发明构思,本发明实施例还提供了一种虚链路地址的选择装置及网络设 备,由于虚链路地址的选择装置及网络设备解决问题的原理与前述一种虚链路地址的选择 方法相似,因此这些装置和设备的实施可以参见前述方法的实施,重复之处不再赘述。本发明实施例提供的一种选择虚链路地址的装置,如图5所示,包括分类模块501,用于将路由设备中属于全球单播地址的各接口地址,分类归属于设 定的多个地址类型中;所述多个接口地址类型按照优先级从高到低至少包括传输区域的 接口地址、非传输区域的且前缀长度小于1 位的接口地址以及非传输区域的前缀长度等 于1 位的接口地址;选择模块502,用于在配置虚链路时,从存在有接口地址的各地址类型中,选择最 高优先级的地址类型的接口地址作为虚链路地址。进一步地,上述分类模块501,如图6所示,具体包括设置子模块5011,用于为所述多个地址类型分别设置对应的数据存储单元;添加子模块5012,用于针对路由设备中属于全球单播地址的每个接口地址,按照 其所属的类型,依次添加至对应的数据存储单元中。进一步地,上述选择模块502,如图7所示,具体包括读取子模块5021,用于按照该各地址类型优先级高到低的顺序,依次读取各地址 类型对应数据存储单元;以及在判断子模块5022判断结果为是时,读取其中的接口地址作 为虚链路地址;在判断子模块5022判断结果为否时,读取下一优先级的地址类型对应的数 据存储单元直至轮询完所有的数据存储单元;判断子模块5022,用于判断读取子模块5021所读取的数据存储单元是否非空。进一步地,在所述选择模块所选择的虚链路地址为属于全球单播地址的、非传输 区域的且前缀长度小于1 位的接口地址时,本发明实施例提供的选择虚链路地址的装 置,如图8所示,还可以包括封装模块503,用于将所选择的接口地址通过高位填充0封装于长度为1 位的前 缀结构中;通告模块504,用于通告所述封装模块封装的前缀。进一步地,在所述选择模块所选择的虚链路地址为属于全球单播地址的、非传输 区域的且前缀长度等于1 位的接口地址时,本发明实施例提供的选择虚链路地址的装 置,如图9所示,还可以包括设置模块503,用于设置传输区域和非传输区域的度量配置,所述传输区域和非传 输区域的度量配置保证所述虚链路经由所述传输区域;封装模块504,用于将所选择的接口地址封装于长度为1 位的前缀结构中;通告模块505,用于通告所述封装模块封装的前缀。本发明实施例还提供了一种网络设备,所述网络设备包括本发明实施例提供的上 述选择虚链路地址的装置。本发明实施例提供的虚链路地址的选择方法、装置及网络设备,首先将路由设备 中属于全球单播地址的各接口地址,分类归属于设定的多个地址类型中,多个地址类型按照优先级从高到低至少包括下述三种类型传输区域的接口地址、非传输区域的且前缀长 度小于1 位的接口地址以及与非传输区域的前缀长度等于1 位的接口地址;在需要配 置虚链路时,从存在有接口地址的各地址类型中,选择最高优先级的地址类型的接口地址 作为虚链路地址,本发明实施例提供的虚链路地址的选择方法,克服了现有技术虚链路地 址选择的随意性,优先选择传输区域的接口地址为虚链路地址,在不存在传输区域的接口 地址时,次优选择其他区域前缀长度小于1 位的接口地址,这样,能够保证在通告虚链路 地址之后,虚链路的路由选择必然经过传输区域,保证虚链路的成功建立;这样可以保证在 存在较高优先级的接口地址时,保证虚链路建立成功。即使上述两种接口地址均不存在的 情况下,还可选择其他区域前缀长度等于1 位的接口地址来完成虚链路的建立(存在完 成虚链路的建立的可能)。并且,本发明实施例提供的虚链路地址的选择方法、装置及网络设备,在仅存在其 他区域前缀长度等于1 位的接口地址的情况下,还可以通过对度量的优化配置,使得传 输区域的度量最优,同样能够保证虚链路的成功建立。进一步完善了上述虚链路地址选择 的方案,克服了现有技术中虚链路地址选择随意性导致虚链路无法建立的问题。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种虚链路地址的选择方法,其特征在于,包括将路由设备中属于全球单播地址的各接口地址,分类归属于设定的多个地址类型中; 所述多个地址类型按照优先级从高到低至少包括传输区域的接口地址、非传输区域的且 前缀长度小于1 位的接口地址以及与非传输区域的前缀长度等于1 位的接口地址;在配置虚链路时,从存在有接口地址的各地址类型中,选择最高优先级的地址类型的 接口地址作为虚链路地址。
2.如权利要求1所述的方法,其特征在于,将属于全球单播地址的各接口地址,分类归 属于设定的多个地址类型中,具体包括为所述多个地址类型分别设置对应的数据存储单元;针对路由设备中属于全球单播地址的每个接口地址,按照其所属的类型,依次添加至 对应的数据存储单元中。
3.如权利要求1所述的方法,其特征在于,从存在有接口地址的各地址类型中,选择最 高优先级的地址类型的接口地址作为虚链路地址,具体包括按照该各地址类型优先级高到低的顺序,依次读取各地址类型对应数据存储单元;判断读取的数据存储单元是否非空,若是,读取其中的接口地址作为虚链路地址;若 否,读取下一优先级的地址类型对应的数据存储单元直至轮询完所有的数据存储单元。
4.如权利要求1-3任一项所述的方法,其特征在于,在所选择的虚链路地址为属于全 球单播地址的、非传输区域的且前缀长度小于1 位的接口地址时,还包括将所选择的接口地址通过高位填充0封装于长度为1 位的前缀结构中进行通告。
5.如权利要求1-3任一项所述的方法,其特征在于,在所选择的虚链路地址为属于全 球单播地址的、非传输区域的且前缀长度等于1 位的接口地址时,还包括设置传输区域和非传输区域的度量配置,所述传输区域和非传输区域的度量配置保证 所述虚链路经由所述传输区域;将所选择的接口地址封装于长度为1 位的前缀结构中进行通告。
6.一种选择虚链路地址的装置,其特征在于,包括分类模块,用于将路由设备中属于全球单播地址的各接口地址,分类归属于设定的多 个地址类型中;所述多个地址类型按照优先级从高到低至少包括传输区域的接口地址、 非传输区域的且前缀长度小于1 位的接口地址以及非传输区域的前缀长度等于1 位的 接口地址;选择模块,用于在配置虚链路时,从存在有接口地址的各地址类型中,选择最高优先级 的地址类型的接口地址作为虚链路地址。
7.如权利要求6所述的装置,其特征在于,所述分类模块,具体包括设置子模块,用于为所述多个地址类型分别设置对应的数据存储单元;添加子模块,用于针对路由设备中属于全球单播地址的每个接口地址,按照其所属的 类型,依次添加至对应的数据存储单元中。
8.如权利要求6所述的装置,其特征在于,所述选择模块,具体包括读取子模块,用于按照该各地址类型优先级高到低的顺序,依次读取各地址类型对应 数据存储单元;以及在判断子模块判断结果为是时,读取其中的接口地址作为虚链路地址; 在判断子模块判断结果为否时,读取下一优先级的地址类型对应的数据存储单元直至轮询完所有的数据存储单元;判断子模块,用于判断读取子模块所读取的数据存储单元是否非空。
9.如权利要求6-8任一项所述的装置,其特征在于,在所述选择模块所选择的虚链路 地址为属于全球单播地址的、非传输区域的且前缀长度小于1 位的接口地址时,还包括封装模块,用于将所选择的接口地址通过高位填充0封装于长度为1 位的前缀结构中;通告模块,用于通告所述封装模块封装的前缀。
10.如权利要求6-8任一项所述的装置,其特征在于,在所述选择模块所选择的虚链路 地址为属于全球单播地址的、非传输区域的且前缀长度等于1 位的接口地址时,还包括设置模块,用于设置传输区域和非传输区域的度量配置,所述传输区域和非传输区域 的度量配置保证所述虚链路经由所述传输区域;封装模块,用于将所选择的接口地址封装于长度为1 位的前缀结构中; 通告模块,用于通告所述封装模块封装的前缀。
11.一种网络设备,其特征在于,所述网络设备包括如权利要求6-10任一项所述的选 择虚链路地址的装置。
全文摘要
本发明公开了一种虚链路地址的选择方法、装置及网络设备。其中方法包括将路由设备中属于全球单播地址的各接口地址,分类归属于设定的多个地址类型中;多个地址类型按照优先级从高到低至少包括传输区域的接口地址、非传输区域的且前缀长度小于128位的接口地址以及与非传输区域的前缀长度等于128位的接口地址;在配置虚链路时,从存在有接口地址的各地址类型中,选择最高优先级的地址类型的接口地址作为虚链路地址。本发明可以解决现有虚链路地址选择的随意性可能导致虚链路无法建立的问题。
文档编号H04L12/56GK102118317SQ20111007261
公开日2011年7月6日 申请日期2011年3月24日 优先权日2011年3月24日
发明者李磊, 黄崇滨 申请人:北京星网锐捷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1