VLAN

VLAN

VLAN 工作在 OSI 标准网络模型的第二层“数据链路层”,用来划分不同的“虚拟”子网。VLAN 协议在二层数据包 Ethernet Frame 里加了个 tag 字段 (参考 IEEE 802.1Q)。VLAN 可以绑定路由器/交换机等网络设备的“端口”,也可以绑定 Ethernet Frame 的 tag。

其主要作用:

  • 隔离广播域。
  • 允许对不同虚拟子网之间的流量做 ACL、tc 等。

VLAN 与三层交换

1)VLAN是一种二层技术,用于在二层交换机上划分广播域。广播域即是 ARP (以及 NetBIOS 等二层协议)广播帧(MAC地址全为1的帧)所能传递到的范围,也就是能够直接通信的范围。
这一个层次对应着OSI七层模型中的第二层,即数据链路层,只需要物理地址(MAC地址)即可以在硬件层面实现通信。

2)三层VLAN适用于三层交换机,一般基于IP地址划分,它满足以下规则:
相同网段内部的通信,通过二层功能完成互通。
不同网段的主机通信,则将网关(即三层交换机)的MAC地址填入以太网帧头的目的MAC地址中,报文交给三层交换机进行三层转发。
三层交换机根据以太网帧的目的MAC地址可以判断出来到底进行二层转发还是三层转发,如果某个VLAN指定的是网关的MAC地址,而进行三层转发,否则在VLAN内部进行二层转发。

所以三层交换本质上就是路由。如果 VLAN 之间需要相互通信,每个 VLAN 需要配置不同的网段(但这些 VLAN 之间的通信实际上是三层路由,与 VLAN 本身无关),除非是使用 Trunk Port 配置的跨交换机的 VLAN。

Trunk PORT / TAG

IEEE_802.1Q VLAN TAG 通常只存在于 Ethernet Frame 从进入交换机到离开交换机中间的过程(即是交换机内部使用的。普通的终端设备不能识别和处理带 TAG 的 Ethernet Frame)。但 Trunk 端口允许进入交换机端口的 Ethernet Frame "自带" TAG。Trunk 端口用于实现跨交换机的 VLAN 通信。

VLAN TAG 共 12 bit,最多允许区分 4096 个 VLAN。

VLAN&Tag


Last update: 2018-05-18 02:52:09 UTC