EVPN-VXLAN 5 类不平等负载平衡
EVPN-VXLAN 5 类不等负载平衡使用 EVPN 链路带宽扩展社区来通告第 3 层链路带宽,并在多宿主设备之间动态均衡流量。
EVPN-VXLAN Type 5 不等负载平衡功能利用 EVPN 链路带宽扩展社区通告和使用来自第 3 层链路的带宽信息,从而优化多宿主设备之间的流量分配。此功能可根据可用带宽动态调整流量分布,从而实现跨多宿主设备实现基于带宽的负载平衡,从而确保高效的负载管理,尤其是在链路故障期间。您可以配置 OSPF、IS-IS 和 BGP 协议来集成这些带宽数据,从而增强路由管理和数据中心间通信。EVPN 链路带宽扩展社区支持高效的带宽数据交换,以兆比特/秒 (Mbps) 为测量单位。该机制对于具有可变链路带宽的网络至关重要,可确保跨各个平台的高效可靠的流量流动。如果带宽数据不一致,系统默认使用等价多路径 (ECMP) 路由来保持网络稳定性。
负载平衡不均的好处
-
利用实时带宽信息改善流量分布,减少拥塞并提高整体网络性能。
-
在多宿主设备之间实现不平等的负载平衡,确保更有效地利用可用网络资源。
-
通过聚合带宽计算增强数据中心间通信,实现更顺畅、更可靠的数据交换。
-
通过集成来自 OSPF、IS-IS 和 BGP 获知路由的带宽数据,提供强大的流量管理,从而提供更好的路由优化。
-
通过系统日志向用户发出带宽不一致警报,从而实现主动监控和故障排除,以保持最佳的网络运维。
EVPN-VXLAN 5 类路由的不平等负载平衡概述
EVPN-VXLAN Type 5 叠加中的不均负载平衡利用 EVPN 链路带宽扩展社区,根据第 3 层链路的实际带宽分配网络流量。配置此功能后,网络可以优先选择带宽容量较高的路径,从而优化流量并减少拥塞。该功能通过播发带宽信息来动态平衡流量,远程 PE 设备可利用这些信息计算下一跳路由的精确流量平衡系数。这种能力对于在复杂的多宿主网络场景中保持最佳性能至关重要。
我们支持不平等负载平衡的 OSPF、IS-IS 和 BGP 协议,以确保基于带宽的流量管理在各种网络架构中实现无缝衔接。您可以通过聚合来自多个多宿主叶设备的带宽信息并使用 Type 5 路由进行传播,实现跨数据中心的全面带宽分配。系统日志通知会提醒您注意任何不一致或带宽信息缺失的情况,以便及时排除故障并确保网络流量管理的可靠性。
您可以通过应用带宽策略语句并监控结果来配置不平等负载平衡,如下所示:
-
使用策略语句,如
set policy-options policy-statement name then aggregate-bandwidth. -
使用
set routing-instances name protocols evpn ip-prefix-routes export name导出策略。 -
使用命令
show evpn ip-prefix-database extensive验证多宿主设备之间的流量分配和平衡。
这些策略有助于在 EVPN Type 5 路由(包括 EVPN 链路带宽扩展社区)中通告带宽详细信息,这对于远程 PE 设备执行精确负载平衡至关重要。
EVPN 链路带宽扩展社区
EVPN 链路带宽扩展社区通过播发与每个路由关联的每链路容量,为 EVPN 5 类路由实现不等价多路径 (UCMP) 或加权等价多路径 (WECMP) 负载平衡。通过将带宽信息附加到路由,远程 PE 设备可以在具有不同容量的 EVPN-VXLAN 下一跃点之间按比例分配流量,从而改善负载分担并减少拥塞。EVPN 链路带宽扩展社区是传递的,因此带宽信号将穿过 EVPN 域进行传播。
每个 EVPN Type 5 路由都承载 EVPN 链路带宽扩展社区。社区的格式定义了两个价值指标: Value-Units 和 Value-Weight。该 Value-Units 字段指示 Value-Weight 是表示 Mbps 还是广义权重。
该 Value-Units 字段的编码方式如下:
-
0x00—
Value-Weight以 Mbps 表示(默认)。 -
0x01—
Value-Weight是以 Mbps 以外的单位表示的广义权重。
是一个 Value-Weight 5 个八位字节的无符号整数。特意不指定通用权重单位,以便在不同应用之间具有灵活性。有关详细信息,请参阅 EVPN 链路带宽扩展社区 。
EVPN-VXLAN Type 5 不平等负载均衡功能支持默认 Value-Units的 ,以 Mbps 为单位表示 Value-Weight 。
默认情况下,远程 PE 设备在多宿主设备之间平均共享流量。如果第 3 层 (L3) 客户边缘到设备的链路容量低于传送到它的流量,则等份共享可能会使该路径过载。为避免路径过载,每个多宿主设备都会使用 EVPN 链路带宽扩展社区通告其面向客户边缘的 L3 链路的带宽。对于基于路由的 5 类 UCMP,远程 PE 设备:
-
将每个目标的 5 类路由与其播发的带宽相关联。
-
计算每个 EVPN-VXLAN 下一跃点的平衡系数。
-
按照客户边缘与设备链路带宽的比率分配流量。
如果多宿主设备与客户边缘之间的 L3 链路发生故障或其容量发生变化,远程 PE 设备将重新评估播发的带宽比,并调整朝其余路径的转发,从而随着拓扑或链路容量的变化保持比例分布。
EVPN-VXLAN 不平等负载平衡的工作原理
在此图中,我们有一个客户边缘设备客户边缘设备 CE 1,连接到两个多宿主设备(叶 1 和叶 2)。
-
枝叶 1 与客户边缘 1 之间的链路具有 3 个流单元的带宽容量。
-
叶 2 和客户边缘 1 之间的链路具有 5 个流单元的带宽容量。
此处的流单位表示聚合容量,可以是单个或多个物理链路。
多宿主设备使用 EVPN 链路带宽扩展社区,将 5 类路由中的可用带宽播发至路由反射器(未显示)。
EVPN 网络中的远程 PE 路由器通过 VXLAN 封装隧道连接到多宿主设备。
路由反射器(未显示)用于在多宿主设备和远程 PE 设备之间分配 EVPN 路由。
在 图 1 中,叶 1 向远程 PE 设备播发 3 个流的链路带宽容量,而分叶 2 播发 5 个流的带宽容量。因此,远程 PE 设备会保持下一跃点的单日列表,其中包括通往枝叶 1 和枝叶 2 的 VXLAN 封装隧道,流量分配平衡系数基于 3:5 的流量比率。此比率反映了两个多宿主设备之间的相对链路带宽容量,确保流量得到相应分配。
远程 PE 设备确保从所有多宿主设备接收带有 EVPN 链路带宽扩展社区的 Type 5 路由,并验证字段 Value-Units 的一致性。如果任何多宿主设备的 Type 5 路由中缺少 EVPN 链路带宽扩展社区,或者 中存在不一致 Value-Units,远程 PE 设备将生成一条系统日志消息,并按照常规 ECMP 转发到多宿主设备。
远程 PE 设备验证字段的 Value-Units 一致性后,远程 PE 设备:
-
使用从每个多宿主设备接收到的数据
Value-Weight来计算每个设备的相对权重。 -
使用该相对权重来计算用于负载平衡的加权路径列表,而不是使用 ECMP 路径列表。
配置和管理不平等负载平衡
为了在 EVPN-VXLAN 5 类网络中有效管理和使用基于带宽的负载平衡,请确保在所有多宿主设备上一致应用 EVPN 链路带宽扩展社区。如果出现差异,系统会默认使用标准 ECMP 转发,并生成系统日志消息以提醒您问题。
您可以使用 CLI 命令设置带宽聚合选项,确保负载平衡设置的高效配置和验证。首先,使用 policy-statement 该配置定义带宽策略来聚合来自第 3 层链路的带宽,并确保通过 EVPN Type 5 路由正确导出这些策略。您还可以配置 OSPF、IS-IS 和 BGP 协议来集成其带宽数据,从而增强路由管理。
您可以使用和命令show routeshow evpn ip-prefix-database extensive验证带宽分布,并查看有关带宽分配和平衡系数的详细信息。检查系统日志消息中是否有可能触发 ECMP 回退的带宽信息缺失或不一致。
配置 EVPN 链路带宽策略
作为 EVPN 5 类路由播发的一部分,每个多宿主设备都使用带有语句的 aggregate-bandwidth 导出策略来计算可用带宽,并使用 EVPN 链路带宽扩展社区对其进行播发。多宿主设备会将 EVPN 5 类路由播发至路由反射器,后者将这些路由转发至远程 PE 设备。
以下示例显示了最小导出策略。您可以使用匹配条件来指定 protocol or route-filter 条件来自定义此策略。
set policy-options policy-statement policy-name then aggregate-bandwidth set policy-options policy-statement policy-name then accept set routing-instances instance-name protocols evpn ip-prefix-routes export policy-name
集成 OSPF 获知带宽
使用 OSPF spf-options multipath weighted one-hop 配置将网关 L3 链路带宽与 OSPF 获知的路由相关联。
set protocols ospf spf-options multipath weighted one-hop
此配置使 WECMP 能够根据发往单跳距离的 OSPFv2 邻接方的传入流量带宽来共享数据负载。这会将带宽信息与每个网关相关联,如下输出所示。
user@device> show route 10.1.255.1 extensive expanded-nh
vrf1.inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
10.1.255.1/32 (1 entry, 1 announced)
Installed-nexthop:
In-kernel:
List (0x859cc14) Index:1048578
Router (0x7e5cc14) Index:624 10.0.0.1 Session-ID: 320 via ae0.0
Router (0x7e5c514) Index:635 10.0.1.1 Session-ID: 325 via ae1.0
Router (0x7e5c894) Index:636 10.2.2.1 Session-ID: 326 via ae2.0
TSI:
KRT in-kernel 10.1.255.1/32 -> {list:10.0.0.1, 10.0.1.1, 10.2.2.1}
*OSPF Preference: 10
Next hop type: Router, Next hop index: 0
Address: 0x859d314
Next-hop reference count: 2, Next-hop session id: 0
Kernel Table Id: 0
Next hop: 10.0.0.1 via ae0.0 balance 33% ------> Bandwidth value x
Session Id: 0
Next hop: 10.0.1.1 via ae1.0 balance 33% ------> Bandwidth value y
Session Id: 0
Next hop: 10.2.2.1 via ae2.0 balance 33%, selected ------> Bandwidth value z
Session Id: 0
当上述路由播发为 EVPN Type 5 路由时,它会聚合 L3 网关链路带宽并将其添加到 EVPN 链路带宽扩展社区,如下输出所示:
user@device> show route 10.1.255.1/32 extensive | match "bandwidth"
Communities: 9498:95 9498:100 34111:50112 evpn-bandwidth:0x00:(x+y+z)
Here the Value-Units (0x00) indicates that the Value-Weight (x+y+z) represents the aggregate bandwidth in Mbps [default].
x : Bandwidth of first gateway L3 link in Mbps.
y : Bandwidth of second gateway L3 link in Mbps.
z : Bandwidth of third gateway L3 link in Mbps.
集成 IS-IS 学习带宽
使用 IS-IS spf-options multipath weighted one-hop 配置将网关 L3 链路带宽与获知的 IS-IS 路由相关联。
此配置使 WECMP 能够根据发往 IS-IS 接口的传入流量的带宽来共享数据负载,就像 OSPF 版本对 OSPF 所做的那样。您可以使用与 OSPF 相同的 show route 命令查看 IS-IS 信息。
set protocols isis spf-options multipath weighted one-hop
集成 BGP 学习带宽
使用 BGP multipath 和 auto-sense 配置将网关 L3 链路带宽与 BGP 获知的路由相关联。
set protocols bgp group group-name external multipath set protocols bgp group group-name external link-bandwidth auto-sense
BGP multipath 配置支持在多个 EBGP 路径和多个 IBGP 路径之间共享负载。
此 auto-sense 配置支持自动检测链路带宽,并在导入时将 BGP 链路带宽社区连接到路由。
您只能在单跳 EBGP 邻接方上配置链路带宽自动检测。
当多个 BGP 链路带宽社区连接到路由时,BGP 会忽略传递性,并将最低的链路带宽值安装到转发表 (FIB)。
通过上述配置,您可以使用和show route extensive expanded-nh命令查看show route与每个网关关联的带宽和平衡系数。
user@device> show route 10.0.2.0
inet.0: 24 destinations, 46 routes (24 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.0.2.0/30 *[BGP/170] 00:00:58, localpref 100
AS path: 65537 I, validation-state: unverified
to 10.1.0.2 via ge-0/0/3.0
to 10.2.0.2 via ge-0/0/4.0
> to 10.0.1.1 via ge-0/0/1.0
to 10.0.0.2 via ge-0/0/2.0
[BGP/170] 00:00:58, localpref 100
AS path: 65537 I, validation-state: unverified
> to 10.0.0.2 via ge-0/0/2.0
[BGP/170] 00:00:58, localpref 100
AS path: 65537 I, validation-state: unverified
> to 10.2.0.2 via ge-0/0/4.0
[BGP/170] 00:00:58, localpref 100
AS path: 65537 I, validation-state: unverified
> to 10.1.0.2 via ge-0/0/3.0
user@device> show route 10.0.2.0 extensive expanded-nh
inet.0: 24 destinations, 46 routes (24 active, 0 holddown, 0 hidden)
10.0.2.0/30 (4 entries, 1 announced)
Installed-nexthop:
In-kernel:
List (0x859aa14) Index:1048574
Router (0x7e5e414) Index:604 10.1.0.2 Session-ID: 322 via ge-0/0/3.0
Router (0x7e5bb94) Index:605 10.2.0.2 Session-ID: 323 via ge-0/0/4.0
Router (0x7e5e694) Index:593 10.0.1.1 Session-ID: 320 via ge-0/0/1.0
Router (0x7e5bc14) Index:595 10.0.0.2 Session-ID: 321 via ge-0/0/2.0
TSI:
KRT in-kernel 10.0.2.0/30 -> {list:10.1.0.2, 10.2.0.2, 10.0.1.1, 10.0.0.2}
Multipath TSI
Flags: RTargetLBWSet
Lead Route: BGP, 10.0.1.1
Nexthop:
Refcnt: 2
Template: 0x8ce9208(Router, 4 legs)
Object: 0x8599414(Router, 4 legs)
Mode: Multipath
Page 0 idx 1, (group external2 type External) Type 1 val 0x11468fa0 (adv_entry)
Advertised metrics:
Nexthop: Self
AS path: [65536] 65537 I
Communities: bandwidth:65537:500000000
Advertise: 00000001
Path 10.0.2.0
from 10.0.1.1
Vector len 4. Val: 1
*BGP Preference: 170/-101
Next hop type: Router, Next hop index: 0
Address: 0x8599414
Next-hop reference count: 3, Next-hop session id: 0
Kernel Table Id: 0
Source: 10.0.1.1
Next hop: 10.1.0.2 via ge-0/0/3.0 balance 25% ------>Bandwidth value W
Session Id: 0
Next hop: 10.2.0.2 via ge-0/0/4.0 balance 25% ------> Bandwidth value X
Session Id: 0
Next hop: 10.0.1.1 via ge-0/0/1.0 balance 25%, selected ------> Bandwidth value Y
Session Id: 0
Next hop: 10.0.0.2 via ge-0/0/2.0 balance 25% ------> Bandwidth value Z
Session Id: 0
State: <Active Ext>
Local AS: 65536 Peer AS: 65537
Age: 1:36
Validation State: unverified
当上述路由播发为 EVPN Type 5 路由时,它会聚合 L3 网关链路带宽并将其添加到 EVPN 链路带宽扩展社区,如下输出所示:
user@device> show route 10.0.2.0/30 extensive | match "bandwidth"
Communities: 9498:95 9498:100 34111:50112 evpn-bandwidth:0x00:(W+X+Y+Z)
Here the Value-Units (0x00) indicates that the Value-Weight (W+X+Y+Z) represents the aggregate bandwidth in Mbps [default].
W : Bandwidth of first gateway L3 link in Mbps.
X : Bandwidth of second gateway L3 link in Mbps.
Y : Bandwidth of third gateway L3 link in Mbps.
Z : Bandwidth of fourth gateway L3 link in Mbps.
移除 BGP 链路带宽扩展社区通告
BGP multipath 配置使用 BGP 链路带宽扩展社区为不平等负载平衡提供 WECMP。使用语句配置 aggregate-bandwidth 导出策略时,EVPN 会将 BGP 链路带宽扩展社区添加到 Type 5 路由播发。因此,默认情况下,类型 5 路由同时包含 BGP 链路带宽扩展社区和 EVPN 链路带宽扩展社区。
如果您不希望同时播发 BGP 链路带宽扩展社区,则可以配置策略以从 Type 5 路由播发中移除这两个社区。
例如,以下策略会将语句添加到 aggregate-bandwidth EVPN 5 类配置中:
set policy-options policy-statement evpn_type5 term 1 from protocol bgp set policy-options policy-statement evpn_type5 term 1 from protocol ospf set policy-options policy-statement evpn_type5 term 1 from route-filter 10.1.0.0/16 orlonger set policy-options policy-statement evpn_type5 term 1 then aggregate-bandwidth set policy-options policy-statement evpn_type5 term 1 then accept set policy-options policy-statement evpn_type5 term 2 from protocol bgp set policy-options policy-statement evpn_type5 term 2 from protocol ospf set policy-options policy-statement evpn_type5 term 2 from route-filter 10.2.0.0/16 orlonger set policy-options policy-statement evpn_type5 term 2 then accept set policy-options policy-statement evpn_type5 term 3 then reject set policy-options community bgp-bw members bandwidth:*:*
在以下 show route extensive 命令的输出中,您可以看到 BGP 链路带宽扩展社区和 EVPN 链路带宽扩展社区值已添加到路由中。
user@device> show route match-prefix 5:*10.1.0.0* extensive
inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden)
vrf1.inet.0: 6 destinations, 8 routes (6 active, 0 holddown, 0 hidden)
iso.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
inet6.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
bgp.evpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
5:10.255.1.2:100::0::10.1.0.0::16/248 (1 entry, 1 announced)
TSI:
Page 0 idx 0, (group overlay type External) Type 1 val 0x102b6500 (adv_entry)
Advertised metrics:
Flags: Nexthop Change
Nexthop: Self
AS path: [65200] 65100 I
Communities: target:100:100 bandwidth:65100:62500000 encapsulation:vxlan(0x8) evpn-bandwidth:0x00:600
Advertise: 00000003
Path 5:10.255.1.2:100::0::10.1.0.0::16
Vector len 4. Val: 0
*EVPN Preference: 170/-101
Next hop type: Fictitious, Next hop index: 0
Address: 0x825a814
Next-hop reference count: 4
Kernel Table Id: 0
Next hop:
State: <Secondary Active Int Ext>
Age: 6
Validation State: unverified
Localpref: 100
Task: vrf1-EVPN-L3-context
Announcement bits (1): 0-BGP_RT_Background
AS path: 65100 I
Communities: target:100:100 bandwidth:65100:62500000 encapsulation:vxlan(0x8) evpn-bandwidth:0x00:600
Route Label: 9100
Overlay gateway address: 0.0.0.0
ESI 00:00:00:00:00:00:00:00:00:00
Primary Routing Table: vrf1.evpn.0
Thread: junos-main
vrf1.evpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
5:10.255.1.2:100::0::10.1.0.0::16/248 (1 entry, 1 announced)
*EVPN Preference: 170/-101
Next hop type: Fictitious, Next hop index: 0
Address: 0x825a814
Next-hop reference count: 4
Kernel Table Id: 0
Next hop:
State: <Active Int Ext>
Age: 6
Validation State: unverified
Localpref: 100
Task: vrf1-EVPN-L3-context
Announcement bits (1): 1-rt-export
AS path: 65100 I
Communities: bandwidth:65100:62500000 encapsulation:vxlan(0x8) evpn-bandwidth:0x00:600
Route Label: 9100
Overlay gateway address: 0.0.0.0
ESI 00:00:00:00:00:00:00:00:00:00
Thread: junos-main
如果您不希望通过 Type 5 路由播发这两个扩展社区,可以使用策略从播发中移除 BGP 链路带宽扩展社区。
例如,以下策略将移除 BGP 链路带宽扩展社区。
set policy-options policy-statement evpn_type5 term 1 from protocol bgp set policy-options policy-statement evpn_type5 term 1 from protocol ospf set policy-options policy-statement evpn_type5 term 1 from route-filter 10.1.0.0/16 orlonger set policy-options policy-statement evpn_type5 term 1 then community delete bgp-bw set policy-options policy-statement evpn_type5 term 1 then aggregate-bandwidth set policy-options policy-statement evpn_type5 term 1 then accept set policy-options policy-statement evpn_type5 term 2 from protocol bgp set policy-options policy-statement evpn_type5 term 2 from protocol ospf set policy-options policy-statement evpn_type5 term 2 from route-filter 10.2.0.0/16 orlonger set policy-options policy-statement evpn_type5 term 2 then accept set policy-options policy-statement evpn_type5 term 3 then reject set policy-options community bgp-bw members bandwidth:*:*
使用移除 BGP 链路带宽扩展社区的配置运行命令时 show route extensive ,您只能在 EVPN Type 5 路由的路由中看到 EVPN 链路带宽扩展社区值:
user@device> show route match-prefix 5:*10.1.0.0* extensive
inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden)
vrf1.inet.0: 6 destinations, 8 routes (6 active, 0 holddown, 0 hidden)
iso.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
inet6.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
bgp.evpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
5:10.255.1.2:100::0::10.1.0.0::16/248 (1 entry, 1 announced)
TSI:
Page 0 idx 0, (group overlay type External) Type 1 val 0x102b6500 (adv_entry)
Advertised metrics:
Flags: Nexthop Change
Nexthop: Self
AS path: [65200] 65100 I
Communities: target:100:100 encapsulation:vxlan(0x8) evpn-bandwidth:0x00:600
Advertise: 00000003
Path 5:10.255.1.2:100::0::10.1.0.0::16
Vector len 4. Val: 0
*EVPN Preference: 170/-101
Next hop type: Fictitious, Next hop index: 0
Address: 0x825a814
Next-hop reference count: 4
Kernel Table Id: 0
Next hop:
State: <Secondary Active Int Ext>
Age: 1:20
Validation State: unverified
Localpref: 100
Task: vrf1-EVPN-L3-context
Announcement bits (1): 0-BGP_RT_Background
AS path: 65100 I
Communities: target:100:100 encapsulation:vxlan(0x8) evpn-bandwidth:0x00:600
Route Label: 9100
Overlay gateway address: 0.0.0.0
ESI 00:00:00:00:00:00:00:00:00:00
Primary Routing Table: vrf1.evpn.0
Thread: junos-main
vrf1.evpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
5:10.255.1.2:100::0::10.1.0.0::16/248 (1 entry, 1 announced)
*EVPN Preference: 170/-101
Next hop type: Fictitious, Next hop index: 0
Address: 0x825a814
Next-hop reference count: 4
Kernel Table Id: 0
Next hop:
State: <Active Int Ext>
Age: 1:20
Validation State: unverified
Localpref: 100
Task: vrf1-EVPN-L3-context
Announcement bits (1): 1-rt-export
AS path: 65100 I
Communities: encapsulation:vxlan(0x8) evpn-bandwidth:0x00:600
Route Label: 9100
Overlay gateway address: 0.0.0.0
ESI 00:00:00:00:00:00:00:00:00:00
Thread: junos-main
跨数据中心的链路带宽聚合
当数据中心主干设备从多宿主设备接收包含 EVPN 链路带宽扩展社区的 5 类路由时,它会将路由安装到其 VRF.inet.x 表中。主干设备会聚合从每个多宿主设备接收的带宽,并在将该路由播发至其他数据中心时将其添加到 EVPN 链路带宽扩展社区。
验证负载平衡不均并排除故障
您可以使用命令 show evpn ip-prefix-database extensive 验证带宽分布。此命令提供有关带宽分配和平衡因素的详细见解。它还将指示不平等的 ECMP 状态。例如,在下面的第一个输出中, Unequal ecmp state: 是 Enabled。但是,在第二个输出中,网关 10.255.1.2 不会播发 EVPN 链路带宽信息 Unequal ecmp state: ,因此也是 Disabled。在这种情况下,系统默认使用 ECMP 路由来保持网络稳定性。
输出仅 show evpn ip-prefix-database extensive 在启用该功能时显示带宽信息。
如果出现错误,例如 PE 路由器未播发带宽信息,或 EVPN 链路带宽扩展社区中出现不一致 Value-Units ,则输出将显示 Unequal ecmp state: Disabled。
下面的输出说明了在查看从叶 1 和叶 2 接收的信息时,在 图 1 中的远程 PE 设备上可以看到的内容。
此输出显示从枝叶 1 和枝叶 2 接收 EVPN 链路带宽数据的远程 PE。
user@device> show evpn ip-prefix-database direction imported prefix 100.1.0.0/16 extensive
L3 context: vrf1
EVPN->IPv4 Imported Prefixes
Prefix: 100.1.0.0/16, Ethernet tag: 0
Change flags: 0x0
State flags: 0x4
In Unknown Kernel ID queue: NO, In Underlay Change queue: NO, Unequal ecmp state: Enabled
Remote advertisements:
Route Distinguisher: 10.255.1.1:100
VNI: 9100
Router MAC: 2c:6b:f5:6a:e6:f0
BGP nexthop address: 10.255.1.1
IP route status: Created
Change flags: 0x0
In GW ADDR queue: NO
EVPN link bandwidth: Gateway-10.255.1.1 bandwidth=0x00:600, balance_factor=32768(50%) <<< Bandwidth information received from Leaf 1
Route Distinguisher: 10.255.1.2:100
VNI: 9100
Router MAC: 2c:6b:f5:6d:36:f0
BGP nexthop address: 10.255.1.2
IP route status: Created
Change flags: 0x0
In GW ADDR queue: NO
EVPN link bandwidth: Gateway-10.255.1.2 bandwidth=0x00:600, balance_factor=65535(50%) <<< Bandwidth information received from Leaf 2
此输出显示远程 PE 从叶 1 接收 EVPN 链路带宽数据,但未从叶 2 接收数据。
user@device> show evpn ip-prefix-database direction imported prefix 100.1.0.0/16 extensive
L3 context: vrf1
EVPN->IPv4 Imported Prefixes
Prefix: 100.1.0.0/16, Ethernet tag: 0
Change flags: 0x0
State flags: 0x4
In Unknown Kernel ID queue: NO, In Underlay Change queue: NO, Unequal ecmp state: Disabled
Remote advertisements:
Route Distinguisher: 10.255.1.1:100
VNI: 9100
Router MAC: 2c:6b:f5:6a:e6:f0
BGP nexthop address: 10.255.1.1
IP route status: Created
Change flags: 0x0
In GW ADDR queue: NO
EVPN link bandwidth: Gateway-10.255.1.1 bandwidth=0x00:600, balance_factor=32768(50%) <<< Bandwidth information received from leaf-1
Route Distinguisher: 10.255.1.2:100
VNI: 9100
Router MAC: 2c:6b:f5:6d:36:f0
BGP nexthop address: 10.255.1.2
IP route status: Created
Change flags: 0x0
In GW ADDR queue: NO
<<< Gateway 10.255.1.2 (leaf-2) is not advertising EVPN link bandwidth information. So Unequal ECMP is Disabled.
要帮助排除此功能的故障,请检查系统日志中是否有 EVPN_WECMP 消息。这些消息会提醒您注意将触发 ECMP 回退的带宽信息丢失或不一致。例如,由于 PE 路由器未播发 EVPN 链路带宽扩展社区,以下消息会提醒您注意 ECMP 回退。在这种情况下,您还可以运行 show evpn ip-prefix-database extensive 命令(请参阅上面的命令输出)以查找有关不平等负载平衡问题的更多信息。
user@device> show log messages | grep "EVPN_WECMP" Mar 1 15:39:59 device rpd[18506]: EVPN_WECMP: Ignoring the weighted load balance because one of the PEs is not advertised with the EVPN-bandwidth community.