为什么交换机在执行生成树协议(STP)时使用Mac地址?
运行 STP 的交换机确实具有 MAC 地址,因为它们会生成 BPDU。这些帧需要源地址。
了解控制平面和数据平面之间的区别可能会有所帮助。这是描述设备不同功能的两个逻辑概念。
当我们说交换机透明地转发帧时,我们只是在谈论数据平面。但是当我们添加 STP 或 LACP 等其他东西时,这些功能是控制平面的一部分。还有一个管理平面来描述您如何管理交换机。
但是交换机没有Mac地址,交换机不认为是主机,它是透明设备,所以交换机不需要Mac地址。
交换机确实有 MAC 地址。它们至少有一个基本 MAC 地址,一些供应商会根据基本 MAC 地址为每个接口提供自己的 MAC 地址。仅链路协议(STP、LLDP 等)需要源 MAC 地址,并且具有不会在看到它们的链路之外转发的目标多播 MAC 地址。
请记住,以太网帧在帧头中需要源 MAC 地址和目标 MAC 地址,因此 STP 的帧需要填写这些 MAC 地址。为 STP 发送 BPDU 的交换机将使用其 MAC 地址作为源 MAC 地址,并且它将使用 STP 的特殊目的组播 MAC 地址作为目的 MAC 地址。
交换机对主机是透明的,但对于它们用于相互通信的特殊协议,它们不能相互透明。
我们知道 layer2 交换机不使用 Mac 地址,只使用特定的端口号来接受帧。
您似乎指的是不使用 MAC 地址本身的简单第 2 层交换机。它始终使用来自附加节点的 MAC 地址来转发帧。托管交换机需要自己的 MAC 地址。
但是我已经在书籍和互联网上阅读过,它们使用 Mac 地址来查找生成树以用于不同的目的,例如打破平局。
每个 STP 网桥都需要使用唯一的网桥标识符,请参阅 IEEE 802.1Q 8.13.8 网桥的唯一标识:
一个唯一的 EUI-48 通用管理 MAC 地址,称为网桥地址,应分配给每个网桥。桥接地址可以是桥接端口的单独 MAC 地址;在这种情况下,建议使用编号最小的桥接端口(端口 1)的地址。
该 ID 主要用于识别哪个网桥发起了 BDPU,因此分布式 STP 算法可以工作。
如果有多个网桥配置了最低优先级值(=最高根优先级),网桥 ID 也用于打破平局。为此,将网桥 ID 附加到优先级值,并选择具有最低组合值的网桥作为根网桥。
您应该始终有目的地选择和配置您的根网桥。让根桥的位置靠运气是自找麻烦。某些边缘交换机可能会随机拥有网络中最低的 MAC 地址并生成生成树。任何重新启动或其他离线情况不仅会在树上倒下,而且数据流也会沿着那棵随机植根的树对齐 - 很可能您的核心交换机不直接相互通信,而是通过一些较低层的交换机。
