• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

自适应路由技术白皮书-6W100

手册下载

自适应路由技术白皮书-6W100-整本手册.pdf  (714.40 KB)

  • 发布时间:2025/4/28 20:03:33
  • 浏览量:
  • 下载量:

自适应路由技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2025 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。



1 概述

1.1  产生背景

自适应路由是一种网络路由技术,它允许路由设备感知整个网络的拓扑或流量条件的变化,并根据变化及时动态地调整路径选择。这种调整可以优化网络性能,确保数据包以最有效的方式到达目的地,并且能够避免长时间拥塞,从而减少延迟,以提高网络的整体可靠性和效率。

本功能用于如下流量切换场景。

图1-1 自适应路由应用场景

 

1所示,在Spine-Leaf架构组网中,跨Leaf的服务器之间的东西向流量需要途径Spine设备。在此组网中,部署了多台Spine设备以提高可靠性,Spine设备与各个Leaf设备建立EBGP会话,Leaf设备之间通过多跳EBGP会话交换Server的路由信息。在本场景中,以Server AServer H之间的数据交互为例,从Leaf 1去往Leaf 4的路径存在两条(途径Spine 1Spine 2),每一条路径都存在两段,分别是“本地LeafSpine”,“Spine→对端Leaf”。以优选途径Spine 1的路径为例,当优选路径故障时,通常要通过BGP路由重新优选的方式来切换路径。在“本地LeafSpine”段路径故障时(图中故障点1),Leaf 1凭借与Spine 1之间的BGP连接,可以通过BGP的一些功能(如联动BFD链路检测)快速感知到,并且进行路由重新优选,将路径快速切换到Spine 2。但当“Spine→对端Leaf”段路径故障时(图中故障点2),由于Leaf 1Leaf 4之间没有直接建立BGP连接,Leaf 1无法直接感知到该链路故障,只能等到Spine感知链路故障后重新优选路由,并且更新路由信息,Leaf 1才能将去往Leaf 4的流量切换到Spine 2。这段路径切换的时间通常较长,可能导致流量丢失。

部署自适应路由功能后,Leaf设备可以快速响应整个网络的链路状态变化。无论是“本地LeafSpine”段还是“Spine→对端Leaf”段发生链路状态变化(链路Down或流量拥塞均适用),Leaf设备都可以快速感知,并计算出最优路径完成路径切换,确保快速切换和服务质量。

1.2  技术优势

自适应路由技术具有如下优点:

·     快速响应链路变化:自适应路由能够在检测到链路状态变化时迅速做出反应,提高了网络的稳定性和可靠性。

·     保障服务质量的负载分担:自适应路由可以根据网络流量动态地分配转发路径,避免某条路径过载拥塞导致的流量丢失。

·     扩展性强:得益于Spine-Leaf架构,在自适应路由组网中可以自由地增加节点而基本不会导致性能下降。

2 自适应路由技术实现

2.1  自适应路由功能分类

目前自适应路由包含如下两种部署方式:

·     普通方式自适应路由:设备只能简单感知网络中的链路Up/Down,从而完成流量路径切换,无法感知链路质量变化。

·     FGLBFlexible Global Load Balance,灵活全局负载分担)方式自适应路由:设备不仅能感知网络中的链路Up/Down变化,还能感知网络中的链路质量,根据不同的链路的带宽对流量进行UCMP负载分担转发,或在链路拥塞时将流量切换到链路质量更好的路径上,以保证网络的整体服务质量。

2.2  ARN报文

自适应路由功能新增了一种在SpineLeaf之间发布的私有协议报文,称为ARNAdaptive Routing Notification,自适应路由通知)报文。ARN报文通过UDP协议来发送。

1所示,ARN报文分为如下几类:

表2-1 ARN报文

报文类型

报文作用

说明

Device ID通告报文(AD报文)

通告本地的Device ID

·     在自适应路由运行过程中以固定的时间间隔周期性发送

·     如果设备本端的Device ID发生了变化,则会立即触发发送AD报文向其他设备通告自己的新Device ID

链路状态通告报文(LS报文)

通告链路Up/Down状态

在特定条件下触发发送

链路质量通告报文(LQ报文)

通告量化链路质量状态的链路质量值。

·     FGLB方式自适应路由支持此类报文

·     在自适应路由运行过程中以固定的时间间隔周期性发送

拥塞通告报文(CF报文)

通告发生拥塞的流对应的流表信息

在特定条件下触发发送。触发发送的CF报文在流处于拥塞时会周期性持续发送,直到流量切换到非拥塞路径

Device ID变化通告报文(CHG报文)

用于SpineLeaf通告远端LeafDevice ID的变化情况

在特定条件下触发发送

ACK报文

用于回复收到的LS报文以及CHG报文,以确认这些报文已经被接收端收到

-

 

2.3  FGLB方式自适应路由的工作机制

2.3.1  组网描述

