什么是虚拟局域网(VLAN)
虚拟局域网(Virtual Local Area Network,VLAN)是在逻辑上将一个广播域划分成多个广播域的技术,可按照功能、部门及应用等划分逻辑工作组,以形成不同的虚拟网络。
在传统的共享介质的以太网和交换式的以太网中,用户都在同一个广播域中,这严重制约了网络技术的发展。随着网络的发展,越来越多的用户需要接入网络,而交换机提供的大量接入端口已经不能很好地满足这种需求。
网络技术的发展不仅面临冲突域太大和广播域太大这两大难题,还无法保障传输信息的安全性,可能导致网络性能下降和带宽浪费。同时,对“广播风暴”的控制和网络安全的保障只能在网络层的路由器上实现。因此,人们提出了在物理局域网中构建多个逻辑局域网的想法。
使用 VLAN 技术的目的是将一个广播域网络划分成几个逻辑广播域网络,每个逻辑广播域网络内的用户形成一个组,组内的成员间可以通信,组间的成员不允许通信。
一个 VLAN 是一个广播域网络,二层的单播、广播和多播帧在同一 VLAN 内转发、扩散,而不会直接进入其他 VLAN,广播报文被限制在各个相应的 VLAN 内,提高了网络安全性和交换机运行效率。
VLAN 逻辑工作组划分如下图所示:

图 1 VLAN逻辑工作组划分
VLAN 建立在局域网交换机的基础上,既保持了局域网的低时延、高吞吐量的特点,又解决了单个广播域内广播包过多使网络性能降低的问题。
VLAN 技术是局域网组网时常用的主要技术之一。
IEEE 802.1Q 协议规定,在以太网数据帧的目标 MAC 地址和源 MAC 地址字段之后、协议类型字段之前加入 4 字节的 VLAN 标签,用于标识数据帧所属的 VLAN。
传统的以太网数据帧格式与 IEEE 802.1Q VLAN 数据帧格式如下图所示:

图 2 传统的以太网数据帧格式与IEEE 802.1Q VLAN数据帧格式
在 VLAN 交换网络中,以太网帧主要有以下两种形式:
以太网链路包括接入链路(Access Link)和干道链路(Trunk Link):
在接入链路上传输的数据帧都是无标记帧,在干道链路上传输的数据帧都是有标记帧。
交换机内部处理的数据帧都是有标记帧。从用户终端接收无标记帧后,交换机会为无标记帧添加 VLAN 标签,重新计算帧校验序列(FCS),并通过干道链路发送帧。向用户终端发送帧前,交换机会去除 VLAN 标签,并通过接入链路向终端发送无标记帧。
VLAN 标签包含 4 个字段,各字段的含义如下表所示。
在传统的共享介质的以太网和交换式的以太网中,用户都在同一个广播域中,这严重制约了网络技术的发展。随着网络的发展,越来越多的用户需要接入网络,而交换机提供的大量接入端口已经不能很好地满足这种需求。
网络技术的发展不仅面临冲突域太大和广播域太大这两大难题,还无法保障传输信息的安全性,可能导致网络性能下降和带宽浪费。同时,对“广播风暴”的控制和网络安全的保障只能在网络层的路由器上实现。因此,人们提出了在物理局域网中构建多个逻辑局域网的想法。
使用 VLAN 技术的目的是将一个广播域网络划分成几个逻辑广播域网络,每个逻辑广播域网络内的用户形成一个组,组内的成员间可以通信,组间的成员不允许通信。
一个 VLAN 是一个广播域网络,二层的单播、广播和多播帧在同一 VLAN 内转发、扩散,而不会直接进入其他 VLAN,广播报文被限制在各个相应的 VLAN 内,提高了网络安全性和交换机运行效率。
VLAN 逻辑工作组划分如下图所示:

