以太网桥接 - VLAN
以太网桥允许主机通过第 2 层进行通信,方法是将系统中的物理和逻辑接口连接到单个第 2 层域中。桥是具有 MAC 地址和 MTU 的逻辑接口。桥 MTU 是其所有成员中最小的 MTU。
- 桥成员可以是单个物理接口、绑定或遍历 802.1Q VLAN 中继的逻辑接口。
- 默认情况下,Cumulus Linux 不会将所有端口都放入桥中。
以太网桥类型
Cumulus Linux 桥驱动程序支持两种配置模式;一种是 VLAN 感知模式,另一种是遵循更传统的 Linux 桥模型。
NVIDIA 建议您使用VLAN 感知模式桥,而不是传统模式桥。Cumulus Linux 桥驱动程序能够进行 VLAN 过滤,这允许配置类似于现有网络设备。有关传统模式和 VLAN 感知模式的比较,请参阅这篇知识库文章。
您可以在 Cumulus Linux 中的同一网络上配置 VLAN 感知桥和传统模式桥。
- 要创建 VLAN 感知桥,请参阅VLAN 感知桥接模式。
- 要创建传统模式桥,请参阅传统桥接模式。
桥 MAC 地址
当帧通过接口进入桥时,交换机学习该帧的 MAC 地址,并将 MAC 地址记录在桥表中。桥通过查找目标 MAC 地址将帧转发到其预期目的地。Cumulus Linux 将 MAC 条目维护 1800 秒(30 分钟)。如果交换机在 MAC 条目老化到期之前看到具有相同源 MAC 地址的帧,则会刷新 MAC 条目老化时间;如果 MAC 条目老化到期,则交换机将从桥表中删除 MAC 地址。
以下 NVUE 命令输出示例显示了桥的 MAC 地址表。
cumulus@switch:~$ nv show bridge domain br_default mac-table
age bridge-domain entry-type interface last-update mac src-vni vlan vni Summary
--- ----- ------------- ---------- ---------- ----------- ----------------- ------- ---- --- ----------------------
+ 0 87699 br_default permanent bond3 87699 44:38:39:00:00:35
+ 1 87699 br_default permanent bond1 87699 44:38:39:00:00:31
+ 2 87699 br_default permanent bond2 87699 44:38:39:00:00:33
+ 3 permanent br_default 00:00:00:00:00:10
+ 4 permanent br_default 00:00:00:00:00:20
+ 5 permanent br_default 00:00:00:00:00:30
+ 6 84130 br_default permanent br_default 84130 44:38:39:22:01:b1 30
+ 7 87570 br_default permanent vxlan48 87570 42:ff:4d:82:c9:99
+ 8 84130 permanent vxlan48 84130 00:00:00:00:00:00 10 remote-dst: 224.0.0.10
bridge fdb 命令输出
Linux bridge fdb
命令与 FDB 交互,桥使用 FDB 存储其学习到的 MAC 地址以及学习到这些 MAC 地址的端口。bridge fdb show
命令输出包含一些特定关键字
关键字 | 描述 |
---|---|
self | FDB 条目属于设备引用的设备上的 FDB。 例如,此 FDB 条目属于 VXLAN 设备 vx-1000 : 00:02:00:00:00:08 dev vx-1000 dst 27.0.0.10 self |
master | FDB 条目属于设备主设备上的 FDB,并且 FDB 条目指向主设备的端口。 例如,此 FDB 条目来自名为 bridge 的主设备,并且指向 VXLAN 桥端口 vx-1001 : 02:02:00:00:00:08 dev vx-1001 vlan 1001 master bridge |
extern_learn | 外部控制平面(例如 BGP 控制平面,用于 EVPN)管理(卸载)FDB 条目。 |
以下示例显示了 bridge fdb show
命令输出
cumulus@switch:~$ bridge fdb show | grep 02:02:00:00:00:08
02:02:00:00:00:08 dev vx-1001 vlan 1001 extern_learn master bridge
02:02:00:00:00:08 dev vx-1001 dst 27.0.0.10 self extern_learn
- 02:02:00:00:00:08 是使用 BGP EVPN 学习到的 MAC 地址。
- 第一个 FDB 条目指向 Linux 桥条目,该条目指向 VXLAN 设备 vx-1001。
- 第二个 FDB 条目指向 VXLAN 设备上的同一条目,并包含其他远程目标信息。
- VXLAN FDB 使用其他远程目标信息来扩充桥 FDB。
- 指向 VXLAN 端口的所有 FDB 条目都显示为两个条目。第二个条目扩充了远程目标信息。
注意事项
- 一个桥不能包含相同端口的多个子接口。尝试此配置会导致错误。
- 如果您同时使用 VLAN 感知桥和传统桥,如果传统桥包含作为 VLAN 感知桥中的普通接口的绑定子接口,则当您在传统桥中关闭绑定子接口时,桥会发生抖动。
- 您不能将 VLAN 原始设备绑定到不同的主接口(您不能编辑
/etc/network/interfaces
文件中的vlan-raw-device
设置)。您需要删除 VLAN 并重新创建它。 - 默认情况下,Cumulus Linux 在传统和 VLAN 感知桥接口上启用 MAC 学习。除非您使用 EVPN,否则不要禁用 MAC 学习。请参阅以太网虚拟专用网络 - EVPN。