2所示组网为例。在此组网中,Leaf设备均与两个Spine设备建立EBGP连接,Leaf之间通过BGP协议传递Server路由信息。所有Leaf均配置负载分担功能,将来自Spine 1Spine 2的同一前缀路由形成等价。

图2-1 FGLB方式的自适应路由组网图

 

2.3.2  链路质量信息交互

3所示,FGLB方式的链路质量信息的产生和交互过程如下:

(1)     Leaf设备在本设备发布的公网单播路由中携带设备ID扩展团体属性或NHC属性。设备ID扩展团体属性是一种私有扩展团体属性,NHC属性是一种标准化的新型路径属性。两者作用相同,内容中都包含了路由始发设备的Device ID,都是为了在BGP路由接收端将路由与其始发设备的Device ID进行关联。

(2)     SpineLeaf设备都会周期性向外发送AD报文,通告自己的Device IDSpine会周期性地收集去往各个Leaf的链路质量,并形成LQ报文发布给各个Leaf。以Spine 1Leaf 4的链路质量为例,Spine 1收集去往Leaf 4的链路质量,并形成LQ报文发布给组网中的其他三台Leaf。结合来自SpineADLQ报文,Leaf设备能够识别Spine通告了哪些链路的质量信息。例如,Leaf 1收到Spine 1转发的LQ报文以及Spine 1自身发出的AD报文后,从“Remote Device ID”知晓ARN报文通告的是去往Leaf 4的链路质量信息,从“My Device ID”知晓ARN报文通告的是Leaf 4Spine 1相连链路的质量信息。

图2-2 通告ADLQ报文示意图

 

(3)     Leaf 1去往Leaf 4的流量为例,Leaf 1分别从Spine 1Spine 2收到LQ报文后,会为同样始发自Leaf 4BGP路由计算下一跳。计算的下一跳值为:Leaf 1Spine之间的链路质量以及LQ报文通告的链路质量经过特定算法计算出的综合值(即从Leaf 1Leaf 4途径的两段链路的状态综合值),如4所示。在本例中,Leaf 1会从两台Spine接收到LQ报文,所以会为来自Leaf 4BGP路由计算两个下一跳Device ID不同但远端Device ID相同的下一跳。

图2-3 BGP路由下一跳示意图

 

设备本地链路的链路质量值由当前实时的链路带宽利用率以及队列深度,根据配置的权重计算而来。

2.3.3  流量转发模式

FGLB方式的自适应路由功能存在两种流量转发模式:

·     调带宽模式:Leaf设备根据LQ报文中携带的链路带宽信息,对发往对端Leaf设备的流量进行类似于UCMPUnequal Cost Multiple Path,非等价多路径)的负载分担转发,以充分利用链路带宽,减少拥塞发生。

·     调流模式:链路出现拥塞时,将流量切换至其他链路质量良好的链路中。

设备只能选择其中一种转发模式,设备使用何种转发模式与设备的型号有关,请以设备的实际情况为准。

1. 调带宽模式的流量转发

在此模式下,Spine会收集去往Leaf的链路带宽信息,然后将其携带在LQ报文中发送给其他Leaf

5为例,Leaf 1同时收到Spine 1Spine 2LQ报文,其中分别携带了Spine 1Spine 2去往Leaf 4的链路带宽信息。Leaf 1对收到的链路带宽信息进行处理,综合本地去往Spine的链路带宽以及Spine通告的链路带宽信息,计算出从本地去往Leaf 4的两条链路的带宽级别。

图2-4 Leaf 1收到来自Spine 1Spine 2的链路带宽信息

 

计算出链路带宽级别后,Leaf 1发往Leaf 4的流量会在途径不同Spine的路径之间进行不等价的负载分担转发。负载分担的原则是:链路带宽级别更高的路径将承载更大比例的流量。例如,在6所示组网中,Leaf 1 Leaf 4的流量有两条路径可选——通过Spine 1和通过Spine 2的两条路径。假设通过Spine 2的链路具有更高的带宽级别,两条链路的带宽级别之比为1:3。这意味着,Leaf 1发往Leaf 4的流量中,25%会通过Spine 1转发,而75%会通过Spine 2转发。

图2-5 流量转发比例

 

2. 调流模式的流量转发

链路状态或链路质量值正常时,Leaf之间的东西向流量通过途径多个Spine的链路进行等价负载分担转发。

当转发路径中出现链路拥塞时(是否发生拥塞由设备自动判断):

·     7所示,如果SpineLeaf间存在多条负载分担链路,且仅部分链路出现拥塞,则会生成Traffic Matrix动态流表,将流量切换到剩余未拥塞的链路中。

提示

·     Traffic Matrix是由流量标识信息和流量转发信息组成的流表。匹配到流量标识信息的业务流量优先按照Traffic Matrix流表中定义的转发出接口和下一跳执行转发,而无需查询路由表进行报文转发。

·     链路质量阈值是在流量拥塞时Spine判断流量切换的重要依据,设备会根据相关配置计算出一个链路质量阈值,然后与每条链路上计算出的链路质量值进行对比。

