15-自适应路由配置
本章节下载: 15-自适应路由配置 (501.49 KB)
自适应路由功能是一种网络路由技术,它允许路由设备感知整个网络的拓扑变化,并根据变化及时动态地调整路径选择。这种调整可以优化网络性能,确保数据包以最有效的方式到达目的地,从而减少延迟,避免拥塞,并提高网络的整体可靠性和效率。
本功能用于如下流量切换场景。
如图1-1所示,在Spine-Leaf架构组网中,跨Leaf的服务器之间的东西向流量需要途径Spine设备进行转发。在此组网中,部署了多台Spine设备以提高可靠性,Spine设备作为RR与各个Leaf设备建立BGP会话,Leaf设备之间通过BGP路由反射交换Server的路由信息。在本场景中,以Server A与Server H之间的数据交互为例,从Leaf 1去往Leaf 4的路径存在两条(途径Spine 1和Spine 2),每一条路径都存在两段,分别是“本地Leaf→Spine”,“Spine→对端Leaf”。以优选途经Spine 1的路径为例,当优选路径故障时,通常要通过BGP路由重新优选的方式来切换路径,在“本地Leaf→Spine”段路径故障时(图中故障点1),Leaf 1凭借与Spine 1之间的BGP连接,可以通过BGP的一些功能配置(如联动BFD链路检测)快速感知到,并且进行路由重新优选,将路径快速切换到Spine 2。但当“Spine→对端Leaf”段路径故障时(图中故障点2),由于Leaf 1和Leaf 4之间没有直接建立BGP连接,Leaf 1无法直接感知到该链路故障,只能等到Spine感知链路故障后重新优选路由,并且更新路由信息,Leaf 1才能将去往Leaf 4的流量切换到Spine 2。这段路径切换的时间通常较长,可能导致流量丢失。
开启自适应路由功能后,Leaf设备可以快速响应整个网络的链路状态变化,无论是“本地Leaf→Spine”段还是“Spine→对端Leaf”段发生链路状态变化,Leaf设备都可以快速感知,并计算出最优路径完成路径切换,同时保障路径快切和服务质量。
自适应路由功能模块新增了一种在Spine和Leaf之间发布的私有协议报文,称为ARN(Adaptive Routing Notification,自适应路由通知)报文。ARN报文通过UDP协议来发送,在开启了自适应路由功能后,设备会发送多个种类的ARN报文,用来传递不同的信息。
以下是各类ARN报文的简要介绍:
· Device ID通告报文(AD报文):用于通告本地的Device ID。
· 链路状态通告报文(LS报文):用于通告链路Up/Down状态。
· Device ID变化通告报文(CHG报文):用于Spine向Leaf通告远端Leaf的Device ID的变化情况。仅FGLB方式自适应路由支持此类报文。
· ACK报文:用于回复收到的LS报文以及CHG报文,以确认这些报文已经被接收端收到。
在上述报文中,AD报文在自适应路由功能运行过程中以固定的时间间隔周期性发送。LS报文以及CHG报文在特定条件下触发发送。触发发送的LS报文以及CHG报文需要收到对端的对应类型ACK报文,才会停止发送,否则会重复将进行发送。
以图1-2所示组网为例,普通方式的自适应路由功能生效过程为:
(2) Leaf设备均与两个Spine设备建立EBGP连接,Leaf之间通过BGP协议传递Server路由信息。
(3) 在所有Leaf上配置负载分担功能,将来自Spine 1和Spine 2的同一前缀路由形成等价。
(4) 在各个Leaf设备上配置peer advertise device-id命令后,Leaf设备会在本设备发布的公网单播路由中携带设备ID扩展团体属性。设备ID扩展团体属性是一种私有扩展团体属性,取值为设备的全局Router ID,用于在自适应路由组网中标识一台设备。
(5) 在Leaf和Spine设备上均开启全局和接口的自适应路由功能。
(6) 自适应路由相关功能开启后,如图1-3所示,Spine和Leaf设备都会周期性向外发送AD报文,来通知自己设备的Device ID,收到AD报文的设备记录对端的Device ID。
图1-3 AD报文发布示意图
(7) 如图1-4所示,当链路Down时,例如Leaf 4与Spine 1之间的链路Down,Spine 1会向除了Leaf 4之外的三台Leaf设备都发送LS报文。LS报文包含如下信息:
¡ 对端Leaf的Device ID。
¡ 通知其他Leaf设备Spine 1与Leaf 4之间链路Down的信息。
图1-4 链路Down LS报文触发示意图
Leaf 1、Leaf 2以及Leaf 3收到链路Down LS报文后,根据Leaf 4的Device ID找到携带了对应Device ID扩展团体属性的BGP路由,然后将这些路由在转发表中去往Spine 1对应的下一跳进行失效处理,并通过剩下的下一跳负载分担转发流量,借此实现链路Down后的快速路径切换。
如果在Leaf设备上,存在指向Down链路的Traffic Matrix静态流表,则该Leaf设备收到链路Down LS报文后,也会将指向Down链路的Traffic Matrix静态流表进行失效处理。
自适应路由配置任务如下:
(1) 开启自适应路由功能
(3) (可选)配置全局Router ID
(4) (可选)配置ARN报文参数
普通方式自适应路由功能仅需要开启全局和接口下的自适应路由即可生效。
(1) 进入系统视图。
system-view
(2) 开启全局自适应路由功能,并进入自适应路由视图。
adaptive-routing enable
缺省情况下,全局自适应路由功能处于关闭状态。
(3) 退回系统视图。
quit
(4) 进入接口视图。
interface interface-type interface-number
(5) 开启接口的自适应路由功能。
adaptive-routing detect
缺省情况下,接口的自适应路由功能处于关闭状态。
在自适应路由组网中,需要在Spine与Leaf之间建立EBGP IPv4/IPv6单播会话,并在Spine和Leaf设备上配置发布BGP IPv4/IPv6单播路由时携带设备ID扩展团体属性。
设备ID扩展团体属性是H3C私有属性,为了满足与其他厂商的互通需求,可以通过本命令将设备发送的设备ID扩展团体属性的类型值修改为其他厂商设备能够识别的值。
(1) 进入系统视图。
system-view
(2) 配置BGP进程,与Leaf之间建立EBGP IPv4/IPv6单播会话。
本步骤的详细配置过程,请参见“三层技术-IP路由配置指导”中的“BGP”。
(3) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(4) (可选)配置设备ID扩展团体属性的类型值。
extcommunity-type device-id device-type-value
缺省情况下,设备ID扩展团体属性的类型值为十六进制数84ef。
(5) 进入BGP IPv4单播地址族视图或BGP IPv6单播地址族视图。
¡ 进入BGP IPv4单播地址族视图。
address-family ipv4 [ unicast ]
¡ 进入BGP IPv6单播地址族视图。
address-family ipv6 [ unicast ]
(6) 配置进行BGP负载分担的路由条数。
balance [ ebgp | eibgp | ibgp ] number [ ecmp-nexthop-local | ecmp-nexthop-unchanged ]
缺省情况下,不会进行BGP负载分担。
(7) (可选)配置不同AS_PATH属性的路由能够形成BGP负载分担。
balance as-path-neglect
缺省情况下,不同AS_PATH属性的路由之间不能形成BGP负载分担。
(8) 配置向Leaf设备发布路由时携带设备ID扩展团体属性。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise device-id
缺省情况下,向对等体发布路由时不携带设备ID扩展团体属性。
(9) 配置向Leaf设备发布路由时允许携带扩展团体属性。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise-ext-community
缺省情况下,设备不向对等体发布扩展团体属性。
本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
(1) 进入系统视图。
system-view
(2) 配置BGP进程,并与Spine之间建立BGP IPv4/IPv6单播会话。
本步骤的详细配置过程,请参见“三层技术-IP路由配置指导”中的“BGP”。
(3) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(4) (可选)配置设备ID扩展团体属性的类型值。
extcommunity-type device-id device-type-value
缺省情况下,设备ID扩展团体属性的类型值为十六进制数84ef。
(5) 进入BGP IPv4单播地址族视图或BGP IPv6单播地址族视图。
¡ 进入BGP IPv4单播地址族视图。
address-family ipv4 [ unicast ]
¡ 进入BGP IPv6单播地址族视图。
address-family ipv6 [ unicast ]
(6) 配置向对Spine设备发布路由时携带设备ID扩展团体属性。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise device-id
缺省情况下,向对等体发布路由时不携带设备ID扩展团体属性。
(7) 配置向Spine设备发布路由时允许携带扩展团体属性。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise-ext-community
缺省情况下,设备不向对等体发布扩展团体属性。
本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
开启自适应路由功能后,设备取本地配置的全局Router ID作为自身的Device ID进行发布。通过本功能可以修改全局Router ID
(1) 进入系统视图。
system-view
(2) 配置全局Router ID。
router id router-id
缺省情况下,如果未配置全局Router ID,设备则按照下面的规则进行选择:
a. 如果存在配置IP地址的Loopback接口,则选择Loopback接口地址中最大的作为Router ID。
b. 如果未配置IP地址的Loopback接口,则从其他接口的IP地址中选择最大的作为Router ID(不考虑接口的up/down状态)。
c. 如果所有接口上都未配置IP地址,则Router ID为无效值0.0.0.0,BGP不能使用该Route ID来建立BGP会话。
本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
在自适应路由功能中,触发的ARN报文(链路状态变化通知报文、Device ID变更通知报文)存在确认机制,需要收到对端回应的对应ARN确认报文,否则会以一定的时间间隔重复发送,本功能控制的就是此时间间隔。
(1) 进入系统视图。
system-view
(2) 进入自适应路由视图。
adaptive-routing enable
(3) 配置触发的ARN报文的发送时间间隔。
adaptive-routing interval interval-value
缺省情况下,发送ARN切换报文的时间间隔是500毫秒。
请将ARN报文收发两端设备的UDP端口号配置为相同值。
(1) 进入系统视图。
system-view
(2) 进入自适应路由视图。
adaptive-routing enable
(3) 配置接口发送的ARN报文的UDP源端口号以及目的端口号。
adaptive-routing udp-port port-number
缺省情况下,ARN报文的UDP目的端口号为4780。
(1) 进入系统视图。
system-view
(2) 进入自适应路由视图。
adaptive-routing enable
(3) 配置ARN报文的源IPv4地址。
adaptive-routing udp-source-ip ipv4-address
缺省情况下,ARN报文的源IPv4地址为1.1.1.1。
在完成上述配置后,在任意视图下执行display命令可以显示配置后自适应路由的运行情况,通过查看显示信息验证配置的效果。
操作 |
命令 |
显示设备ID与接口的对应关系 |
display adaptive-routing device status [ device-id ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!