CN118075195A - 数据中心网络故障重路由方法、装置、电子设备及介质 - Google Patents
数据中心网络故障重路由方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN118075195A CN118075195A CN202410466619.5A CN202410466619A CN118075195A CN 118075195 A CN118075195 A CN 118075195A CN 202410466619 A CN202410466619 A CN 202410466619A CN 118075195 A CN118075195 A CN 118075195A
- Authority
- CN
- China
- Prior art keywords
- link
- packet
- loss rate
- packet loss
- current 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 64
- 230000005540 biological transmission Effects 0.000 claims abstract description 35
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 35
- 238000012360 testing method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 7
- 230000036541 health Effects 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 abstract description 22
- 238000011084 recovery Methods 0.000 abstract description 11
- 238000001514 detection method Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 239000000523 sample Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000005094 computer simulation Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数字信息的传输技术领域,特别涉及一种数据中心网络故障重路由方法、装置、电子设备及介质,其中,数据中心网络故障重路由方法包括:发送第一请求包至当前链路下游端,同时接收当前链路下游端基于第一请求包反馈的第一响应包;基于第一响应包计算当前链路的第一链路丢包率,并根据第一链路丢包率判断当前链路是否处于故障状态;若当前链路处于故障状态,则根据源路由策略切换对应流量的传输链路路径。由此,通过在链路上下游端口之间快速检测故障并迅速为流量切换路径,解决了传统方案识别链路故障状态不全面,以及当前数据平面内的快速重路由机制需要消耗较长时间才能找到备用路径的问题,提升网络性能恢复的速率。
Description
技术领域
本发明涉及数字信息的传输技术领域,特别涉及一种数据中心网络故障重路由方法、装置、电子设备及介质。
背景技术
云计算现已成为重要的信息基础设施,是数字经济的核心底座之一。其中,数据中心网络是云计算最重要的基础设施之一,是用于连接计算和存储等资源的关键组件,其主要任务是提供高带宽、低延迟和稳定可靠的网络传输服务。数据中心网络承载着众多对性能要求极高的应用,包括人工智能训练、大数据分析、增强现实/虚拟现实(AugmentedReality/Virtual Reality, AR/VR)和云存储等。这些应用需要数据中心网络提供可预期的性能,包括网络可用性、传输带宽和端到端延迟等方面。因此,性能可预期的数据中心网络对于云计算和数据中心应用的发展具有重要影响。随着数据中心网络规模的不断扩大,网络设备(如交换机和链路)故障不可避免,严重地影响了数据中心网络性能的稳定性,数据中心网络故障时的快速重路由技术,是实现数据中心网络性能可预期的前提。
相关技术中,网络设备通常使用SNMP(Simple Network Monitoring Protocol,简单网络管理协议)、syslogs(系统日志)和双向转发检测(Bidirectional ForwardingDetection,BFD)等机制来检测链路故障;在路径迁移阶段,控制平面的路由机制(如OSPF(Open Shortest Path First,开放最短路径优先)和IS-IS)利用全局消息通告和路径计算来实现路由的重新收敛,然后更改数据平面的转发表,最终将流量迁移到新的路径。
然而,该故障检测方法只能检测整个设备或整个端口无响应的黑洞故障,无法及时地检测灰色故障;当前数据平面内的快速重路由机制也需要较长的时间来找到备用路径,亟待解决。
发明内容
本发明提供一种数据中心网络故障重路由方法、装置、电子设备及介质,以解决传统方案识别链路故障状态不全面,以及当前数据平面内的快速重路由机制需要消耗较长时间才能找到备用路径的问题,提升网络性能恢复的速率。
为达到上述目的,本发明第一方面实施例提出一种数据中心网络故障重路由方法,包括以下步骤:
发送第一请求包至当前链路下游端,同时接收所述当前链路下游端基于所述第一请求包反馈的第一响应包;
基于所述第一响应包计算当前链路的第一链路丢包率,并根据所述第一链路丢包率判断所述当前链路是否处于故障状态;
若所述当前链路处于所述故障状态,则根据源路由策略切换对应流量的传输链路路径。
根据本发明的一个实施例,所述第一响应包包括经过当前链路上游端的第一数据包数量、经过所述当前链路下游端的第二数据包数量和第一非故障丢包数量。
根据本发明的一个实施例,所述基于所述第一响应包计算当前链路的第一链路丢包率,包括:
计算所述第一数据包数量和所述第二数据包数量的第一差值,并计算所述第一差值和所述第一非故障丢包数量的第二差值;
根据所述第二差值与所述第一数据包数量的比值得到所述第一链路丢包率。
根据本发明的一个实施例,所述根据所述第一链路丢包率判断所述当前链路是否处于故障状态,包括:
若所述第一链路丢包率大于或等于第一预设丢包率,则判定所述故障状态为黑洞故障;
若所述第一链路丢包率处于预设丢包率区间且所述第一链路丢包率处于所述预设丢包率区间的持续时长大于第一预设时长,则判定所述故障状态为灰色故障,其中,所述预设丢包率区间的上限值小于所述第一预设丢包率。
根据本发明的一个实施例,所述根据源路由策略切换对应流量的传输链路路径,包括:
获取预设的全网路径状态表,基于所述预设的全网路径状态表,根据所述源路由策略为所述对应流量选择可用传输链路路径并进行切换。
根据本发明的一个实施例,在根据所述源路由策略切换对应流量的传输链路路径之后,还包括:
发送第二请求包至所述当前链路下游端,同时接收所述当前链路下游端基于所述第二请求包反馈的第二响应包,其中,所述第二响应包包括经过所述当前链路上游端的第一测试数据包数量、经过所述当前链路下游端的第二测试数据包数量和第二非故障丢包数量;
根据所述第一测试数据包数量、所述第二测试数据包数量和所述第二非故障丢包数量计算第二链路丢包率;
若所述第二链路丢包率小于第二预设丢包率且所述第二链路丢包率小于所述第二预设丢包率的持续时长大于第二预设时长,则判定所述当前链路为健康状态。
根据本发明实施例提出的数据中心网络故障重路由方法,通过发送第一请求包至当前链路下游端,同时接收当前链路下游端基于第一请求包反馈的第一响应包,可以基于第一响应包计算当前链路的第一链路丢包率,并根据第一链路丢包率判断当前链路是否处于故障状态,当前链路处于故障状态时,根据源路由策略切换对应流量的传输链路路径。由此,通过在链路上下游端口之间快速检测故障并迅速为流量切换路径,解决了传统方案识别链路故障状态不全面,以及当前数据平面内的快速重路由机制需要消耗较长时间才能找到备用路径的问题,提升网络性能恢复的速率。
为达到上述目的,本发明第二方面实施例提出一种数据中心网络故障重路由装置,包括:
收发模块,用于发送第一请求包至当前链路下游端,同时接收所述当前链路下游端基于所述第一请求包反馈的第一响应包;
判断模块,用于基于所述第一响应包计算当前链路的第一链路丢包率,并根据所述第一链路丢包率判断所述当前链路是否处于故障状态;
重路由模块,用于在所述当前链路处于所述故障状态时,根据源路由策略切换对应流量的传输链路路径。
根据本发明的一个实施例,所述第一响应包包括经过当前链路上游端的第一数据包数量、经过所述当前链路下游端的第二数据包数量和第一非故障丢包数量。
根据本发明的一个实施例,所述判断模块,具体用于:
计算所述第一数据包数量和所述第二数据包数量的第一差值,并计算所述第一差值和所述第一非故障丢包数量的第二差值;
根据所述第二差值与所述第一数据包数量的比值得到所述第一链路丢包率。
根据本发明的一个实施例,所述判断模块,具体用于:
在所述第一链路丢包率大于或等于第一预设丢包率时,判定所述故障状态为黑洞故障;
在所述第一链路丢包率处于预设丢包率区间且所述第一链路丢包率处于所述预设丢包率区间的持续时长大于第一预设时长时,判定所述故障状态为灰色故障,其中,所述预设丢包率区间的上限值小于所述第一预设丢包率。
根据本发明的一个实施例,在发送所述第一请求包至所述当前链路下游端之后,所述收发模块,还用于:
在未接收到所述第一响应包时,判定所述第一链路丢包率大于或等于所述第一预设丢包率。
根据本发明的一个实施例,所述重路由模块,具体用于:
获取预设的全网路径状态表,基于所述预设的全网路径状态表,根据所述源路由策略为所述对应流量选择可用传输链路路径并进行切换。
根据本发明的一个实施例,在根据所述源路由策略切换对应流量的传输链路路径之后,所述重路由模块,还用于:
发送第二请求包至所述当前链路下游端,同时接收所述当前链路下游端基于所述第二请求包反馈的第二响应包,其中,所述第二响应包包括经过所述当前链路上游端的第一测试数据包数量、经过所述当前链路下游端的第二测试数据包数量和第二非故障丢包数量;
根据所述第一测试数据包数量、所述第二测试数据包数量和所述第二非故障丢包数量计算第二链路丢包率;
若所述第二链路丢包率小于第二预设丢包率且所述第二链路丢包率小于所述第二预设丢包率的持续时长大于第二预设时长,则判定所述当前链路为健康状态。
根据本发明实施例提出的数据中心网络故障重路由装置,通过发送第一请求包至当前链路下游端,同时接收当前链路下游端基于第一请求包反馈的第一响应包,可以基于第一响应包计算当前链路的第一链路丢包率,并根据第一链路丢包率判断当前链路是否处于故障状态,当前链路处于故障状态时,根据源路由策略切换对应流量的传输链路路径。由此,通过在链路上下游端口之间快速检测故障并迅速为流量切换路径,解决了传统方案识别链路故障状态不全面,以及当前数据平面内的快速重路由机制需要消耗较长时间才能找到备用路径的问题,提升网络性能恢复的速率。
为达到上述目的,本发明第三方面实施例提出一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的数据中心网络故障重路由方法。
为达到上述目的,本发明第四方面实施例提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的数据中心网络故障重路由方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例提供的一种数据中心网络故障重路由方法的流程图;
图2为根据本发明的一个实施例的在相邻交换机之间部署的故障自检机制示意图;
图3为根据本发明的一个实施例的故障自检机制在整个数据中心网络的部署示意图;
图4为根据本发明的一个实施例的故障自检机制的工作流程的示意图;
图5为根据本发明的一个实施例的请求包提供的批次同步功能的示意图;
图6为根据本发明的一个实施例的路径迁移(切换)方案的示意图;
图7为根据本发明实施例提供的数据中心网络故障重路由装置的方框示意图;
图8为根据本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的数据中心网络故障重路由方法、装置、电子设备及介质。
图1是本发明一个实施例的数据中心网络故障重路由方法的流程图。
在介绍本发明实施例提出的数据中心网络故障重路由方法之前,先简单介绍下相关技术和本发明实施例的配置部署。
相关技术中,快速重路由方案包含两个关键步骤:(1)故障检测:网络检测出发生的设备故障;(2)路径迁移(切换):交换机或端侧主机为受故障影响的流量切换路径。这两个步骤的速度对快速重路由方案的效果有着重要影响。
对于故障检测,在传统网络中,网络设备通常使用SNMP、syslogs和双向转发检测等机制来检测链路故障,其中,BFD因其开销低的特点而被广泛使用,BFD可以与直连交换机建立会话通道,并周期性检测链路对端的状态,如果对端长时间未回应,BFD则认为该通道的某个部分发生了故障。
然而,这种故障检测方法只能检测整个设备或整个端口无响应的黑洞故障,无法及时地检测灰色故障。灰色故障是指由连接器污染、光纤弯曲、发射机老化或收发器损坏等引起的链路持续随机丢包,当链路发生灰色故障时,BFD机制无法通过周期性探测来检测该故障,并且,持续丢包的灰色故障会严重影响应用的性能。例如,当链路丢包率超过0.1%时,RDMA(Remote Direct Memory Access,远程直接数据存取)的吞吐量会下降25%;0.5%的丢包率会导致视频应用的吞吐量下降50%。
在路径迁移(切换)阶段,控制平面的路由机制(如OSPF和IS-IS)利用全局消息通告和路径计算来实现路由的重新收敛,然后更改数据平面的转发表,最终将流量迁移到新的路径。
然而,由于路由重新收敛的耗时较长,控制平面重路由的时间(高达数百毫秒)和数据包转发的时间(小于1微秒)出现了严重失衡,在路由恢复之前,流量将遭遇持续丢包,最终引发TCP(Transmission Control Protocol,传输控制协议)连接中断。而当前数据平面内的快速重路由机制,同样需要消耗较长的时间来找到备用路径。近些年,软件定义网络(Software Defined Networking,SDN)使用基于集中式的路由方案提高路径计算速度,但其集中式控制器和分布式路由器之间存在着较大通信延迟。
正是基于上述问题,本发明提出一种数据中心网络故障重路由方法,通过在链路上下游端口之间快速检测故障并迅速为流量切换路径,解决了传统方案识别链路故障状态不全面,以及当前数据平面内的快速重路由机制需要消耗较长时间才能找到备用路径的问题,提升网络性能恢复的速率,支持数据中心网络性能可预期性。
具体而言,为了提升故障检测的速度,本发明实施例设计了数据平面内的故障自检机制,如图2所示,在链路的两端部署计数器以用来统计丢包数量,进而计算得到丢包率,使得相邻交换机可以自行检测出任意类型的故障,其中,计数器分为部署模块和比较模块两部分。
部署模块部分,本发明实施例在两个直接相连的可编程交换机之间建立协作关系,以实现快速且准确的故障检测,包括黑洞故障和灰色故障。如图2所示,部署模块包含两种类型的仪表阵列:上游仪表(Upstream Meter,UM)部署在上游交换机的出口流水线的起始位置;下游仪表(Downstream Meter,DM)部署在下游交换机的入口流水线的末端位置。每个仪表阵列都包含一组用于统计通过上、下游的数据包数量的计数器,UM和DM之间的差值即为这条链路上的丢包数量。需要说明的是,交换机缓冲区没有被计数器模块覆盖,所以因拥塞被丢弃的数据包不会被统计。此外,为了在计算丢包率时排除非故障原因引起的丢包,每个仪表阵列都设有一些计数器,用来统计非故障丢包(例如TTL(Time To Live,生存时间)过期)的数量。由此,可以准确测量发生在UM和DM之间故障丢包的数量,包括物理设备故障(如电缆灰尘、链路抖动)导致的丢包和控制平面振荡(如BGP(Border GatewayProtocol,边界网关协议)振荡导致的路由查找失败)导致的丢包。
进一步地,如图3所示,图3展示了本发明实施例提出的故障检测机制在整个数据中心网络的部署方式,类似于BFD机制,故障自检机制可以覆盖整个数据中心网络中的每条链路,因此,每条链路都被一对上游仪表UM和下游仪表DM覆盖。此外,每两个相邻交换机之间的计数器部署均为双向的,以交换机1和交换机2为例,交换机1的出口流水线的起始位置部署有UM,交换机2的入口流水线的末端位置部署有DM,用以监控交换机1发送流量到交换机2的链路情况,同时,交换机2的出口流水线的起始位置部署有UM,交换机1的入口流水线的末端位置部署有DM,以监控交换机2发送流量到交换机1的链路情况,由此,使用两对UM和DM来监测每条双向链路。
示例性的,如图1所示,该数据中心网络故障重路由方法包括以下步骤:
在步骤S101中,发送第一请求包至当前链路下游端,同时接收当前链路下游端基于第一请求包反馈的第一响应包。
具体而言,如图2所示,上游交换机可以周期性地向当前链路下游端发送第一请求包,下游交换机在检测到第一请求包后,可以将第一请求包修改为第一响应包后反馈给上游交换机。
其中,在一些实施例中,第一响应包包括经过当前链路上游端的第一数据包数量、经过当前链路下游端的第二数据包数量和第一非故障丢包数量。
可以理解的是,第一请求包可以通过INT(In-band Network Telemetry,带内网络遥测技术)技术收集沿途的UM和DM所记录的具体数据,即经过当前链路上游端的第一数据包数量、经过当前链路下游端的第二数据包数量和第一非故障丢包数量,所以基于第一请求包反馈的第一响应包同样包括经过当前链路上游端的第一数据包数量、经过当前链路下游端的第二数据包数量和第一非故障丢包数量,从而使得带有UM和DM数据的报文重新回到上游交换机。
在步骤S102中,基于第一响应包计算当前链路的第一链路丢包率,并根据第一链路丢包率判断当前链路是否处于故障状态。
也就是说,上游交换机接收到第一响应包之后,可以基于第一响应包计算当前链路的第一链路丢包率,并根据计算得到的第一链路丢包率判断当前链路是否处于故障状态。
为便于理解,下面详细说明如何计算链路的丢包率。
作为一种可能实现的方式,在一些实施例中,基于第一响应包计算当前链路的第一链路丢包率,包括:计算第一数据包数量和第二数据包数量的第一差值,并计算第一差值和第一非故障丢包数量的第二差值;根据第二差值与第一数据包数量的比值得到第一链路丢包率。
举例来说,假设有100个数据包经过上游交换机UM,则上游交换机UM记录为 [100,0],即经过当前链路上游端的第一数据包数量为100,传输过程中,8个数据包在物理链路上被丢弃,2个数据包因为ACL(Access Control List,访问控制列表)规则在下游交换机的入口流水线被丢弃,此时,下游交换机DM记录为 [90,2],其中,90代表经过当前链路下游端的第二数据包数量,2代表非故障丢包的个数(即第一非故障丢包数量)。最后,通过比较上游交换机UM和下游交换机DM之间的差值,即计算第一数据包数量和第二数据包数量的第一差值,并计算第一差值和第一非故障丢包数量的第二差值,根据第二差值与第一数据包数量的比值得到第一链路丢包率为8%(即(100-90-2)/100),而不是10%。
下面详细说明如何根据第一链路丢包率判断当前链路是否处于故障状态。
作为一种可能实现的方式,在一些实施例中,根据第一链路丢包率判断当前链路是否处于故障状态,包括:若第一链路丢包率大于或等于第一预设丢包率,则判定故障状态为黑洞故障;若第一链路丢包率处于预设丢包率区间且第一链路丢包率处于预设丢包率区间的持续时长大于第一预设时长,则判定故障状态为灰色故障,其中,预设丢包率区间的上限值小于第一预设丢包率。
其中,第一预设时长、第一预设丢包率和预设丢包率区间均可以是本领域研究人员预先设定好的,也可以是通过有效次实验进行获取的,还可以是经过有限次计算机仿真得到的,此处不做具体限定。优选地,本发明实施例将第一预设时长设为1毫秒,第一预设丢包率设为90%,预设丢包率区间设为[5%,90%)。
具体而言,如果第一链路丢包率大于或等于第一预设丢包率(如90%),那么可以判定当前链路所处的故障状态为黑洞故障;如果第一链路丢包率处于预设丢包率区间(如[5%,90%))的持续时长大于第一预设时长(如1毫秒),那么可以将当前链路的出口链路标记为灰色故障。当端侧主机发出的探针将要被转发到标记有故障的出口链路时,可以立即在数据平面内回弹该探针,并在探针中标记故障状态,最后,带有故障状态的探针会返回到发送端。
举例来说,如图4所示,以交换机1到交换机2的一条单向链路为例,故障检测机制的具体工作流程可以包括以下3个步骤:
(1)为了采集UM和DM的数据,交换机1可以使用Tofino交换机中的包生成引擎(Packet Generation Engine,PGE)每100微秒向出口流水线发送一个第一请求包(第一请求包专指进行故障检测时的所有请求包),然后,出口流水线在第一请求包中插入UM数据;
(2)交换机2的入口流水线检测到第一请求包后,可以将其修改为第一响应包(第一响应包专指进行故障检测时的所有响应包),并插入DM数据,然后通过该出端口将第一响应包发送回交换机 1;
(3)第一响应包回到交换机1的入口流水线,交换机1会处理第一响应包,并计算第一链路丢包率,如果第一链路丢包率大于5%(且小于90%)的持续时长过长(如超过1毫秒),那么可以将故障信息共享给该端口的出口流水线。
需要说明的是,为了确保计算的丢包率的正确性,需要保证UM和DM 计记录的数据包属于同一批次。经过分析,请求包可以提供批次同步功能,下游交换机在接收到请求包后可以重置计数器,开始统计新的批次的数据包。
具体而言,由于直连的两个端口之间不会出现数据包乱序,经过UM和DM的数据包的顺序是一致的。如图5所示,请求包可以提供隔离不同区间的作用,且其记录右侧区间的报文个数,当该请求包到达下游交换机时,DM记录的也是同一区间的报文个数,由此,可以实现UM和DM统计的是同一批数据包。
然而,请求包丢失时会破坏批次同步功能,为了避免这种情况,可以通过配置主动队列管理来避免缓冲区拥塞时丢弃请求包,如果请求包依然丢失了,那么上游交换机将不会收到相应的响应包,此时,便可以认为该链路故障状态为黑洞故障。
进一步地,在一些实施例中,在发送第一请求包至当前链路下游端之后,还包括:若未接收到第一响应包,则判定第一链路丢包率大于或等于第一预设丢包率。
也就是说,如果上游交换机向当前链路下游端发送第一请求包之后,长时间没有接收到下游交换机基于第一请求包反馈的第一响应包,说明第一响应包或第一请求包丢失,表明链路丢包率为100%,故而,判定当前链路的第一链路丢包率大于或等于第一预设丢包率。
在步骤S103中,若当前链路处于故障状态,则根据源路由策略切换对应流量的传输链路路径。
也就是说,如果根据第一链路丢包率判定当前链路处于故障状态之后,那么可以根据源路由策略为对应流量的传输路径进行快速切换,源路由策略是一种基于源地址进行路由选择的策略,可以实现根据多个不同子网或内网地址,有选择性地将数据包发往目的地的功能,以避免耗时较长的路径计算过程,确保网络的高质量运行,降低故障对上层应用的影响。
作为一种可能实现的方式,在一些实施例中,根据源路由策略切换对应流量的传输链路路径,包括:获取预设的全网路径状态表,基于预设的全网路径状态表,根据源路由策略为对应流量选择可用传输链路路径并进行切换。
具体而言,如图6所示,流量发送端可以维护一张预设的全网路径状态表,该预设的全网路径状态表为每个目的地维护若干条(如8条)可用的传输链路路径,在流量开始发送时,可以在该全网路径状态表中随机选择一条可用路径,并将该路径上交换机的编号记录到报文的头部中,沿途的交换机可以直接按照该头部中编号转发数据报文,由此,数据报文便可以按照指定路径到达目的地。
在交换机检测出当前链路存在故障之后,交换机可以将故障信息直接通告给发送端,发送端收到带有故障标记的通知报文后,可以在该预设的全网路径状态表中将该传输链路路径标记为“不可用”,并从预设的全网路径状态表中选择其他可用路径为受故障影响的流量提供传输服务,即将重新选择的路径上的交换机编号记录到报文的头部,沿途的交换机按照该头部中编号转发数据报文,从而使得受故障影响的流量沿着新的指定路径进行传输并到达目的地。
进一步地,在一些实施例中,在根据源路由策略切换对应流量的传输链路路径之后,还包括:发送第二请求包至当前链路下游端,同时接收当前链路下游端基于第二请求包反馈的第二响应包,其中,第二响应包包括经过当前链路上游端的第一测试数据包数量、经过当前链路下游端的第二测试数据包数量和第二非故障丢包数量;根据第一测试数据包数量、第二测试数据包数量和第二非故障丢包数量计算第二链路丢包率;若第二链路丢包率小于第二预设丢包率且第二链路丢包率小于第二预设丢包率的持续时长大于第二预设时长,则判定当前链路为健康状态。
其中,第二预设丢包率和第二预设时长均可以是本领域研究人员预先设定好的,也可以是通过有效次实验进行获取的,还可以是经过有限次计算机仿真得到的,此处不做具体限定。优选地,本发明实施例将第二预设丢包率设为5%,第二预设时长设为1毫秒。
可以理解的是,确保故障修复后网络的稳定运行,还可以使用可编程数据平面的计数器模块来定期监测端口的恢复情况。发送一批测试数据包,由UM和DM进行计数,上游交换机发送第二请求包(第二请求包专指进行故障修复检测时的所有请求包)至当前链路下游端,同时接收当前链路下游端基于第二请求包反馈的第二响应包(第二响应包专指进行故障修复检测时的所有响应包),第二请求包同样可以收集沿途的UM和DM所记录的具体数据,即第二请求包和第二响应包同样包括经过当前链路上游端的第一测试数据包数量、经过当前链路下游端的第二测试数据包数量和第二非故障丢包数量,同样采用上述计算链路丢包率的方法,根据第一测试数据包数量、第二测试数据包数量和第二非故障丢包数量计算第二链路丢包率,如果第二链路丢包率小于第二预设丢包率(如5%)的持续时长大于第二预设时长(如1毫秒),那么可以判定当前链路为健康状态,并将该端口标记为健康状态。
此外,在故障路径修复后,端侧主机可以使用路径探测包在数据平面内学习并更新路径状态,为了降低带宽开销,考虑到故障恢复的检测不像故障检测那么紧急,可以在执行故障恢复检测时将频率调低,例如,上游交换机循环发送测试数据包的周期可以被设置为1秒。
由此可见,本发明实施例提出的数据中心网络故障重路由方法,具有如下优点:
(1)快速检测:具备在数据平面内直接检测丢包事件的能力,如果发生了因故障导致的丢包,其他网络设备可以在微秒级时间内感知到该故障信息。
(2)准确检测:除了非故障丢包之外,具备识别所有类型的故障丢包的能力,包括链路随机丢包,这些丢包均会对上层应用产生严重影响。
(3)快速路径迁移(切换):检测出故障后,具备在数据平面内为流量切换传输链路路径的能力,以确保网络的高质量运行,降低故障对上层应用的影响。
根据本发明实施例提出的数据中心网络故障重路由方法,通过发送第一请求包至当前链路下游端,同时接收当前链路下游端基于第一请求包反馈的第一响应包,可以基于第一响应包计算当前链路的第一链路丢包率,并根据第一链路丢包率判断当前链路是否处于故障状态,当前链路处于故障状态时,根据源路由策略切换对应流量的传输链路路径。由此,通过在链路上下游端口之间快速检测故障并迅速为流量切换路径,解决了传统方案识别链路故障状态不全面,以及当前数据平面内的快速重路由机制需要消耗较长时间才能找到备用路径的问题,提升网络性能恢复的速率。
其次参照附图描述根据本发明实施例提出的数据中心网络故障重路由装置。
图7是本发明一个实施例的数据中心网络故障重路由装置的方框示意图。
如图7所示,该数据中心网络故障重路由装置10包括:收发模块100、判断模块200和重路由模块300。
其中,收发模块100,用于发送第一请求包至当前链路下游端,同时接收当前链路下游端基于第一请求包反馈的第一响应包;
判断模块200,用于基于第一响应包计算当前链路的第一链路丢包率,并根据第一链路丢包率判断当前链路是否处于故障状态;
重路由模块300,用于在当前链路处于故障状态时,根据源路由策略切换对应流量的传输链路路径。
进一步地,在一些实施例中,第一响应包包括经过当前链路上游端的第一数据包数量、经过当前链路下游端的第二数据包数量和第一非故障丢包数量。
进一步地,在一些实施例中,判断模块200,具体用于:
计算第一数据包数量和第二数据包数量的第一差值,并计算第一差值和第一非故障丢包数量的第二差值;
根据第二差值与第一数据包数量的比值得到第一链路丢包率。
进一步地,在一些实施例中,判断模块200,具体用于:
在第一链路丢包率大于或等于第一预设丢包率时,判定故障状态为黑洞故障;
在第一链路丢包率处于预设丢包率区间且第一链路丢包率处于预设丢包率区间的持续时长大于第一预设时长时,判定故障状态为灰色故障,其中,预设丢包率区间的上限值小于第一预设丢包率。
进一步地,在一些实施例中,在发送第一请求包至当前链路下游端之后,收发模块100,还用于:
在未接收到第一响应包时,判定第一链路丢包率大于或等于第一预设丢包率。
进一步地,在一些实施例中,重路由模块300,具体用于:
获取预设的全网路径状态表,基于预设的全网路径状态表,根据源路由策略为对应流量选择可用传输链路路径并进行切换。
进一步地,在一些实施例中,在根据源路由策略切换对应流量的传输链路路径之后,重路由模块300,还用于:
发送第二请求包至当前链路下游端,同时接收当前链路下游端基于第二请求包反馈的第二响应包,其中,第二响应包包括经过当前链路上游端的第一测试数据包数量、经过当前链路下游端的第二测试数据包数量和第二非故障丢包数量;
根据第一测试数据包数量、第二测试数据包数量和第二非故障丢包数量计算第二链路丢包率;
若第二链路丢包率小于第二预设丢包率且第二链路丢包率小于第二预设丢包率的持续时长大于第二预设时长,则判定当前链路为健康状态。
需要说明的是,前述对数据中心网络故障重路由方法实施例的解释说明也适用于该实施例的数据中心网络故障重路由装置,此处不再赘述。
根据本发明实施例提出的数据中心网络故障重路由装置,通过发送第一请求包至当前链路下游端,同时接收当前链路下游端基于第一请求包反馈的第一响应包,可以基于第一响应包计算当前链路的第一链路丢包率,并根据第一链路丢包率判断当前链路是否处于故障状态,当前链路处于故障状态时,根据源路由策略切换对应流量的传输链路路径。由此,通过在链路上下游端口之间快速检测故障并迅速为流量切换路径,解决了传统方案识别链路故障状态不全面,以及当前数据平面内的快速重路由机制需要消耗较长时间才能找到备用路径的问题,提升网络性能恢复的速率。
图8为本发明实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器801、处理器802及存储在存储器801上并可在处理器802上运行的计算机程序。
处理器802执行程序时实现上述实施例中提供的数据中心网络故障重路由方法。
进一步地,电子设备还包括:
通信接口803,用于存储器801和处理器802之间的通信。
存储器801,用于存放可在处理器802上运行的计算机程序。
存储器801可能包含高速RAM(Random Access Memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
如果存储器801、处理器802和通信接口803独立实现,则通信接口803、存储器801和处理器802可以通过总线相互连接并完成相互间的通信。总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器801、处理器802及通信接口803,集成在一块芯片上实现,则存储器801、处理器802及通信接口803可以通过内部接口完成相互间的通信。
处理器802可能是一个CPU(Central Processing Unit,中央处理器),或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本发明实施例的一个或多个集成电路。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的数据中心网络故障重路由方法。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种数据中心网络故障重路由方法,其特征在于,包括以下步骤:
发送第一请求包至当前链路下游端,同时接收所述当前链路下游端基于所述第一请求包反馈的第一响应包;
基于所述第一响应包计算当前链路的第一链路丢包率,并根据所述第一链路丢包率判断所述当前链路是否处于故障状态;
若所述当前链路处于所述故障状态,则根据源路由策略切换对应流量的传输链路路径。
2.根据权利要求1所述的数据中心网络故障重路由方法,其特征在于,所述第一响应包包括经过当前链路上游端的第一数据包数量、经过所述当前链路下游端的第二数据包数量和第一非故障丢包数量。
3.根据权利要求2所述的数据中心网络故障重路由方法,其特征在于,所述基于所述第一响应包计算当前链路的第一链路丢包率,包括:
计算所述第一数据包数量和所述第二数据包数量的第一差值,并计算所述第一差值和所述第一非故障丢包数量的第二差值;
根据所述第二差值与所述第一数据包数量的比值得到所述第一链路丢包率。
4.根据权利要求3所述的数据中心网络故障重路由方法,其特征在于,所述根据所述第一链路丢包率判断所述当前链路是否处于故障状态,包括:
若所述第一链路丢包率大于或等于第一预设丢包率,则判定所述故障状态为黑洞故障;
若所述第一链路丢包率处于预设丢包率区间且所述第一链路丢包率处于所述预设丢包率区间的持续时长大于第一预设时长,则判定所述故障状态为灰色故障,其中,所述预设丢包率区间的上限值小于所述第一预设丢包率。
5.根据权利要求4所述的数据中心网络故障重路由方法,其特征在于,在发送所述第一请求包至所述当前链路下游端之后,还包括:
若未接收到所述第一响应包,则判定所述第一链路丢包率大于或等于所述第一预设丢包率。
6.根据权利要求1所述的数据中心网络故障重路由方法,其特征在于,所述根据源路由策略切换对应流量的传输链路路径,包括:
获取预设的全网路径状态表,基于所述预设的全网路径状态表,根据所述源路由策略为所述对应流量选择可用传输链路路径并进行切换。
7.根据权利要求1所述的数据中心网络故障重路由方法,其特征在于,在根据所述源路由策略切换对应流量的传输链路路径之后,还包括:
发送第二请求包至所述当前链路下游端,同时接收所述当前链路下游端基于所述第二请求包反馈的第二响应包,其中,所述第二响应包包括经过所述当前链路上游端的第一测试数据包数量、经过所述当前链路下游端的第二测试数据包数量和第二非故障丢包数量;
根据所述第一测试数据包数量、所述第二测试数据包数量和所述第二非故障丢包数量计算第二链路丢包率;
若所述第二链路丢包率小于第二预设丢包率且所述第二链路丢包率小于所述第二预设丢包率的持续时长大于第二预设时长,则判定所述当前链路为健康状态。
8.一种数据中心网络故障重路由装置,其特征在于,包括:
收发模块,用于发送第一请求包至当前链路下游端,同时接收所述当前链路下游端基于所述第一请求包反馈的第一响应包;
判断模块,用于基于所述第一响应包计算当前链路的第一链路丢包率,并根据所述第一链路丢包率判断所述当前链路是否处于故障状态;
重路由模块,用于在所述当前链路处于所述故障状态时,根据源路由策略切换对应流量的传输链路路径。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-7任一项所述的数据中心网络故障重路由方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-7任一项所述的数据中心网络故障重路由方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410466619.5A CN118075195A (zh) | 2024-04-18 | 2024-04-18 | 数据中心网络故障重路由方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410466619.5A CN118075195A (zh) | 2024-04-18 | 2024-04-18 | 数据中心网络故障重路由方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118075195A true CN118075195A (zh) | 2024-05-24 |
Family
ID=91109778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410466619.5A Pending CN118075195A (zh) | 2024-04-18 | 2024-04-18 | 数据中心网络故障重路由方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118075195A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296191A (zh) * | 2008-06-27 | 2008-10-29 | 中兴通讯股份有限公司 | 一种基于每跳行为监测丢包率的方法及装置 |
CN102158371A (zh) * | 2011-04-12 | 2011-08-17 | 杭州华三通信技术有限公司 | 一种基于bfd的链路性能检测方法及其装置 |
CN105991372A (zh) * | 2015-04-20 | 2016-10-05 | 杭州迪普科技有限公司 | 链路检测方法及装置 |
KR20210094871A (ko) * | 2020-01-22 | 2021-07-30 | 주식회사 엘지유플러스 | 통신 장애 복구를 위한 통신 방법 및 장치 |
-
2024
- 2024-04-18 CN CN202410466619.5A patent/CN118075195A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296191A (zh) * | 2008-06-27 | 2008-10-29 | 中兴通讯股份有限公司 | 一种基于每跳行为监测丢包率的方法及装置 |
CN102158371A (zh) * | 2011-04-12 | 2011-08-17 | 杭州华三通信技术有限公司 | 一种基于bfd的链路性能检测方法及其装置 |
CN105991372A (zh) * | 2015-04-20 | 2016-10-05 | 杭州迪普科技有限公司 | 链路检测方法及装置 |
KR20210094871A (ko) * | 2020-01-22 | 2021-07-30 | 주식회사 엘지유플러스 | 통신 장애 복구를 위한 통신 방법 및 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902080B2 (en) | Congestion avoidance in a slice-based network | |
US8811395B2 (en) | System and method for determination of routing information in a network | |
US7768928B2 (en) | Connectivity fault management (CFM) in networks with link aggregation group connections | |
CN108306777B (zh) | 基于sdn控制器的虚拟网关主备切换方法及装置 | |
CN101710896B (zh) | 一种链路质量探测方法和装置 | |
CN101483592B (zh) | 一种抑制双向转发检测链路振荡的方法及装置 | |
US8767530B2 (en) | Hierarchical processing and propagation of partial faults in a packet network | |
US20040105390A1 (en) | Method and system for implementing a fast recovery process in a local area network | |
CA2311197A1 (en) | Enhanced dual counter rotating ring network control system | |
CN110224883B (zh) | 一种应用于电信承载网的灰色故障诊断方法 | |
WO2007056929A1 (fr) | Procede et appareil pour mettre en oeuvre la protection de groupes au sein d'un reseau mpls | |
CN112769632A (zh) | 一种数据中心网络故障检测的方法和系统 | |
US20200366611A1 (en) | Congestion avoidance in a slice-based network | |
CN102195832A (zh) | 一种环回测试方法、装置及系统 | |
CN109088822B (zh) | 数据流量转发方法、装置、系统、计算机设备及存储介质 | |
JP2018191279A (ja) | テストトラフィック生成および検査の方法、ならびに関連するスイッチ入力ポートまたは出力ポートおよびスイッチ | |
CN113992569A (zh) | Sdn网络中多路径业务收敛方法、装置及存储介质 | |
CN115378844B (zh) | 一种网络链路的故障检测方法及装置 | |
Han et al. | A primary-backup channel approach to dependable real-time communication in multihop networks | |
CN105897580B (zh) | 一种协议无关转发网络快速故障检测与流量保护切换方法 | |
Tri et al. | Locating deteriorated links by network-assisted multicast proving on OpenFlow networks | |
Tang et al. | Remon: A resilient flow monitoring framework | |
CN114500366B (zh) | 一种防止主备节点间路由环路的方法和装置 | |
CN118075195A (zh) | 数据中心网络故障重路由方法、装置、电子设备及介质 | |
CN107623607B (zh) | Bfd会话连接建立方法及装置 |
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 |