在网络工程师考试中,VLAN是一个贯穿选择题、配置题乃至案例分析的全能型考点。翻开近五年的网工上午真题,几乎每年都有 V LAN 的影子——有时问 802.1q 标签插在帧的哪个位置,有时问你 VLAN ID 到底占多少比特,有时让你判断一组配置命令的实际效果。更麻烦的是,VLAN 不是孤立的知识点,它在考题中天然地与 Trunk 链路、三层交换、STP 生成树乃至 GVRP 动态注册绑定在一起,组合考查的概率极高。
如果只是背下了"VLAN 就是虚拟局域网,用来划分广播域"这句话,考场上遇到需要判断 VLAN 帧结构、区分 Access 与 Trunk 端口行为差异、或者分析跨交换机 VLAN 通信路径的题目时,大概率失分。本文的目标是把 VLAN 从表面定义一路拆到帧结构底层,结合软考命题人的常见挖坑手法,帮你建立一套"看到题目就知道考官想考什么"的判断能力。
VLAN,全称 Virtual Local Area Network,中文译为虚拟局域网。在 IEEE 802.1q 标准中的正式定义是:一种将物理局域网在逻辑上划分为多个相互隔离的广播域的技术。
这里有两个关键词值得停下来咀嚼。第一个是"逻辑上"——VLAN 不是在物理层面拉两根网线把网络分开,而是在同一台交换机、同一条物理链路上,通过给数据帧打标签的方式,让不同 VLAN 的数据帧互不干扰。第二个是"广播域"——V L AN 的核心效果是隔离广播,同一 VLAN 内的广播帧只在该 VLAN 内部传播,不会扩散到其他 VLAN。这对于大型局域网的意义怎么强调都不过分:如果一个二层网络里有五百台设备,ARP 广播、DHCP 发现报文、NetBIOS 名称查询这些广播流量会在整个网络中泛滥,严重消耗带宽和终端 CPU 资源。划分 VLAN 之后,每个 VLAN 只有几十台设备,广播风暴的范围被物理性地限制住了。
要进一步理解 VLAN,需要区分它与子网的关系。子网是三层概念,工作在 IP 层,通过 IP 地址和子网掩码划分子网范围;VLAN 是二层概念,工作在数据链路层,通过帧标签划分广播域。两者并不绑定——一个 VLAN 内可以承载多个子网,一个子网也可以跨越多个 VLAN,只是在实际工程中,为了简化管理,通常建议一个 VLAN 对应一个子网。这个区分在考试中是个高频考点:题干说"将不同部门的设备划分到不同 VLAN 中",问这属于什么层的隔离,答案是数据链路层,不是网络层。
理解 VLAN 必须从帧结构入手。IEEE 802.1q 定义了 VLAN 标签的插入方式:在原始以太网帧的源 MAC 地址字段之后、类型长度字段之前,插入一个 4 字节的 802.1q 标签。
这 4 个字节由两部分组成。前 2 个字节是标签协议标识符,固定值为十六进制的 0x8100,接收方看到这个值就知道这是一个携带 VLAN 标签的帧。后 2 个字节是标签控制信息,其中又细分为三个子字段:最高 3 位是优先级码点,用于服务质量等级标记,可以表示 0 到 7 共八个优先级;接下来 1 位是标准格式指示位,在以太网环境中固定为 0;最后 12 位,是整件事情的核心——VLAN 标识符。
这 12 位 VLAN 标识符的取值范围是 0 到 4095,理论上有 4096 个 VLAN ID。但这里软考命题人挖了一个经典的坑:0 和 4095 是保留值。0 表示该帧不携带 VLAN 信息,仅用于传递优先级信息;4095 即全 1,是保留值不分配给实际 VLAN。因此实际可用的 VLAN ID 是 1 到 4094,共 4094 个。多数厂商设备出厂时,VLAN 1 是默认 VLAN,所有端口默认都属于 VLAN 1。
命题人最常考的关于 VLAN ID 的错误说法是"VLAN ID 占 10 位"。确实,早期交换机在 ISL 协议中使用 10 位 VLAN ID,但 IEEE 802.1q 标准明确使用 12 位。2024 年上半年真题第 13 题就精准命中了这个坑:选项"IIEEE 802.1q 标准规定用于标识 VLAN 的 VLAN ID 用 10bit"是错误的。考生容易将 ISL 的 10 位与 802.1q 的 12 位混淆,这道题的正确率不会太高。
帧结构的另一个实操细节值得注意:VLAN 标签的插入和剥离对终端设备是透明的。当帧从交换机的一个 Access 端口发出给终端时,交换机会把 802.1q 标签剥离,终端收到的是标准以太网帧。当帧在 Trunk 链路上传输时,标签保留,对端交换机接收后根据标签决定转发到哪个 VLAN。这也解释了为什么用 Wireshark 在 PC 上抓包通常看不到 VLAN 标签——标签已经被本端交换机的 Access 端口拆掉了。
VLAN 的端口模式是配置题和案例题的重灾区。三类端口模式各有不同的帧处理逻辑,一旦混淆,整道配置题都可能翻车。
Access 端口是最简单的模式:一个 Access 端口只能属于一个 VLAN。它接收不带标签的普通以太网帧,交换机内部给它打上所属 VLAN 的标签后转发。向终端发出帧时,剥掉标签,还原为标准以太网帧。Access 模式适用于连接终端设备,如 PC、打印机、服务器等。实际部署场景下,连接终端的端口几乎全部配置为 Access 模式。
Trunk 端口用于交换机之间的互联,以及交换机和路由器之间的连接。Trunk 端口允许承载多个 VLAN 的流量,每个帧在 Trunk 链路上传输时都携带完整的 802.1q 标签。Trunk 端口有一个关键概念叫原生 VLAN,即 Trunk 链路上不携带标签时默认归属的 VLAN,通常默认为 VLAN 1。当 Trunk 端口要发出一个属于原生 VLAN 的帧时,它会剥离标签以普通帧形式发送;收到不带标签的帧时,自动归类到原生 VLAN。需要特别注意的是,一条 Trunk 链路两端的原生 VLAN 必须一致,否则会导致 VLAN 跳转攻击,也就是攻击者可以利用原生 VLAN 不一致的配置,将数据帧注入到预期之外的 VLAN 中,实现跨 VLAN 的非法访问。这在考试中可能以网络安全场景题的形式出现。
Hybrid 端口是华为设备的特色模式,兼具 Access 和 Trunk 的部分特性:可以指定哪些 VLAN 的帧以带标签方式转发,哪些以不带标签方式转发。虽然华三和思科设备上没有 Hybrid 这个概念,但软考网工考试目前以华为命令体系为主,Hybrid 端口是必知必会的内容。
在实际工程应用中,VLAN 是二层网络规划的基础组件。典型的园区网设计会在核心层和汇聚层之间使用 Trunk 链路透传所有 VLAN,接入层交换机连接终端使用 Access 端口。跨 VLAN 通信必须借助三层设备——传统的方案是单臂路由,在路
本篇完!