·     需要注意的是,流量切换到的目标链路质量值不得超过链路质量阈值,否则设备不会将流量切换到该链路上。

 

图2-6 设备间负载分担链路发生拥塞时流量切换示意图

 

·     8所示,如果Spine 1Leaf 4之间所有链路的链路质量值均超过阈值,则Spine 1向流量的始发Leaf设备(假设为Leaf 1)发送CF报文。CF报文中包含如下信息:

¡     Spine设备根据拥塞流量生成的流表,用以标识一条拥塞流量路径。流表的关键信息为五元组,即源IP地址、目的IP地址、源端口号、目的端口号以及协议类型。

¡     Spine设备的Device ID以及对端LeafDevice ID

图2-7 拥塞通知ARN报文触发示意图

 

Leaf 1收到CF报文后,根据流表五元组中的目的IP地址匹配BGP路由前缀。此时,Leaf 1生成一个动态Traffic Matrix流表,将去往Leaf 4的流量下一跳进行切换,流表中的下一跳不再考虑拥塞ARN报文通告的Device ID对应的下一跳(即途径Spine 1到达Leaf 4的这一条路径),而是从剩余的下一跳中,选择下一跳Device ID不同、远端Device ID相同、链路质量未超阈值、最优的下一跳,借此实现流量拥塞后的路径切换,如9所示。

图2-8 下一跳切换示意图

 

2.3.4  链路Down时的处理

10所示,当链路Down时,例如Leaf 4Spine 1之间的链路DownSpine 1会向除了Leaf 4之外的三台Leaf设备都发送LS报文。LS报文包含如下信息:

·     对端LeafDevice ID

·     通知其他Leaf设备Spine 1Leaf 4之间链路Down的信息。

图2-9 链路Down LS报文触发示意图

 

 

Leaf 1Leaf 2以及Leaf 3收到链路Down LS报文后,根据Leaf 4Device ID找到携带了对应Device ID扩展团体属性或NHC属性的BGP路由,然后在转发表中,将这些路由对应的去往Spine 1的下一跳进行失效处理,并通过剩下的下一跳负载分担转发流量,借此实现链路Down后的快速路径切换。

说明

如果在Leaf设备上,存在指向Down链路的Traffic Matrix静态流表,则该Leaf设备收到链路Down LS报文后,也会将指向Down链路的Traffic Matrix静态流表进行失效处理。

 

2.3.5  Device ID变更的处理

在上述过程中,如果某个Leaf设备的Device ID发生了改变,则会立刻触发AD报文发送给Spine设备。Spine设备感知到Leaf设备的Device ID发生变化后,产生CHG报文通知其他Leaf设备。CHG报文中携带Leaf设备修改前的Device ID和修改后的Device ID,收到此报文的Leaf设备即更新链路质量值与Device ID的对应关系。

2.4  普通方式自适应路由的工作机制

2.4.1  组网描述

图2-10 普通方式的自适应路由组网图

 

11所示组网为例,在普通方式的自适应路由组网中,Leaf设备均与两个Spine设备建立EBGP连接,Leaf之间通过BGP协议传递Server路由信息。

需要在所有Leaf上配置负载分担功能,将来自Spine 1Spine 2的同一前缀路由形成等价。

Leaf设备在本设备发布的公网单播路由中携带设备ID扩展团体属性。设备ID扩展团体属性是一种私有扩展团体属性,内容中包含了路由始发设备的Device ID,为了在BGP路由接收端将路由与其始发设备的Device ID进行关联。

2.4.2  自适应路由ARN报文交互

12所示,SpineLeaf设备都会周期性向外发送AD报文,来通知自己的Device ID,收到AD报文的设备记录对端的Device ID

图2-11 AD报文发布示意图

 

2.4.3  流量转发机制

链路状态正常时,Leaf之间的东西向流量通过途径多个Spine的链路进行等价负载分担转发。

13所示,当链路Down时,例如Leaf 4Spine 1之间的链路DownSpine 1会向除了Leaf 4之外的三台Leaf设备都发送LS报文。LS报文包含如下信息:

·     对端LeafDevice ID

·     通知其他Leaf设备Spine 1Leaf 4之间链路Down的信息。

图2-12 链路Down LS报文触发示意图

 

Leaf 1Leaf 2以及Leaf 3收到链路Down LS报文后,根据Leaf 4Device ID找到携带了对应Device ID扩展团体属性的BGP路由,然后在转发表中,将这些路由对应的去往Spine 1对应的下一跳进行失效处理,并通过剩下的下一跳负载分担转发流量,借此实现链路Down后的快速路径切换。

说明

如果在Leaf设备上,存在指向Down链路的Traffic Matrix静态流表,则该Leaf设备收到链路Down LS报文后,也会将指向Down链路的Traffic Matrix静态流表进行失效处理。

 

2.4.4  Device ID变更的处理

在上述过程中,如果某个Leaf设备的Device ID发生了改变,则会立刻触发AD报文发送给Spine设备。

新华三官网
联系我们