vlan实现机制
本文最后更新于 2025年1月24日 上午
VLAN标识符VID
- VLAN标记的最后12比特称为VLAN标识符VID,唯一标志以太网帧属于哪一个VLAN。
- VID取值范围是0 ~ 4095 (0 ~ 2^12 - 1)。
- 0和4095不用来表示VLAN,有效取值范围是1 ~ 4094。
802.1Q帧
- 在以太网帧基础上,用于实现虚拟局域网(VLAN)功能的一种数据帧格式
- 结构特点:在普通以太网帧中插入4字节VLAN标记,其最后12比特是VID(有效取值范围1 - 4094)。
- 处理方式:由交换机处理。收到普通以太网帧时“打标签”转变为802.1Q帧;转发时可能“去标签”变回普通以太网帧。
- 作用:实现VLAN间通信隔离与管理,将物理局域网划分为多个逻辑独立的虚拟局域网,提高网络安全性、灵活性和管理效率,如企业按部门划分VLAN提升安全性。
交换机端口类型
Access端口
- 用途:一般用于连接用户计算机。
- VLAN属性:只能属于一个VLAN。
- PVID:PVID值与端口所属VLAN的ID相同(默认为1)。
- 接收处理方法:一般只接受“未打标签”的普通以太网MAC帧,根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等。
- 发送处理方法:若帧中的VID与端口的PVID相等,则“去标签”并转发该帧;否则不转发。
Trunk端口
- 用途:一般用于交换机之间或交换机与路由器之间的互连。
- VLAN属性:可以属于多个VLAN。
- PVID:用户可以设置Trunk端口的PVID值,默认情况下,PVID值为1。
- 接收处理方法:接收“未打标签”的帧,根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等;接收“已打标签的帧”。
- 发送处理方法:对VID等于PVID的帧,“去标签”再转发。
Hybrid端口(华为)
- 用途:既可用于交换机之间或交换机与路由器之间的互连(同Trunk端口),也可用于交换机与用户计算机之间的互连(同Access端口)。
- VLAN属性:可以属于多个VLAN(同Trunk端口)。
- PVID:用户可以设置Hybrid端口的PVID值,默认情况下,PVID值为1(同Trunk端口)。
- 接收处理方法:接收“未打标签”的帧,根据接收帧的端口的PVID给帧“打标签”,即插入4字节VLAN标记字段,字段中的VID取值与端口的PVID取值相等;接收“已打标签的帧”。
- 发送处理方法:查看帧的VID是否在端口的“去标签”列表(即允许通过的vlan列表)中:若存在,则“去标签”后再转发;若不存在,则直接转发。
端口转发总结
端口类型 | 接收处理方法 | 发送处理方法 |
---|---|---|
Access | 一般只接收未打标签的普通以太网帧,并给其打标签 | 若帧中的VID等于端口PVID,则去掉标签并转发;否则丢弃 |
Trunk | 接收已打标签的帧;接收未打标签的帧,根据端口的PVID值给帧打标签 | 帧中VID等于端口PVID,去掉标签再转发;帧中VID不等于端口PVID,直接转发 |
Hybrid(华为) | 接收已打标签的帧;接收未打标签的帧,根据端口的PVID值给帧打标签 | 查看数据帧中的VID是否在端口的“去标签”列表中:如果存在,则去掉标签再转发;如果不存在,则直接转发 |
- 互连的Trunk端口的PVID值不等,可能会造成转发错误。因为发送端口可能会先去标签,接收端口按照自己的PVID打标签。
vlan实现机制
https://xinhaojin.github.io/2025/01/24/vlan实现机制/