CN113132225A - 路径选择方法、装置、计算机设备和计算机可读介质 - Google Patents
路径选择方法、装置、计算机设备和计算机可读介质 Download PDFInfo
- Publication number
- CN113132225A CN113132225A CN201911410896.XA CN201911410896A CN113132225A CN 113132225 A CN113132225 A CN 113132225A CN 201911410896 A CN201911410896 A CN 201911410896A CN 113132225 A CN113132225 A CN 113132225A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- path
- port
- bandwidth usage
- link
- 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.)
- Granted
Links
- 238000010187 selection method Methods 0.000 title claims abstract description 20
- 238000001514 detection method Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 30
- 239000000523 sample Substances 0.000 claims description 117
- 238000003860 storage Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 10
- 238000012423 maintenance Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 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/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- 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
- H04L45/06—Deflection routing, e.g. hot-potato routing
-
- 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/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- 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/22—Alternate routing
-
- 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/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种路径选择方法,所述方法包括:确定接收第一探测报文的端口到指定网络设备之间链路的带宽使用参数,指定网络设备为ECMP链路组或工作‑保护链路组的传输路径中最后一个网络设备,由ECMP链路组或工作‑保护链路组中首个网络设备根据本地存储的带宽使用参数表、端口到指定网络设备之间链路的带宽使用参数以及第一探测报文中的带宽使用参数和指定网络设备的标识,维护该带宽使用参数表,在接收到业务报文并确定出ECMP路径或工作‑保护路径之后,该网络设备能够根据带宽使用参数表转发业务报文;本公开实施例可以快速从多条备选路径中找到拥塞程度最小的链路。本公开还提供一种路径选择装置、计算机设备和计算机可读介质。
Description
技术领域
本公开涉及数据传输技术领域,具体涉及一种路径选择方法、装置、计算机设备和计算机可读介质。
背景技术
智能调度是数据中心网络中的一个关键能力。目前,在SDN(Software DefinedNetwork,软件定义网络)场景中应用SR(Segment Routing,分段路由)技术后,更好的实现了流量调度和路径优化。但是在应用Prefix Segment(前缀段)的场景中,部分路径段是松散的,没有被段路由列表(Segment Routing list)明确指定路径的部分(松散路径段)需要由交换设备本地算路选路。交换设备依据当前的路由协议计算最优下一跳时,选路依据是代价值更小,算路结果可能是等价多路径,或者是明确的一条最优路径。由于计算路径时没考虑拥塞信息,导致可能选择了一条拥塞的路径传送报文。另外,假如由控制器解决拥塞问题,需要将数据逐包上送控制器,流量将占用线卡很大的带宽;并且,控制器集中处理庞大的状态(拥塞状态)消息后重新算路,延时大,不利于链路拥塞的及时解决。
发明内容
本公开针对现有技术中存在的上述不足,提供一种路径选择方法、装置、计算机设备和计算机可读介质。
第一方面,本公开实施例提供一种路径选择方法,所述方法包括:
接收第一探测报文,获取其中携带的带宽使用参数和指定网络设备的标识,所述指定网络设备为业务路径中最后一个网络设备;
确定接收所述第一探测报文的端口到所述指定网络设备之间链路的带宽使用参数;
若本网络设备属于所述指定网络设备的标识对应的等价路由ECMP链路组或工作-保护链路组,则根据本地存储的带宽使用参数表、所述端口到所述指定网络设备之间链路的带宽使用参数以及所述第一探测报文中的带宽使用参数和指定网络设备的标识,维护所述带宽使用参数表;所述带宽使用参数表包括指定网络设备标识、路径带宽使用参数和下一跳网络设备的标识;
当接收到业务报文时,在确定出ECMP路径或工作-保护路径之后,根据所述带宽使用参数表转发所述业务报文。
在一些实施例中,所述根据本地存储的带宽使用参数表、所述端口到所述指定网络设备之间链路的带宽使用参数以及所述第一探测报文中的带宽使用参数和指定网络设备的标识,维护所述带宽使用参数表,包括:
若发送所述第一探测报文的网络设备的标识与所述带宽使用参数表中下一跳网络设备的标识相同,则根据所述端口到所述指定网络设备之间链路的带宽使用参数,更新所述带宽使用参数表中的路径带宽使用参数;
若发送所述第一探测报文的网络设备的标识与所述带宽使用参数表中下一跳网络设备的标识不同,则根据所述端口到所述指定网络设备之间链路的带宽使用参数和所述带宽使用参数表中的路径带宽使用参数的比较结果,维护所述带宽使用参数表。
在一些实施例中,所述确定接收所述第一探测报文的端口到所述指定网络设备之间链路的带宽使用参数,包括:
确定接收所述第一探测报文的端口的带宽使用参数;
根据所述端口的带宽使用参数和所述第一探测报文中的带宽使用参数,确定所述端口到所述指定网络设备之间链路的带宽使用参数。
在一些实施例中,所述带宽使用参数包括带宽利用率,所述根据所述端口的带宽使用参数和所述第一探测报文中的带宽使用参数,确定所述端口到所述指定网络设备之间链路的带宽使用参数,包括:确定所述端口的带宽利用率和所述第一探测报文中的带宽利用率中的最大值。
在一些实施例中,所述根据所述端口到所述指定网络设备之间链路的带宽使用参数和所述带宽使用参数表中的路径带宽使用参数的比较结果,维护所述带宽使用参数表,包括:
若所述端口到所述指定网络设备之间链路的带宽利用率小于所述带宽使用参数表中的路径带宽利用率,则根据发送所述第一探测报文的网络设备的标识更新所述带宽使用参数表中下一跳网络设备的标识,并根据所述端口到所述指定网络设备之间链路的带宽利用率更新所述带宽使用参数表中的路径带宽利用率;
若所述端口到所述指定网络设备之间链路的带宽利用率大于或等于所述带宽使用参数表中的路径带宽利用率,则不更新所述带宽使用参数表。
在一些实施例中,所述带宽使用参数包括剩余带宽,所述根据所述端口的带宽使用参数和所述第一探测报文中的带宽使用参数,确定所述端口到所述指定网络设备之间链路的带宽使用参数,包括:确定所述端口的剩余带宽和所述第一探测报文中的剩余带宽的最小值。
在一些实施例中,所述根据所述端口到所述指定网络设备之间链路的带宽使用参数和所述带宽使用参数表中的路径带宽使用参数的比较结果,维护所述带宽使用参数表,包括:
若所述端口到所述指定网络设备之间链路的剩余带宽大于所述带宽使用参数表中的路径剩余带宽,则根据发送所述第一探测报文的网络设备的标识更新所述带宽使用参数表中下一跳网络设备的标识,并根据所述端口到所述指定网络设备之间链路的剩余带宽更新所述带宽使用参数表中的路径剩余带宽;
若所述端口到所述指定网络设备之间链路的剩余带宽小于或等于所述带宽使用参数表中的路径剩余带宽,则不更新所述带宽使用参数表。
在一些实施例中,在确定接收所述第一探测报文的端口到所述指定网络设备之间链路的带宽使用参数之后,还包括:
生成第二探测报文,所述第二探测报文包括所述指定网络设备的标识和所述端口到所述指定网络设备之间链路的带宽使用参数;
向预先配置的多播组成员发送所述第二探测报文。
在一些实施例中,所述路径选择方法还包括:
当触发条件满足时,生成第三探测报文,所述第三探测报文携带带宽使用参数和本网络设备的标识;
按照预设周期向预先配置的多播组成员发送所述第三探测报文。
在一些实施例中,当本网络设备属于至少一个工作-保护链路组时,所述端口包括工作路径的起始端口和保护路径的起始端口,所述带宽使用参数表用于记录工作路径的信息和保护路径的信息,所述信息包括起始端口信息、路径带宽使用参数和下一跳网络设备的标识;
所述当接收到业务报文时,根据所述带宽使用参数表转发所述业务报文,包括:
若所述工作路径的起始端口到所述指定网络设备之间链路的带宽使用参数、所述保护路径的起始端口到所述指定网络设备之间链路的带宽使用参数和预设阈值满足预设条件,则当接收到业务报文时,根据所述带宽使用参数表,确定分流比例,并按照所述分流比例,分别利用所述工作路径和所述保护路径发送所述业务报文。
另一方面,本公开实施例还提供一种路径选择装置,包括:接收模块、获取模块、确定模块、表项维护模块和业务处理模块;
所述接收模块用于,接收第一探测报文,以及接收业务报文;
所述获取模块用于,获取所述第一探测报文中携带的带宽使用参数和指定网络设备的标识,所述指定网络设备为业务路径中最后一个网络设备;
所述确定模块用于,确定接收所述第一探测报文的端口到所述指定网络设备之间链路的带宽使用参数;
所述表项维护模块用于,当本网络设备属于所述指定网络设备的标识对应的ECMP链路组或工作-保护链路组时,根据所述端口的带宽使用参数、所述第一探测报文中的带宽使用参数和指定网络设备的标识以及本地存储的带宽使用参数表,维护所述带宽使用参数表;所述带宽使用参数表包括指定网络设备标识、带宽使用参数和下一跳网络设备的标识;
所述业务处理模块用于,当所述接收模块接收到业务报文时,在确定出ECMP路径或工作-保护路径之后,根据所述带宽使用参数表转发所述业务报文。
又一方面,本公开实施例还提供一种计算机设备,包括:一个或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如前述各实施例所提供的路径选择方法。
本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被执行时实现如前述各实施例所提供的路径选择方法。
本公开实施例提供的路径选择方法,确定接收第一探测报文的端口到指定网络设备之间链路的带宽使用参数,指定网络设备为业务路径中最后一个网络设备,由ECMP链路组或工作-保护链路组中首个网络设备根据本地存储的带宽使用参数表、端口到指定网络设备之间链路的带宽使用参数以及第一探测报文中的带宽使用参数和指定网络设备的标识,维护该带宽使用参数表,在接收到业务报文并确定出ECMP路径或工作-保护路径之后,该网络设备能够根据带宽使用参数表转发业务报文;本公开实施例按照与业务报文传送方向相反的方向发送携带带宽使用参数的探测报文,由ECMP链路组或工作-保护链路组中首个网络设备根据链路带宽使用参数维护带宽使用参数表,并将带宽使用参数表作为业务报文转发路径的选择依据,选择最优路径,可以快速从多条备选路径中找到拥塞程度最小的链路;本公开实施例无需向控制器上报数据,在路径选择过程中不会占用线卡带宽,降低控制器的处理压力和带宽资源占用。
附图说明
图1为本公开实施例提供的路径选择方法的流程图;
图2a为本公开实施例提供的探测报文的结构示意图之一;
图2b为本公开实施例提供的探测报文的结构示意图之二;
图3为本公开实施例提供的维护带宽使用参数表的流程图;
图4为本公开实施例提供的接收第一探测报文的端口到指定网络设备之间链路的带宽使用参数的流程图;
图5为本公开实施例提供的根据端口到指定网络设备之间链路的带宽使用参数和带宽使用参数表中的路径带宽使用参数的比较结果,维护带宽使用参数表的流程图之一;
图6为本公开实施例提供的根据端口到指定网络设备之间链路的带宽使用参数和带宽使用参数表中的路径带宽使用参数的比较结果,维护带宽使用参数表的流程图之二;
图7为本公开实施例提供的生成、发送第二探测报文的流程图;
图8为本公开实施例提供的生成、发送第三探测报文的流程图;
图9为本公开实施例提供的工作-保护链路组场景下路径选择的流程图;
图10a为本公开一实施例提供的ECMP链路组场景下的网络拓扑图;
图10b为本公开一实施例提供的ECMP链路组场景下路径选择示意图;
图11a为本公开又一实施例提供的ECMP链路组场景下的网络拓扑图;
图11b为本公开又一实施例提供的ECMP链路组场景下路径选择示意图;
图12a为本公开一实施例提供的工作-保护链路组场景下的网络拓扑图;
图12b为本公开一实施例提供的工作-保护链路组场景下的路径选择示意图;
图13为本公开实施例提供的路径选择装置的结构示意图。
具体实施方式
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
本公开的一个实施例提供一种路径选择方法,应用于SDN(Software DefinedNetwork,软件定义网络)中SR(Segment Routing,分段路由)场景,例如应用于PrefixSegment(前缀段)。
如图1所示,所述路径选择方法包括以下步骤:
步骤11,接收第一探测报文,获取其中携带的带宽使用参数和指定网络设备的标识。
在本公开实施例中,指定网络设备为业务路径中最后一个网络设备。
在一些实施例中,带宽使用参数可以包括带宽利用率或剩余带宽。
步骤12,确定接收第一探测报文的端口到指定网络设备之间链路的带宽使用参数。
在本步骤中,接收第一探测报文的端口到指定网络设备之间的链路是指本网络设备(即接收到第一探测报文的网络设备)的该端口与指定网络设备之间的链路,该链路可以包括一段或多段路径。
确定接收第一探测报文的端口到指定网络设备之间链路的带宽使用参数的具体流程,后续结合图3再详细说明。
步骤13,若本网络设备属于所述指定网络设备的标识对应的ECMP链路组或工作-保护链路组,则根据本地存储的带宽使用参数表、端口到指定网络设备之间链路的带宽使用参数以及第一探测报文中的带宽使用参数和指定网络设备的标识,维护带宽使用参数表。
带宽使用参数表如表1所示,可以包括指定网络设备标识、路径带宽使用参数和下一跳网络设备的标识。
表1
维护带宽使用参数表的具体流程,后续结合图2再详细说明。
步骤14,当接收到业务报文时,在确定出ECMP路径或工作-保护路径之后,根据带宽使用参数表转发业务报文。
在本步骤中,本网络设备根据带宽使用参数表中下一跳网络设备的标识确定下一跳网络设备,将业务报文转发至该下一跳网络设备,从而实现等价路径或工作-保护路径选择。
本公开实施例提供的路径选择方法,确定接收第一探测报文的端口到指定网络设备之间链路的带宽使用参数,指定网络设备为业务路径中最后一个网络设备,由ECMP链路组或工作-保护链路组中首个网络设备根据本地存储的带宽使用参数表、端口到指定网络设备之间链路的带宽使用参数以及第一探测报文中的带宽使用参数和指定网络设备的标识,维护该带宽使用参数表,在接收到业务报文并确定出ECMP路径或工作-保护路径之后,该网络设备能够根据带宽使用参数表转发业务报文;本公开实施例按照与业务报文传送方向相反的方向发送携带带宽使用参数的探测报文,由ECMP链路组或工作-保护链路组中首个网络设备根据链路带宽使用参数维护带宽使用参数表,并将带宽使用参数表作为业务报文转发路径的选择依据,选择最优路径,可以快速从多条备选路径中找到拥塞程度最小的链路;本公开实施例无需向控制器上报数据,在路径选择过程中不会占用线卡带宽,降低了控制器的处理压力和带宽资源占用。
在一些实施例中,带宽使用参数为带宽利用率,如图2a所示,第一探测报文至少包括:指定网络设备的标识SID和带宽利用率util,需要说明的是,第一探测报文还可以包括以太头和IP(Internet Protocol,网际互连协议)头,以太头中携带以太网类型,IP头中携带组播地址(即多播组成员的地址)。
在一些实施例中,带宽使用参数为剩余带宽,如图2b所示,第一探测报文至少包括:指定网络设备的标识SID和剩余带宽,需要说明的是,第一探测报文还可以包括以太头和IP头,以太头中携带以太网类型,IP头中携带组播地址(即多播组成员的地址)。
在本公开实施例中,剩余带宽可以通过剩余带宽量化值BWQ表示,剩余带宽量化值BWQ与带宽BW具有一定的映射关系,该映射关系如表2所示。
表2
剩余带宽量化值BWQ | 剩余带宽BW范围 |
0 | 未量化 |
1 | BW<a GE |
2 | a GE≤BW<b GE |
3 | c GE≤BW<d GE |
4 | e GE≤BW<f GE |
5 | g GE≤BW<h GE |
... | ... |
表2中的a、b、c、d、e、f、g、h表示带宽的实际值。
可以先计算端口的剩余带宽BW,剩余带宽BW=带宽*(1-带宽利用率),然后根据BW查询表2,得到对应的BWQ。
在一些实施例中,如图3所示,所述确定接收第一探测报文的端口到指定网络设备之间链路的带宽使用参数(即步骤12),包括:
步骤121,确定接收第一探测报文的端口的带宽使用参数。
在本步骤中,可直接测量接收第一探测报文的端口的带宽参数。
步骤122,根据端口的带宽使用参数和第一探测报文中的带宽使用参数,确定端口到指定网络设备之间链路的带宽使用参数。
在本步骤中,当带宽使用参数为带宽利用率时,确定端口的带宽利用率和第一探测报文中的带宽利用率中的最大值,将该最大值作为端口到指定网络设备之间链路的带宽使用参数。当带宽使用参数为剩余带宽时,确定端口的剩余带宽和第一探测报文中的剩余带宽中的最小值,将该最小值作为端口到指定网络设备之间链路的带宽使用参数。
在一些实施例中,如图4所示,所述根据本地存储的带宽使用参数表、端口到指定网络设备之间链路的带宽使用参数以及第一探测报文中的带宽使用参数和指定网络设备的标识,维护带宽使用参数表(即步骤13),包括:
步骤131,判断发送第一探测报文的网络设备的标识与带宽使用参数表中下一跳网络设备的标识是否相同,若相同,则执行步骤132;否则,执行步骤133。
在本步骤中,若判断出发送第一探测报文的网络设备的标识与带宽使用参数表中下一跳网络设备的标识相同,说明第一探测报文的发送路径与带宽使用参数表中记录的前次业务报文发送路径相同,则直接更新带宽使用参数表中的路径带宽使用参数。若判断出发送第一探测报文的网络设备的标识与带宽使用参数表中下一跳网络设备的标识不同,说明第一探测报文的发送路径与带宽使用参数表中记录的前次业务报文发送路径不同,则需要将端口到指定网络设备之间链路的带宽使用参数和带宽使用参数表中的路径带宽使用参数相比较,并根据比较结果决定是否更新带宽使用参数表。
步骤132,根据端口到指定网络设备之间链路的带宽使用参数,更新带宽使用参数表中的路径带宽使用参数。
在本步骤中,直接将带宽使用参数表中的路径带宽使用参数更新为端口到指定网络设备之间链路的带宽使用参数。
步骤133,根据端口到指定网络设备之间链路的带宽使用参数和带宽使用参数表中的路径带宽使用参数的比较结果,维护带宽使用参数表。
对于带宽使用参数为带宽利用率的情况,维护带宽使用参数表的具体实现方式后续结图5再详细说明。对于带宽使用参数为剩余带宽的情况,维护带宽使用参数表的具体实现方式后续结图6再详细说明。
在一些实施例中,当带宽使用参数为带宽利用率时,如图5所示,所述根据端口到指定网络设备之间链路的带宽使用参数和带宽使用参数表中的路径带宽使用参数的比较结果,维护带宽使用参数表(即步骤133),包括:
步骤51,判断端口到指定网络设备之间链路的带宽利用率是否小于带宽使用参数表中的路径带宽利用率,若是,则执行步骤52,否则,执行步骤53。
在本步骤中,若判断出端口到指定网络设备之间链路的带宽利用率小于带宽使用参数表中的路径带宽利用率,说明第一探测报文的发送路径与带宽使用参数表中记录的前次业务报文发送路径不同,且第一探测报文的发送路径的带宽利用率小于带宽使用参数表中记录的前次业务报文发送路径的带宽利用率,即第一探测报文发送路径的带宽资源更优,因此,需要更换最优下一跳,相应的,删除带宽使用参数表中原下一跳的信息,并写入本次选择出的最优下一跳的信息。
若判断出端口到指定网络设备之间链路的带宽利用率大于或等于带宽使用参数表中的路径带宽利用率,说明第一探测报文的发送路径与带宽使用参数表中记录的前次业务报文发送路径不同,且第一探测报文的发送路径的带宽利用率大于或等于带宽使用参数表中记录的前次业务报文发送路径的带宽利用率,即第一探测报文发送路径的带宽资源更差,因此,不需要更换最优下一跳,相应的,也不用更新带宽使用参数表。
步骤52,根据发送第一探测报文的网络设备的标识更新带宽使用参数表中下一跳网络设备的标识,并根据端口到指定网络设备之间链路的带宽利用率更新带宽使用参数表中的路径带宽利用率。
在本步骤中,将带宽使用参数表中下一跳网络设备的标识更新为发送第一探测报文的网络设备的标识,并将带宽使用参数表中的路径带宽利用率更新为端口到指定网络设备之间链路的带宽利用率,从而实现最优下一跳信息的更新。
步骤53,不更新带宽使用参数表。
在一些实施例中,当带宽使用参数为剩余带宽时,如图6所示,所述根据端口到指定网络设备之间链路的带宽使用参数和带宽使用参数表中的路径带宽使用参数的比较结果,维护带宽使用参数表(即步骤133),包括:
步骤61,判断端口到指定网络设备之间链路的剩余带宽是否大于带宽使用参数表中的路径剩余带宽,若是,则执行步骤62,;否则,执行步骤63。
在本步骤中,若判断出端口到指定网络设备之间链路的剩余带宽大于带宽使用参数表中的路径剩余带宽,说明第一探测报文的发送路径与带宽使用参数表中记录的前次业务报文发送路径不同,且第一探测报文的发送路径的剩余带宽大于带宽使用参数表中记录的前次业务报文发送路径的剩余带宽,即第一探测报文发送路径的带宽资源更优,因此,需要更换最优下一跳,相应的,删除带宽使用参数表中原下一跳的信息,并写入本次选择出的最优下一跳的信息。
若判断出端口到指定网络设备之间链路的剩余带宽小于或等于带宽使用参数表中的路径剩余带宽,说明第一探测报文的发送路径与带宽使用参数表中记录的前次业务报文发送路径不同,且第一探测报文的发送路径的剩余带宽小于或等于带宽使用参数表中记录的前次业务报文发送路径的剩余带宽,即第一探测报文发送路径的带宽资源更差,因此,不需要更换最优下一跳,相应的,也不用更新带宽使用参数表。
步骤62,根据发送第一探测报文的网络设备的标识更新带宽使用参数表中下一跳网络设备的标识,并根据端口到所述指定网络设备之间链路的剩余带宽更新带宽使用参数表中的路径剩余带宽。
在本步骤中,将带宽使用参数表中下一跳网络设备的标识更新为发送第一探测报文的网络设备的标识,并将带宽使用参数表中的路径剩余带宽更新为端口到指定网络设备之间链路的剩余带宽,从而实现最优下一跳信息的更新。
步骤63,不更新带宽使用参数表。
进一步的,在一些实施例中,由于网络拓扑中存在多个ECMP链路组或工作-保护链路组,因此,还需要将探测报文传递下去。如图7所示,在确定接收第一探测报文的端口到指定网络设备之间链路的带宽使用参数(即步骤12)之后,所述路径选择方法还包括:
步骤71,生成第二探测报文,第二探测报文包括指定网络设备的标识和端口到指定网络设备之间链路的带宽使用参数。
需要说明的是,第二探测报文的结构与第一探测报文的结构相同。
在本步骤中,针对带宽使用参数为带宽利用率的情况,在更新完成带宽使用参数表(包括下一跳网络设备的标识和路径带宽利用率)之后,根据指定网络设备的标识和端口到指定网络设备之间链路的带宽利用率生成第二探测报文。
在本步骤中,针对带宽使用参数为剩余带宽的情况,在更新完成带宽使用参数表(包括下一跳网络设备的标识和路径剩余带宽)之后,根据指定网络设备的标识和端口到指定网络设备之间链路的剩余带宽生成第二探测报文。
步骤72,向预先配置的多播组成员发送第二探测报文。
在本步骤中,第二探测报文沿着与业务报文传送方向相反的方向发送,可以将探测报文发送至下一个ECMP链路组或工作-保护链路组。
需要说明的是,无论网络设备是否属于ECMP链路组或工作-保护链路组,接收到第一探测报文的网络设备都会生成并发送第二探测报文,只不过属于ECMP链路组或工作-保护链路组的网络设备还需要维护本地存储的带宽使用参数表,而不属于ECMP链路组或工作-保护链路组的网络设备,不存在路径选择的问题,因此无需在本地存储并维护带宽使用参数表。
在一些实施例中,当网络设备为业务路径的最后一个网络设备时,该网络设备生成首个探测报文。如图8所示,所述路径选择方法还包括以下步骤:
步骤81,当触发条件满足时,生成第三探测报文,第三探测报文携带带宽使用参数和本网络设备的标识。
触发条件满足是指接收到用户发送的配置指令,也就是说,由用户对业务路径的尾节点进行配置,由该业务路径的尾节点构造第三探测报文。
步骤82,按照预设周期向预先配置的多播组成员发送第三探测报文。
在本步骤中,业务路径的最后一个网络设备向其多播组成员发送第三探测报文,探测报文携带带宽使用参数和本网络设备的标识,第三探测报文的结构与第一探测报文的结构相同。需要说明的是,用户可以根据需要设置、调整第三探测报文的发送周期,即在发送的配置指令中携带探测报文的发送周期。
由于网络中发送探测报文的网络设备是有限的,本公开实施例仅针对时延敏感度高的业务使用,因此给网络带来的影响很小。
在一些实施例中,当本网络设备属于工作-保护链路组时,接收第一探测报文的端口包括工作路径的起始端口和保护路径的起始端口,带宽使用参数表用于记录工作路径的信息和保护路径的信息,所述信息包括起始端口信息、路径带宽使用参数和下一跳网络设备的标识。
所述确定接收第一探测报文的端口到指定网络设备之间链路的带宽使用参数(即步骤12),包括:确定接收第一探测报文的工作路径的起始端口到指定网络设备之间链路的带宽使用参数,以及确定接收第一探测报文的保护路径的起始端口到指定网络设备之间链路的带宽使用参数。也就是说,分别确定工作路径的起始端口和保护路径的起始端口到指定网络设备之间链路的带宽使用参数。
如图9所示,所述当接收到业务报文时,在确定出工作-保护路径之后,根据带宽使用参数表转发业务报文(即步骤14),包括:
步骤141,判断工作路径的起始端口到指定网络设备之间链路的带宽使用参数、保护路径的起始端口到指定网络设备之间链路的带宽使用参数和预设阈值是否满足预设条件,若满足,则执行步骤142,否则,结束流程。
若带宽使用参数包括带宽利用率,则满足预设条件包括:工作路径的起始端口到指定网络设备之间链路的带宽利用率大于预设阈值,且保护路径的起始端口到指定网络设备之间链路的带宽利用率小于该预设阈值,此时,说明工作路径发生了拥塞,其带宽资源较少,而保护路径的带宽资源较多,因此,可以将一部分传输业务数据的任务从工作路径迁移到保护路径上。
若带宽使用参数包括剩余带宽,则满足预设条件包括:工作路径的起始端口到指定网络设备之间链路的剩余带宽小于预设阈值,且保护路径的起始端口到指定网络设备之间链路的剩余带宽大于该预设阈值,此时,说明工作路径发生了拥塞,其带宽资源较少,而保护路径的带宽资源较多,因此,可以将一部分传输业务数据的任务从工作路径迁移到保护路径上。
步骤142,当接收到业务报文时,在确定出工作-保护路径之后,根据带宽使用参数表,确定分流比例。
在本步骤中,根据带宽使用参数表中记录的工作路径的带宽使用情况和保护路径的带宽使用情况,按照预设策略确定分流比例。
步骤143,按照分流比例,分别利用工作路径和保护路径发送业务报文。
需要说明的是,随着时间的推移,当工作路径的带宽利用率下降至阈值以下,或者,工作路径的剩余带宽上升至阈值以上时,后续的业务报文仍然选择在工作路径传输。
本公开实施例针对时延敏感度高的业务,提出了一种应用在Prefix Segment的场景中为松散路由选路的方法,通过松散路径段的尾节点,定时反向(与业务报文传送方向相反)发送探测报文,探测报文中可以携带链路带宽使用参数。由松散路径段的首节点根据链路带宽使用参数选择最优下一跳节点,实现最优转发路径的选择,可以有效地避免拥塞路径。
为了清楚说明本公开实施例的方案,以下结合不同的应用场景对本公开实施例的技术方案进行详细说明。
图10a和图10b为带宽使用参数为带宽利用率时的路径选择过程。如图10a所示,网络拓扑中所有节点均为SR节点,源节点为node11,目的节点为node22。控制器将段列表(segment-list)下发到源节点。在源节点将segment-list封装到业务报文头部,按照segment-list,业务报文沿着箭头所示的路径传送。即node11-->node1-->node>2-->node3。而从node3到node22之间的路径是松散的,即segment-list没有明确指定从node3走哪条路到达目的节点node22,而是由node3的控制平面根据路径的代价值(cost)作为约束条件计算路径,计算得到两条ECMP等价路径:node3-->node4-->node22和node3-->node7-->node22。
如图10b所示,由于本实施例中从node11到node22传送的业务报文对时延敏感度高,为了能够在两条等价路径中选择一条拥塞程度小的路径,node3需要知道ECMP路径的拥塞情况。为了获取链路拥塞信息,用户配置node22,由它开始反向发送探测报文,探测报文携带链路的指定网络设备的标识(指定网络设备即为node22)和带宽利用率信息,反向传递到node3。
用户指定node22为起始节点,由其生成第三探测报文,第三探测报文中指定网络设备的标识SID为16022,带宽利用率util为0。
node4的端口3收到第三探测报文,node4监测端口3的带宽利用率为80%,与第三探测报文中携带的带宽利用率对比,node4的端口3的带宽利用率大于第三探测报文中的带宽利用率,因此,node4的端口3到node22的链路的带宽利用率为80%。node4根据收到第三探测报文的端口3的信息,判断出node4在拓扑中不属于任何ECMP链路组或工作-保护链路组,不需要本地存储和维护带宽使用参数表,即不用存储端口3到node22的链路的带宽利用率。Node4生成第二探测报文,将指定网络设备的标识(16022)和端口3到node22的链路的带宽利用率(80%)携带在第二探测报文中。第二探测报文向node4的多播组成员发送,其多播组成员为端口1和端口2,即将第二探测报文分别发送给node3和node5。
node7的情况与node4类似,其端口3收到node22发送的第三探测报文,监测到端口3的带宽利用率为20%,大于第三探测报文中的带宽利用率(0%),因此,node7的端口3到node22的链路带宽利用率为20%。node7与node4类似,不需要本地存储和维护带宽使用参数表,即不用存储端口3到node22的链路的带宽利用率。node7生成第二探测报文,将指定网络设备的标识(16022)和端口3到node22的链路的带宽利用率(20%)携带在第二探测报文中,向node7的多播组成员发送,其多播组成员为端口1和端口2,即将第二探测报文分别发送给node3和node6。
node3从端口3和端口4均能收到由目的节点node22始发的探测报文(对于node3来说,接收到的探测报文为第一探测报文,该第一探测报文即为node4和node7发送的第二探测报文)。由于两路探测报文到达node3的时间不同,node3一旦接收到探测报文,就监测接收到探测报文的端口的带宽利用率。若node3的端口4先接收到探测报文(即发送该探测报文的节点为node4),监测到端口4的带宽利用率为40%,因此,端口4到node22的链路的带宽利用率为80%。由于node3本地存储的带宽使用参数表中记录的下一跳节点也是node4,因此,直接将带宽使用参数表中的路径带宽利用率更新为80%。Node3向node2和node5发送的探测报文中携带node22的标识16022、下一跳节点标识(node4的标识)、端口4到node22的链路带宽利用率80%。需要说明的是,图10b中未示出node3发出的该探测报文。
当node3的端口3后接收到探测报文(即发送该探测报文的节点为node7)时,监测到端口3的带宽利用率为30%,因此,端口3到node22的链路的带宽利用率为30%。由于node3本地存储的带宽使用参数表中记录的下一跳节点是node4,且端口3到node22的链路的带宽利用率(30%)小于带宽使用参数表中的路径带宽利用率(80%),则将带宽使用参数表中的下一跳节点标识更新为node7,并将带宽使用参数表中的路径带宽利用率更新为30%。如图10b所示,node3向node2和node5发送的探测报文中携带node22的标识16022、下一跳节点标识(node7的标识)、端口4到node22的链路带宽利用率30%。需要说明的是,node3的端口4和端口3接收探测报文的时间间隔很短,node3节点的带宽使用参数表更新很快,不会影响业务报文的传送。
业务报文到达node3时,node3在确定出ECMP路径之后,按照带宽使用参数表转发该业务报文,即沿着带宽利用率小的ECMP链路发往下一跳,即经端口3沿着路径node3-->node7-->node22发送,从而有效地避免了拥塞的发生。
图11a和图11b为带宽使用参数为剩余带宽时的路径选择过程。如图11a所示,网络拓扑中所有节点均为SR节点,源节点为node11,目的节点为node22。控制器将段列表(segment-list)下发到源节点。在源节点将segment-list封装到业务报文头部,按照segment-list,业务报文沿着箭头所示的路径传送。即node11-->node1-->node>2-->node3。而从node3到node22之间的路径是松散的,即segment-list没有明确指定从node3走哪条路到达目的节点node22,而是由node3的控制平面根据路径的代价值(cost)作为约束条件计算路径,计算得到两条ECMP等价路径:node3-->node4-->node22和node3-->node7-->node22。
如图11b所示,由于本实施例中从node11到node22传送的业务报文对时延敏感度高,为了能够在两条等价路径中选择一条可用带宽更大的路径,node3需要知道ECMP路径的剩余带宽情况。为了获取链路剩余带宽信息,用户配置node22,由它开始反向发送探测报文,探测报文携带链路的指定网络设备的标识(指定网络设备即为node22)和剩余带宽信息,反向传递到node3。
用户指定node22为起始节点,由其生成第三探测报文,第三探测报文中指定网络设备的标识SID为16022,剩余带宽BWQ为0。需要说明的是,BWQ为0代表带宽未量化。
node4的端口3收到第三探测报文,node4监测端口3的剩余带宽为1,与第三探测报文中携带的剩余带宽对比,由于第三探测报文中剩余带宽未量化,因此,node4的端口3到node22的链路的剩余带宽就取端口3的剩余带宽的值1。node4根据收到第三探测报文的端口3的信息,判断出node4在拓扑中不属于任何ECMP链路组或工作-保护链路组,不需要本地存储和维护带宽使用参数表,即不用存储端口3到node22的链路的剩余带宽。Node4生成第二探测报文,将指定网络设备的标识(SID=16022)和端口3到node22的链路的剩余带宽(BWQ=1)携带在第二探测报文中。第二探测报文从node4的多播组成员发送出去,其多播组成员为端口1和端口2,分别发送给node3和node5。
node7的情况与node4类似,其端口3收到node22发送的第三探测报文,监测到端口3的剩余带宽为4,node7的端口3到node22的链路剩余带宽为4。node7与node4类似,不需要本地存储和维护带宽使用参数表,即不用存储端口3到node22的链路的剩余带宽。node7生成第二探测报文,将指定网络设备的标识(SID=16022)和端口3到node22的链路的剩余带宽(BWQ=4)携带在第二探测报文中,通过其多播组成员端口1和端口2将第二探测报文分别发送给node3和node6。
node3从端口3和端口4均能收到由目的节点node22始发的探测报文(对于node3来说,接收到的探测报文为第一探测报文,该第一探测报文即为node4和node7发送的第二探测报文)。由于两路探测报文到达node3的时间不同,node3一旦接收到探测报文,就监测接收到探测报文的端口的剩余带宽。若node3的端口4先接收到探测报文(即发送该探测报文的节点为node4),监测到端口4的剩余带宽为3,而接收到的探测报文中的剩余带宽为1,因此,端口4到node22的链路的剩余带宽为1。由于node3本地存储的带宽使用参数表中记录的下一跳节点也是node4,因此,直接将带宽使用参数表中的路径剩余带宽更新为1。Node3向node2和node5发送的探测报文中携带node22的标识16022、下一跳节点标识(node4的标识)、端口4到node22的链路剩余带宽1。需要说明的是,图10b中未示出node3发出的该探测报文。
当node3的端口3后接收到探测报文(即发送该探测报文的节点为node7)时,监测到端口3的剩余带宽为6,而端口3接收到的探测报文中的剩余带宽为4,因此,端口3到node22的链路的剩余带宽为4。由于node3本地存储的带宽使用参数表中记录的下一跳节点是node4,且端口3到node22的链路的剩余带宽(BWQ=4)大于带宽使用参数表中的路径剩余带宽(1),则将带宽使用参数表中的下一跳节点标识更新为node7,并将带宽使用参数表中的路径剩余带宽更新为4。如图10b所示,node3向node2和node5发送的探测报文中携带node22的标识16022、下一跳节点标识(node7的标识)、端口4到node22的链路剩余带宽4。
业务报文到达node3时,node3在确定出ECMP路径之后,按照带宽使用参数表转发该业务报文,即沿着剩余带宽大的ECMP链路发往下一跳,即经端口3沿着路径node3-->node7-->node22发送,从而有效地避免了拥塞的发生。
图12a和图12b为存在工作路径和保护路径时的路径选择过程。
如图12a所示,网络拓扑中所有节点均为SR节点,源节点为node11,目的节点为node22。控制器将段列表(segment-list)下发到源节点。在源节点将segment-list封装到业务报文头部,按照segment-list,业务报文沿着箭头所示的路径传送。即node11-->node1-->node>2-->node3。而从node3到node22之间的路径是松散的,即segment-list没有明确指定从node3走哪条路到达目的节点node22。为更好地保证业务报文发送,在拓扑中分配了工作路径和保护路径。Node3的控制平面依据代价值(cost)计算的工作路径为:node3-->node4-->node22,保护路径为:node3-->node7-->node22。在本实施例工作路径+保护路径的场景中,在不改变控制平面算路算法的情况下,应用探测报文定时反向报告链路带宽使用情况,以便于链路中的节点判断后续链路的拥塞情况,用来决策工作和保护路径哪条路更适合传送业务报文。
在此场景中需要设定一个拥塞门限值(即阈值),本实施例中设门限值为90%。若工作路径拥塞情况达到门限值且保护路径拥塞情况未达到门限值,一部分业务将从工作路径切换到保护路径;若工作和保护路径的拥塞情况均超过门限值,需要重新计算从node3到node22的路径,以避开拥塞路径。
如图12b所示,用户指定node22为起始节点,用户配置node22,触发node22主动反向发送探测报文。探测报文在node4和node7传送方法与前述描述相同,本实施例中重点描述node3节点的情况。本实施例以带宽使用参数为带宽利用率为例说明,需要说明的是,带宽使用参数为剩余带宽的情况也适用于本实施例的工作路径+保护路径的场景。
带宽使用参数表中需要记录工作路径和保护路径两条路径的带宽利用率数据。假如在业务报文开始发送的时候,工作路径和保护路径的带宽利用率均为10%,业务报文传送了一段时间后,node3先监测到端口4接收到探测报文,端口4到node22的链路的带宽利用率为90%。node3节点判断端口4有自己对应的工作-保护链路组,即需要更新带宽使用参数表。node3在带宽使用参数表中将工作路径的起始端口4对应的路径带宽利用率更新为90%,工作路径的起始端口为端口4不变,下一跳节点仍为node4不变。带宽使用参数表中保护路径的信息不变,即保护路径的起始端口为端口3,其对应的路径带宽利用率为10%,下一跳节点为node3。
同理,Node3后监测到端口3接收到探测报文,端口3到node 22的链路的带宽利用率为30%,node3节点判断端口3有自己对应的工作-保护链路组,即需要更新带宽使用参数表。node3在带宽使用参数表中将保护路径的起始端口为端口3对应的路径带宽利用率更新为30%,保护路径的起始端口为端口3不变,下一跳节点仍为node7不变。带宽使用参数表中工作路径的信息不变,即工作路径的起始端口为端口4,其对应的路径带宽利用率为90%,下一跳节点为node3。
由于node3的端口4到node22的链路带宽利用率大于拥塞门限值,触发node3将启用保护路径分担一部分工作路径的业务报文传送。如图12b所示,业务报文到达node3时,在确定出工作-保护路径之后,node3判断出工作路径发生拥塞,根据用户制定的策略对业务报文进行分流,一部分业务报文将沿着带宽利用率小的保护链路发往下一跳(即经端口3沿着路径node3-->node7-->node22向尾节点传送),一部分业务报文仍然在工作路径传送(即经端口4沿着路径node3-->node4-->node22向尾节点传送),从而有效地降低了工作路径的拥塞。随着时间的推移,当工作路径带宽利用率下降至拥塞门限值以下时,后续报文仍然选择在工作路径传送。
在本实施例中,针对路径拥塞的情况,此方案可以高效地利用工作和保护路径,保护路径分担了工作路径的业务压力,缓解了工作路径的拥塞。
基于相同的技术构思,本公开实施例还提供一种路径选择装置,路径选择装置可以在控制平面实现,也可以由硬件实现。如图10所示,所述路径选择装置包括:接收模块101、获取模块102、确定模块103、表项维护模块104和业务处理模块105。
接收模块101用于,接收第一探测报文以及接收业务报文。
获取模块102用于,获取所述第一探测报文中携带的带宽使用参数和指定网络设备的标识,所述指定网络设备为业务路径中最后一个网络设备。
确定模块103用于,确定接收所述第一探测报文的端口到所述指定网络设备之间链路的带宽使用参数。
表项维护模块104用于,当本网络设备属于所述指定网络设备的标识对应的ECMP链路组或工作-保护链路组时,根据所述端口的带宽使用参数、所述第一探测报文中的带宽使用参数和指定网络设备的标识以及本地存储的带宽使用参数表,维护所述带宽使用参数表;所述带宽使用参数表包括指定网络设备标识、带宽使用参数和下一跳网络设备的标识。
业务处理模块105用于,当所述接收模块接收到业务报文时,在确定出ECMP路径或工作-保护路径之后,根据所述带宽使用参数表转发所述业务报文。
在一些实施例中,表项维护模块104用于,当发送所述第一探测报文的网络设备的标识与所述带宽使用参数表中下一跳网络设备的标识相同时,根据所述端口到所述指定网络设备之间链路的带宽使用参数,更新所述带宽使用参数表中的路径带宽使用参数;当发送所述第一探测报文的网络设备的标识与所述带宽使用参数表中下一跳网络设备的标识不同时,根据所述端口到所述指定网络设备之间链路的带宽使用参数和所述带宽使用参数表中的路径带宽使用参数的比较结果,维护所述带宽使用参数表。
在一些实施例中,确定模块103用于,确定接收所述第一探测报文的端口的带宽使用参数;根据所述端口的带宽使用参数和所述第一探测报文中的带宽使用参数,确定所述端口到所述指定网络设备之间链路的带宽使用参数。
在一些实施例中,所述带宽使用参数包括带宽利用率,确定模块103用于,确定所述端口的带宽利用率和所述第一探测报文中的带宽利用率中的最大值。
在一些实施例中,表项维护模块104用于,当所述端口到所述指定网络设备之间链路的带宽利用率小于所述带宽使用参数表中的路径带宽利用率时,根据发送所述第一探测报文的网络设备的标识更新所述带宽使用参数表中下一跳网络设备的标识,并根据所述端口到所述指定网络设备之间链路的带宽利用率更新所述带宽使用参数表中的路径带宽利用率;当所述端口到所述指定网络设备之间链路的带宽利用率大于或等于所述带宽使用参数表中的路径带宽利用率时,不更新所述带宽使用参数表。
在一些实施例中,所述带宽使用参数包括剩余带宽,确定模块103用于,确定所述端口的剩余带宽和所述第一探测报文中的剩余带宽的最小值。
在一些实施例中,表项维护模块104用于,当所述端口到所述指定网络设备之间链路的剩余带宽大于所述带宽使用参数表中的路径剩余带宽时,根据发送所述第一探测报文的网络设备的标识更新所述带宽使用参数表中下一跳网络设备的标识,并根据所述端口到所述指定网络设备之间链路的剩余带宽更新所述带宽使用参数表中的路径剩余带宽;当所述端口到所述指定网络设备之间链路的剩余带宽小于或等于所述带宽使用参数表中的路径剩余带宽时,不更新所述带宽使用参数表。
在一些实施例中,所述路径选择装置还包括第一探测报文生成模块和第一发送模块,所述第一探测报文生成模块用于,生成第二探测报文,所述第二探测报文包括所述指定网络设备的标识和所述端口到所述指定网络设备之间链路的带宽使用参数。
所述第一发送模块用于,向预先配置的多播组成员发送所述第二探测报文。
在一些实施例中,所述路径选择装置还包括第二探测报文生成模块和第二发送模块,所述第二探测报文生成模块用于,当触发条件满足时,生成第三探测报文,所述第三探测报文携带带宽使用参数和本网络设备的标识。
所述第二发送模块用于,按照预设周期向预先配置的多播组成员发送所述第三探测报文。
在一些实施例中,当本网络设备属于至少一个工作-保护链路组时,所述端口包括工作路径的起始端口和保护路径的起始端口,所述带宽使用参数表用于记录工作路径的信息和保护路径的信息,所述信息包括起始端口信息、路径带宽使用参数和下一跳网络设备的标识。
业务处理模块105用于,若所述工作路径的起始端口到所述指定网络设备之间链路的带宽使用参数、所述保护路径的起始端口到所述指定网络设备之间链路的带宽使用参数和预设阈值满足预设条件,则在接收到业务报文并确定出工作-保护路径之后,根据所述带宽使用参数表,确定分流比例,并按照所述分流比例,分别利用所述工作路径和所述保护路径发送所述业务报文。
本公开实施例还提供了一种计算机设备,该计算机设备包括:一个或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如前述各实施例所提供的路径选择方法。
本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被执行时实现如前述各实施例所提供的路径选择方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的情况下,可进行各种形式和细节上的改变。
Claims (13)
1.一种路径选择方法,所述方法包括:
接收第一探测报文,获取其中携带的带宽使用参数和指定网络设备的标识,所述指定网络设备为业务路径中最后一个网络设备;
确定接收所述第一探测报文的端口到所述指定网络设备之间链路的带宽使用参数;
若本网络设备属于所述指定网络设备的标识对应的等价路由ECMP链路组或工作-保护链路组,则根据本地存储的带宽使用参数表、所述端口到所述指定网络设备之间链路的带宽使用参数以及所述第一探测报文中的带宽使用参数和指定网络设备的标识,维护所述带宽使用参数表;所述带宽使用参数表包括指定网络设备标识、路径带宽使用参数和下一跳网络设备的标识;
当接收到业务报文时,在确定出ECMP路径或工作-保护路径之后,根据所述带宽使用参数表转发所述业务报文。
2.如权利要求1所述的方法,其中,所述根据本地存储的带宽使用参数表、所述端口到所述指定网络设备之间链路的带宽使用参数以及所述第一探测报文中的带宽使用参数和指定网络设备的标识,维护所述带宽使用参数表,包括:
若发送所述第一探测报文的网络设备的标识与所述带宽使用参数表中下一跳网络设备的标识相同,则根据所述端口到所述指定网络设备之间链路的带宽使用参数,更新所述带宽使用参数表中的路径带宽使用参数;
若发送所述第一探测报文的网络设备的标识与所述带宽使用参数表中下一跳网络设备的标识不同,则根据所述端口到所述指定网络设备之间链路的带宽使用参数和所述带宽使用参数表中的路径带宽使用参数的比较结果,维护所述带宽使用参数表。
3.如权利要求2所述的方法,其中,所述确定接收所述第一探测报文的端口到所述指定网络设备之间链路的带宽使用参数,包括:
确定接收所述第一探测报文的端口的带宽使用参数;
根据所述端口的带宽使用参数和所述第一探测报文中的带宽使用参数,确定所述端口到所述指定网络设备之间链路的带宽使用参数。
4.如权利要求3所述的方法,其中,所述带宽使用参数包括带宽利用率,所述根据所述端口的带宽使用参数和所述第一探测报文中的带宽使用参数,确定所述端口到所述指定网络设备之间链路的带宽使用参数,包括:确定所述端口的带宽利用率和所述第一探测报文中的带宽利用率中的最大值。
5.如权利要求4所述的方法,其中,所述根据所述端口到所述指定网络设备之间链路的带宽使用参数和所述带宽使用参数表中的路径带宽使用参数的比较结果,维护所述带宽使用参数表,包括:
若所述端口到所述指定网络设备之间链路的带宽利用率小于所述带宽使用参数表中的路径带宽利用率,则根据发送所述第一探测报文的网络设备的标识更新所述带宽使用参数表中下一跳网络设备的标识,并根据所述端口到所述指定网络设备之间链路的带宽利用率更新所述带宽使用参数表中的路径带宽利用率;
若所述端口到所述指定网络设备之间链路的带宽利用率大于或等于所述带宽使用参数表中的路径带宽利用率,则不更新所述带宽使用参数表。
6.如权利要求3所述的方法,其中,所述带宽使用参数包括剩余带宽,所述根据所述端口的带宽使用参数和所述第一探测报文中的带宽使用参数,确定所述端口到所述指定网络设备之间链路的带宽使用参数,包括:确定所述端口的剩余带宽和所述第一探测报文中的剩余带宽的最小值。
7.如权利要求6所述的方法,其中,所述根据所述端口到所述指定网络设备之间链路的带宽使用参数和所述带宽使用参数表中的路径带宽使用参数的比较结果,维护所述带宽使用参数表,包括:
若所述端口到所述指定网络设备之间链路的剩余带宽大于所述带宽使用参数表中的路径剩余带宽,则根据发送所述第一探测报文的网络设备的标识更新所述带宽使用参数表中下一跳网络设备的标识,并根据所述端口到所述指定网络设备之间链路的剩余带宽更新所述带宽使用参数表中的路径剩余带宽;
若所述端口到所述指定网络设备之间链路的剩余带宽小于或等于所述带宽使用参数表中的路径剩余带宽,则不更新所述带宽使用参数表。
8.如权利要求1所述的方法,其中,在确定接收所述第一探测报文的端口到所述指定网络设备之间链路的带宽使用参数之后,还包括:
生成第二探测报文,所述第二探测报文包括所述指定网络设备的标识和所述端口到所述指定网络设备之间链路的带宽使用参数;
向预先配置的多播组成员发送所述第二探测报文。
9.如权利要求1所述的方法,其中,还包括:
当触发条件满足时,生成第三探测报文,所述第三探测报文携带带宽使用参数和本网络设备的标识;
按照预设周期向预先配置的多播组成员发送所述第三探测报文。
10.如权利要求1所述的方法,其中,当本网络设备属于至少一个工作-保护链路组时,所述端口包括工作路径的起始端口和保护路径的起始端口,所述带宽使用参数表用于记录工作路径的信息和保护路径的信息,所述信息包括起始端口信息、路径带宽使用参数和下一跳网络设备的标识;
所述当接收到业务报文时,在确定出工作-保护路径之后,根据所述带宽使用参数表转发所述业务报文,包括:
若所述工作路径的起始端口到所述指定网络设备之间链路的带宽使用参数、所述保护路径的起始端口到所述指定网络设备之间链路的带宽使用参数和预设阈值满足预设条件,则在接收到业务报文并确定出工作-保护路径之后,根据所述带宽使用参数表,确定分流比例,并按照所述分流比例,分别利用所述工作路径和所述保护路径发送所述业务报文。
11.一种路径选择装置,包括:接收模块、获取模块、确定模块、表项维护模块和业务处理模块;
所述接收模块用于,接收第一探测报文,以及接收业务报文;
所述获取模块用于,获取所述第一探测报文中携带的带宽使用参数和指定网络设备的标识,所述指定网络设备为业务路径中最后一个网络设备;
所述确定模块用于,确定接收所述第一探测报文的端口到所述指定网络设备之间链路的带宽使用参数;
所述表项维护模块用于,当本网络设备属于所述指定网络设备的标识对应的ECMP链路组或工作-保护链路组时,根据所述端口的带宽使用参数、所述第一探测报文中的带宽使用参数和指定网络设备的标识以及本地存储的带宽使用参数表,维护所述带宽使用参数表;所述带宽使用参数表包括指定网络设备标识、带宽使用参数和下一跳网络设备的标识;
所述业务处理模块用于,当所述接收模块接收到业务报文时,在确定出ECMP路径或工作-保护路径之后,根据所述带宽使用参数表转发所述业务报文。
12.一种计算机设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-10任一项所述的路径选择方法。
13.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如权利要求1-10任一项所述的路径选择方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410896.XA CN113132225B (zh) | 2019-12-31 | 2019-12-31 | 路径选择方法、装置、计算机设备和计算机可读介质 |
PCT/CN2020/141636 WO2021136430A1 (zh) | 2019-12-31 | 2020-12-30 | 路径选择方法、装置、计算机设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410896.XA CN113132225B (zh) | 2019-12-31 | 2019-12-31 | 路径选择方法、装置、计算机设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113132225A true CN113132225A (zh) | 2021-07-16 |
CN113132225B CN113132225B (zh) | 2024-04-26 |
Family
ID=76687293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911410896.XA Active CN113132225B (zh) | 2019-12-31 | 2019-12-31 | 路径选择方法、装置、计算机设备和计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113132225B (zh) |
WO (1) | WO2021136430A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884866A (zh) * | 2022-06-09 | 2022-08-09 | 中国电信股份有限公司 | 一种路径确定方法、装置、系统、设备及存储介质 |
CN115550456A (zh) * | 2022-09-13 | 2022-12-30 | 中国联合网络通信集团有限公司 | 一种业务调度方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11240355B2 (en) | 2019-05-17 | 2022-02-01 | Arista Networks, Inc. | Platform agnostic abstraction for forwarding equivalence classes with hierarchy |
US11700201B2 (en) * | 2021-07-26 | 2023-07-11 | Arista Networks, Inc. | Mechanism to enforce consistent next hops in a multi-tier network |
CN113595897B (zh) * | 2021-08-13 | 2022-09-20 | 新华三信息安全技术有限公司 | 一种路径探测方法及装置 |
CN115208827A (zh) * | 2022-07-11 | 2022-10-18 | 京东科技信息技术有限公司 | 一种流量分配的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893558A (zh) * | 2010-02-23 | 2013-01-23 | Lg电子株式会社 | 用于家庭网络系统中的会话路由的方法和设备 |
CN106911584A (zh) * | 2015-12-23 | 2017-06-30 | 华为技术有限公司 | 一种基于叶-脊拓扑结构的流量负载分担方法、装置及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634973B (zh) * | 2014-10-30 | 2019-07-12 | 华为数字技术(苏州)有限公司 | 基于负载均衡的路由方法和设备 |
WO2017144943A1 (en) * | 2016-02-23 | 2017-08-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for congruent unicast and multicast for ethernet services in a spring network |
CN108965163A (zh) * | 2017-05-18 | 2018-12-07 | 中兴通讯股份有限公司 | 带宽调整方法及装置、存储介质和处理器 |
CN110890994B (zh) * | 2018-09-11 | 2022-06-28 | 华为技术有限公司 | 一种报文转发路径的确定方法、设备和系统 |
-
2019
- 2019-12-31 CN CN201911410896.XA patent/CN113132225B/zh active Active
-
2020
- 2020-12-30 WO PCT/CN2020/141636 patent/WO2021136430A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102893558A (zh) * | 2010-02-23 | 2013-01-23 | Lg电子株式会社 | 用于家庭网络系统中的会话路由的方法和设备 |
CN106911584A (zh) * | 2015-12-23 | 2017-06-30 | 华为技术有限公司 | 一种基于叶-脊拓扑结构的流量负载分担方法、装置及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884866A (zh) * | 2022-06-09 | 2022-08-09 | 中国电信股份有限公司 | 一种路径确定方法、装置、系统、设备及存储介质 |
CN115550456A (zh) * | 2022-09-13 | 2022-12-30 | 中国联合网络通信集团有限公司 | 一种业务调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113132225B (zh) | 2024-04-26 |
WO2021136430A1 (zh) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113132225B (zh) | 路径选择方法、装置、计算机设备和计算机可读介质 | |
US11522786B2 (en) | Packet forwarding path determining method, device, and system | |
US10581723B2 (en) | PCEP extension for PCECC support of distributed computing, multiple services, and inter-domain routing | |
KR102018395B1 (ko) | 분할 아키텍쳐 네트워크에서의 패킷 방송 메카니즘 | |
CN103348630B (zh) | 用于在组播网络中控制选择的方法 | |
US10270604B2 (en) | PIM join entropy | |
US8649375B2 (en) | Method and devices for multicast distribution optimization | |
US20150295813A1 (en) | Method and Apparatus for Determining Traffic Forwarding Path and Communications System | |
US12040966B2 (en) | Path switching method, device, and system | |
CN104243345B (zh) | 一种基于业务类型的流量调度方法、系统和设备 | |
CN108234314B (zh) | 业务调度方法和装置 | |
US9906437B2 (en) | Communication system, control apparatus, control method and program | |
CN112152933B (zh) | 一种发送流量的方法和装置 | |
JP4978520B2 (ja) | ネットワーク制御システム、ネットワーク制御装置、トラフィック制御方法、およびプログラム | |
CN116319549A (zh) | 分布式流量调度方法及装置 | |
CN116112423A (zh) | 一种路径确定方法、装置及设备 | |
CN114079640B (zh) | 一种数据处理方法、用户面功能及装置 | |
CN114531392A (zh) | 组播业务设计方法、服务器及存储介质 | |
CN112055954B (zh) | 网络中优选路径路由的资源预留和维护 | |
CN114268577B (zh) | 网络连接的建立方法、装置、设备及存储介质 | |
Nakayama | Rate-based path selection for shortest path bridging in access networks | |
WO2023051049A1 (zh) | 网络架构、网络通信方法、电子设备及存储介质 | |
CN112714061B (zh) | 路由方法和装置 | |
US20150372900A1 (en) | Communication system, control apparatus, communication control method, and program | |
CN116170369A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |