CN112953834A - 网络区域划分方法、网络设备和系统 - Google Patents
网络区域划分方法、网络设备和系统 Download PDFInfo
- Publication number
- CN112953834A CN112953834A CN202011403422.5A CN202011403422A CN112953834A CN 112953834 A CN112953834 A CN 112953834A CN 202011403422 A CN202011403422 A CN 202011403422A CN 112953834 A CN112953834 A CN 112953834A
- Authority
- CN
- China
- Prior art keywords
- network
- link state
- network device
- path
- state data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 117
- 238000012545 processing Methods 0.000 claims description 23
- 238000000638 solvent extraction Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 46
- 230000000737 periodic effect Effects 0.000 abstract description 7
- 235000008694 Humulus lupulus Nutrition 0.000 description 105
- 230000015654 memory Effects 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 101001023359 Homo sapiens Lung adenoma susceptibility protein 2 Proteins 0.000 description 5
- 102100035138 Lung adenoma susceptibility protein 2 Human genes 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- ABEXEQSGABRUHS-UHFFFAOYSA-N 16-methylheptadecyl 16-methylheptadecanoate Chemical group CC(C)CCCCCCCCCCCCCCCOC(=O)CCCCCCCCCCCCCCC(C)C ABEXEQSGABRUHS-UHFFFAOYSA-N 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005417 image-selected in vivo spectroscopy Methods 0.000 description 1
- 238000012739 integrated shape imaging system Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
- H04L45/507—Label distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种网络区域划分方法、网络设备和系统,在执行该网络区域划分方法的过程中,每个网络节点收集预设跳数内的其他网络节点的链路状态数据,通过收集到的链路状态数据划分网络区域。进一步的在周期更新的过程中,对收集到的链路状态数据进行更新,并在链路状态数据更新后,对网络区域也进行更新。实现对网络区域的自动划分。
Description
本申请对申请号为201611205234.5,申请日为2016年12月23日,发明名称为“网络区域划分方法、网络设备和系统”的中国专利申请提出分案申请。
技术领域
本申请涉及通信技术领域,更具体的说,涉及一种网络区域划分方法、网络设备和系统。
背景技术
针对较大规模的网络,网络节点数量也较多,且还会随时增加新的网络节点以满足网络规模扩大的需求。目前,基于内部网关协议(Interior Gateway Protocol,IGP)在进行区域划分的过程中,网络被划分为一个骨干区和多个非骨干区。
如图1所示,骨干区AREA 0接入两个区域AREA 1和AREA 2,AREA 1由网络节点R1-R4-R5-R8-R2构成,AREA 2由网络节点R2-R8-R6-R7-R3构成。AREA 1和AREA 2之间有一段共享链路R2-R8为了达到区域的区分,需要为该共享链路配置子接口,使区域配置维护更加复杂。如图2所示,当网络新增的两个网络节点R9和R10就近接入网络时,很难为新增网络节点划分区域。若将R9和R10划分至AREA 1内或者将其规划至AREA2内,则需要断开AREA 1和AREA 2的连接;若将其划分成新区域AREA3,则需要在共享的链路R2-R6和R3-R7上配置子接口,增加区域配置维护的复杂度。因此,新增网络节点越多,则对于区域的划分将越来越复杂,配置维护也会更为复杂。
在现有技术中,利用网络中部署的网络控制设备进行网络区域划分,通过先收集网络拓扑,然后基于软件算法获得拓扑网络节点,最后下发包含区域划分规划的路由协议配置到各个网络节点上。但是,上述进行网络区域划分的过程对软件要求高,只适用于较为简单的拓扑情况,或者人为规划来完成较为复杂的网络区域划分,导致网络区域划分效率低。
发明内容
有鉴于此,本申请实施例提供一种网络区域划分方法、网络设备和系统,用于解决现有技术中采用软件算法,或人为规划完成复杂网络区域划分时效率低的问题。
为解决上述技术问题,本申请实施例采用了如下技术方案:
本申请第一方面提供一种网络区域划分方法,包括:
第一网络设备接收多个网络设备的多个链路状态数据;
根据所述多个网络设备分别到所述第一网络设备的跳数,从所述多个链路状态数据中确定出一个或多个链路状态数据,其中,所述一个或多个链路状态数据属于所述多个网络设备中的一个或多个网络设备;
根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
上述方案利用跳数和链路状态数据便可以实现对网络区域的划分。实现了网络区域的自动划分,不需要人为操作。
可选地,所述根据所述多个网络设备分别到所述第一网络设备的跳数,从所述多个链路状态数据中确定出一个或多个链路状态数据,具体包括:
根据链路状态数据所属的网络设备到所述第一网络设备的跳数与预设值的比较结果,从所述多个链路状态数据中确定出所述一个或多个链路状态数据。
可选地,方法还包括:
确定第一网络设备在所述网络区域内转发报文所需经过的一个或多个网络设备;
分配路径标签,通过所述路径标签的指示使所述报文沿经过所述一个或多个网络设备的路径转发。
基于路径标签转发报文,能够避免环路问题。
可选地,确定所述一个或多个网络设备,具体包括:
确定从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费;
根据所述路径花费和所述第一网络设备对应的最小出境花费,确定所述一个或多个网络设备;所述最小出境花费为从所述第一网络设备分别到达所述网络区域中的各个边界网络设备的路径花费之中的最小值。
可选地,所述根据所述路径花费和所述第一网络设备对应的最小出境花费,确定所述一个或多个网络设备,具体包括:
当从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费均小于所述最小出境花费时,将所述路径上的网络设备中所述路径花费最大的网络设备确定为所述一个或多个网络设备。
可选地,所述根据所述路径花费和所述第一网络设备对应的最小出境花费,确定所述一个或多个网络设备,具体包括:
当从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费中,存在大于或等于所述最小出境花费的路径花费时,将所述路径上的网络设备中所述大于或等于所述最小出境花费的路径花费对应的网络设备确定为所述一个或多个网络设备。
以上方案中,在避免产生路径环路的条件下,减少了逐跳分配路径标签的数量,优化了路径标签的分配方式。
可选地,所述路径标签为分段路由SR节点标签。
可选地,链路状态数据携带在报文中。
可选地,在所述根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备之前,所述方法还包括:
根据携带所述一个或多个链路状态数据的报文的类型、链路状态标识和通告路由器确定需要保存的报文;或者,根据携带所述一个或多个链路状态数据的报文的类型、链路状态标识、通告路由器和链路状态序列号确定需要保存的报文;
对所述需要保存的报文进行保存;
所述根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备,具体包括:
根据保存的报文中携带的链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
可选地,所述对所述需要保存的报文进行保存,具体包括:
将所述需要保存的报文保存至所述第一网络设备本地的链路数据库。
本申请第二方面提供一种第一网络设备,包括:
接收单元,用于接收多个网络设备的多个链路状态数据;
处理单元,用于根据所述多个网络设备分别到所述第一网络设备的跳数,从所述多个链路状态数据中确定出一个或多个链路状态数据,其中,所述一个或多个链路状态数据属于所述多个网络设备中的一个或多个网络设备;根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
可选地,所述处理单元具体用于:
根据链路状态数据所属的网络设备到所述第一网络设备的跳数与预设值的比较结果,从所述多个链路状态数据中确定出所述一个或多个链路状态数据。
可选地,第一网络设备还包括:
计算单元,用于确定第一网络设备在所述网络区域内转发报文所需经过的一个或多个网络设备;
转发单元,用于分配路径标签,通过所述路径标签的指示使所述报文沿经过所述一个或多个网络设备的路径转发。
可选地,所述转发单元具体用于:
确定从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费;
根据所述路径花费和所述第一网络设备对应的最小出境花费,确定所述一个或多个网络设备;所述最小出境花费为从所述第一网络设备分别到达所述网络区域中的各个边界网络设备的路径花费之中的最小值。
可选地,所述转发单元具体用于:
当从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费均小于所述最小出境花费时,将所述路径上的网络设备中所述路径花费最大的网络设备确定为所述一个或多个网络设备。
可选地,所述转发单元具体用于:
当从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费中,存在大于或等于所述最小出境花费的路径花费时,将所述路径上的网络设备中所述大于或等于所述最小出境花费的路径花费对应的网络设备确定为所述一个或多个网络设备。
可选地,所述路径标签为分段路由SR节点标签。
可选地,链路状态数据携带在报文中。
可选地,所述处理单元还用于:
根据携带所述一个或多个链路状态数据的报文的类型、链路状态标识和通告路由器确定需要保存的报文;或者,根据携带所述一个或多个链路状态数据的报文的类型、链路状态标识、通告路由器和链路状态序列号确定需要保存的报文;
所述第一网络设备还包括:存储单元,用于对所述需要保存的报文进行保存;
所述处理单元具体用于:
根据保存的报文中携带的链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
可选地,所述存储单元具体用于:
将所述需要保存的报文保存至所述第一网络设备本地的链路数据库。
本申请第三方面提供一种网络区域划分系统,所述网络区域划分系统包括第一网络设备和其他的多个网络设备;其中,
所述多个网络设备,用于向所述第一网络设备发送多个链路状态数据;
所述第一网络设备,用于接收所述多个网络设备的多个链路状态数据;根据所述多个网络设备分别到所述第一网络设备的跳数,从所述多个链路状态数据中确定出一个或多个链路状态数据,其中,所述一个或多个链路状态数据属于所述多个网络设备中的一个或多个网络设备;根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术公开的部分网络区域划分的示意图;
图2为现有技术公开的新增网络节点后的部分网络区域划分的示意图;
图3为本申请实施例公开的一种网络区域划分的应用场景示意图;
图4为本申请实施例公开的一种网络区域划分的方法流程示意图;
图5为本申请实施例公开一种网络区域划分的方法流程示意图;
图6为本申请实施例公开的一种网络区域划分的应用场景示意图;
图7为本申请实施例公开的另一种网络区域划分的方法流程示意图;
图8为本申请实施例公开的另一种网络区域划分的方法流程示意图;
图9为本申请实施例公开的一种网络区域划分的应用场景示意图;
图10为本申请实施例公开的一种分配SR节点标签的方法流程示意图;
图11为本申请实施例公开的一种分配SR节点标签的方法流程示意图;
图12为本申请实施例公开的另一种分配SR节点标签的方法流程示意图;
图13为本申请实施例公开的一种分配SR节点标签的方法流程示意图;
图14为本申请实施例公开的一种网络设备的结构示意图;
图15为本申请实施例公开的一种网络设备的硬件结构示意图;
图16为本申请实施例公开的一种网络区域划分系统的结构示意图。
具体实施方式
由背景技术可知,现有技术在基于IGP进行网络区域划分的过程中,利用网络中部署的网络控制设备进行网络区域规划,通过先收集网络拓扑,然后基于软件算法获得拓扑网络节点,最后下发包含区域划分规划的路由协议配置到各个网络节点上。但是,上述进行网络区域规划对软件要求高,只适用于较为简单的拓扑情况,或者配合人为规划来完成较为复杂的网络区域规划效率低。
因此,本申请实施例提供了一种自动进行网络区域划分的技术方案,在网络区域划分的过程中,划分一个骨干区域和多个非骨干区域。其中,上层的区域为骨干区域,下层的区域为非骨干区域。该骨干区域用来连通其他下层的非骨干区域。针对非骨干区域的划分,由每个网络节点基于预先扩展的IGP协议报文,收集预设跳数内的其他网络节点的链路状态数据,建立可控的链路状态数据库,从而得到自动划分的网络区域。
相较于现有技术,本申请实施例在进行非骨干区域划分的过程中,在没有人为规划的情况下,只收集预设跳数内的网络节点的链路状态数据,建立可控的链路状态数据库,并基于该可控的链路状态数据库,自动划分相应的网络区域。
在本申请实施例中提到的网络节点或网络设备,可以是交换机、路由器等其他具有相似或相同功能的网络设备。
可选地,在本申请实施例中提到的预先扩展的IGP协议报文,具体为在该IGP协议报文的报文头中扩展Hops字段,可以扩展于该协议报文头的现有字段中,也可以另设新的字段。
IGP协议包括路由信息协议(Routing Information Protocol,RIP)、开放最短路径优先(Open Shortest Path First,OSPF)协议、中间系统到中间系统路由(IntermediateSystem to Intermediate System,IS-IS)协议、内部网关路由选择协议(InteriorGateway Routing Protocol,IGRP)和增强型内部网关路由选择协议(Enhanced InteriorGateway Routing Protocol,EIGRP)。
本申请实施例以OSPF协议为例进行说明。OSPF协议也可以称为链路状态路由协议。配置该OSPF协议的网络节点,可以获取所有其他网络节点的信息来创建网络的拓扑结构,并在拓扑结构中选择到达所有目的网络的最佳路径。且只有链路状态发生变化时,该网络节点才向所有网络节点发送链路状态发生变化的信息。在OSPF协议中,OSPF网络区域的拓扑结构可以用链路状态数据库进行描述,位于同一网络区域内的网络节点具有相同的链路状态数据库。
本申请实施例以OSPF协议为例,在执行本申请公开的网络区域划分方法中,预先对协议报文进行扩展。
如表1所示,在链路状态广播报文头/链路状态公告报文头(link stateadvertisement Head,LSA Head)中添加Hops字段。链路是任何类型的OSPF路由器间的连接,状态指链路的状态。该Hops字段所配置的值用于标识向该网络节点发送生成的链路状态广播/链路状态公告(link state advertisement,LSA)所经历的跳数。
在扩展协议报文的过程中,可选的,可以将扩展的Hops字段添加于LSA Head的链路状态类型(Link State Type,LS Type)字段中,也可以另设字段。
如表1所示的LSA Head格式,将该Hops字段添加于LSA Head的LS Type字段中。
表1.LSA Head格式
其中,LS Type字段、Link State ID字段、Advertising Router字段和LSsequence number字段用于决定是否为同一个LSA的信息。
在LSA Head中,LS Type字段是一个8bit的字段。具体的,如表2所示,Hops字段添加于该LS Type字段的最高位之后的4bit位内。
表2.LS Type字段
其中,最高位为S bit位,当该最高位置1时,用于标识执行本申请实施例公开的网络区域划分的技术方案。Hops字段占有4个bit位,基于该Hops字段的作用,其为动态配置的。具体为,生成LSA的该网络节点将该Hops字段置为0,在链路状态数据库泛洪的过程中,每一次向下一跳发送LSA时,则该Hops字段中的值加1。
Type字段占有3个bit位,具有7种定义:
1.Router-LSAs为路由器LSA,由每个路由器生成,用于描述路由器的链路状态和花费,并传递到整个非骨干区域。
2.Network-LSAs为网络LSA,由指定路由器(Designated Router,DR)生成,用于描述本网段的链路状态,并传递到整个非骨干区域。
3.Summary-LSAs(IP network)为网络汇总LSA。
4.Summary-LSAs(ASBR)为自治系统边界路由器(Autonomous System BoundaryRouter,ASBR)汇总LSA,由区域边界路由器(Area Border Router,ABR)生成,用于描述到ASBR的路由,并传递到相关区域。
5.AS-external-LSAs为外部属性LSA,由ASBR生成,用于描述到AS外部的路由,传递到整个自治系统(Autonomous System,AS),末梢区域除外。
6.Group membership LSA为成员LSA。
7.NSSA External LSA为非特别边缘区域外部LSA。
以OSPF协议为例,执行本申请实施例公开的网络区域划分的技术方案,基于上述扩展的LSA,每个网络节点收集预设跳数内的其他网络节点的链路状态数据,建立可控的链路状态数据库,自动得到划分的网络区域的拓扑结构,具体通过以下实施例进行详细说明。
实施例一
在本申请实施例中,作为举例,图3示出了一个应用场景。在该应用场景中包括4个网络节点。在图3中分别用A、B、C、D表示这4个网络节点。该4个网络节点具有相同的区域ID,相互之间通过周期性的发送Hello报文建立并维持邻接关系。
例如,网络节点A以自身为中心节点,收集预设2跳内的网络节点的链路状态数据,建立链路状态数据库,自动得到划分的网络区域AREA A。
如图3可知,在网络节点A收集邻接的网络节点的链路状态数据的过程中,网络节点B与网络节点A之间具有1跳的距离。网络节点C与网络节点A之间具有2跳的距离。网络节点D与网络节点A之间具有3跳的距离。以OSPF协议为例,网络节点B、网络节点C和网络节点D生成携带有各自链路状态数据的LSA,并在LSA Head的LS Type字段中扩展Hops字段,且该Hops字段置为0。然后,网络节点B、网络节点C和网络节点D将预先扩展有Hops字段的LSA发送给网络节点A,且每经过一个网络节点则该预先扩展的Hops字段加1。
如图4所示,为执行本申请实施例公开的一种网络区域划分方法划分AREA A的流程示意图,包括:
网络节点A收集具有1跳距离的网络节点B生成的LSA1的过程为S101~S103。
S101:网络节点B将生成的LSA1发送给网络节点A,该LSA1中扩展有Hops字段,该Hops字段中初始的Hops值为0。
S102:网络节点A接收网络节点B发送的LSA1,在该LSA1中的Hops值的基础上加1,将该Hops值修改为1,生成Hops值为1的LSA2。
S103:网络节点A判断该LSA2中的Hops值小于预设跳数,则将该LSA2保存于本地。
在S103中,预设跳数为2,该预设跳数用于指示网络节点A能够收集的网络节点为距离网络节点A2跳以内,包括2跳的网络节点。
网络节点A收集具有2跳距离的网络节点C生成的LSA3的过程为S104~S108。
S104:网路节点C将生成的LSA3发送给网络节点B,该LSA3中扩展有HOPS字段,该Hops字段中初始的Hops值为0。
S105:网络节点B接收网络节点C发送的LSA3,在该LSA3中的Hops值的基础上加1,将该Hops值修改为1,生成Hops值为1的LSA4。
S106:网络节点B判断该LSA4中的Hops值小于预设跳数,将该LSA4保存于本地,并将该LSA4发送给网络节点A。
S107:网络节点A接收网络节点B发送的LSA4,在该LSA4中的HOPS值的基础上加1,将该Hops值修改为2,生成Hops值为2的LSA5。
S108:网络节点A判断该LSA5中的Hops值等于预设跳数,将该LSA5保存于本地。
网络节点A收集具有3跳距离的网络节点D生成的LSA6的过程为S109~S115。
S109:网络节点D将生成的LSA6发送给网络节点C,该LSA6中扩展有Hops字段,该Hops字段中初始的Hops值为0。
S110:网络节点C接收网络节点D发送的LSA6,在该LSA6中的Hops值的基础上加1,将该Hops值修改为1,生成Hops值为1的LSA7。
S111:网络节点C判断该LSA7中的Hops值小于预设跳数,将该LSA7保存于本地,并将该LSA7发送给网络节点B。
S112:网络节点B接收网络节点C发送的LSA7,在该LSA7中的Hops值的基础上加1,将该Hops值修改为2,生成Hops值为2的LSA8。
S113:网络节点B判断该LSA8中的Hops值等于预设跳数,将该LSA8保存于本地,并将该LSA8发送给网络节点A。
S114:网络节点A接收网络节点B发送的LSA8,在该LSA8中的Hops值的基础上加1,将该Hops值修改为3,生成Hops值为3的LSA9。
S115:网络节点A判断该LSA9中的Hops值大于预设跳数,将该LSA9丢弃。
S116:网络节点A基于保存于本地的LSA,确定预设跳数内的网络节点B、网络节点C和网络节点A属于网络节点A可见的网络区域AREA A。
可选的,网络节点A可以根据保存于本地的LSA得到相应的链路状态数据库,进而得到网络节点A、网络节点B和网络节点C之间的拓扑结构,由该拓扑结构确定网络节点A可见的网络区域AREA A。
需要说明的是,在附图4中,仅为了方便查看流程,网络节点A收集网络节点B、网络节点C和网络节点D发送的LSA并没有一定的先后顺序。
在本申请实施例公开的网络区域划分的技术方案中,网络节点A收集与其具有邻接关系的网络节点B、网络节点C、网络节点D发送的LSA,该LSA中均扩展有Hops字段。在各个网络节点初始生成的LSA中,Hops字段初始的Hops值被置为0,随着LSA的发送,每发送一跳,经过一个网络节点,则Hops字段的Hops值则自动加1,直至发送至网络节点A。网络节点A在将接收到的LSA中的Hops字段中的Hops值加1后,与预设跳数进行大小判断,将当前Hops值值小于预设跳数,以及当前Hops值等于预设跳数的LSA在本地保存,从而得到自动划分的网络节点A可见的网络区域。通过只收集预设跳数内的网络节点的链路状态数据,并基于该链路状态数据,得到相应的网络区域。
如图5所示,为本申请实施例提供的一种网络区域划分的方法流程示意图。图5所示的方法中涉及的第一网络设备和第二网络设备为非骨干网络节点。举例来说,该网络区域划分的方法可以应用于图3所述的应用场景中。图3中的网络节点A可以是图5所示的方法中涉及的第一网络设备,图3中的网络节点B和网络节点C可以是图5所示的方法中涉及的第二网络设备。图5所示的方法包括S201和S202。
S201:第一网络设备接收第二网络设备发送的第一协议报文,该第一协议报文包含跳数Hops,所述Hops用于标识所述第一协议报文从第二网络设备向第一网络设备发送过程中经过的网络设备数量,该经过的网络设备包括第一网络设备。
可选的,具体实现时,该第一协议报文为OSPF协议报文。作为举例,该Hops可以添加于LSA报文的LSA Head中。在具体实现时,该Hops可以具体添加于该LSA Head的LS Type字段中,也可以在该LSA Head中扩展其他字段用于标识该Hops。
可选的,具体实现时,该第一协议报文为ISIS协议报文。作为举例,该Hops可以添加于链路状态报文(Link State packet,LSP)报文中。在具体实现时,可以在LSP报文中扩展TVL,并在扩展的TLV中添加该Hops。
S202:当第一网络设备确定Hops小于或等于预设值时,该第一网络设备设置第二网络设备与第一网络设备属于同一区域。
可选的,具体实现时,第一网络设备将接收到的第一协议报文中当前的Hops值与预设值进行比较,确定的结果为该Hops值小于或等于预设值时,则将发送该第一协议报文的第二网络设备设置为与第一网络设备属于同一区域,即属于第一网络设备的可见区域。
可选的,具体实现时,第一网络设备将接收到的第一协议报文中当前的Hops值与预设值作差,确定的结果为该Hops值小于或等于预设值时,则将发送该第一协议报文的第二网络设备设置为与第一网络设备属于同一区域,即属于第一网络设备的可见区域。
作为举例,若第三网络设备与第一网络设备建立邻居关系,且该第三网络设备与第二网络设备不是同一设备。当该第一网络设备作为第二网络设备向第三网络设备发送第一协议报文的中间设备时,该第一网络设备将第一协议报文中的Hops修改为Hops加1,并将修改Hops后的第一协议报文发送给第三网络设备。
在本申请实施例中,在非骨干网络节点在划分自己可见的区域的过程中,只收集预设跳数内的网络节点的链路状态数据,基于该链路状态数据自动得到相应的网络区域。
实施例二
在本申请实施例中,作为举例,基于上述本申请实施例一公开的网络区域划分方法得到的网络节点A可见的网络区域AREA A。结合附图4网络节点A在本地保存的LSA,网络节点A在周期更新过程中,如图6所示的一应用场景。结合附图3示出的应用场景,在如图6示出的该应用场景中接入网络节点E。当该网络节点E就近接入网络区域AREA A时,该网络节点E会发送扩展有Hops字段的LSA至网络节点A。其中,网络节点E生成的LSA10需要经过1跳发送至网络节点A。
如图6所示,接入的网络节点E与网络节点B之间也建立了链路。则网络节点A在周期更新过程中,基于接收到的LSA自动划分可见的网络区域的过程,如图7所示,以对网络节点E和网络节点B的处理进行举例说明,包括:
S301:网络节点A接收到网络节点E发送的LSA10,在该LSA10中的Hops值的基础上加1,将该Hops值修改为1,生成Hops值为1的LSA11。
S302:网络节点A判断该LSA11中的Hops值小于预设跳数,检查本地链路状态数据库中是否存在与该LSA11具有相同类型(Type)、链路状态标识(Link State ID)、通告路由器(Advertising Router)和链路状态序号(LS sequence number)的LSA。
在S302中,Type,Link State ID,Advertising Router和LS sequence number是LSA的关键信息,是一个LSA的唯一标志。
LS sequence number字段中的值,用于标识LSA是否是一个最新包,网络节点每生成一个新的LSA时,将该序号加1。
S303:网络节点A检查到本地链路状态数据库中没有一致的LSA,将该LSA11保存于本地链路状态数据库中。
如图6所示,基于上述接入的网络节点E,其与网络节点B之间也建立了链路,因此,网络节点B向网络节点A发送生成的LSA时,除通过与网络节点A之间的链路直接发送给网络节点A之后,还可以通过网络节点E发送给网络节点A。
相应的,在区域划分过程中,网络节点C向网络节点A发送生成的LSA时,也可以通过链路C->B->E->A,经由网络节点E发送给网络节点A。但是,网络节点C经过接入的网络节点E向网络节点A发送生成的LSA,超出了网络节点A收集链路状态数据的预设跳数,因此,舍弃经由链路C->B->E->A发送的LSA。
相应的,网络节点D也可以通过链路D->C->B->E->A,经由网络节点E发送给网络节点A,但是,同样超出了网络节点A收集链路状态数据的预设跳数。具体发送LSA的过程与经由链路D->C->B->A发送LSA的过程类似,这里不再进行赘述。
如图7所示,网络节点A收集网络节点B生成的LSA12的过程为S304~S309。
S304:网络节点A分别接收网络节点B经过链路B->A和B->E->A发送的LSA12。
在S304中,网络节点B经过链路B->A将LSA12发送至网络节点A只经历了1跳,网络节点A对接收到的该LSA12中的Hops加1后,生成Hops值为1的LSA13。网络节点B经过链路B->E->A将LSA12发送至网络节点A需要经历2跳,在中间节点网络节点E对接收到的该LSA12中的Hops加1后,再发送给网络节点A,由网络节点A再次对Hops加1,生成Hops值为2的LSA14。
S305:网络节点A判断该LSA13中的Hops值小于预设跳数,检查本地链路状态数据库中是否存在与该LSA13具有相同Type字段、Link State ID字段、Advertising Router字段和LS sequence number字段的LSA。
S306:网络节点A检查到本地链路状态数据库中存在与LSA13具有相同Type字段、Link State ID字段、Advertising Router字段的LSA2,且LSA13的LS sequence number值大于LSA2的LS sequence number字段中的数值,删除LSA2,将LSA13保存于本地链路状态数据库中。
在S306中,LS sequence number字段,用于标识LSA是否是一个最新包。网络节点每生成一个新的LSA时,将该LS sequence number字段中的序号加1。在周期更新的过程中,网络节点B新生成的LSA的序号要大于前一次生成的LSA中的序号,因此将新的LSA替代旧的LSA。
相应的,网络节点C新生成的LSA经由链路C->B->A发送至网络节点A处,参照上述网络节点B的处理流程,也将替代网络节点A的本地链路状态数据库中存储的旧的LSA。
S307:网络节点A判断该LSA14中的Hops值小于预设跳数,检查本地链路状态数据库中是否存在与该LSA14具有相同的Type字段、Link State ID字段、Advertising Router字段和LS sequence number字段的LSA。
S308:网络节点A检查到本地链路状态数据库中存在与LSA14具有相同Type字段、Link State ID字段、Advertising Router字段和LS sequence number字段的LSA13,比较LSA14和LSA13的Hops值的大小。
S309:网络节点A确定LSA14的Hops值大于LSA13的Hops值,将LSA14丢弃。
在S309中,网络节点接收到的LSA13和LSA14是网络节点B通过不同的链路发送给网络节点A的,两者的Type字段、Link State ID字段、Advertising Router字段和LSsequence number字段均相同。因LSA13和LSA14的发送链路的长短不同,在本申请实施例中,选择保留经过最短路径发送的LSA。也就是说,仅保存Hops值最小的LSA。另外,如果两者的Hops值相同,则均保存于本地链路状态数据库中。
需要说明的是,在附图7中,仅为了方便查看流程,网络节点A收集网络节点B和网络节点E并没有一定的先后顺序。
在本申请实施例中,网络节点A在周期更新的过程中,对接收到的LSA中的Hops值加1后,与预设跳数进行大小比较,若大于则直接丢弃,若小于或等于则进一步检查本地建立的链路状态数据库中保存的LSA,并根据检查结果调整本地建立的链路状态数据库中保存的LSA。经由调整后的链路状态数据库,网络节点A可以随时根据接入的网络节点或删减的网络节点,适时进行可见网络区域的变更。
如图8所示,为本申请实施例提供的一种网络区域划分的方法流程示意图。图8所示的方法中涉及的第一网络设备和第二网络设备为非骨干网络节点。举例来说,该网络区域划分的方法结合附图4示出的方法,可以应用于附图6所述的应用场景中。图6中的网络节点A可以是图8所示的方法中涉及的第一网络设备。图4中网络节点B发送到网络节点A的LAS2,网络节点C发送到网络节点A的LAS5可以是图8所示的方法中涉及的第一协议报文。图6中的网络节点E发送到网络节点A的LSA11可以为图8所示的方法中涉及的第一协议报文。图6中的网络节点B发送到网络节点A的LSA13可以是图8所示的方法中涉及的第一协议报文,可以是第二协议报文。图6中的网络节点B发送到网络节点A的LSA14可以是图8所示的方法中涉及的第三协议报文。图8所示的方法包括S401、S402、S403和S404。
S401:第一网络设备确定当前接收到的协议报文中的Hops小于或等于预设跳数,基于链路状态数据库中协议报文对接收到的协议报文进行检查。
S402:当第一网络设备确定第一网络设备的链路状态数据库中不存在Type与第一协议报文的Type相同,Link State ID与第一协议报文的Link State ID相同,且Advertising Router与第一协议报文的Advertising Router相同的协议报文时,将第一协议报文存储在所述链路状态数据库中。
在具体实现中,第一网络设备检查链路状态数据库,若发现没有与当前接收到的协议报文Type,Link State ID和Advertising Router一致的协议报文,则将当前接收到的协议报文存储于链路状态。作为举例,网络节点A作为第一网络设备,网络节点B、网络节点C和网络节点E作为第二网络设备时,网络节点B发送到网络节点A的LAS2,网络节点C发送到网络节点A的LAS5,图6中的网络节点E发送到网络节点A的LSA11均是第一次发送给网络节点A,则作为第一协议报文存储于第一网络设备的链路状态数据库中。
S403:当第一网络设备确定链路状态数据库存在第二协议报文,第二协议报文的Type与第一协议报文的Type相同,第二协议报文的Link State ID与第一协议报文的Type相同,第二协议报文的Advertising Router与第一协议报文的Advertising Router相同,并且第二协议报文的LS sequence number比第一协议报文的LS sequence number大时,将第二协议报文存储在链路状态数据库中,并从链路状态数据库中删除第一协议报文。
作为举例,网络节点A作为第一网络设备,网络节点B作为第二网络设备,网络节点B发送到网络节点A的LAS2作为第一协议报文存储后,在网络设备A接收到网络节点B发送的LSA13,该LSA13作为第二协议报文,因LSA13的LS sequence number比LAS2的LS sequencenumber大,用LSA13替换LAS2,存储于链路状态数据库中。
S404:当第一网络设备确定链路状态数据库存在第三协议报文,第三协议报文的Type与第一协议报文的Type相同,第三协议报文的Link State ID与第一协议报文的Type相同,第三协议报文的Advertising Router与第一协议报文的Advertising Router相同,第三协议报文的LS sequence number与第一协议报文的LS sequence number相同,并且第一协议报文的Hops比第三协议报文的Hops小时,则将第一协议报文存储在链路状态数据库中,删除第三协议报文。
作为举例,网络节点A作为第一网络设备,网络节点B作为第二网络设备,网络节点B发送给网络节点A的LAS14作为第三协议报文,网络节点B发送到网络节点A的LSA13作为第一协议报文,在确定LSA13的Hops比LAS14的Hops小时,仍将LSA13存储在链路状态数据库中,删除LAS14。
在本申请实施例中,第一网络设备在周期更新的过程中,对接收到的满足预设跳数的协议报文,进一步检查本地建立的链路状态数据库中保存的协议报文,并根据检查结果调整本地建立的链路状态数据库中保存的协议报文。经由调整后的链路状态数据库,第一网络设备可以随时根据接入的网络设备或删减的网络设备,适时进行可见网络区域的变更。
实施例三
采用本申请实施例公开的网络区域划分方法,每个网络节点均以自身为中心节点收集预设跳数内的网络节点发送的链路状态数据。因每个网络节点可见的网络区域有所区别,在进行路径计算的过程中,可能会出现路径环路。
因此,本申请实施例还进一步公开了在该网络区域划分的基础上,如何为路径分配分段路由(Segment routing,SR)节点标签的技术方案。
以上述本申请实施例一和实施例二公开的网络区域划分方法得到的网络节点A可见的网络区域AREA A为例,网络节点A基于自己收集到的链路状态数据建立的链路状态数据库,计算出一条网络节点A到达网络节点C的路径A->B->C,按照这个路径将报文转发给网络节点B。
如图9所示,因网络节点B可见的不同网络区域AREA B,网络节点B基于自己收集到的链路状态数据建立的链路状态数据库,算出的一条网络节点B到达网络节点C的路径为B->A->D->C,该路径正好经过节点A。因此会出现网络节点A将报文发送给网络节点B后,网络节点B会将该报文又发送给网络节点A的情况,导致网络节点之间形成路径环路。为避免出现路径环路,本申请实施例基于网络区域划分方法公开的路径计算和转发方法,如图10所示,包括:
S501:网络节点A基于本地的链路状态数据库,计算转发报文到达网络节点C的路径,得到路径A->B->C。
S502:网络节点A为该路径A->B->C逐跳添加分段路由(Segment routing,SR)节点标签,按照该SR节点标签将该报文经由该路径A->B->C转发至网络节点C。
在执行上述S501和S502的过程中,网络节点A逐跳添加的SR节点标签,确保在报文转发的过程中,按照SR节点标签标识的路径进行报文转发,也就是说,使报文按照多协议标签交换(Multi-Protocol Label Switching,MPLS)标签进行转发。
如图11所示,为本申请实施例提供的一种基于网络区域划分后,为路径分配SR节点标签的方法流程示意图。图11所示的方法中涉及的第一网络设备和其他网络设备为非骨干网络节点。举例来说,该路由计算和转发方法可以应用于附图9所述的应用场景中。图10中的网络节点A可以是图11所示的方法中涉及的第一网络设备。图10中的路径A->B->C可以是图11所示的方法中的涉及的路径。图11所示的方法包括S601和S602。
S601:第一网络设备基于链路状态数据库,计算网络区域内转发报文的路径。
在具体实现过程中,作为举例,基于第一网络设备的可见的网络区域计算路径,具体的路劲计算方法可选的,可以基于链路状态数据库中存储的该网络区域内各个网络设备之间的链路状态数据进行计算。
S602:第一网络设备为该路径上的每个网络设备分配SR节点标签,并根据SR节点标签进行报文转发。
在本申请实施例中,在第一网络设备进行报文转发的过程中,第一网络设备基于该SR节点标签进行报文的转发,不会走其他的未分配SR节点标签的网络设备,可以避免转发报文中出现的环路问题。
进一步的,本申请实施例还公开了在满足避免路径环路的基础上,减少路径中逐跳分配SR节点标签的方式。
例如,网络节点F通过收集的预设跳数内的链路状态数据,自动形成了自己可见的网络区域AREA F。在该网络区域AREA F中,所有边界网络节点构成集合{M}。网络节点F到达所有边界网络节点的路径花费(COST)构成集合{N}。该COST用于反映链路的优劣,COST值越小链路越优。该集合{N}中的最小值称为最小出境花费(Minimal Escape Cost,MEC),假设计算转发报文的路径上的网络节点构成了集合{P}={F、H、I、G}。
在路径的计算过程中,因各个网络节点看到的网络区域不同,可能会出现对于网络节点H而言更优的路径超出了网络区域AREA F,一旦在区域外,则基于网络节点F到边界网络节点的COST与MEC的大小关系,确保计算出的路径不会出现环路。如图12所示,本申请实施例公开了另一种为路径添加SR节点标签的方法流程示意图,包括:
S701:网络节点F基于本地的链路状态数据库,计算转发报文到达网络节点G的路径,得到路径F->H->I->G。
S702:网络节点F计算分别到达网络节点H的COST1,到达网络节点I的COST2和到达网络节点G的COST3。
S703:网络节点F将该COST1、COST2、COST3与MEC进行比较,若均小于,则执行S704,否则执行S705。
S704:网络节点F比较得到COST1、COST2和COST3均小于MEC,网络节点F将该报文经过该路径F->H->I->G转发至网络节点G。
在S704中,如果计算的路径中的各个网络节点与首发报文的网络节点之间的COST小于MEC,则在报文转发的过程中不会出现路径环路,因此,并不需要添加SR节点标签。
S705:网络节点F比较得到COST1小于MEC,得到COST2小于或等于MEC,得到COST3大于MEC,网络节点F从网络节点I起始,为该路径F->I->G逐跳添加SR节点标签。
在S705中,如果计算的路径中的各个网络节点与首发报文的网络节点之间的COST中存在不小于MEC的情况,此时如果不添加SR节点标签,则可能会出现路径环路。因此,从COST小于或等于MEC的网络节点中选择COST最大的网络节点,作为添加SR节点标签的起始,逐跳为剩余的路由路径添加SR节点标签。
S706:网络节点F按照添加的SR节点标签,将该报文经过该路径F->H->I->G转发至网络节点G。
如图13所示,为本申请实施例提供的另一种为路径分配SR节点标签的方法流程示意图。图11所示的方法中涉及的第一网络设备和其他网络设备为非骨干网络节点。举例来说,该路由计算和转发方法可以应用于附图9所述的应用场景中。图12中的网络节点F可以是图13所示的方法中涉及的第一网络设备。图12中的网络节点I可以是图13所示的方法中涉及的第四网络设备。图12中的路径F->H->I->G可以是图13所示的方法中的涉及的路径。图13所示的方法包括S801-S804。
S801:第一网络设备基于链路状态数据库,计算网络区域内转发报文的路径。
S802:第一网络设备计算从第一网络设备分别到达该路径上的每个网络设备的COST。
S803:当第一网络设备确定从第一网络设备分别到达该路径上的每个网络设备的COST都小于MEC,基于该路径转发报文。
MEC为:第一网络设备计算得到的从第一网络设备分别到达位于网络区域边界上的每个网络设备的COST中的最小值。
在具体实现过程中,可选的,第一网络设备可以将计算得到的各个COST与MEC进行比较,从而确定COST与MEC之间的大小关系。也可以采用将各个COST与MEC作差的方式,确定COST与MEC之间的大小关系。
S804:当第一网络设备确定从第一网络设备分别到达该路径上的每个网络设备的COST中,第一网络设备到达第四网络设备的COST大于或等于MEC,从该第四网络设备开始分配SR节点标签,并根据SR节点标签进行报文转发。
在本申请实施例中,通过计算路径中的各个网络节点与首发报文的网络节点之间的COST,将得到的COST与MEC进行大小比较,从COST小于或等于MEC的网络节点中选择COST最大的网络节点,作为分配SR节点标签的起始,逐跳为剩余的路径添加SR节点标签;在避免产生路径环路的条件下,减少了逐跳分配SR节点标签的数量,优化了在路径中分配SR节点标签的方式。
实施例四
基于上述本申请实施例公开的网络区域划分的技术方案,本申请还对应公开了执行该网络区域划分方法的网络设备。
如图14所示,为本申请实施例公开了的网络设备1400的结构示意图。该网络设备1400用作第一网络设备,具体包括:
接收单元1401,用于接收第二网络设备发送的第一协议报文。该第一协议报文包含Hops。该Hops用于标识第一协议报文从第二网络设备向第一网络设备发送过程中经过的网络设备数量,该经过的网络设备包括第一网络设备。
该接收单元1401可以执行本申请实施例一图5示出的S201。该接收单元101中所涉及的第一协议报文包含的Hops动态变化。该Hops动态变化的过程可以参见本申请实施例一图4示出的S101-S102,S104-S107,S109-S114中的记载,本申请实施例二图7示出的S301,S304中的记载,这里不再进行赘述。
处理单元1402,用于当确定该Hops小于或等于预设值时,设置该第二网络设备与所述第一网络设备属于同一区域。
该处理单元1402可以执行本申请实施例一图5示出的S202。处理单元102中所涉及确定该Hops小于或等于预设值的过程可以参见本申请实施例一图4示出的S103,S108,S115中的记载,本申请实施例二图7示出的S305、S307中的相应记载,这里不再进行赘述。
可选的,该处理单元1402,还用于将第一协议报文中的Hops修改为Hops加1,并将修改后的所述第一协议报文向第三网络设备发送,该第三网络设备为与该第一网络设备建立邻居关系的网络设备,该第三网络设备与该第二网络设备不是同一设备。
该处理单元1402在第一网络设备作为中间设备时,执行上述操作,具体可以参见上述本申请实施例中作为中间设备的网络设备B、网络节点C等的操作过程,这里不再进行赘述。
可选的,该处理单元1402,还用于当确定第一网络设备的链路状态数据库中不存在与第一协议报文的Type,第一协议报文的Link State ID,第一协议报文的AdvertisingRouter相同的协议报文时,将第一协议报文存储在链路状态数据库中。
该处理单元1402可以执行本申请实施例二图8公开的S301,具体执行过程和原理可以参见本申请实施例二中有关S301所记载的内容,这里不再进行赘述。
可选的,该处理单元1402,还用于当确定链路状态数据库存在第二协议报文,第二协议报文的Type与第一协议报文的Type相同,所第二协议报文的Link State ID与第一协议报文的Type相同,第二协议报文的Advertising Router与第一协议报文的AdvertisingRouter相同,并且第二协议报文的链路状态序号LS sequence number比第一协议报文的LSsequence number大时,将第二协议报文存储在链路状态数据库中,并从链路状态数据库中删除第一协议报文。
该处理单元1402可以执行本申请实施例二图8公开的S302,具体执行过程和原理可以参见本申请实施例二中有关S302所记载的内容,这里不再进行赘述。
可选的,该处理单元1402,还用于当确定链路状态数据库存在第三协议报文,第三协议报文的Type与第一协议报文的Type相同,第三协议报文的Link State ID与第一协议报文的Type相同,第三协议报文的Advertising Router与第一协议报文的AdvertisingRouter相同,第三协议报文的LS sequence number与第一协议报文的LS sequence number相同,并且第一协议报文的Hops比第三协议报文的Hops小时,则将第一协议报文存储在链路状态数据库中,删除第三协议报文。
该处理单元1402可以执行本申请实施例二图8公开的S303,具体执行过程和原理可以参见本申请实施例二中有关S303所记载的内容,这里不再进行赘述。
可选的,如图14所示,该网络设备1400还包括:计算单元1403和转发单元1404。
该计算单元1403,用于基于链路状态数据库,计算网络区域内转发报文的路径。
该计算单元1403可以执行本申请实施例三图13公开的S701,具体执行过程和原理可以参见本申请实施例二中有关S701所记载的内容,这里不再进行赘述。
转发单元1404,用于为该路径上的每个网络设备分配分段路由SR节点标签,并根据SR节点标签转发所述报文。
可选的,该计算单元1403,还用于基于链路状态数据库,计算网络区域内转发报文的路径,以及计算从第一网络设备分别到达该路径上的每个网络设备的COST。
转发单元1404,还用于当确定从第一网络设备分别到达该路径上的每个网络设备的COST都小于MEC,基于该路径转发报文。
MEC为:第一网络设备计算得到的从第一网络设备分别到达位于网络区域边界上的每个网络设备的COST中的最小值。
可选的,该转发单元1404,还用于当确定从第一网络设备分别到达所述路径上的每个网络设备的COST中,第一网络设备到达第四网络设备的COST大于或等于所述MEC,从所述第四网络设备开始分配SR节点标签,并根据SR节点标签进行报文转发。
该转发单元1404可以执行本申请实施例三图13公开的S702-S703,具体执行过程和原理可以参见本申请实施例二中有关S702-S703所记载的内容,这里不再进行赘述。
结合本申请实施例公开的网络区域划分方法,以及分配SR节点标签的方法,本申请实施例所公开的网络设备也可以直接用硬件、处理器执行的存储器,或者二者的结合来实施。
图15为本申请实施例公开的网络设备1500的硬件结构示意图。图15所示的网络设备1500可以执行上述本申请实施例中第一网络设备所执行的相应步骤。
如图15所示,该网络设备1500包括:处理器1501和存储器1502。可选的,该网络设备1500还包括网络接口1503。该处理器1501通过总线与存储器1502耦合。处理器1502通过总线与该网络节点1503耦合。
处理器1501具体可以是中央处理器(英文:Central Processing Unit,简称:CPU),网络处理器(英文:Network Processor,简称:NP),专用集成电路(英文:Application-Specific Integrated Circuit,简称:ASIC)或者可编程逻辑器件(英文:Programmable Logic Device,缩写:PLD)。上述PLD可以是复杂可编程逻辑器件(英文:Complex Programmable Logic Device,缩写:CPLD),现场可编程逻辑门阵列(英文:Field-Programmable Gate Array,缩写:FPGA)或者通用阵列逻辑(英文:Generic Array Logic,缩写:GAL)。
存储器1502具体可以是内容寻址存储器(英文:Content-Addressable Memory,简称:CAM)或者随机存取存储器(英文:Random-Access Memory,简称:RAM)。CAM可以是三态内容寻址存储器(英文:Ternary CAM,简称:TCAM)。
网络接口1503可以是有线接口,例如光纤分布式数据接口(英文:FiberDistributed Data Interface,简称:FDDI)或者以太网(英文:Ethernet)接口。
存储器1502也可以集成在处理器1501中。如果存储器1502和处理器1501是相互独立的器件,存储器1502和处理器1501相连,例如存储器1502和处理器1501可以通过总线通信。网络接口1503和处理器1501可以通过总线通信,网络接口1503也可以与处理器1501直接连接。
存储器1502,用于存储网络区域划分的操作程序、代码或指令。可选的,该存储器1502包括操作系统和应用程序,用于存储网络区域划分和分配SR节点标签的操作程序、代码或指令。
当处理器1501或硬件设备要进行网络区域划分和/或分配SR节点标签时,调用并执行存储器1502中存储的操作程序、代码或指令可以完成图3-图12中涉及的第一网络设备的处理过程。具体过程可参见上述本申请实施例相应的部分,这里不再赘述。
可以理解的是,图15仅仅示出了该网络设备的简化设计。在实际应用中,网络设备可以包含任意数量的接口,处理器,存储器等,而所有可以实现本申请实施例的网络设备都在本申请实施例的保护范围之内。
本申请各个实施例中的各功能单元可以集成在一个处理器中,也可以是各个单元单独物理存在,也可以两个或两个以上电路集成在一个电路中。上述各功能单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
图16为本申请实施例公开的一种网络区域划分系统1600,包括第一网络设备1601和第二网络设备1602;
该第二网络设备1602,用于向第一网络设备1601发送第一协议报文。
该第一网络设备1601,用于接收第二网络设备1602发送的第一协议报文,该第一协议报文包含跳数Hops,该Hops用于标识第一协议报文从第二网络设备1602向第一网络设备1601发送过程中经过的网络设备数量,该经过的网络设备包括第一网络设备,当第一网络设备确定Hops小于或等于预设值时,第一网络设备设置第二网络设备与第一网络设备属于同一区域。
可选的,该网络区域划分系统还包括第三网络设备1603,该第三网络设备1603为与第一网络设备1601建立邻居关系的网络设备,该第三网络设备1603与第二网络设备1602不是同一设备。
该第一网络设备1601,还用于将第一协议报文中的Hops修改为Hops加1,并向第三网络设备发送修改后的第一协议报文。
可选的,该第一网络设备1601,还用于当确定第一网络设备的链路状态数据库中不存在与第一协议报文的Type,第一协议报文的Link State ID,第一协议报文的Advertising Router相同的协议报文时,将第一协议报文存储在链路状态数据库中。
可选的,该第一网络设备1601,还用于当确定链路状态数据库存在第二协议报文,第二协议报文的Type与第一协议报文的Type相同,所第二协议报文的Link State ID与第一协议报文的Type相同,第二协议报文的Advertising Router与第一协议报文的Advertising Router相同,并且第二协议报文的链路状态序号LS sequence number比第二协议报文的LS sequence number大时,将第二协议报文存储在链路状态数据库中,并从链路状态数据库中删除第一协议报文。
可选的,该第一网络设备1601,还用于当确定链路状态数据库存在第三协议报文,第三协议报文的Type与第一协议报文的Type相同,第三协议报文的Link State ID与第一协议报文的Type相同,第三协议报文的Advertising Router与第一协议报文的Advertising Router相同,第三协议报文的LS sequence number与第一协议报文的LSsequence number相同,并且第一协议报文的Hops比第三协议报文的Hops小时,则将第一协议报文存储在链路状态数据库中,删除第三协议报文。
可选的,第一网络设备1601,还用于基于所述链路状态数据库,计算网络区域内转发报文的路径;为路径上的每个网络设备分配分段路由SR节点标签,并根据SR节点标签进行报文转发。
可选的,第一网络设备1601,还用于基于链路状态数据库,计算网络区域内转发报文的路径;计算从第一网络设备分别到达该路径上的每个网络设备的COST;确定从第一网络设备分别到达该路径上的每个网络设备的COST都小于MEC,基于该路径转发报文。MEC为第一网络设备计算得到的从第一网络设备分别到达位于网络区域边界上的每个网络设备的COST中的最小值;
可选的,第一网络设备1601,还用于当确定从第一网络设备分别到达该路径上的每个网络设备的中,第一网络设备到达第四网络设备的COST大于或等于,从该第四网络设备开始分配SR节点标签,并根据SR节点标签进行报文转发。
以上本申请实施例公开的网络区域划分系统中,第一网络设备1601可以具体为图13和图14中公开的网络设备,用于执行本申请实施例图4、图5、图7、图8、图10、图11和附图12中第一网络设备执行的相应操作,具体过程以及执行原理可以参照上述说明,这里不再进行赘述。
综上所述,本申请实施例公开了一种网络区域划分方法、网络设备和系统,在执行该网络区域划分方法的过程中,每个网络节点收集预设跳数内的其他网络节点的链路状态数据,通过收集到的链路状态数据划分网络区域。进一步的在周期更新的过程中,对收集到的链路状态数据进行更新,并在链路状态数据更新后,对网络区域也进行更新。实现对网络区域的自动划分。
进一步的,在转发报文的过程中,对计算得到的转发报文的路径上的每一个网络设备分配SR节点标签,基于该SR节点标签进行报文的转发,避免转发报文时出现的环路问题。
最后应说明的是:以上实施例仅用以示例性说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请及本申请带来的有益效果进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请权利要求的范围。
Claims (21)
1.一种网络区域划分方法,其特征在于,包括:
第一网络设备接收多个网络设备的多个链路状态数据;
根据所述多个网络设备分别到所述第一网络设备的跳数,从所述多个链路状态数据中确定出一个或多个链路状态数据,其中,所述一个或多个链路状态数据属于所述多个网络设备中的一个或多个网络设备;
根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个网络设备分别到所述第一网络设备的跳数,从所述多个链路状态数据中确定出一个或多个链路状态数据,具体包括:
根据链路状态数据所属的网络设备到所述第一网络设备的跳数与预设值的比较结果,从所述多个链路状态数据中确定出所述一个或多个链路状态数据。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
确定第一网络设备在所述网络区域内转发报文所需经过的一个或多个网络设备;
分配路径标签,通过所述路径标签的指示使所述报文沿经过所述一个或多个网络设备的路径转发。
4.根据权利要求3所述的方法,其特征在于,确定所述一个或多个网络设备,具体包括:
确定从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费;
根据所述路径花费和所述第一网络设备对应的最小出境花费,确定所述一个或多个网络设备;所述最小出境花费为从所述第一网络设备分别到达所述网络区域中的各个边界网络设备的路径花费之中的最小值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述路径花费和所述第一网络设备对应的最小出境花费,确定所述一个或多个网络设备,具体包括:
当从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费均小于所述最小出境花费时,将所述路径上的网络设备中所述路径花费最大的网络设备确定为所述一个或多个网络设备。
6.根据权利要求4所述的方法,其特征在于,所述根据所述路径花费和所述第一网络设备对应的最小出境花费,确定所述一个或多个网络设备,具体包括:
当从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费中,存在大于或等于所述最小出境花费的路径花费时,将所述路径上的网络设备中所述大于或等于所述最小出境花费的路径花费对应的网络设备确定为所述一个或多个网络设备。
7.根据权利要求3-6任一项所述的方法,其特征在于,所述路径标签为分段路由SR节点标签。
8.根据权利要求1-7任一项所述的方法,其特征在于,链路状态数据携带在报文中。
9.根据权利要求8所述的方法,其特征在于,在所述根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备之前,所述方法还包括:
根据携带所述一个或多个链路状态数据的报文的类型、链路状态标识和通告路由器确定需要保存的报文;或者,根据携带所述一个或多个链路状态数据的报文的类型、链路状态标识、通告路由器和链路状态序列号确定需要保存的报文;
对所述需要保存的报文进行保存;
所述根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备,具体包括:
根据保存的报文中携带的链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
10.根据权利要求9所述的方法,其特征在于,所述对所述需要保存的报文进行保存,具体包括:
将所述需要保存的报文保存至所述第一网络设备本地的链路数据库。
11.一种第一网络设备,其特征在于,包括:
接收单元,用于接收多个网络设备的多个链路状态数据;
处理单元,用于根据所述多个网络设备分别到所述第一网络设备的跳数,从所述多个链路状态数据中确定出一个或多个链路状态数据,其中,所述一个或多个链路状态数据属于所述多个网络设备中的一个或多个网络设备;根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
12.根据权利要求11所述的第一网络设备,其特征在于,所述处理单元具体用于:
根据链路状态数据所属的网络设备到所述第一网络设备的跳数与预设值的比较结果,从所述多个链路状态数据中确定出所述一个或多个链路状态数据。
13.根据权利要求11或12所述的第一网络设备,其特征在于,还包括:
计算单元,用于确定第一网络设备在所述网络区域内转发报文所需经过的一个或多个网络设备;
转发单元,用于分配路径标签,通过所述路径标签的指示使所述报文沿经过所述一个或多个网络设备的路径转发。
14.根据权利要求13所述的第一网络设备,其特征在于,所述转发单元具体用于:
确定从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费;
根据所述路径花费和所述第一网络设备对应的最小出境花费,确定所述一个或多个网络设备;所述最小出境花费为从所述第一网络设备分别到达所述网络区域中的各个边界网络设备的路径花费之中的最小值。
15.根据权利要求14所述的第一网络设备,其特征在于,所述转发单元具体用于:
当从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费均小于所述最小出境花费时,将所述路径上的网络设备中所述路径花费最大的网络设备确定为所述一个或多个网络设备。
16.根据权利要求14所述的第一网络设备,其特征在于,所述转发单元具体用于:
当从所述第一网络设备到所述路径上的网络设备中每一个网络设备的路径花费中,存在大于或等于所述最小出境花费的路径花费时,将所述路径上的网络设备中所述大于或等于所述最小出境花费的路径花费对应的网络设备确定为所述一个或多个网络设备。
17.根据权利要求13-16任一项所述的第一网络设备,其特征在于,所述路径标签为分段路由SR节点标签。
18.根据权利要求11-17任一项所述的第一网络设备,其特征在于,链路状态数据携带在报文中。
19.根据权利要求18所述的第一网络设备,其特征在于,所述处理单元还用于:
根据携带所述一个或多个链路状态数据的报文的类型、链路状态标识和通告路由器确定需要保存的报文;或者,根据携带所述一个或多个链路状态数据的报文的类型、链路状态标识、通告路由器和链路状态序列号确定需要保存的报文;
所述第一网络设备还包括:存储单元,用于对所述需要保存的报文进行保存;
所述处理单元具体用于:
根据保存的报文中携带的链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
20.根据权利要求19所述的第一网络设备,其特征在于,所述存储单元具体用于:
将所述需要保存的报文保存至所述第一网络设备本地的链路数据库。
21.一种网络区域划分系统,其特征在于,所述网络区域划分系统包括第一网络设备和其他的多个网络设备;其中,
所述多个网络设备,用于向所述第一网络设备发送多个链路状态数据;
所述第一网络设备,用于接收所述多个网络设备的多个链路状态数据;根据所述多个网络设备分别到所述第一网络设备的跳数,从所述多个链路状态数据中确定出一个或多个链路状态数据,其中,所述一个或多个链路状态数据属于所述多个网络设备中的一个或多个网络设备;根据确定出的所述一个或多个链路状态数据,从所述一个或多个网络设备中确定与所述第一网络设备属于同一网络区域的网络设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403422.5A CN112953834A (zh) | 2016-12-23 | 2016-12-23 | 网络区域划分方法、网络设备和系统 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011403422.5A CN112953834A (zh) | 2016-12-23 | 2016-12-23 | 网络区域划分方法、网络设备和系统 |
CN201611205234.5A CN107070798B (zh) | 2016-12-23 | 2016-12-23 | 网络区域划分方法、网络设备和系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611205234.5A Division CN107070798B (zh) | 2016-12-23 | 2016-12-23 | 网络区域划分方法、网络设备和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112953834A true CN112953834A (zh) | 2021-06-11 |
Family
ID=59619377
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011403422.5A Pending CN112953834A (zh) | 2016-12-23 | 2016-12-23 | 网络区域划分方法、网络设备和系统 |
CN201611205234.5A Active CN107070798B (zh) | 2016-12-23 | 2016-12-23 | 网络区域划分方法、网络设备和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611205234.5A Active CN107070798B (zh) | 2016-12-23 | 2016-12-23 | 网络区域划分方法、网络设备和系统 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN112953834A (zh) |
WO (1) | WO2018113586A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112953834A (zh) * | 2016-12-23 | 2021-06-11 | 华为技术有限公司 | 网络区域划分方法、网络设备和系统 |
CN107517163B (zh) * | 2017-09-22 | 2020-06-09 | 杭州迪普科技股份有限公司 | 一种切换ospf路由器标识的方法及装置 |
CN110557337B (zh) * | 2018-05-30 | 2021-12-28 | 中兴通讯股份有限公司 | 一种分段路由路径计算方法、装置及计算机存储介质 |
CN109039902B (zh) * | 2018-07-24 | 2021-02-26 | 新华三技术有限公司 | 一种组播报文的转发方法及装置 |
CN109218206B (zh) * | 2018-09-04 | 2021-03-23 | 杭州迪普科技股份有限公司 | 一种限制链路状态通告数量的方法和装置 |
CN112260847B (zh) * | 2019-07-22 | 2023-01-13 | 华为技术有限公司 | 一种发送ospf域信息的方法、获取ospf域信息的方法和装置 |
US11451475B2 (en) | 2019-12-19 | 2022-09-20 | Huawei Technologies Co., Ltd. | Packet forwarding based on geometric location |
CN113595809B (zh) * | 2020-04-30 | 2023-05-19 | 华为技术有限公司 | 流量监控方法、相关设备及系统 |
US11438823B2 (en) | 2020-05-29 | 2022-09-06 | Huawei Technologies Co., Ltd. | Orthodromic routing |
US11374852B2 (en) | 2020-05-29 | 2022-06-28 | Huawei Technologies Co., Ltd. | Piecewise shortest path first routing |
CN114124833A (zh) * | 2020-08-26 | 2022-03-01 | 华为技术有限公司 | 一种控制报文发送的方法、网路设备和系统 |
US11374652B1 (en) | 2020-12-10 | 2022-06-28 | Huawei Technologies Co., Ltd. | Method and apparatus for limited flooding and network routing region membership management |
US11909627B2 (en) | 2021-01-04 | 2024-02-20 | Huawei Technologies Co., Ltd. | Method and apparatus for managing network status information using multiple degree of precision graph |
US11601780B2 (en) | 2021-01-05 | 2023-03-07 | Huawei Technologies Co., Ltd. | Method and apparatus for propagating network status updates using directional tracking |
US11476925B2 (en) * | 2021-02-04 | 2022-10-18 | Huawei Technologies Co., Ltd. | Method and apparatus for limited flooding in networks using transit nodes |
CN114567478B (zh) * | 2022-02-24 | 2024-07-02 | 北京华三通信技术有限公司 | 通信方法及装置 |
CN116232981B (zh) * | 2023-03-10 | 2024-05-24 | 电子科技大学 | 面向低轨卫星网络的ospf路由自治域划分方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141290B (zh) * | 2007-03-05 | 2010-05-26 | 中兴通讯股份有限公司 | 通信网络规划中的自动区域划分方法 |
CN101867519B (zh) * | 2010-06-03 | 2013-03-13 | 中国人民解放军91655部队 | 一种自组网的动态区域路由方法及系统 |
CN102255807B (zh) * | 2011-07-07 | 2013-10-02 | 浙江大学 | 一种基于主从结构多跳网络的多路径分段路由方法 |
CN103188147A (zh) * | 2011-12-27 | 2013-07-03 | 中兴通讯股份有限公司 | 路径建立方法及系统 |
US8817798B2 (en) * | 2012-08-10 | 2014-08-26 | Ciena Corporation | Constraining topology size and recursively calculating routes in large networks |
CN102904810B (zh) * | 2012-09-21 | 2015-04-15 | 华为技术有限公司 | 一种标签交换路径计算方法及标签交换路径计算装置 |
CN104468387B (zh) * | 2014-11-03 | 2017-08-29 | 首都师范大学 | 可扩展路由器中ospf链路状态信息的分布式存储方法 |
GB2536484B (en) * | 2015-03-19 | 2021-02-17 | Metaswitch Networks Ltd | Data routing |
CN105323818B (zh) * | 2015-11-04 | 2018-09-14 | 天津理工大学 | 基于网络区域划分和距离的节能分簇路由方法 |
CN112953834A (zh) * | 2016-12-23 | 2021-06-11 | 华为技术有限公司 | 网络区域划分方法、网络设备和系统 |
-
2016
- 2016-12-23 CN CN202011403422.5A patent/CN112953834A/zh active Pending
- 2016-12-23 CN CN201611205234.5A patent/CN107070798B/zh active Active
-
2017
- 2017-12-14 WO PCT/CN2017/116224 patent/WO2018113586A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN107070798A (zh) | 2017-08-18 |
CN107070798B (zh) | 2020-12-15 |
WO2018113586A1 (zh) | 2018-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107070798B (zh) | 网络区域划分方法、网络设备和系统 | |
US6985959B1 (en) | Constraint route dissemination using distributed route exchanges | |
US9998368B2 (en) | Zone routing system | |
CN105049350B (zh) | 利用出口对等工程的分段路由的方法、装置及系统 | |
CN105871722B (zh) | 标签构造以及标签报文转发方法及装置 | |
CN101606341B (zh) | 用于在穿过提供商网络的ce-ce路径上高效路由ip流量的技术 | |
CN101371150B (zh) | 针对一个或多个te-lsp的头端节点的故障的动态保护 | |
CN102150148B (zh) | 层2拓扑中针对单播帧和多播帧的差别化服务 | |
CN101036355B (zh) | 用于跨域传播可达性信息的方法、系统和装置 | |
US7580359B2 (en) | Method and system for maximizing network capacity utilization in multiprotocol label switched networks by moving label switched paths | |
CN102055665B (zh) | 广播上或nbma上的ospf点到多点模式 | |
CN109218197B (zh) | 分段路由中的冲突解决方法及路由器 | |
CN109257278A (zh) | 用于非分段路由启用的路由器的分段路由标签交换路径 | |
US9923803B2 (en) | Method of routing and a device for an autonomous system | |
KR101457317B1 (ko) | 라우팅 정보 업데이트의 우선 순위 지정 | |
US20180324081A1 (en) | X Channel to Zone in Zone Routing | |
US20070268821A1 (en) | Rpr representation in ospf-te | |
CN107623630B (zh) | 一种位索引显式复制信息传递方法和装置 | |
US8837329B2 (en) | Method and system for controlled tree management | |
CN113285876B (zh) | 路由方法、路由装置及计算机可读存储介质 | |
US11240063B2 (en) | Methods, nodes and computer readable media for tunnel establishment per slice | |
WO2021254173A1 (zh) | 一种路由处理方法及相关设备 | |
WO2002006918A2 (en) | A method, system, and product for preventing data loss and forwarding loops when conducting a scheduled change to the topology of a link-state routing protocol network | |
CN115865769A (zh) | 报文处理方法、网络设备及系统 | |
WO2022142932A1 (zh) | 一种路由处理方法、相关装置以及网络系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |