为什么以及如何标记以太网Vlan?


80

我听说过有关VLAN标记的信息,但是我不太了解这个概念。我知道,如果不配置本机VLAN,中继线将不接受未标记的数据包,而访问端口仅接受未标记的数据包。但是我不明白为什么数据包需要加标签或不加标签。它有什么作用?


Answers:


114

如果端口(“中继端口”)上有多个VLAN,则需要某种方法来判断哪个数据包属于另一端的哪个VLAN。为此,您要使用VLAN标签(或VLAN标头,如果您愿意)“标记”数据包。实际上,将VLAN标签插入以太网帧,如下所示:

VLAN头

802.1Q(dot1q,VLAN)标签包含VLAN-ID和802.1Q标准中说明的其他内容。前16位包含为8100的“标记协议标识符”(TPID)。对于不了解VLAN的设备,这也将作为EtherType 0x8100的两倍。

因此,“已标记”数据包在以太网帧中包含VLAN信息,而“未标记”数据包则没有。一个典型的用例是,如果您有一个从路由器到交换机的端口,并且有多个客户连接到该端口:

VLAN中继

在此示例中,客户“绿色”具有VLAN 10,客户“蓝色”具有VLAN20。交换机和客户之间的端口是“未标记的”,对客户而言,到达的数据包只是普通的以太网数据包。

路由器和交换机之间的端口配置为中继端口,以便路由器和交换机都知道哪个数据包属于哪个客户VLAN。在该端口上,以太网帧被标记为802.1Q标签。


6
对于像我这样的完整新手,必须有更好的方法来解释VLAN,中继,本机,默认等:-(

1
@CompleteNewbie互联网上有数百种解释-仅在这里重复它们是没有意义的。正如Mike所说,如果您对VLAN或中继有特定疑问,我们很乐意提供帮助。
罗恩·特恩

这是一个很好的答案。谢谢。
Fr0ntSight '02

很好的解释,我认为我没有同时阅读其中的简要和详细说明,清楚地说明了标记和未标记的概念。
htm11h

37

上面的答案是非常技术性的。这样想:

实际上,与物理VLAN相比,VLAN和标记不过是网络的逻辑分离。这是什么意思?

如果没有VLAN,则每个广播域都需要一个交换机。想象一下所涉及的布线以及主机所需的潜在NIC数量。因此,首先,VLAN使您可以在同一交换机内具有多个独立的第2层构造。

由于现在您可以在每个链接/端口上拥有多个网络,因此您必须能够以某种方式区分哪个数据包属于哪个网络。这就是为什么它们被标记。如果端口承载多个VLAN,则通常也称为中继。(对于n> 1个VLAN,必须标记至少n-1个VLAN,并且可以有一个未标记的VLAN,即本地VLAN)

通常,您必须在端口入口(从电缆“传入”)和出口(从电缆“进入”)中区分数据包:

入口

  • 入口未标记的入口:这是端口的本地vlan进入的地方。如果交换机配置了多个VLAN,则必须告诉交换机传入的未标记数据包属于哪个VLAN;

  • 入口标记的:好吧,如果它是带标记的,那么它就被标记了,您对此无能为力。如果交换机不知道标记或确切的VLAN,它将拒绝它,但是有时您必须激活某种入口过滤器。您还可以强制端口仅接受未标记或标记的数据包。

出口

  • 无标记出口:对于每个端口,您可以选择一个VLAN,该VLAN的该端口上的出站数据包未标记(例如,因为主机不支持该VLAN,或者例如,对于PC,打印机等,仅需要一个VLAN);

  • 出口标记:您必须告诉交换机在端口上提供哪些VLAN,如果有多个VLAN,则必须标记除一个之外的所有VLAN。

交换机内部会发生什么

一个开关具有一个FDB(˚F orwarding d ATA 酶),其

  • 在不具有VLAN功能的交换机中(有时称为“非托管”或“哑巴”,...):将主机(MAC地址)与端口相关联:FDB是一个由两个元素的元组组成的表:港口)

  • 在具有VLAN功能的交换机中(有时称为“托管”或“智能”,...):将(VLAN,MAC)元组关联到端口:FDB是一个表,由三个元素的元组组成:(MAC,端口,VLAN)。

    唯一的限制是,即使在不同的端口上,一个MAC地址也不能出现在同一VLAN中两次(实际上,具有VLAN功能的交换机中的VLAN替换了不具有VLAN功能的交换机中的端口概念)。换一种说法:

  • 每个端口可以有多个VLAN(这就是为什么有时需要标记的原因)。
  • 每个端口和每个MAC可以有多个VLAN:相同的MAC地址可以出现在不同的VLAN中和相同的端口上(尽管出于完整性考虑,我不建议这样做)。
  • 相同的MAC地址仍然不能出现在相同的VLAN上,而是出现在不同的端口上(在同一第2层网络中具有相同MAC地址的不同主机)。

希望这能消除混乱;-)


8

事实VLAN封装协议为802.1Q(dot1.q)。它的最基本功能是在交换机之间保留VLAN。由于VLAN在本地对交换机很重要,因此您必须标记要发送给附近交换机的帧,以使它们知道该帧属于哪个逻辑组。


2

默认情况下,本机VLAN是默认VLAN,中继端口可以承载多个VLAN,以将流量路由到路由器或交换机。VLAN是第2层协议,它分段第2层网络,它们只能在第3层设备(例如路由器或第3层交换机)中进行通信。

使用本机VLAN,因此无需标记的帧即可进行通信而无需路由器。最佳安全实践是使用以下命令将默认/本地VLAN更改为另一个VLAN:switchport trunk native vlan。

思科交换机支持IEEE 802.1Q封装和ISL。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.