图 1 VLAN逻辑工作组划分
VLAN 建立在局域网交换机的基础上,既保持了局域网的低时延、高吞吐量的特点,又解决了单个广播域内广播包过多使网络性能降低的问题。
VLAN 技术是局域网组网时常用的主要技术之一。
VLAN的优点
- 限制广播域:在一个由交换机组成的网络中,默认状态下,所有交换机端口在一个广播域内。而采用 VLAN 技术可以限制广播,减少干扰,将数据帧限制在同一个 VLAN 内,不会影响其他 VLAN,在一定程度上节省了带宽,每个 VLAN 是一个独立的广播域网络。
- 网络管理简单:可以灵活划分虚拟工作组。从逻辑上将交换机划分为若干个 VLAN,可以动态组建网络环境,用户无论在哪儿都可以不做任何修改就接入网络。依据不同的 VLAN 划分方式,可以在一台交换机上提供多种网络应用服务,提高了设备的利用率。
- 提高网络安全性:不同 VLAN 的用户在未经许可的情况下是不能相互访问的,一个 VLAN 内的广播帧不会发送到另一个 VLAN 中,这样可以保护用户不被其他用户窃听,从而保证了网络的安全。
VLAN的划分方式
常见的 VLAN 的划分方式有如下几种:- 基于端口划分:即根据交换机的端口编号划分 VLAN,通过为交换机的每个端口配置不同的本地端口虚拟局域网 ID(Port VLAN ID,PVID)来将不同端口划分到各个 VLAN 中。初始情况下,X7 系列交换机的端口处于 VLAN 1 中。此方式配置简单,但是当主机移动位置时,需要重新配置 VLAN。
- 基于 MAC 地址划分:即根据主机网络接口卡的 MAC 地址划分 VLAN。此划分方式需要网络管理员提前配置好网络中的主机 MAC 地址和 VLAN ID 之间的映射关系。如果交换机收到不带标签的数据帧,则其先去查找之前配置的 MAC 地址和 VLAN 映射表,再根据数据帧中携带的 MAC 地址来添加相应的 VLAN 标签(VLAN Tag,简称 Tag)。在使用此方式划分 VLAN 时,即使主机移动位置,也不需要重新配置 VLAN。
- 基于 IP 子网划分。在此划分方式下,交换机在收到不带标签的数据帧时,会根据报文携带的 IP 地址给数据帧添加 VLAN 标签。
- 基于协议划分。即根据数据帧的协议类型(或协议族类型)、封装格式来分配 VLAN ID。网络管理员需要先配置好协议类型和 VLAN ID 之间的映射关系。
- 基于策略划分。即使用几个组合的条件来分配 VLAN 标签,这些条件包括 IP 子网、端口和 IP 地址等。只有当条件都匹配时,交换机才会为数据帧添加 VLAN 标签。另外,每一条策略都需要网络管理员手动配置。
VLAN数据帧格式
要使交换机能够分辨不同 VLAN 的报文,需要在报文中添加标识 VLAN 信息的字段。IEEE 802.1Q 协议规定,在以太网数据帧的目标 MAC 地址和源 MAC 地址字段之后、协议类型字段之前加入 4 字节的 VLAN 标签,用于标识数据帧所属的 VLAN。
传统的以太网数据帧格式与 IEEE 802.1Q VLAN 数据帧格式如下图所示:

图 2 传统的以太网数据帧格式与IEEE 802.1Q VLAN数据帧格式
在 VLAN 交换网络中,以太网帧主要有以下两种形式:
- 有标记(Tagged)帧:加入了 4 字节 VLAN 标签的帧;
- 无标记(Untagged)帧:原始的、未加入 4 字节 VLAN 标签的帧。
以太网链路包括接入链路(Access Link)和干道链路(Trunk Link):
- 接入链路用于连接交换机和用户终端(如用户主机、服务器、交换机等),只可以承载 1 个 VLAN 的数据帧;
- 干道链路用于交换机间的互联,或用于连接交换机与路由器,可以承载多个不同 VLAN 的数据帧。
在接入链路上传输的数据帧都是无标记帧,在干道链路上传输的数据帧都是有标记帧。
交换机内部处理的数据帧都是有标记帧。从用户终端接收无标记帧后,交换机会为无标记帧添加 VLAN 标签,重新计算帧校验序列(FCS),并通过干道链路发送帧。向用户终端发送帧前,交换机会去除 VLAN 标签,并通过接入链路向终端发送无标记帧。
VLAN 标签包含 4 个字段,各字段的含义如下表所示。
字段 | 长度 | 含义 | 取值 |
---|---|---|---|
TPID | 2字节 | 标签协议标识符(TagProtocol Identifier),表示数据帧类型 |
取值为 0x8100 时,表示 IEEE802.1Q VLAN 数据帧。如果不支持 IEEE802.1Q 的设备收到这样的帧,则会将其丢弃。 各设备厂商可以自定义该字段的值。当邻居设备将 TPID 值配置为非 0x8100 时,为了能够识别这样的报文,实现互通,必须在本设备上修改 TPID 值,以确保其和相邻设备的 TPID 值一致。 |
PRI | 3位 | Priority,表示数据帧的IEEE 802.1p优先级 | 取值为 0~7,值越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧。 |
CFI | 1位 | 标准格式指示位(Canonical Format Indicator),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网 | 0CFI 取值为 0 时,表示 MAC 地址以标准格式进行封装;CFI 取值为 1 时,表示以非标准格式封装。在以太网中,CFI的值为 0 |
VID | 12位 | 表示该数据帧所属VLAN的ID | VLAN ID取值为 0~4095。由于 0 和 4095 为协议保留取值,所以 VLAN ID 的有效取值为 1~4094。 |