高级 MC-LAG 概念
了解配置同步
配置同步适用于 QFX 系列交换机、Junos Fusion 提供商边缘、Junos Fusion Enterprise、EX 系列交换机和 MX 系列路由器。
本主题将介绍如下内容:
配置同步的优势
配置同步使您能够将配置从一台设备传播、同步和提交到另一台设备。您可以登录其中任何一台设备来管理所有设备,从而实现单点管理。
配置同步的工作原理
使用配置组来简化配置过程。例如,您可以为本地设备创建一个配置组,为远程设备创建一个或多个配置组,并为全局配置创建一个配置组,这实质上是所有设备通用的配置。
此外,您还可以创建条件组来指定配置与其他设备同步的时间。默认情况下,[edit system commit]
您可以在层次结构中启用peers-synchronize
语句,以在设备之间同步配置和提交。NETCONF over SSH 在设备之间提供安全连接,安全复制协议 (SCP) 在设备之间安全地复制配置。
如何启用配置同步
要启用配置同步,请执行以下步骤:
将本地设备静态映射到远程设备。
为本地、远程和全局配置创建配置组。
创建条件组。
创建应用组。
通过 SSH 启用 NETCONF。
配置设备详细信息和用户身份验证详细信息以进行配置同步。
启用
peers-synchronize
语句或发出commit peers-synchronize
命令,可在本地和远程设备之间同步并提交配置。
如何支持配置同步
在 MX 系列路由器和 Junos Fusion 上,从 Junos OS 14.2R6 版开始支持配置同步。在 QFX 系列交换机上,从 Junos OS 15.1X53-D60 版开始支持配置同步。
本地、远程和全局配置的配置组
您可以为本地、远程和全局配置创建配置组。本地设备使用本地配置组,远程设备使用远程配置组,本地设备与远程设备共享全局配置组。
例如,您可以创建一个名为 A 组的本地配置组,其中包括本地设备(交换机 A)使用的配置,一个名为 B 组的远程配置组,其中包括远程设备(交换机 B、交换机 C 和交换机 D)使用的配置,以及一个名为 C 组的全局配置组,其中包括所有设备通用的配置。
在 [edit groups]
层次结构级别创建配置组。
配置同步不支持嵌套组。
为某些设备创建条件组
您可以创建条件组来指定何时应将特定配置应用于设备。例如,如果要将全局配置应用于四设备配置中的所有设备,请在[edit groups]
层次结构级别启用该when peers [<name of local peer> <name of remote peer> <name of remote peer> <name of remote peer>]
语句。例如,如果要将全局配置(组 C)应用于本地和远程设备(交换机 A、交换机 B、交换机 C 和交换机 D),可以发出set groups Group C when peers [Switch A Switch B Switch C Switch D]命令。
应用配置组
要应用配置组,请在[edit]
层次结构级别启用语apply-groups
句。例如,要应用本地配置组(例如 A 组)、远程配置组(例如 B 组)和全局配置组(例如 C 组),请发出set apply-groups [ GroupA GroupB GroupC ]命令。
用于配置同步的设备配置详细信息
要在设备之间同步配置,您需要为远程设备配置主机名或 IP 地址、用户名和密码。为此,请在本地设备上的[edit system commit]
层次结构上发出set peers <hostname-of-remote-peer> user <name-of-user> authentication <plain-text-password-string>
命令。
例如,要将配置从交换机 A 同步到交换机 B,请对交换机 A 发出 set peers SwitchB user administrator authentication test123 命令。
您还需要将本地设备静态映射到远程设备。为此,发出 set system commit peers
例如,要将配置从交换机 A 同步到交换机 B、交换机 C 和交换机 D,请在交换机 A 上配置以下配置:
交换机 A
[edit system commit] peers { switchB { user admin-swB; authentication "$ABC123"; } switchC { user admin-swC; authentication ""$ABC123"; } switchD { user admin-swD; authentication "$ABC123"; } } [edit system] static-host-mapping [ SwitchA{ inet [ 10.92.76.2 ]; } SwitchB{ inet [ 10.92.76.4 ]; } SwitchC{ inet [ 10.92.76.6 ]; } SwitchD{ inet [ 10.92.76.8 ]; } } }
如果只想将交换机 A 的配置同步到交换机 B、交换机 C 和交换机 D,则无需在交换机 B、交换机 C 和交换机 D 上配置 peers
语句。
peers 语句中的配置详细信息还用于在设备之间建立 NETCONF over SSH 连接。要通过 SSH 启用 NETCONF,请在所有设备上发出 set system services netconf ssh
命令。
如何在设备之间同步配置和提交
启用 peers-synchronize
语句或发出 commit peers-synchronize
命令的本地(或请求)设备会将其配置复制并加载到远程(或响应)设备。然后,每个设备对要提交的配置文件执行语法检查。如果未发现错误,配置将被激活并成为所有设备上的当前操作配置。使用远程过程调用 (RPC) 传播提交。
配置同步期间发生以下事件:
本地设备会将 sync-peers.conf 文件(将与条件组中指定的设备共享的配置)发送到远程设备。
远程设备加载配置,将加载结果发送到本地设备,将其配置导出到本地设备,并回复提交完成。
本地设备从远程设备读取回复。
如果成功,则已提交配置。
如果 a) 远程设备不可用或 b) 远程设备可访问,但由于以下原因而失败,则配置同步不成功:
SSH 连接由于用户和身份验证问题而失败。
Junos OS RPC 失败,因为在远程数据库上无法获取锁。
由于语法问题,加载配置失败。
提交检查失败。
该 peers-synchronize
语句使用您在语句中 peers
配置的设备的主机名或 IP 地址、用户名和密码。 peers-synchronize
启用语句后,您只需发出 commit
命令即可将配置从一台设备同步到另一台设备。例如,如果您在本地设备上配置了 peers
语句,并希望将配置与远程设备同步,则只需在本地设备上发出 commit
命令即可。但是,如果在本地设备上发出 commit
命令,并且无法访问远程设备,您将收到一条警告消息,指出无法访问远程设备,并且仅提交了本地设备上的配置:
下面是一个示例警告消息:
error: netconf: could not read hello error: did not receive hello packet from server error: Setting up sessions for peer: 'peer1' failed warning: Cannot connect to remote peers, ignoring it commit complete
如果未 peers
使用远程设备信息配置语句,并且发出命令, commit
则只会提交本地设备上的配置。如果远程设备无法访问,并且存在其他故障,则本地和远程设备上的提交都不会成功。
启用语 peers-synchronize
句并发出 commit
命令时,提交时间可能比正常提交时间长。即使各设备的配置相同且不需要同步,系统仍会尝试同步这些配置。
该 commit peers-synchronize
命令还会使用语句中 peers
配置的设备的主机名或 IP 地址、用户名和密码。如果在本地设备上发出 commit peers-synchronize
命令以将配置与远程设备同步,并且可以访问远程设备,但存在其他故障,则本地和远程设备上的提交都会失败。
了解多机箱链路聚合组配置一致性检查
当多机箱链路聚合组 (MC-LAG) 不一致时,您会收到通知并采取措施加以解决。不一致的一个示例是在两个对等方上配置相同的机箱 ID,而不是在两个对等方上配置唯一的机箱 ID。仅检查提交的 MC-LAG 参数以确保一致性。
- 使用 MC-LAG 一致性检查的好处
- MC-LAG 一致性检查的工作原理
- 配置一致性要求
- 当无法访问远程对等方时
- 启用 MC-LAG 配置一致性检查
- 了解配置一致性检查的状态
- 支持 MC-LAG 配置一致性检查
使用 MC-LAG 一致性检查的好处
此功能可帮助您发现多机箱链路聚合组 (MC-LAG) 对等方之间的配置参数不一致。
MC-LAG 一致性检查的工作原理
在本地 MC-LAG 对等方上发出提交后,配置一致性检查期间将发生以下事件:
在本地 MC-LAG 对等方上提交 MC-LAG 配置。
ICCP 解析 MC-LAG 配置,然后将配置发送至远程 MC-LAG 对等方。
远程 MC-LAG 对等方从本地 MC-LAG 对等方接收 MC-LAG 配置,并将其与自己的 MC-LAG 配置进行比较。
如果两个 MC-LAG 配置之间存在严重不一致,则 MC-LAG 接口将被关闭,并发出系统日志消息。
如果两种配置之间存在适度的不一致,则会发出 syslog 消息。
在远程 MC-LAG 对等方上发出提交后,配置一致性检查期间将发生以下事件:
在远程 MC-LAG 对等方上提交 MC-LAG 配置。
ICCP 解析 MC-LAG 配置,然后将配置发送至本地 MC-LAG 对等方。
本地 MC-LAG 对等方从远程 MC-LAG 对等方接收配置,并将其与自己的配置进行比较。
如果两种配置之间存在严重不一致,MC-LAG 接口将被关闭,并发出系统日志消息。
如果两种配置之间存在适度的不一致,则会发出 syslog 消息。
配置一致性要求
根据 MC-LAG 参数的不同,有不同的配置一致性要求。一致性要求要么相同,要么是唯一的,这意味着某些参数必须配置相同,某些参数必须在 MC-LAG 对等方上唯一配置。例如,机箱 ID 在两个对等方上必须是唯一的,而 LACP 模式在两个对等方上必须相同。
一致性要求的实施级别(相同或唯一)是强制性的或所需的。如果强制级别为强制性,而您未正确配置 MC-LAG 参数,系统将导致接口关闭并发出 syslog 消息。
例如,您会收到一条 syslog 消息,其中显示: “Some of the Multichassis Link Aggregation (MC-LAG) configuration parameters between the peer devices are not consistent. The concerned MC-LAG interfaces were explictly brought down to prevent unwanted behavior.”
当您纠正不一致并发出成功提交时,系统将调出接口。如果需要强制实施,并且您配置了不正确的 MC-LAG 参数,您将收到一条系统日志消息,其中显示: "Some of the Multichassis Link Aggregation(MC-LAG) configuration parameters between the peer devices are not consistent. This may lead to sub-optimal performance of the feature."
如 syslog 消息中所述,在这种情况下,性能将欠佳。您也可以发出 show interfaces mc-ae 命令,以显示多机箱聚合以太网接口的配置一致性检查状态。
如果存在多个不一致之处,则仅显示第一个不一致处。如果 MC-LAG 参数的实施级别是必需的,而您未正确配置该参数,则命令将显示 MC-LAG 接口已关闭。
当无法访问远程对等方时
当您在本地对等方上发出提交,并且无法访问远程对等方时,配置一致性检查将通过,以便本地对等方可以在独立模式下启动。当远程对等方启动时,ICCP 会在对等方之间交换配置。如果一致性检查失败,MC-LAG 接口将关闭,系统会通知您导致不一致的参数。当您纠正不一致之处并发出成功提交时,系统将调出接口。
启用 MC-LAG 配置一致性检查
默认情况下,一致性检查处于启用状态。 表 1 提供了检查一致性的已提交 MC-LAG 参数的示例列表,以及它们的一致性要求(相同或唯一)、配置参数的层次结构以及一致性检查实施级别(必需或所需)。
配置旋钮 |
等级制度 |
一致性要求 |
执法 |
---|---|---|---|
指定必须在对等方之间建立机箱间控制协议 (ICCP) 连接的时间。 |
|
|
|
指定要与接口关联的最大 MAC 地址数。 |
|
|
|
指定要与 MC-AE 接口关联的最大 MAC 地址数。 |
|
|
|
指定要与 VLAN 关联的最大 MAC 地址数 - 默认值为无限制,这会使网络容易受到泛洪的影响。 |
|
|
|
指定 MAC 地址在以太网交换表中的保留时间。 |
|
|
|
为逻辑 |
|
|
|
为不同的 RSTP 路由实例指定不同的网桥标识符。 |
|
|
|
为不同的 MSTP 路由实例指定不同的网桥标识符。 |
|
|
|
确定哪个网桥被选为 RSTP 的根网桥。如果两个网桥到根网桥的路径成本相同,则网桥优先级将确定哪台网桥成为 LAN 分段的指定网桥。 |
|
|
|
确定哪个网桥被选为 MSTP 的根网桥。如果两个网桥到根网桥的路径成本相同,则网桥优先级将确定哪台网桥成为 LAN 分段的指定网桥。 |
|
|
|
在交换机的所有边缘端口上配置桥接协议数据单元 (BPDU) 保护,以便进行 RSTP。 |
|
|
|
在交换机的所有边缘端口上为 VSTP 配置桥接协议数据单元 (BPDU) 保护。 |
|
|
|
在交换机的所有边缘端口上配置桥接协议数据单元 (BPDU) 保护,以实现 MSTP。 |
|
|
|
为属于链路聚合组 (LAG) 的每个多机箱聚合以太网接口指定服务标识符。 |
|
|
|
配置最小间隔,在此间隔之后,本地路由设备传输hello数据包,然后期望从已与之建立 BFD 会话的邻接方接收回复。 |
|
|
|
指定本地路由设备向与其建立 BFD 会话的邻接方传输hello 数据包的最小间隔。 |
|
|
|
指定本地路由设备必须从与之建立 BFD 会话的邻接方接收回复的最短时间间隔。 |
|
|
|
配置导致始发接口声明关闭的邻接方未接收的hello 数据包数。 |
|
|
|
配置单跃点 BFD 会话。 |
|
|
|
指定认证密钥密码,以验证从托管 MC-LAG 的对等方发送的数据包的真实性。 |
|
|
|
指定冗余组标识号。机箱间控制协议 (ICCP) 使用冗余组 ID 关联执行类似冗余功能的多个机箱。 |
|
|
|
通过两个机箱间控制协议 (ICCP) 对等方之间的管理链路交换激活消息,确定对等方是启动还是关闭。 |
|
|
|
指定 MC-LAG 设备的标识号。 |
|
|
|
由 ICCP 用于关联执行类似冗余功能的多个机箱,并建立通信通道,以便对等机箱上的应用程序可以相互发送消息。 |
|
|
|
由 LACP 用于计算 MC-LAG 的物理成员链路的端口号。 |
|
|
|
指示 MC-LAG 是处于主动-备用模式还是主动-主动模式。 |
|
|
|
指定发生机箱间链路故障时机箱是变为活动状态还是保持待机模式。 |
|
|
|
指定如果 ICCP 对等方出现故障,系统将关闭机箱间链路逻辑接口。 |
|
|
|
指定配置为 |
|
|
|
指定 LACP 是主动的还是被动的。 |
|
|
|
指定 LACP 数据包定期传输的时间间隔。 |
|
|
|
在聚合以太网接口级别定义 LACP 系统标识符。 |
|
|
|
指定路由器或交换机的管理密钥。 |
|
|
|
为端口上的未标记数据包配置混合标记支持。 |
|
|
|
同步加入 MC-LAG 的交换机的第 3 层接口的 MAC 地址。 |
|
|
|
配置可从桥接域、VLAN、虚拟交换机或一组桥接域或 VLAN 中获知的 MAC 地址数量限制。 |
|
|
|
将第 3 层接口与 VLAN 进行关联。 |
|
|
|
启用 IGMP 侦听。第 2 层设备监控从每个连接主机向组播路由器发送的 IGMP 加入和留下消息。这使得第 2 层设备能够跟踪组播组和关联的成员端口。第 2 层设备使用这些信息做出智能决策,并仅将组播流量转发至预期的目标主机。 |
|
|
|
指定在逻辑接口上配置的协议家族。 |
|
|
|
指定 IRB 接口的 IPv4 地址。 |
|
|
|
为 IRB 接口指定 IPv6 地址。 |
|
|
|
指定 VRRP 组标识符。 |
|
|
|
仅对于以太网接口,只要路由器或交换机具有到 ARP 请求目标地址的活动路由,即可将路由器或交换机配置为响应任何 ARP 请求。 |
|
|
|
配置虚拟路由器冗余协议 (VRRP) 路由器优先级以成为主默认路由器。组中优先级最高的路由器成为主路由器。 |
|
|
|
配置虚拟路由器冗余协议 (VRRP) IPv4 验证密钥。还必须通过包含 authentication-type 语句来指定 VRRP 身份验证方案。 |
|
|
|
启用虚拟路由器冗余协议 (VRRP) IPv4 身份验证,并指定 VRRP 组的身份验证方案。 |
|
|
|
配置虚拟路由器冗余协议 (VRRP) IPv4 或 IPv6 组中虚拟路由器的地址。 |
|
|
|
配置逻辑链路层封装类型。 |
|
|
|
支持在同一以太网端口上的逻辑接口和伪线逻辑接口上同时传输 802.1Q VLAN 单标记和双标记帧。 |
|
|
|
对于快速以太网和千兆以太网接口,为 VPLS 配置的聚合以太网接口和伪线用户接口支持在接口上接收和传输带有 802.1Q VLAN 标记的帧。 |
|
|
|
指定介质或协议的最大传输单元 (MTU) 大小。 |
|
|
|
确定逻辑接口是基于 VLAN 标记接受还是丢弃数据包。 |
|
|
|
指定属于某个接口的 VLAN 的名称。 |
|
|
|
了解配置一致性检查的状态
以下命令提供有关配置一致性检查状态的信息:
发出 show multi-chassis mc-lag configuration-consistency list-of-parameters 命令,查看已检查的已提交 MC-LAG 参数列表,这些参数是否存在不一致、一致性要求(相同或唯一)以及实施级别(必需或所需)。
发出 show multi-chassis mc-lag configuration-consistency 命令,查看已检查的已提交 MC-LAG 参数列表,这些参数是否存在不一致、一致性要求(相同或唯一)、实施级别(必需或所需)以及配置一致性检查的结果。结果要么通过,要么失败。
发出 show multi-chassis mc-lag configuration-consistency global-config 命令,以查看与 MC-LAG 功能相关的所有全局配置的配置一致性检查状态、一致性要求(相同或唯一)、实施级别(强制或所需)以及配置一致性检查的结果。结果要么通过,要么失败。
发出 show multi-chassis mc-lag configuration-consistency icl-config 命令,查看与机箱间控制链路、一致性要求(相同或唯一)、实施级别(强制或所需)以及配置一致性检查结果相关的参数的配置一致性检查状态。结果要么通过,要么失败。
发出 show multi-chassis mc-lag configuration-consistency mcae-config 命令,查看与多机箱聚合以太网接口相关的参数的配置一致性检查状态、一致性要求(相同或唯一)、实施级别(必需或所需)以及配置一致性检查的结果。结果要么通过,要么失败。
发出 show multi-chassis mc-lag configuration-consistency vlan-config 命令,查看与 VLAN 配置、一致性要求(相同或唯一)、实施级别(必需或所需)以及配置一致性检查结果相关的参数的配置一致性检查状态。结果要么通过,要么失败。
发出 show multi-chassis mc-lag configuration-consistency vrrp-config 命令,查看与 VRRP 配置、一致性要求(相同或唯一)、实施级别(必需或所需)以及配置一致性检查结果相关的参数的配置一致性检查状态。结果要么通过,要么失败。
发出 show interfaces mc-ae 命令,查看多机箱聚合以太网接口的配置一致性检查状态。如果存在多个不一致之处,则仅显示第一个不一致处。如果 MC-LAG 参数的实施级别是必需的,而您未正确配置该参数,则命令将显示 MC-LAG 接口已关闭。
支持 MC-LAG 配置一致性检查
EX 系列交换机和 QFX 系列交换机都支持 MC-LAG 配置一致性检查。
从 QFX10000 交换机上的 Junos OS 15.1X53-D60 版本开始,配置一致性检查将使用机箱间控制协议 (ICCP) 交换 MC-LAG 配置参数(机箱 ID、服务 ID 等),并检查 MC-LAG 对等方之间是否存在任何配置不一致。
另见
未知单播和 IGMP 侦听
-
在 MC-LAG 对等方重新启动期间,已知的组播流量将被泛洪,直到 IGMP 侦听状态与对等方同步。
-
如果两个对等方均具有虚拟 LAN 成员资格,则对等方之间的所有链路上都会发生泛洪。
在给定的 MC-LAG 链路上,只有一个对等方转发流量。
-
通过将 ICL 端口添加为组播路由器端口,可以在对等方之间转发已知和未知的组播数据包。
-
在 MC-LAG 链路上获知的 IGMP 成员资格将在对等方之间传播。
必须为互联网组管理协议 (IGMP) 侦听配置
multichassis-lag-replicate-state
语句,才能在 MC-LAG 环境中正常工作。
第 3 层单播功能支持
第 3 层单播功能支持包括以下内容:
-
VRRP 主动-备用支持可通过 MC-AE 接口实现第 3 层路由。
-
路由 VLAN 接口 (RVI) 或 IRB MAC 地址同步使 MC-LAG 对等方能够使用自己的 RVI 或 IRB MAC 地址或对等方的 RVI 或 IRB MAC 地址转发到达 MC-AE 接口的第 3 层数据包。
-
地址解析协议 (ARP) 同步可在两个 MC-LAG 对等方上实现 ARP 解析。
-
使用 option 82 的 DHCP 中继可在 MC-LAG 对等方上启用 option 82。Option 82 提供有关 DHCP 客户端网络位置的信息。DHCP 服务器使用此信息来为客户端实现 IP 地址或其他参数。
MAC 地址管理
如果将 MC-LAG 配置为主动-主动,则上行和下行流量可以通过不同的 MC-LAG 对等设备。由于仅在其中一个 MC-LAG 对等方上学习 MAC 地址,因此相反方向的流量可能会通过另一个 MC-LAG 对等方,从而不必要地淹没网络。此外,单宿主客户端的 MAC 地址只会在其所连接的 MC-LAG 对等方上学习。如果连接到对等 MC-LAG 网络设备的客户端需要与该单宿主客户端通信,则流量将淹没在对等 MC-LAG 网络设备上。为避免不必要的泛洪,每当在其中一个 MC-LAG 对等方上学习到 MAC 地址时,该地址都会复制到另一个 MC-LAG 对等方。执行 MAC 地址复制时,将应用以下条件:
当 IRB 或 RVI 接口上的 MAC 地址发生变化时,不会发送免费 ARP 请求。
-
在一个 MC-LAG 对等方的 MC-LAG 上学习的 MAC 地址必须复制为在另一个 MC-LAG 对等方的同一 MC-LAG 上学习的地址。
-
在一个 MC-LAG 对等方的单宿主 客户边缘 (CE) 客户端上学习的 MAC 地址必须按照在另一个 MC-LAG 对等方的 ICL 接口上学习的方式进行复制。
-
ICL 上的 MAC 地址学习已从数据路径中禁用。安装通过 ICCP 复制的 MAC 地址取决于软件。
如果您的 VLAN 未配置 IRB 或 RVI ,则 MAC 地址复制将同步 MAC 地址。
MAC 老化
Junos OS 中的 MAC 老化支持扩展了指定 MC-LAG 的聚合以太网逻辑。在所有数据包转发引擎删除完软件中的 MAC 地址之前,不会删除该 MAC 地址。
地址解析协议 主动-主动 MC-LAG 支持方法
地址解析协议 (ARP) 将 IP 地址映射到 MAC 地址。Junos OS 使用 ARP 响应数据包侦听来支持主动-主动 MC-LAG,无需维护任何特定状态即可轻松实现同步。如果不同步,如果一个 MC-LAG 对等方发送 ARP 请求,而另一个 MC-LAG 对等方收到响应,则 ARP 解析不成功。通过同步,MC-LAG 对等方在接收 ARP 响应的 MC-LAG 对等方处嗅探数据包并将其复制到另一个 MC-LAG 对等方,从而同步 ARP 解析。这可确保 MC-LAG 对等方上 ARP 表中的条目保持一致。
当其中一个 MC-LAG 对等方重新启动时,其 MC-LAG 对等方上的 ARP 目标将同步。由于 ARP 目标已解析,其 MC-LAG 对等方可以将第 3 层数据包转发出多机箱聚合以太网接口。
使用 Option 82 的 DHCP 中继
带有 option 82 的 DHCP 中继可提供有关 DHCP 客户端网络位置的信息。DHCP 服务器使用此信息来为客户端实现 IP 地址或其他参数。启用 DHCP 中继后,DHCP 请求数据包可能会通过任一 MC-LAG 对等方路径到达 DHCP 服务器。由于 MC-LAG 对等方具有不同的主机名、机箱 MAC 地址和接口名称,因此在使用 option 82 配置 DHCP 中继时,需要遵守以下要求:
如果您的环境仅支持 IPv6,或者出于其他原因必须使用扩展 DHCP 中继代理 (jdhcp) 进程,则解决方法是使用 forwarding-options dhcp-relay forward-only
命令(适用于 IPv4)和 forwarding-options dhcpv6 forward-only
命令(适用于 IPv6)配置仅转发支持。您还必须验证网络中的 DHCP 服务器是否支持 option 82。
-
使用接口描述,而非接口名称。
-
请勿将主机名用作电路 ID 或远程 ID 字符串的一部分。
-
请勿将机箱 MAC 地址用作远程 ID 字符串的一部分。
-
不要启用供应商 ID。
-
如果 ICL 接口收到 DHCP 请求数据包,则丢弃数据包以避免网络中出现重复数据包。
命令中添加了
show helper statistics
一个名为Due to received on ICL interface的计数器,用于跟踪 ICL 接口丢弃的数据包。CLI 输出示例如下:
user@switch> show helper statistics BOOTP: Received packets: 6 Forwarded packets: 0 Dropped packets: 6 Due to no interface in DHCP Relay database: 0 Due to no matching routing instance: 0 Due to an error during packet read: 0 Due to an error during packet send: 0 Due to invalid server address: 0 Due to no valid local address: 0 Due to no route to server/client: 0 Due to received on ICL interface: 6
输出显示 ICL 接口上收到的 6 个数据包已被丢弃。
支持的第 2 层单播功能
-
注意:
ICL 上的 MAC 学习会自动禁用。因此,无法在 ICL 上本地学习源 MAC 地址。但是,来自远程 MC-LAG 节点的 MAC 地址可以安装在 ICL 接口上。例如,远程 MC-LAG 节点上单宿主客户端的 MAC 地址可以安装在本地 MC-LAG 节点的 ICL 接口上。
第 2 层单播学习和老化的工作原理:
-
对于跨对等方生成的所有 VLAN,学习的 MAC 地址将在 MC-LAG 对等方之间传播。
-
当在两个对等方上都看不到 MAC 地址时,就会发生 MAC 地址老化。
-
在单宿主链路上学习的 MAC 地址将传播到所有以 MC-LAG 链路为成员的 VLAN 中。
协议无关组播
协议无关组播 (PIM) 和 互联网组管理协议 (IGMP) 为第 3 层组播提供支持。除了 PIM 操作的标准模式外,还有一种称为 PIM 双指定路由器的特殊模式。PIM 双指定路由器可在发生故障时最大限度减少组播流量丢失。
如果您使用的是第 3 层组播,请在活动 MC-LAG 对等方上配置较高 IP 地址或较高指定路由器优先级的 IP 地址。
EX9200 和 QFX10000 交换机不支持 PIM 双指定路由器。
以下部分讨论了 PIM 操作:
使用正常模式指定路由器选择的 PIM 操作
在具有指定路由器选择的正常模式下,两个 MC-LAG 对等方上的 IRB 或 RVI 接口均配置为启用 PIM。在此模式下,其中一个 MC-LAG 对等方通过 PIM 指定的路由器选择机制成为指定的路由器。选取的指定路由器会保留集合点树 (RPT) 和最 短路径树 (SPT), 以便它可以从源设备接收数据。当选的指定路由器会参与朝向集合点或源的定期 PIM 加入和修剪活动。
启动这些加入和删除活动的触发器是从感兴趣的接收方收到的 IGMP 成员资格报告。通过多机箱聚合以太网接口(可能在任一 MC-LAG 对等方上进行散列)和单宿主链路接收的 IGMP 报告通过 ICCP 同步到 MC-LAG 对等方。
两个 MC-LAG 对等方都在其传入接口 (IIF) 上接收流量。非指定路由器通过 ICL 接口接收流量,ICL 接口充当组播路由器 (mrouter) 接口。
如果指定的路由器发生故障,则非指定路由器必须构建整个转发树(RPT 和 SPT),这可能会导致组播流量丢失。
具有双指定路由器模式的 PIM 操作
在双指定路由器模式下,两个 MC-LAG 对等方都充当指定路由器(活动和备用),并定期向上游汇集点或源发送加入和删除消息,最终加入 RPT 或 SPT。
主 MC-LAG 对等方将组播流量转发至接收器设备,即使备用 MC-LAG 对等方的优先级指标较小。
备用 MC-LAG 对等方也会加入转发树并接收组播数据。备用 MC-LAG 对等方会丢弃数据,因为它的传出接口列表 (OIL) 为空。当备用 MC-LAG 对等方检测到主 MC-LAG 对等方故障时,它会将接收方 VLAN 添加到 OIL,并开始转发组播流量。
要启用组播双指定路由器,请在每个 MC-LAG 对等方的 VLAN 接口上发出 set protocols pim interface interface-name dual-dr
命令。
故障处理
为确保在故障期间更快地融合,请将主 MC-LAG 对等方上的 IP 地址配置为更高的 IP 地址或更高的指定路由器优先级。这样做可确保主 MC-LAG 对等方在 PIM 对等方出现故障时保留指定的路由器成员资格。
为确保在 MC-AE 接口出现故障时流量汇敛,ICL-PL 接口始终添加为路由器端口。第 3 层流量通过 ICL-PL 接口上的默认条目或侦听条目进行泛洪,并在 MC-LAG 对等方的 MC-AE 接口上转发流量。如果 ICL-PL 接口关闭,PIM 邻接关系也会中断。在这种情况下,两个 MC-LAG 对等方都将成为指定的路由器。备份的 MC-LAG 对等方关闭其链路,路由对等方丢失。如果 ICCP 连接中断,备份 MC-LAG 对等方将更改 LACP 系统 ID 并关闭 MC-AE 接口。PIM 邻接方的状态保持运行。
IGMP 报告同步
通过 MC-AE 接口和单宿主链路接收的 IGMP 报告将同步到 MC-LAG 对等方。MC-LAG 对等方上的 MCSNOOPD 客户端应用程序通过 ICCP 接收同步数据包,然后使用路由套接字PKT_INJECT机制将数据包的副本发送到内核。当内核收到数据包时,会将数据包发送到 路由协议进程 (RPD) 在 MC-LAG VLAN 上配置的 路由 VLAN 接口 (RVI) 上启用第 3 层组播协议,如 PIM 和 IGMP。
MC-LAG 主动-主动模式下的 IGMP 侦听
MX240 路由器、MX480 路由器、MX960 路由器和 QFX 系列交换机支持 MC-LAG 主动-主动模式下的 IGMP 侦听。
包括以下主题:
- MC-LAG 主动-主动模式功能中的 IGMP 侦听
- 使用 MC-LAG 主动-主动桥接进行 IGMP 侦听的典型支持网络拓扑
- 由远程机箱上接收的数据包触发的控制平面状态更新
- 数据转发
- 纯第 2 层拓扑,没有集成路由和桥接
- 合格学习
- 通过合格学习实现数据转发
- 单宿主接口上的静态组
- 作为多机箱链路的面向路由器的接口
MC-LAG 主动-主动模式功能中的 IGMP 侦听
支持多机箱链路聚合组 (MC-LAG)、主动-主动模式和主动-备用模式下的 IGMP 侦听。MC-LAG 允许一台设备与两台或多台网络设备组成逻辑 LAG 接口。MC-LAG 还提供其他优势,包括节点级冗余、多宿主和无需运行生成树协议 (STP) 的无环路第 2 层网络。支持以下功能:
在只有第 2 层接口的桥接域中,对等方之间的状态同步,用于 IGMP 侦听
合格学习
面向路由器的多机箱链路
支持通过集成路由和桥接 (IRB) 对主动-主动桥接和虚拟路由器冗余协议 (VRRP) 的以下增强功能:
MC-LAG 支持纯第 2 层交换机中的 IGMP 侦听
MC-LAG 支持在桥接域中进行 IGMP 侦听 进行合格学习
支持 MC-Link 作为面向路由器的接口
支持以下功能 not :
适用于 VPLS 实例的 MC-LAG
MC-Links 中继端口
主动-主动的代理模式
根据需要将机箱间链路添加到传出接口
机箱间链路可作为面向路由器的接口添加到传出接口列表中。
使用 MC-LAG 主动-主动桥接进行 IGMP 侦听的典型支持网络拓扑
图 1 描述了一个典型的网络拓扑,通过该拓扑支持使用 MC-LAG 主动-主动桥接进行 IGMP 侦听。

