14-自适应路由命令
本章节下载: 14-自适应路由命令 (278.85 KB)
目 录
1.1.3 adaptive-routing dynamic-flow delay
1.1.4 adaptive-routing interval
1.1.5 adaptive-routing udp-port
1.1.6 adaptive-routing udp-source-ip
1.1.7 advertise link-quality interval
1.1.8 bandwidth high-threshold
1.1.10 display adaptive-routing device status
1.1.11 display adaptive-routing flow
1.1.12 display adaptive-routing flow statistics
1.1.13 display adaptive-routing link-quality
1.1.14 extcommunity-type device-id
1.1.15 flexible-global-loadbalance
1.1.16 link-quality fluctuation-threshold
1.1.18 peer advertise device-id
adaptive-routing enable命令用来开启全局自适应路由功能,并进入自适应路由视图。
undo adaptive-routing enable命令用来关闭自适应路由功能。
【命令】
adaptive-routing enable
undo adaptive-routing enable
【缺省情况】
全局自适应路由功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
自适应路由功能是一种网络路由技术,它允许路由设备感知整个网络的拓扑或流量条件的变化,并根据变化及时动态地调整路径选择。这种调整可以优化网络性能,确保数据包以最有效的方式到达目的地,从而减少延迟,避免拥塞,并提高网络的整体可靠性和效率。
本命令控制设备全局的自适应路由功能。全局自适应路由功能处于关闭状态时,设备上所有的自适应路由功能都无法生效。关闭全局自适应路由功能时,设备接口上的自适应路由相关配置会被删除。
【举例】
# 开启全局自适应路由功能,并进入自适应路由视图。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing]
adaptive-routing detect命令用来开启接口自适应路由功能,并将本地的设备ID通知给对端设备。
undo adaptive-routing detect命令用来恢复缺省情况。
【命令】
adaptive-routing detect
undo adaptive-routing detect
【缺省情况】
接口的自适应路由功能处于关闭状态。
【视图】
接口视图
【缺省用户角色】
network-admin
【使用指导】
本命令用于控制ARN报文的发布,只有配置了本命令时,接口才可以发送用于自适应路由功能的ARN报文。
如果同时配置了adaptive-routing detect命令和flexible-global-loadbalance命令,则设备运行的是FGLB方式的自适应路由功能。
需要先全局开启自适应路由功能,本命令才能生效。
【举例】
# 开启接口GigabitEthernet1/0/1的自适应路由功能。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/1
[Sysname-GigabitEthernet1/0/1] adaptive-routing detect
adaptive-routing dynamic-flow delay命令用来配置设备生成Traffic Matrix动态流表的延迟时间。
undo adaptive-routing dynamic-flow delay命令用来恢复缺省情况。
【命令】
adaptive-routing dynamic-flow delay delay-value
undo adaptive-routing dynamic-flow delay
【缺省情况】
设备在感知到拥塞时立即生成Traffic Matrix动态流表指导流量切换。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
delay-value:Traffic Matrix动态流表的延迟生成时间,取值范围为10~10000,单位为毫秒,配置的步长为10。
【使用指导】
如果Spine和Leaf间存在多条负载分担链路,且仅部分链路出现拥塞,则感知到拥塞的设备会生成Traffic Matrix动态流表,将流量切换到剩余未拥塞的链路中。
本命令可以控制设备延迟生成Traffic Matrix动态流表,以避免链路质量瞬时波动造成的流量误切换,从而保持链路的稳定运行和数据传输的准确性。
【举例】
# 配置设备延迟100毫秒生成Traffic Matrix动态流表。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] adaptive-routing dynamic-flow delay 100
adaptive-routing interval命令用来配置触发的ARN报文的发送时间间隔。
undo adaptive-routing interval命令用来恢复缺省情况。
【命令】
adaptive-routing interval interval-value
undo adaptive-routing interval
【缺省情况】
发送ARN切换报文的时间间隔是500毫秒。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
interval-value:指定时间间隔,取值范围为100~10000的整数,单位为毫秒,步长为100。
【使用指导】
在自适应路由功能中,触发的ARN报文(LS报文、CHG报文)存在确认机制,需要收到对端回应的对应ARN确认报文,否则会以一定的时间间隔重复发送,本命令控制的就是此时间间隔。
【举例】
# 配置ARN切换报文的发送时间间隔为200毫秒。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] adaptive-routing interval 200
adaptive-routing udp-port命令用来配置接口发送的ARN报文的UDP源端口号以及目的端口号。
undo adaptive-routing udp-port命令用来恢复缺省情况。
【命令】
adaptive-routing udp-port port-number
undo adaptive-routing udp-port
【缺省情况】
ARN报文的UDP源端口号以及目的端口号均为4780。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
port-number:自适应ARN报文的源端口号以及目的端口号,取值范围为1024~50000。
【使用指导】
请将ARN报文收发两端设备的UDP端口号配置为相同值。
【举例】
# 配置ARN报文的UDP源端口号以及目的端口号为4955。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] adaptive-routing udp-port 4955
adaptive-routing udp-source-ip命令用来配置ARN报文的源IPv4地址。
undo adaptive-routing udp-source-ip命令用来恢复缺省情况。
【命令】
adaptive-routing udp-source-ip ipv4-address
undo adaptive-routing udp-source-ip
【缺省情况】
ARN报文的源IPv4地址为1.1.1.1。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
ipv4-address:ARN报文的源IPv4地址。
【举例】
# 配置ARN报文的源IPv4地址为2.2.2.2。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] adaptive-routing udp-source-ip 2.2.2.2
advertise link-quality interval命令用来配置链路质量通告ARN报文的发送间隔。
undo advertise link-quality interval命令用来恢复缺省情况。
【命令】
advertise link-quality interval interval-value
undo advertise link-quality interval
【缺省情况】
链路质量通告ARN报文的发送间隔为5秒。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
interval-value:指定发送间隔,取值范围为1~60,单位为秒。
【使用指导】
开启FGLB方式自适应路由功能后,Spine会周期性地收集去往各个Leaf的链路质量,并形成链路质量通告ARN报文发布给各个Leaf。本命令控制的就是链路质量通告ARN报文的发送间隔。
【举例】
# 配置链路质量通告ARN报文的发送间隔为2秒。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] advertise link-quality interval 2
【相关命令】
· flexible-global-loadbalance
bandwidth high-threshold命令用来配置带宽利用率级别的上限阈值。
undo bandwidth high-threshold命令用来恢复缺省情况。
【命令】
bandwidth high-threshold high-threshold-value
undo bandwidth high-threshold
【缺省情况】
带宽利用率级别的上限阈值是1。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
high-threshold-value:指定带宽利用率级别的上限阈值,取值范围为1~7。
【使用指导】
本命令在FGLB方式的自适应路由组网中用于计算链路质量阈值。链路质量阈值是在流量拥塞时Spine判断流量切换的重要依据,设备会根据bandwidth high-threshold、buffer high-threshold和link-quality weight命令的配置计算出一个链路质量阈值,然后与每条链路上收集到的链路质量值进行对比。在Spine与Leaf间存在多条负载分担链路时,如果其中部分链路发生了流量拥塞(是否拥塞由设备自动判断),则设备会生成Traffic Matrix动态流表,将流量切换到剩余未拥塞的链路中,需要注意的是,流量切换的目标链路的链路质量值不得超过链路质量阈值,否则设备不会将流量切换到该链路上。Spine与Leaf之间只有一条链路或者Spine上所有与Leaf连接的其他链路的链路质量值均超过阈值,Spine才会触发发送CF报文,通知流量源头的Leaf将流量切换至其他的Spine设备,Leaf设备收到CF报文后,针对该流量生成去向另一台Spine设备的动态流表,同理,流量切换的目标链路的链路质量值不得超过链路质量阈值,否则设备不会将流量切换到该链路上。
带宽利用率是指某一链路已使用的带宽与该链路支持的最大带宽的比率。FGLB方式的自适应路由通过算法设置了7个带宽利用率的级别。本命令设置的上限阈值越大,表明设备越能“容忍”链路的高带宽利用率,即占用更多的带宽时,链路的质量值才会超过链路质量阈值。
设备对于链路质量阈值的计算结果,需要综合考量带宽利用率级别的上限阈值以及队列深度级别的上限阈值。单个参数的阈值变化并不会导致设备对链路质量阈值的计算结果出现线性变化。但是数值大小改变对链路质量阈值的计算结果变化趋势是固定的,即更高的上限阈值一定会导致设备计算出的链路质量阈值更大;更低的上限阈值也一定会导致设备计算出的链路质量阈值更小。
【举例】
# 配置带宽利用率级别的上限阈值为7。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] bandwidth high-threshold 7
buffer high-threshold命令用来配置队列深度级别的上限阈值。
undo buffer high-threshold命令用来恢复缺省情况。
【命令】
buffer high-threshold high-threshold-value
undo buffer high-threshold
【缺省情况】
队列深度级别的上限阈值为1。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
high-threshold-value:指定队列深度级别的上限阈值,取值范围为整数1~7。
【使用指导】
本命令在FGLB方式的自适应路由组网中用于计算链路质量阈值。链路质量阈值是在流量拥塞时Spine判断流量切换的重要依据,设备会根据bandwidth high-threshold、buffer high-threshold和link-quality weight命令的配置计算出一个链路质量阈值,然后与每条链路上收集到的链路质量值进行对比。在Spine与Leaf间存在多条负载分担链路时,如果其中部分链路发生了流量拥塞(是否拥塞由设备自动判断),则设备会生成Traffic Matrix动态流表,将流量切换到剩余未拥塞的链路中,需要注意的是,流量切换的目标链路的链路质量值不得超过链路质量阈值,否则设备不会将流量切换到该链路上。Spine与Leaf之间只有一条链路或者Spine上所有与Leaf连接的其他链路的链路质量值均超过阈值,Spine才会触发发送CF报文,通知流量源头的Leaf将流量切换至其他的Spine设备,Leaf设备收到CF报文后,针对该流量生成去向另一台Spine设备的动态流表,同理,流量切换的目标链路的链路质量值不得超过链路质量阈值,否则设备不会将流量切换到该链路上。
队列深度是指在缓存队列中等待的数据包数量。FGLB方式的自适应路由通过算法设置了7个队列深度的级别。本命令设置的上限阈值越大,表明设备越能“容忍”链路中的更高队列深度,即需要在缓存队列中存在更多等待的数据包,链路的质量值才会超过链路质量阈值。
设备对于链路质量阈值的计算结果,需要综合考量带宽利用率级别的上限阈值以及队列深度级别的上限阈值。单个参数的阈值变化并不会导致设备对链路质量阈值的计算结果出现线性变化。但是数值大小改变对链路质量阈值的计算结果变化趋势是固定的,即更高的上限阈值一定会导致设备计算出的链路质量阈值更大;更低的上限阈值也一定会导致设备计算出的链路质量阈值更小。
【举例】
# 配置队列深度级别的上限阈值为7。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] buffer high-threshold 7
display adaptive-routing device status命令用来显示设备ID与接口的对应关系。
【命令】
display adaptive-routing device status [ device-id ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
device-id:显示指定设备ID与接口的对应关系。如果未指定本参数,则显示所有设备ID与接口的对应关系。
【举例】
# 显示设备ID与接口的对应关系。
<Sysname> display adaptive-routing device status
Local Device Id: 3.3.3.3
Device ID: 1.1.1.1
Interface Status
GigabitEthernet1/0/1 Up
Device ID: 2.2.2.2
Interface Status
GigabitEthernet1/0/2 Up
表1-1 display adaptive-routing device status命令简要显示信息描述表
字段 |
描述 |
Device ID |
设备ID |
Interface |
收到携带指定设备ID的ARN报文的接口名称 |
Status |
接口状态 |
display adaptive-routing flow命令用来显示设备下发的流表信息。
【命令】
display adaptive-routing flow ipv4
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
ipv4:显示设备下发的IPv4流表信息。
【举例】
# 显示设备下发的动态流表信息。
<Sysname> display adaptive-routing flow ipv4
Local device ID: 3.3.3.3
SIP : 192.168.1.1
DIP : 192.168.2.2
SrcPort : 20
DstPort : 30
Protocol : 17
VNI : -
VLAN : -
VPN instance : -
Out interface name : 100GE 1/0/1
Out interface index : 50
Nexthop address : 10.1.1.2
Nexthop device ID : 2.2.2.2
Remote device ID : 4.4.4.4
表1-2 display adaptive-routing flow命令简要显示信息描述表
字段 |
描述 |
Local device ID |
本地的Device ID |
SIP |
源IP地址 |
DIP |
目的IP地址 |
SrcPort |
源端口号 |
DstPort |
目的端口号 |
Protocol |
协议类型 |
VNI |
VXLAN ID,无VXLAN ID时显示“-” |
VLAN |
VLAN ID,无VLAN ID时显示“-” |
VPN instance |
VPN实例名称 |
Out interface name |
出接口名称 |
Out interface index |
出接口索引号 |
Nexthop address |
下一跳地址 |
Nexthop device ID |
下一跳的Device ID,即Spine设备的Device ID |
Remote device ID |
下一跳对应的远端设备的Device ID,即远端Leaf设备的Device ID |
display adaptive-routing flow statistics命令用来显示设备下发的流表统计信息。
【命令】
display adaptive-routing flow statistics
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【举例】
# 显示设备下发的动态流表信息。
<Sysname> display adaptive-routing flow statistics
Local device ID: 3.3.3.3
--------------------------------------------------------------------------------
Active Aged
(Flows) (Flows)
--------------------------------------------------------------------------------
IPv4 4 0
表1-3 display adaptive-routing flow statistics命令简要显示信息描述表
字段 |
描述 |
Local device ID |
本地Device ID |
Active (Flows) |
当前活跃的流数目 |
Aged (Flows) |
老化的流数目 |
display adaptive-routing link-quality命令用来显示设备收集到的链路质量值。
【命令】
display adaptive-routing link-quality [ device-id ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
device-id:显示收集到的指定Device ID的链路质量值。如果未指定本参数,则显示收集到的所有Device ID的链路质量值。
【举例】
# 显示设备收集到的所有Device ID的链路质量值。
<Sysname> display adaptive-routing link-quality
Local device ID: 3.3.3.3
Device ID: 1.1.1.1
Interface LinkQuality
GigabitEthernet1/0/1 10
GigabitEthernet1/0/2 15
Remote Device ID: LinkQuality
4.4.4.4 20
Device ID: 2.2.2.2
Interface LinkQuality
GigabitEthernet1/0/3 10
表1-4 display adaptive-routing link-quality命令简要显示信息描述表
字段 |
描述 |
Local device ID |
本地的Device ID |
Device ID |
Spine设备的Device ID |
Interface |
收到链路质量信息的接口名称 |
LinkQuality |
本地出接口的链路质量值或Spine设备转发的远端Leaf通告的链路质量值。取值4294967295表示无效值 |
Remote Device ID |
收到从Spine转发的远端Leaf的Device ID |
extcommunity-type device-id命令用来配置设备ID扩展团体属性的类型值。
undo extcommunity-type device-id命令用来恢复缺省情况。
【命令】
extcommunity-type device-id device-type-value
undo extcommunity-type device-id
【缺省情况】
设备ID扩展团体属性的类型值为十六进制数84ef。
【视图】
BGP实例视图
【缺省用户角色】
network-admin
【参数】
device-type-value:表示设备ID扩展团体属性的类型值,取值范围为十六进制数0~ffff。
【使用指导】
设备发布的设备ID扩展团体属性是H3C私有属性,为了满足与其他厂商的互通需求,可以通过本命令将设备发送的设备ID扩展团体属性的类型值修改为其他厂商设备能够识别的值。
【举例】
# 配置设备ID扩展团体属性的类型值为0x5688。
<Sysname> system-view
[Sysname] bgp 100
[Sysname-bgp-default] extcommunity-type device-id 5688
flexible-global-loadbalance命令用来全局开启FGLB方式自适应路由功能。
undo flexible-global-loadbalance命令用来全局关闭FGLB方式的自适应路由功能。
【命令】
flexible-global-loadbalance [ ls-advertise ]
undo flexible-global-loadbalance
【缺省情况】
FGLB方式自适应路由功能处于关闭状态。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
ls-advertise:指定本参数时,设备可以收集去往对端设备的链路质量信息并转发给其他设备。未指定本参数时,设备不可以转发收集到的链路质量信息。在FGLB自适应路由架构中,需要在Spine设备上指定本参数,Leaf设备上无需指定本参数。
【使用指导】
在FGLB方式的自适应路由组网中,Spine和Leaf设备上均需要配置此命令来开启FGLB方式的自适应路由功能。
【举例】
# 开启全局自适应路由链路状态信息处理功能。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] flexible-global-loadbalance
【相关命令】
· adaptive-routing enable
· adaptive-routing detect
· adaptive-routing interval
· peer advertise device-id
link-quality fluctuation-threshold命令用来配置本地链路质量波动的上报门限。
undo link-quality fluctuation-threshold命令取消配置本地链路质量波动的上报门限。
【命令】
link-quality fluctuation-threshold threshold-value
undo link-quality fluctuation-threshold
【缺省情况】
本地链路质量波动的上报门限是10%。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
threshold-value:本链路质量波动的上报门限值,即本地接口的链路质量值变化的百分比超过上报门限值时,设备驱动立即向自适应路由模块上报最新的链路质量值。取值范围为1~100,单位为百分比。
【使用指导】
在自适应路由组网中,流量路径切换需要根据链路质量值的计算结果进行决策。缺省情况下,设备驱动按照固定的周期向自适应路由模块上报本地接口的链路质量值。然后,在动态组网环境中,链路质量值可能会频繁变化。如果不及时更新,可能导致自适应路由模块的计算结果与链路的实际情况不符,从而造成流量路径切换错误。
为了解决上述问题,设备引入了一个本地链路质量即时上报更新机制。当本地接口的链路质量值变化百分比超过本命令指定的上报门限时,设备驱动会立即向自适应路由模块上报最新的链路质量值。这一机制确保了自适应路由模块能够根据当前链路状况进行准确的计算,从而提高流量路径切换的稳定性和准确性。
【举例】
# 配置本地链路质量波动的上报门限值为20%。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] link-quality fluctuation-threshold 20
link-quality weight命令用来配置链路质量参数的计算权重。
undo link-quality weight命令取消配置链路质量参数的计算权重。
【命令】
link-quality weight { bandwidth bandwidth-weight | buffer buffer-weight } *
undo link-quality weight [ bandwidth | buffer ]
【缺省情况】
带宽利用率和队列深度的计算权重均为100。
【视图】
自适应路由视图
【缺省用户角色】
network-admin
【参数】
bandwidth bandwidth-weight:带宽利用率在链路质量相关计算中的权重,取值范围为1~100。
buffer buffer-weight:队列深度在链路质量相关计算中的权重,取值范围为1~100。
【使用指导】
本命令在FGLB方式的自适应路由组网中用于如下计算。
· 链路质量值:设备本地链路的链路质量值由当前实时的链路带宽利用率以及队列深度,根据本命令配置的权重计算而来。Spine设备还可以将本地收集的去往Leaf设备的链路质量值通过LQ报文通告给Leaf设备。
· 链路质量阈值:是在流量拥塞时设备判断流量切换的重要依据,设备会根据bandwidth high-threshold、buffer high-threshold和link-quality weight命令的配置计算出一个链路质量阈值,然后与每条链路上计算出的链路质量值进行对比。在Spine与Leaf间存在多条负载分担链路时,如果其中部分链路发生了流量拥塞(是否拥塞由设备自动判断),则设备会生成Traffic Matrix动态流表,将流量切换到剩余未拥塞的链路中,需要注意的是,流量切换的目标链路的链路质量值不得超过链路质量阈值,否则设备不会将流量切换到该链路上。Spine与Leaf之间只有一条链路或者Spine上所有与Leaf连接的其他链路的链路质量值均超过阈值,Spine才会触发发送CF报文,通知流量源头的Leaf将流量切换至其他的Spine设备。
执行link-quality weight命令时,如果仅指定bandwidth bandwidth-weight和buffer buffer-weight其中一个参数,则未指定的参数以缺省值100生效。
执行undo link-quality weight命令时,如果指定了bandwidth bandwidth-weight或buffer buffer-weight参数,则仅将指定的参数恢复为缺省值100。
【举例】
# 配置链路质量参数的计算权重。
<Sysname> system-view
[Sysname] adaptive-routing enable
[Sysname-adaptive-routing] link-quality weight bandwidth 50 buffer 50
peer advertise device-id命令用来配置向对等体/对等体组发布路由时携带设备ID扩展团体属性。
undo peer advertise device-id命令用来恢复缺省情况。
【命令】
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise device-id
undo peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise device-id
【缺省情况】
向对等体/对等体组发布路由时不携带设备ID扩展团体属性。
【视图】
BGP IPv4单播地址族视图
BGP IPv6单播地址族视图
【缺省用户角色】
network-admin
【参数】
group-name:对等体组的名称,为1~47个字符的字符串,区分大小写。指定的对等体组必须已经创建。
ipv4-address:对等体的IPv4地址。指定的对等体必须已经创建。
mask-length:网络掩码,取值范围为0~32。如果指定本参数,则表示指定网段内的动态对等体。
ipv6-address:对等体的IPv6地址。指定的对等体必须已经创建。
prefix-length:前缀长度,取值范围为0~128。如果指定本参数,则表示指定网段内的动态对等体。
【使用指导】
在自适应路由组网中,BGP路由需要携带设备ID扩展团体属性用于快速路径切换。
设备ID取值为本地配置的全局Router ID,设备需要配置peer advertise-ext-community命令才能在发布BGP路由时携带设备ID扩展团体属性。
如果设备不支持发布设备ID扩展团体属性,则接收到携带设备ID扩展团体属性的BGP路由后,不会处理设备ID扩展团体属性,并且在转发BGP路由时不会携带设备ID扩展团体属性。
设备ID扩展团体属性是H3C私有属性,为了满足与其他厂商的互通需求,可以通过extcommunity-type device-id命令将设备发送的设备ID扩展团体属性的类型值修改为其他厂商设备能够识别的值。
【举例】
# 在BGP IPv4单播地址族视图下,配置向对等体1.1.1.1发布路由时携带设备ID扩展团体属性。
<Sysname> system-view
[Sysname] bgp 100
[Sysname-bgp-default] address-family ipv4 unicast
[Sysname-bgp-default-ipv4] peer 1.1.1.1 advertise device-id
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!