VLAN
大约 3 分钟
端口模式
VLAN 在交换机上主要有三种端口模式:
| 模式 | 所属 VLAN 数量 | 接收时 | 发送时 | 典型连接对象 |
|---|---|---|---|---|
| Access | 1 | 打上端口默认标签 | 剥离标签 | 终端设备 |
| Trunk | n | 保留 802.1Q 标签 | 除 Native VLAN 外都带 Tag | 交换机之间互连 |
| Hybrid | n | 保留 802.1Q 标签 | 可灵活设置 tagged/untagged | 复杂场景 |
Access
接收和发送的数据帧不带 VLAN Tag,但在交换机内部,处理逻辑是完全不同的。
- 发送时:检查数据帧的 Tag 是否与该出口的 PVID 一致。如果一致,它会剥离标签再发出去。
- 接收时:查看该端口的 PVID,在数据帧的头部插入一个 VLAN Tag。
Trunk
- 发送时:
- Native VLAN:在发送数据时,如果数据的 VLAN ID 恰好等于自己的 Native VLAN ID,它会剥离标签再发出去。
- 除 Native VLAN 外:其他 VLAN 的帧都带 VLAN Tag。
- 接收时:
- 带有 Tag 的包:检查 Tag 里的 VLAN ID 是否在 Trunk 的允许通过列表中。在则转发,不在则丢弃。
- 不带 Tag 的包:交换机会强制给这个包打上该端口配置的 Native VLAN(PVID)的标签,然后将其作为该 VLAN 的流量在交换机内部处理。
- 最佳实践:
- 保持一致:确保互联的两端 Trunk 端口 Native VLAN 完全一致。
- 强制打标:强制让 Native VLAN 的流量也带上标签传输,消除隐患。
- 修改默认值:将 Native VLAN 修改为一个空置的、不使用的 VLAN ID。
Hybrid
- 发送时:可灵活设置
tagged/untagged。 - 接收时:
- 带 Tag 的帧:检查该 Tag 的 VLAN ID 是否在端口的允许通过列表里。在则转发,不在则丢弃。
- 不带 Tag 的帧:强制打上该端口的 PVID。这个 PVID 必须在端口的允许通过列表里,否则丢弃。
- 允许通过列表:
Tagged列表与Untagged列表的并集。
标签处理
在 VLAN 配置中,已标记、未标记和关闭是针对某个具体 VLAN 在端口上的处理方式,通常出现在 Hybrid 端口或 General 端口配置中。
| 对 VLAN 的设置 | 发送时处理 | 接收时处理 | 典型用途 |
|---|---|---|---|
| 已标记 | 保留 Tag | 允许带该 Tag 的帧进入 | 交换机互联 |
| 未标记 | 剥离 Tag | 无标签帧按 PVID 处理 | 连接终端 |
| 关闭 | 禁止通过 | 丢弃该 VLAN 的所有帧 | 隔离、禁止访问 |
- Access 端口:相当于对所属的那个 VLAN 强制
untagged,其他 VLAN 全部off。 - Trunk 端口:除 Native VLAN 是
untagged外,其他允许的 VLAN 通常都是tagged。 - PVID:主要用于处理进入端口的无标签帧,会给它打上这个 VLAN 的 Tag。
Tagged
- 发送时:当交换机从这个端口发送数据帧时,保留 VLAN Tag,直接带标签发出去。
Untagged
- 发送时:当交换机从这个端口发送数据帧时,剥离 VLAN Tag,以普通无标签帧发送出去。
Off
该 VLAN 不允许通过这个端口。无论是带标签还是不带标签的该 VLAN 流量,都会被丢弃。