🎯 课程摘要:本节课讲解基于以太网交换机端口实现 VLAN 的技术原理,重点介绍 IEEE 802.1Q 帧格式、VLAN 标签字段各组成部分的含义,以及 Access 与 Trunk 两种接口类型在接收和转发帧时的处理方式,最后补充华为私有的 Hybrid 接口类型。
- 概念定义:虚拟局域网(VLAN)通过在以太网交换机上划分逻辑广播域,将一个物理网络分割为多个互不影响的虚拟网络。
- 原理解析:
- 最常见的实现方式是基于以太网交换机的接口来划分 VLAN。
- 为实现 VLAN,以太网交换机必须具备两项功能:
- 能够处理带有 VLAN 标记的帧,即 IEEE 802.1Q 帧;
- 交换机的各接口可支持不同的接口类型,不同接口对帧的处理方式不同。
- 概念定义:IEEE 802.1Q 帧(也称 Dot1Q 帧)是对以太网版本 V2 的 MAC 帧格式的扩展,在原 MAC 帧的源地址字段与类型字段之间插入 4 字节的 VLAN 标签字段。
- 原理解析:VLAN 标签字段由 4 部分构成:
| 字段 | 缩写 | 长度 | 说明 |
|---|
| 标签协议标识符 | TPID | 16 比特 | 固定值为 0x8100,标识该帧为 802.1Q 帧 |
| 优先级 | PRI | 3 比特 | 取值 0~7,值越大优先级越高;网络拥塞时优先发送高优先级帧 |
| 规范格式指示符 | CFI | 1 比特 | 0 表示 MAC 地址以规范格式封装,1 表示非规范格式;以太网中 CFI=0 |
| 虚拟局域网标识符 | VID | 12 比特 | 取值 0~4095,其中 0 和 4095 保留不用 |
- 关键操作:
- 打标签:交换机收到普通以太网 MAC 帧时,插入 4 字节 VLAN 标签使之成为 802.1Q 帧。
- 去标签:交换机转发 802.1Q 帧时,可能删除 4 字节 VLAN 标签使之还原为普通以太网 MAC 帧。
- 是否去标签取决于交换机的接口类型。
- ⚠️ 重点/考点:VID 是 802.1Q 帧所属 VLAN 的编号,设备利用 VID 识别帧所属 VLAN;广播帧在同一 VLAN 内转发,从而将广播域限制在一个 VLAN 内。802.1Q 帧一般由交换机处理,而非用户主机处理。
- 概念定义:根据接口在接收帧和发送帧时对帧的处理方式以及连接对象的不同,以太网交换机接口分为 Access 和 Trunk 两种基本类型(华为还有私有的 Hybrid 类型)。
- 默认配置:
- 交换机首次上电启动后,若未进行 VLAN 相关设置,各接口类型默认为 Access;
- 各接口缺省 VLAN ID = 1,即默认属于 VLAN 1;
- 思科交换机称缺省 VLAN ID 为本征 VLAN,华为交换机称为端口 VLAN ID(PVID)。本课统一采用 PVID。
- ⚠️ 重点/考点:交换机的每个接口有且仅有一个 PVID。
- 概念定义:Access 接口一般用于连接用户计算机,只能属于一个 VLAN,其 PVID 值与所属 VLAN 的 ID 相同(默认值为 1)。
- 原理解析:
| 处理环节 | 规则 |
|---|
| 接收处理 | 一般只接受未打标签的普通以太网 MAC 帧;根据接收接口的 PVID 给帧打标签(VID = PVID) |
| 转发处理 | 若帧中 VID 与接口 PVID 相等,则去标签后转发;否则不转发 |
- 结论:从 Access 接口转发出的帧是不带 VLAN 标签的普通以太网 MAC 帧。
- 主机 A、B 划归 VLAN 2,主机 C、D 划归 VLAN 3。
- 接口 1、2 的 PVID=2;接口 3、4 的 PVID=3。
- 主机 A 发送广播帧:接口 1(Access)打标签 VID=2 → 仅从接口 2(PVID=2 相同)去标签转发。
- VLAN 2 的广播帧不会传到 VLAN 3,反之亦然。
- 概念定义:Trunk 接口一般用于交换机之间或交换机与路由器之间的互联,可以属于多个 VLAN,能通过属于不同 VLAN 的帧。
- 原理解析:
- 默认 PVID 值为 1,一般不建议修改;若互联的 Trunk 接口 PVID 值不相等,可能出现转发错误。
| 处理环节 | 规则 |
|---|
| 接收处理 | 既可接收未打标签的普通以太网 MAC 帧(按 PVID 打标签),也可接收已打标签的 802.1Q 帧 |
| 转发处理 | 若帧的 VID 等于接口 PVID,则去标签后转发(成为普通 MAC 帧);若帧的 VID 不等于接口 PVID,则直接转发(保持 802.1Q 帧) |
- 结论:从 Trunk 接口转发出的帧可能是普通以太网 MAC 帧,也可能是 802.1Q 帧。
- 将两台交换机的接口 5 用于互联,类型改为 Trunk,PVID 保持默认值 1。
- 接口 1、2 属 VLAN 1(PVID=1),接口 3、4 属 VLAN 2(PVID=2)。
- 概念定义:Hybrid 接口是华为交换机私有的接口类型,兼具 Trunk 与 Access 的用途。
- 原理解析:
- 既可用于交换机之间或交换机与路由器互联(同 Trunk);
- 也可用于交换机与用户计算机互联(同 Access);
- 绝大部分功能与 Trunk 相同,不同点在发送处理:Hybrid 接口查看帧的 VID 是否在接口的去标签列表中——若在则去标签后转发,若不在则直接转发。
- VLAN 的实现依赖交换机处理 IEEE 802.1Q 帧(4 字节 VLAN 标签:TPID/PRI/CFI/VID),其中 VID 取值 0~4095,0 和 4095 保留。
- Access 接口仅属一个 VLAN,连接用户主机,收发均为普通 MAC 帧(进打标签、出去标签)。
- Trunk 接口可承载多 VLAN 流量,用于交换机互联;VID=PVID 时去标签转发,VID≠PVID 时直接转发 802.1Q 帧。
- 每个接口有且仅有一个 PVID,默认值为 1;互联 Trunk 接口 PVID 必须相等,否则转发错误。
- 华为 Hybrid 接口通过"去标签列表"灵活控制发送时是否去标签。
- 助教补充:VLAN 间通信需要借助路由器或三层交换机进行路由转发,交换机本身(二层)只能在同一 VLAN 内转发帧。
- IEEE 802.1Q 帧的 VLAN 标签字段共几个字节?各子字段的长度和含义是什么?VID 的有效取值范围是多少?
- Access 接口和 Trunk 接口在接收和转发帧时,对 VLAN 标签的处理有何不同?
- 为什么互联的两台交换机的 Trunk 接口 PVID 值必须相等?若不相等会带来什么后果?
- 默认情况下交换机各接口属于哪个 VLAN?接口类型默认是什么?
- 华为 Hybrid 接口与 Trunk 接口的主要区别是什么?