接口 I3 和 I4 是单宿主接口。多机箱链路 ae0.0 和 ae0.1 属于两个机箱中的同一网桥域。接口 I3、ae0.0 和 ae0.1 位于辅助活动 (S-A) 路由器的同一桥接域中。接口 I4、ae0.0 和 ae0.1 位于主活动 (P-A) 路由器的同一桥接域中。接口 I3、I4、ae0.0 和 ae0.1 与连接两个机箱的机箱间链路 (ICL) 位于同一学习域中。
主要活动路由器是机箱,其中的集成路由和桥接已成为 PIM-DR。辅助活动路由器是机箱,其中的集成路由和桥接不是 PIM-DR。路由器 P-A 是负责从 IP 核心提取流量的机箱。因此,PIM-DR 选择用于避免数据流量重复。
合格学习中介绍了学习领域。
对于学习域中的 IGMP 发送方(主机和路由器),P-A 和 S-A 应一起显示为一个具有接口 I4、I3、ae0.0 和 ae0.1 的设备。
不应在多机箱链路上发送重复的控制数据包,这意味着控制数据包只能通过一个链路发送。
由远程机箱上接收的数据包触发的控制平面状态更新
以下是由远程机箱上接收的数据包触发的控制平面状态更新:
第 3 层组播路由中的成员身份状态将根据在连接到远程机箱的多机箱链路和 S 链路的远程支路上获知的报告而更新。
当在多机箱链路的远程腿上收到报告时,将更新窥探中的成员身份状态和路由条目。
当收到有关连接到远程机箱的 S 链路的报告时,不会更新窥探中的成员身份状态或路由条目。
在 PE 路由器之间同步组播侦听状态时,不会同步计时器(如组成员资格超时计时器)。接收到同步通知后,接收通知的远程 PE 路由器将启动或重启相关计时器。
只要传出接口列表仅涉及多机箱链路,在两个处于侦听状态的机箱中维护状态的 <s,g>s 列表都是相同的。
数据转发
本讨论假定路由器 P-A 上的集成路由和桥接是 PIM-DR。它从核心中的源中提取流量。流量也可能来自桥接域中的第 2 层接口。对于直接连接到 P-A 机箱的主机,数据传输方式没有变化。
为了将流量传送到像 I3 这样的单宿主链路上连接到 S-A(非 DR)的主机,我们依靠机箱间链路。到达 P-A 的流量通过 ICL 发送到 S-A,以传送到已报告对 s,g 感兴趣的链路和面向路由器的链路。
当 P-A 中的 ae0 支路出现故障时,连接到多机箱链路的主机通过 ICL 接收流量。在 S-A 中,ICL 上接收的流量将被发送到传出接口列表中的多机箱链路,而 P-A 中的 ae 对应接口已关闭。
合格学习
在此拓扑中,接口 I1、I2、I3、I4、I5、I6、I7、I8、I9 和 I10 是单宿主接口。多机箱链路 ae0.0 和 ae0.1 属于两个机箱中的同一网桥域。接口 I10、I1、I7、I3、I5、ae0.0 和 ae0.1 位于同一桥接域中,bd1 在 P-A 中。接口 I9、I2、I8、I4、I6、ae0.0 和 ae0.1 位于同一桥接域中,bd1 位于 S-A 中。
本讨论假定采用以下配置:
在 P-A 和 S-A 中,合格学习在 bd1 中是 ON。
接口 I1、I2、I3、ae0.0 和 I4 属于 vlan1,学习域 ld1。
接口 I7、I8、I5、ae0.1 和 I6 属于 vlan2 学习域 ld2。
接口 I9 和 I10 属于 vlan3,学习域 ld3。
对于同一学习域 ld1 中的 IGMP 发送方(主机和路由器),链接的 P-A 和 S-A 应显示为一台交换机。
对于同一学习域 ld2 中的 IGMP 发送方(主机和路由器),链接的 P-A 和 S-A 应显示为一台交换机。
由于学习域 ld3 中没有多机箱链路,因此对于学习域 ld3 中的 IGMP 发送方(主机和路由器),P-A 和 S-A 不会显示为一台交换机。
本讨论假设机箱间链路 ICL1 对应于学习域 ld1,机箱间链路 ICL2 对应于学习域 ld2。
支持控制数据包流,但将信息传递到 IRB 除外。
通过合格学习实现数据转发
本讨论假定一个学习域 (LD) ld1,并进一步假定路由器 P-A 上的接口 I1 连接到学习域中的 PIM-DR,并从核心中的源拉取流量。
为了将流量传送到单宿主链路(如 I2、I4(属于 ld1)上连接到路由器 S-A(非 DR)的主机,我们依靠 ICL1。到达接口 I1 上的路由器 P-A 的流量通过机箱间链路 ICL1 发送到路由器 S-A,以传送到报告了对 s,g 感兴趣之目的链路或学习域 ld1 中面向路由器的链路。
当路由器 P-A 中的接口 ae0 支路出现故障时,连接到多机箱链路的主机将使用机箱间链路 ICL1 接收来自接口 I1 的流量。在路由器 S-A 中,机箱间链路 ICL1 上接收的流量将被发送到传出接口列表中的多机箱链路,而路由器 P-A 中的聚合以太网对应项已关闭。
进一步假设路由器 S-A 中的接口 I9 属于学习域 ld3,对 s,g 感兴趣,并且路由器 P-A 中学习域 ld3 中的接口 I10 接收 s,g 的流量。接口 I9 不接收此拓扑中的数据,因为没有多机箱链路(在 a-a 模式下),因此学习域 ld3 中没有机箱间链路。
单宿主接口上的静态组
对于多机箱链路,静态组配置应存在于两个支路上,并且不需要与其他机箱同步。
不支持机箱之间的单宿主接口上的静态组同步。但是,将逻辑接口添加到默认传出接口列表可支持在静态配置中将流量传输到接口。
作为多机箱链路的面向路由器的接口
IGMP 查询可以到达多机箱链路的任一链路,但在两个对等方中,都应将多机箱链路视为面向路由器的链路。
报告应仅从多机箱链路退出一次,即仅从一条支路退出。
为 IRB 中的 IGMP 侦听提供以下 MC-LAG 支持:
非代理侦听
逻辑接口必须是所有路由(包括默认路由)的传出接口
纯第 2 层交换机中的 IGMP 侦听
桥接域中的 IGMP 侦听 进行合格学习
面向路由器的接口 MC-Links
支持以下功能 not :
主动-主动的代理模式
VPLS 实例的 MC-LAG 支持
作为多机箱链路的中继端口
根据需要将逻辑接口添加到传出接口。
但是,逻辑接口始终作为面向路由器的接口添加到传出接口列表中。
另见
了解 FCoE 中继交换机上的 MC-LAG
使用 MC-LAG 为以太网光纤通道 (FCoE) 流量提供冗余聚合层。
本主题将介绍如下内容:
支持的 MC-LAG 拓扑结构
要支持 FCoE 流量在 MC-LAG 中的无损传输,您必须在具有 MC-LAG 端口成员的两台交换机上配置适当的 服务等级 (CoS)。两台 MC-LAG 交换机上的 CoS 配置必须相同,因为 MC-LAG 不携带转发等级和 IEEE 802.1p 优先级信息。
未直接连接到 FCoE 主机且充当直通中转交换机的交换机支持在 倒 U 网络拓扑中将 MC-LAG 用于 FCoE 流量。 图 3 显示了使用 QFX3500 交换机的倒 U 形拓扑。

独立交换机支持 MC-LAG。QFabric 系统节点设备不支持 MC-LAG。虚拟机箱和混合模式虚拟机箱交换矩阵 (VCF) 配置不支持 FCoE。只有纯QFX5100 VCF(仅包含 QFX5100 台交换机)支持 FCoE。
属于 FCoE-FC 网关配置(虚拟 FCoE-FC 网关结构)的端口不支持 MC-LAG。作为 MC-LAG 成员的端口充当直通中转交换机端口。
以下规则和准则适用于用于 FCoE 流量的 MC-LAG。这些规则和指南有助于确保 FCoE 流量所需的正确处理和无损传输特性。
组成 MC-LAG 的两台交换机(交换机 S1 和 S2)不能使用属于 FCoE-FC 网关交换矩阵的端口。MC-LAG 交换机端口必须是直通中继交换机端口(用作未直接连接到 FCoE 主机的中间中继交换机的一部分)。
MC-LAG 交换机 S1 和 S2 无法直接连接到 FCoE 主机。
作为 FCoE 主机接入设备的两台交换机(FCoE 中继交换机 TS1 和 TS2)使用标准 LAG 连接到 MC-LAG 交换机 S1 和 S2。FCoE 中继交换机 TS1 和 TS2 可以是独立交换机,也可以是 QFabric 系统中的节点设备。
中转交换机 TS1 和 TS2 必须为 FCoE 主机使用中转交换机端口,将中转交换机端口用于标准 LAG 到 MC-LAG 交换机 S1 和 S2。
在中转交换机 TS1 和 TS2 上的 FCoE VLAN 上启用 FIP 侦听。您可以将 VN_Port 配置为VF_Port (VN2VF_Port) FIP 侦听,也可以将 VN_Port 配置为VN_Port (VN2VN_Port) FIP 侦听,具体取决于 FCoE 主机是需要访问 FC SAN 中的目标(VN2VF_Port FIP 侦听)还是以太网网络中的目标(VN2VN_Port FIP 侦听)。
FIP 侦听应在接入边缘执行,且在 MC-LAG 交换机上不受支持。请勿在 MC-LAG 交换机 S1 和 S2 上启用 FIP 侦听。(请勿在将交换机 S1 和 S2 连接到交换机 TS1 和 TS2 的 MC-LAG 端口或将交换机 S1 连接到 S2 的 LAG 端口上启用 FIP 侦听。)
注意:瞻博网络QFX10000聚合交换机不支持 FIP 侦听,因此它们不能用作此拓扑中的 FIP 侦听接入交换机(中转交换机 TS1 和 TS2)。
MC-LAG 交换机上的 CoS 配置必须一致。由于 MC-LAG 不携带转发类或优先级信息,因此每台 MC-LAG 交换机都需要具有相同的 CoS 配置才能支持无损传输。(在每台 MC-LAG 交换机上,每个转发类的名称、出口队列和 CoS 配置必须相同,基于优先级的流控制 (PFC) 配置也必须相同。
中转交换机(服务器访问)
FCoE 中继交换机 TS1 和 TS2 的作用是以多宿主方式将 FCoE 主机连接到 MC-LAG 交换机,因此中继交换机 TS1 和 TS2 充当 FCoE 主机的接入交换机。(FCoE 主机直接连接到中转交换机 TS1 和 TS2。)
中继交换机的配置取决于您是要执行VN2VF_Port FIP 侦听还是VN2VN_Port FIP 侦听,以及中转交换机是否还具有配置为 FCoE-FC 网关虚拟结构一部分的端口。QFX3500交换机在 FCoE-FC 网关虚拟结构中使用的端口不能包含在到 MC-LAG 交换机的中转交换机 LAG 连接中。(端口不能同时属于中转交换机和 FCoE-FC 网关;每种操作模式必须使用不同的端口。)
MC-LAG 交换机(FCoE 聚合)
MC-LAG 交换机 S1 和 S2 的作用是在 FCoE 中继交换机之间提供冗余负载平衡连接。MC-LAG 交换机 S1 和 S2 充当聚合交换机。FCoE 主机不直接连接到 MC-LAG 交换机。
无论 FCoE 中继交换机 TS1 和 TS2 执行哪种类型的 FIP 侦听,MC-LAG 交换机配置都是相同的。
FIP 侦听和 FCoE 可信端口
要保持安全访问,请在直接连接到 FCoE 主机的中转交换机接入端口启用VN2VF_Port FIP 侦听或VN2VN_Port FIP 侦听。FIP 侦听应在网络的接入边缘执行,以防止未经授权的访问。例如, 在图 3 中,您在中转交换机 TS1 和 TS2 上的 FCoE VLAN(包括连接到 FCoE 主机的接入端口)上启用 FIP 侦听。
请勿在用于创建 MC-LAG 的交换机上启用 FIP 侦听。例如, 在图 3 中,您不会在交换机 S1 和 S2 上的 FCoE VLAN 上启用 FIP 侦听。
将交换机之间的链路配置为 FCoE 可信端口,以减少 FIP 侦听开销,并确保系统仅在接入边缘执行 FIP 侦听。在示例拓扑中,将连接到 MC-LAG 交换机的中转交换机 TS1 和 TS2 LAG 端口配置为 FCoE 可信端口,将连接到交换机 TS1 和 TS2 的交换机 S1 和 S2 MC-LAG 端口配置为 FCoE 可信端口,并将 LAG 中连接交换机 S1 到 S2 的端口配置为 FCoE 可信端口。
CoS 和数据中心桥接 (DCB)
MC-LAG 链路不携带转发类或优先级信息。以下 CoS 属性必须在每台 MC-LAG 交换机或每个 MC-LAG 接口上具有相同的配置,才能支持无损传输:
FCoE 转发类名称 — 例如,FCoE 流量的转发类可以在两台 MC-LAG 交换机上使用默认
fcoe
转发类。FCoE 输出队列 — 例如,
fcoe
转发类可以映射到两台 MC-LAG 交换机上的队列 3(队列 3 是转发类的fcoe
默认映射)。分类器 — FCoE 流量的转发类必须映射到两台 MC-LAG 交换机上 MC-LAG 每个成员接口上的相同 IEEE 802.1p 代码点。例如,FCoE 转发类
fcoe
可以映射到 IEEE 802.1p 代码点011
(代码点011
是转发类的fcoe
默认映射)。基于优先级的流控制 (PFC) — 必须在每台 MC-LAG 交换机上的 FCoE 代码点上启用 PFC,并使用拥塞通知配置文件将其应用于每个 MC-LAG 接口。
您还必须在 MC-LAG 接口上配置增强型传输选择 (ETS),以便为无损传输提供足够的调度资源(带宽、优先级)。只要调度了足够的资源来支持预期 FCoE 流量的无损传输,每个 MC-LAG 交换机上的 ETS 配置就可以不同。
必须在每个 MC-LAG 成员接口上启用链路层发现协议 (LLDP) 和数据中心桥接功能交换协议 (DCBX)(默认情况下,所有接口上都启用 LLDP 和 DCBX)。
与所有其他 FCoE 配置一样,FCoE 流量需要一个仅承载 FCoE 流量的专用 VLAN,并且必须在 FCoE VLAN 上禁用 IGMP 侦听。
了解 EVPN-MPLS 与 Junos Fusion Enterprise 和 MC-LAG 的互连
从 Junos OS 17.4R1 版开始,您可以使用以太网 VPN (EVPN) 通过 MPLS 网络将 Junos Fusion Enterprise 或多机箱链路聚合组 (MC-LAG) 网络扩展到数据中心或园区网络。引入此功能后,您现在可以将分散的园区和数据中心站点互连起来,形成单个第 2 层虚拟网桥。
图 4 显示了 Junos Fusion Enterprise 拓扑,其中包含两台 EX9200 交换机,它们用作聚合设备(PE2 和 PE3),卫星设备多宿主到这些设备。两台聚合设备使用机箱间链路 (ICL) 和来自 MC-LAG 的机箱间控制协议 (ICCP) 协议来连接和维护 Junos Fusion Enterprise 拓扑。EVPN-MPLS 环境中的 PE1 可与具有 MC-LAG 的 Junos Fusion Enterprise 中的 PE2 和 PE3 互连。

图 5 显示了 MC-LAG 拓扑,其中客户边缘 (CE) 设备 CE1 与 PE2 和 PE3 多宿主。PE2 和 PE3 使用 ICL 和 MC-LAG 的 ICCP 协议来连接和维护拓扑。EVPN-MPLS 环境中的 PE1 与 MC-LAG 环境中的 PE2 和 PE3 互通。

在本主题中, 图 4 和 图 5 可作为参考,来说明各种场景和要点。
图 4 和图 5 中描述的用例要求在 A/A 模式下配置 EVPN 多宿主,并在 PE2 和 PE3 上配置 MC-LAG。具有多宿主主动-主动和 MC-LAG 的 EVPN 有自己的转发逻辑来处理流量,特别是广播、未知单播和组播 (BUM) 流量。有时,具有多宿主主动-主动和 MC-LAG 的 EVPN 的转发逻辑相互矛盾并导致问题。本主题介绍这些问题以及 EVPN-MPLS 互连功能如何解决这些问题。
除了本主题中描述的特定于 EVPN-MPLS 的互连实现外,EVPN-MPLS、Junos Fusion Enterprise 和 MC-LAG 提供与独立特性相同的功能和功能。
- 将 EVPN-MPLS 与 Junos Fusion Enterprise 和 MC-LAG 搭配使用的优势
- BUM 流量处理
- 水平分割
- MAC 学习
- 在 Junos Fusion Enterprise 中处理级联和上行链路端口之间的下行链路
- 3 层网关支持
将 EVPN-MPLS 与 Junos Fusion Enterprise 和 MC-LAG 搭配使用的优势
将 EVPN-MPLS 与 Junos Fusion Enterprise 和 MC-LAG 结合使用,将分散的园区和数据中心站点互连起来,形成单个第 2 层虚拟网桥。
BUM 流量处理
在 图 4 和 图 5 所示的用例中,PE1、PE2 和 PE3 是 EVPN 对等体,PE2 和 PE3 是 MC-LAG 对等体。两组对等方交换控制信息并相互转发流量,这会导致问题。 表 2 概述了出现的问题,以及瞻博网络在实施 EVPN-MPLS 互连功能时如何解决这些问题。
BUM 流量方向 |
EVPN 与 Junos Fusion Enterprise 和 MC-LAG Logic 互连 |
问题 |
瞻博网络实施方法 |
---|---|---|---|
北向(PE2 接收来自本地连接的单宿主或双宿主接口的 BUM 数据包)。 |
PE2 将 BUM 数据包泛洪到以下位置:
|
在 PE2 和 PE3 之间,有两条 BUM 转发路径:MC-LAG ICL 和 EVPN-MPLS 路径。多条转发路径会导致数据包重复和循环。 |
|
南向(PE1 将 BUM 数据包转发到 PE2 和 PE3)。 |
PE2 和 PE3 均接收 BUM 数据包的副本,并将数据包从其所有本地接口(包括 ICL)中泛洪。 |
PE2 和 PE3 都将 BUM 数据包转发出 ICL,这会导致数据包重复和循环。 |
水平分割
在 图 4 和 图 5 所示的用例中,水平分割可防止将 BUM 数据包的多个副本转发到 CE 设备(卫星设备)。但是,EVPN-MPLS 和 MC-LAG 水平分割实现相互矛盾,从而导致问题。 表 3 说明了问题以及瞻博网络在实施 EVPN-MPLS 互连功能时如何解决该问题。
BUM 流量方向 |
EVPN 与 Junos Fusion Enterprise 和 MC-LAG Logic 互连 |
问题 |
瞻博网络实施方法 |
---|---|---|---|
北向(PE2 从本地连接的双宿主接口接收 BUM 数据包)。 |
|
EVPN-MPLS 和 MC-LAG 转发逻辑相互矛盾,会阻止 BUM 流量转发到 ES。 |
支持本地偏差,从而忽略本地交换流量端口的 DF 和非 DF 状态。 |
南向(PE1 将 BUM 数据包转发到 PE2 和 PE3)。 |
从 PE1 接收的流量应遵循多宿主 ES 的 EVPN DF 和非 DF 转发规则。 |
没有。 |
不適用。 |
MAC 学习
EVPN 和 MC-LAG 使用相同的方法学习 MAC 地址,即 PE 设备从其本地接口学习 MAC 地址,并将地址同步到对等方。但是,鉴于 EVPN 和 MC-LAG 都在同步地址,因此出现了一个问题。
表 4 介绍了该问题以及 EVPN-MPLS 互连实施如何防止该问题。 图 4 和 图 5 中所示的用例说明了这个问题。在两种用例中,PE1、PE2 和 PE3 都是 EVPN 对等体,而 PE2 和 PE3 是 MC-LAG 对等体。
MAC 同步用例 |
EVPN 与 Junos Fusion Enterprise 和 MC-LAG Logic 互连 |
问题 |
瞻博网络实施方法 |
---|---|---|---|
在 PE2 和 PE3 上的单宿主或双宿主接口上本地学习的 MAC 地址。 |
|
PE2 和 PE3 可作为 EVPN 对等方和 MC-LAG 对等方运行,因此这些设备具有多个 MAC 同步路径。 |
|
在 PE1 上的单宿主或双宿主接口上本地学习的 MAC 地址。 |
在 EVPN 对等方之间,MAC 地址使用 EVPN BGP 控制平面进行同步。 |
没有。 |
不適用。 |
在 Junos Fusion Enterprise 中处理级联和上行链路端口之间的下行链路
本节仅适用于与 Junos Fusion Enterprise 互连的 EVPN-MPLS。
在 图 4 所示的 Junos Fusion Enterprise 中,假设聚合设备 PE2 接收来自 PE1 的 BUM 数据包,并且 PE2 上的级联端口与卫星设备 SD1 上的相应上行链路端口之间的链路已断开。无论 BUM 数据包是由 MC-LAG 还是 EVPN 多宿主主动-主动处理,结果都是一样的 — 数据包通过 ICL 接口转发到 PE3,再由 PE3 转发至双宿主 SD1。
为了进一步说明具有多宿主主动-主动的 EVPN 如何通过双宿主 SD1 处理这种情况,假设 DF 接口驻留在 PE2 上并与下行链路相关联,而非 DF 接口驻留在 PE3 上。通常,每个具有多宿主主动-主动转发逻辑的 EVPN 时,非 DF 接口会丢弃数据包。但是,由于与 DF 接口相关联的下行链路,PE2 通过 ICL 将 BUM 数据包转发到 PE3,而 PE3 上的非 DF 接口则将数据包转发到 SD1。
3 层网关支持
EVPN-MPLS 互连功能支持以下扩展桥接域和 VLAN 的第 3 层网关功能:
集成路由和桥接 (IRB) 接口,用于在扩展桥接域或 VLAN 之间转发流量。
默认第 3 层网关,用于将流量从扩展桥接域或 VLAN 中的物理(裸机)服务器转发到另一个扩展桥接域或 VLAN 中的物理服务器或虚拟机。
了解无环路 MC-LAG 网络统计计数器的递增值
在主动-主动桥接域中的 MC-LAG 中,以下命令的输出显示 MC-LAG 颜色计数器将不断增加。统计计数的这种增加是预期行为,因为 MC-LAG 颜色属性或计数器充当循环防止机制。
request pfe execute target fpc0 command "show jnh 0 exceptions" |grep color GOT: mc lag color DISC(88) 554712463 144488623417 request pfe execute target fpc0 command "show jnh 0 exceptions" |grep color GOT: mc lag color DISC(88) 554712747 144488664296
存储在数据包转发引擎中的例外表包含计数器列表,如以下示例输出所示:
request pfe execute target fpc0 command "show jnh 0 exceptions" SENT: Ukern command: show jnh 0 exceptions GOT: Reason Type Packets Bytes GOT: ================================================================== GOT: Ucode Internal GOT: ---------------------- GOT: mcast stack overflow DISC(33) 0 0 GOT: sample stack error DISC(35) 0 0 GOT: undefined nexthop opcode DISC(36) 0 0 GOT: internal ucode error DISC(37) 0 0 GOT: invalid fabric hdr version DISC(41) 0 0 GOT: GOT: PFE State Invalid GOT: ---------------------- GOT: sw error DISC(64) 803092438 59795128826 GOT: child ifl nonlocal to pfe DISC(85) 0 0 GOT: invalid fabric token DISC(75) 179 42346 GOT: unknown family DISC(73) 0 0 GOT: unknown vrf DISC(77) 0 0 GOT: iif down DISC(87) 0 0 GOT: unknown iif DISC( 1) GOT: invalid stream DISC(72) 0 0 GOT: egress pfe unspecified DISC(19) 10889 1536998 GOT: invalid L2 token DISC(86) 26 1224 GOT: mc lag color DISC(88) 554693648 144486028726<<<<<<<<<<<<<<<<<<<<<<<< GOT: dest interface non-local to pfe DISC(27) 10939253797 2078273071209 GOT: invalid inline-svcs state DISC(90) 0 0 GOT: nh id out of range DISC(93) 0 0 GOT: invalid encap DISC(96) 0 0 GOT: replication attempt on empty irb DISC(97) 0 0 GOT: invalid selector entry DISC(98) 0 0 GOT: GOT: GOT: Packet Exceptions GOT: ---------------------- GOT: bad ipv4 hdr checksum DISC( 2) GOT: non-IPv4 layer3 tunnel DISC( 4) 0 0 GOT: GRE unsupported flags DISC( 5) 0 0 GOT: tunnel pkt too short DISC( 6) 0 0 GOT: tunnel hdr too long DISC( 7) 0 0 GOT: bad IPv6 options pkt DISC( 9) 0 0 GOT: bad IP hdr DISC(11) 0 0 GOT: bad IP pkt len DISC(12) 0 0 GOT: L4 len too short DISC(13) GOT: invalid TCP fragment DISC(14) 0 0 GOT: mtu exceeded DISC(21) 0 0 GOT: frag needed but DF set DISC(22) 0 0 GOT: ttl expired PUNT( 1) 9 769 GOT: IP options PUNT( 2) 16 512 GOT: xlated l2pt PUNT(14) 0 0 GOT: control pkt punt via ucode PUNT( 4) 0 0 GOT: frame format error DISC( 0) GOT: tunnel hdr needs reassembly PUNT( 8) 0 0 GOT: GRE key mismatch DISC(76) 0 0 GOT: my-mac check failed DISC(28) GOT: frame relay type unsupported DISC(38) 0 0 GOT: IGMP snooping control packet PUNT(12) 0 0 GOT: bad CLNP hdr DISC(43) 0 0 GOT: bad CLNP hdr checksum DISC(44) 0 0 GOT: Tunnel keepalives PUNT(58) 0 0 GOT: GOT: GOT: Bridging GOT: ---------------------- GOT: lt unknown ucast DISC(84) 0 0 GOT: dmac miss DISC(15) 0 0 GOT: mac learn limit exceeded DISC(17) 0 0 GOT: static mac on unexpected iif DISC(18) 0 0 GOT: no local switching DISC(20) 0 0 GOT: bridge ucast split horizon DISC(26) 39458 13232394 GOT: mcast smac on bridged iif DISC(24) 1263 200152 GOT: bridge pkt punt PUNT( 7) 0 0 GOT: iif STP blocked DISC( 3) GOT: oif STP blocked DISC(31) GOT: vlan id out of oif's range DISC(32) GOT: mlp pkt PUNT(11) 15188054 440453569 GOT: input trunk vlan lookup failed DISC(91) 0 0 GOT: output trunk vlan lookup failed DISC(92) 0 0 GOT: LSI/VT vlan validation failed DISC(94) 0 0 GOT: GOT: GOT: Firewall GOT: ---------------------- GOT: mac firewall DISC(78) GOT: firewall discard DISC(67) 0 0 GOT: tcam miss DISC(16) 0 0 GOT: firewall reject PUNT(36) 155559 59137563 GOT: firewall send to host PUNT(54) 0 0 GOT: firewall send to host for NAT PUNT(59) 0 0 GOT: GOT: GOT: Routing GOT: ---------------------- GOT: discard route DISC(66) 1577352 82845749 GOT: dsc ifl discard route DISC(95) 0 0 GOT: hold route DISC(70) 21130 1073961 GOT: mcast rpf mismatch DISC( 8) 0 0 GOT: resolve route PUNT(33) 2858 154202 GOT: control pkt punt via nh PUNT(34) 51807272 5283911584 GOT: host route PUNT(32) 23473304 1370843994 GOT: ICMP redirect PUNT( 3) 0 0 GOT: mcast host copy PUNT( 6) 0 0 GOT: reject route PUNT(40) 1663 289278 GOT: link-layer-bcast-inet-check DISC(99) 0 0 GOT:
考虑一个示例部署,其中两个提供商边缘 (PE) 路由器 PE1 和 PE2 分别与聚合以太网接口 ae0
. 连接。PE1 和 PE2 之间使用多机箱链路聚合组 (MC-LAG),在两个控制器之间形成逻辑 LAG 接口。MC-LAG 中的 PE1 和 PE2 使用机箱间控制链路保护链路 (ICL-PL) 跨对等方复制转发信息。
机箱间控制协议 (ICCP) 消息在两个 PE 设备之间发送。在此示例中,您将跨两台路由器配置一个 MC-LAG,其中包括两个聚合以太网接口、一个机箱间控制链路保护链路 (ICL-PL)、用于 ICL-PL 的多机箱保护链路以及用于托管 MC-LAG 的对等方的 ICCP。
PE1 路由器使用另一个聚合以太网接口 ae3
,连接到主机 H1 和另一个名为 C1 的 MC-LAG 主机。接口上 ae3
启用了 MC-LAG。
在 PE1 上从 MC-LAG C1 接收的流量可以通过 ICL 泛洪到达 PE2。当数据包到达 PE2 时,它们可以泛洪回 MC-LAG C1。单宿主主机 H1 发送的流量可以泛洪到 MC-LAG C1 和 PE1 上的 ICL。当 PE2 从 ICL 接收到此类流量时,它可以再次泛洪到 MC-LAG C1。为了保护 MC-LAG 拓扑免受此类环路的影响,实现了 MC-LAG 着色功能。此功能应用于 ICL 链路的入口。因此,当 PE2 收到来自 PE1 的数据包时,它会将 MC-LAG 颜色设置为活动或将其打开。当 PE2 需要将数据包泛洪到 MC-LAG 链路时,它将验证 MC-LAG 颜色位是否已设置或标记为开启。如果设置了颜色,则会将数据包丢弃到 MC-LAG ae3
成员链路接口的出口接口上,并且 mc-lag color
jnh 异常中的计数器将递增。
在主动/主动桥接域中配置的 MC-LAG 中,当需要泛洪的任何形式的流量(如 ARP 广播或组播流量)通过网络时,这种计数器值增加的行为是预期情况。
每个 VLAN 都可能丢弃一些数据包以防止环路,而此类丢弃的数据包可能并非特定于 VLAN。
有时,在 MX 系列路由器的两个 MC LAG 上,您可能会注意到计数器在 FPC0 和 FPC2 上增加,但在 FPC2 上没有增加,如以下示例输出所示:
request pfe execute target fpc0 command "show jnh 0 exceptions" |grep color GOT: mc lag color DISC(88) 558477875 144977739683 request pfe execute target fpc1 command "show jnh 0 exceptions" |grep color GOT: mc lag color DISC(88) 0 0 request pfe execute target fpc2 command "show jnh 0 exceptions" |grep color GOT: mc lag color DISC(88) 518499257 119130527834
出现此现象的原因是,在具有 16 端口 10 千兆以太网 MPC(16x10GE 3D MPC)的 MX 系列路由器上,每个 MPC 有四个数据包转发引擎。如果检查 FPC 0、1 和 2 中的一个数据包转发引擎,则 FPC1 中的 PFE1 没有任何属于 MC-LAG 的接口。它可能包含不属于 MC-LAG 的其他聚合以太网接口中的接口。因此,要获得正确的计数器统计信息,必须输入 request pfe execute target fpc0 command "show jnh X exceptions" |grep color
命令来检查其他数据包转发引擎,其中 X 可以是 0、1、2 或 3。
当命名 dest interface non-local to pfe
的计数器增加时,当聚合以太网接口被拆分到多个 FPC 上时,这是所需行为。考虑一个接口包含以下成员链路的示例 ae5
: xe-0/1/0
在 (FPC0) 和 xe-1/1/0
(FPC1) 根据散列算法,必须在这两个链路之间分配流量。散列算法应用于入口 FPC,并执行一项操作,标记必须转发 FPC 的每个数据包(FPC0 或 FPC1)。然后将数据包发送到交换矩阵。所有流量都从交换矩阵发送至 FPC 0 和 1。在 FPC0 上,微内核分析数据包并确定数据包是否需要通过本地接口(本地到 PFE)转发,或者此数据包是否已经通过 FPC1(非本地到 PFE)转发。如果数据包已转发,则数据包将被丢弃, non-local to pfe
计数器将递增。
增强的融合
从 MX 系列路由器上的 Junos OS 14.2R3 版开始,当多机箱聚合以太网 (MC-AE) 链路在桥接域或 VLAN 中出现故障或启动时,增强融合可缩短第 2 层和第 3 层的融合时间。从 Junos OS 18.1R1 版开始,启用 enhanced-convergence
语句时,VLAN 成员数增加到 128k,ARP 和 ND 条目数增加到 96k。从 Junos OS 19.1R1 版开始,启用 enhanced-convergence
and arp-enhanced-scale
语句时,ARP 和 ND 条目数已增加到 256,000。增强融合可缩短多机箱聚合以太网 (MC-AE) 链路故障和恢复场景期间的第 2 层和第 3 层融合时间
启用增强融合功能后,通过 MC-AE 接口学习的 MAC 地址、ARP 或 ND 条目将在转发表中进行编程,其中 MC-AE 链路作为主下一跃点,将 ICL 作为备份下一跃点。借助此增强功能,在 MC-AE 链路故障或恢复期间,仅更新转发表中的下一跃点信息,不会刷新和重新学习 MAC 地址、ARP 或 ND 条目。此过程可在 MC-AE 链路故障或恢复期间改善流量收敛,因为收敛仅涉及转发平面中的下一跃点修复,并且流量将从 MC-AE 链路快速重新路由到 ICL。
如果您在启用了增强融合的 MC-AE 接口上配置了 IRB 接口,则还必须在 IRB 接口上配置增强融合。必须为第 2 层和第 3 层接口启用增强融合。
IPv6 邻接方发现协议
邻接方发现协议 (NDP) 是一种 IPv6 协议,它能使同一链路上的节点向邻接方通告其存在并了解其邻接方的存在。NDP 基于互联网控制消息协议版本 6 (ICMPv6) 构建。它可替换以下 IPv4 协议:路由器发现 (RDISC)、地址解析协议 (ARP) 和 ICMPv4 重定向。
您可以在交换机上的多机箱链路聚合组 (MC-LAG) 主动-主动配置中使用 NDP。
MC-LAG 上的 NDP 使用以下消息类型:
-
邻居请求 (NS) — 用于地址解析和测试邻居可访问性的消息。
主机可以通过向新地址发送发往邻居请求消息来验证其地址是否唯一。如果主机收到邻居播发作为回复,则地址为重复地址。
-
邻接方通告 (NA) — 用于地址解析和测试邻接方可访问性的消息。发送邻居播发是为了响应邻居请求消息。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。
enhanced-convergence
and
arp-enhanced-scale
语句时,ARP 和 ND 条目数已增加到 256,000。
enhanced-convergence
语句时,VLAN 成员数增加到 128k,ARP 和 ND 条目数增加到 96k。