为什么需要 VLAN 标记?

网络工程 VLAN
2021-07-15 03:29:18

又是一个基本问题。交换机使用 VTP 相互通信有关 VLAN 的信息,因此每个交换机都知道 VLAN。它的 MAC 地址表如下之一。 VLAN表

现在,为什么需要 VLAN 标记,因为帧的源 MAC 不会改变,并且无论如何都可以在其他交换机的 VLAN 表中执行查找?

3个回答

交换机不通过 VTP 或任何其他协议交换 MAC 地址信息。交换机学习MAC地址的目的端口和VLAN的唯一方法是记录入站帧的源MAC地址和VLAN。对于 VLAN 中继,需要标记以显示帧和源 MAC 地址属于哪个 VLAN。VTP 的目的是在交换机上自动创建 VLAN。使用 VTP,一旦在 VTP 服务器上创建了 VLAN,客户端(和任何其他服务器)将在其数据库中创建该 VLAN,其 VLAN ID 和名称与 VTP 服务器相同。VTP 不包含任何端口 VLAN 信息或 MAC 地址表。

源或目标 MAC 地址在不同的 VLAN不必是唯一的。因此,您无法在帧的 MAC 地址和帧应位于的 VLAN 之间创建关联。

以第一跳冗余协议 (HSRP/VRRP) 为例。您可以让一对 L3 交换机为五个不同的 VLAN 执行 HSRP/VRRP。如果每个 VLAN 使用相同的 VRRP ID#,那么每个 VRRP 网关 IP 地址将共享相同的 MAC 地址 (00-00-5E-00-01-< ID# >)。然后,您将在五个不同的 VLAN 中拥有完全相同的 MAC 地址。

您需要 VLAN 标记的真正原因是为了区分可以存在多个 VLAN 的端口上的 VLAN 流量。

一个接入端口是承载流量只有一个VLAN的端口。中继线端口是携带多个VLAN的业务的端口。

在 Trunk 端口上,所有帧仍然以1s 和0s的形式通过线路传输。为了让发送交换机向接收交换机指示哪个1s 和0s 属于哪个 VLAN,必须存在某些东西东西是一个VLAN Tag

每当帧穿过中继端口时都会添加 VLAN 标记,并在另一台交换机接收到该帧时将其删除。它看起来像这样:

在中继端口上添加和删除 VLAN 标记

您可以在本文中阅读有关 VLAN 及其工作原理的更多信息,以及如何在本文中的Cisco 交换机上配置它们

如果您考虑交换机中帧的数据路径,您可以更好地理解这一点。

假设交换机 A 有 24 个端口(可以是任意数量),该交换机已经配置了 3 个 vlan,即 vlan 10 用于端口 0-10 vlan 20 用于端口 11-20 和默认 vlan - vlan 1 用于端口 21- 24

现在,如果此交换机接收到发往端口 11(vlan 20)的帧,但该帧没有 vlan 标记。交换机将假定它是默认 vlan 的一部分,并在该部分中查找默认 vlan 的 L2DA 表。当然,它不会在表中找到端口 11 的条目(因为端口 11 的条目在为 vlan 20 保留的 L2DA 表部分中)现在由于交换机在其表中找不到所需的 MAC 地址,它会做什么开关做得最好!播送

但是记住 vlan 不接收广播消息。所以框架永远不会到达目的地。

长话短说,为了正确交付,Switch 需要查看其 L2DA 表的正确部分,为此我们需要 vlan 标签。

希望能帮助到你。