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

评论

请查看本文的这一部分。

#1 楼

如果端口(“中继端口”)上有多个VLAN,则需要某种方法来判断哪个数据包属于另一端的哪个VLAN。为此,您要使用VLAN标签(或VLAN标头,如果您愿意)“标记”数据包。实际上,将VLAN标记插入到以太网帧中,如下所示: 802.1Q标准。前16位包含“标记协议标识符”(TPID),它是8100。对于不了解VLAN的设备,它也将作为EtherType 0x8100的两倍。

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



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

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

评论


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

–user13659
2015年1月31日15:13

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

–罗恩·托恩(Ron Trunk)
15年1月31日在18:18

这是一个很好的答案。谢谢。

–Fr0ntSight
17年2月11日,0:05

很好的解释,我认为我没有同时读过一篇简短而详细的文章,清楚地说明了标记和未标记的概念。

–htm11h
18年3月4日在18:49

@RonTrunk谁比一个叫“ Trunk”的家伙更好地解释VLAN?

–马修
1月21日19:28

#2 楼

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

实际上,VLAN和标记只不过是物理上的网络逻辑分离而已。现在是什么意思?

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

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

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

入口


入口未加标签:这是端口的本地VLAN进入的地方如果交换机配置了多个VLAN,则必须告诉交换机传入的未加标签的数据包属于哪个VLAN;
要加标签:好吧,如果它是加标签的,那么它就被加了标签,您不能做很多事情关于它。如果交换机不知道标记或确切的VLAN,它将拒绝它,但是有时您必须激活某种入口过滤器。您还可以强制端口仅接受未标记或已标记的数据包。该端口未标记(例如,因为主机不支持该端口,或者例如PC,打印机等仅需要一个VLAN);
出口标记:您必须告诉交换机将哪个VLAN分配给使其在端口上可用,如果有多个端口,则必须标记除一个端口以外的所有端口。

交换机内部发生什么情况

交换机具有FDB(转发数据库),该FDB在不支持VLAN的交换机中(有时称为“非托管”或“哑巴”,...):与主机关联( MAC地址)到端口:FDB是一个由两个元素的元组组成的表:(MAC,端口)

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

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

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

希望这可以消除一些混乱;-)

#3 楼

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

#4 楼

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

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

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