VLAN 即虚拟局域网技术,是把一个物理的局域网在逻辑上划分为多个局域网的技术。VLAN 可以隔离广播域,提高安全性。
VLAN 帧格式
使用 Tag 来区分不同的 VLAN,VLAN ID 范围是 1 - 4094
链路类型
链路类型有两种,Access 与 Trunk。
Access:接入链路,只允许特定的一个 VLAN ID 通过。
- Access 端口在收到数据后会添加VLAN Tag,VLAN ID和端口的PVID相同。
- Access 端口在收到数据后如果数据自带 VLAN ID,如果 VLAN ID 等于 PVID,则接受,如果 VLAN ID 不等于 PVID,则丢弃。
- Access端口在转发数据前会移除VLAN Tag。
- Access端口发往对端设备的以太网帧永远是不带标签的帧。
Trunk:干道链路,允许多个 VLAN ID 通过。
- 当 Trunk 端口收到帧时,如果该帧不包含 Tag,将添加上端口的 PVID ;如果该帧包含 Tag ,则不改变。
- 当Trunk端口发送帧时,该帧的 VLAN ID 在 Trunk 的允许发送列表中:若与端口的 PVID 相同时,则剥离 Tag发送;若与端口的 PVID 不同时,则直接发送。
VID 和 PVID
VID 是 VLAN ID,是针对数据包所说的概念。
PVID 是 Port VLAN ID,是针对端口的概念,代表着端口的缺省 VLAN ID,默认是1。
VLAN 命令
划分 VLAN
# 划分一个 vlan 5 和 vlan9
[SW]vlan 5
[SW-vlan5]q
[SW]vlan 9
[SW-vlan9]q
# 划分 vlan 2 和 vlan 3
[SW]vlan batch 2 3
# 划分 vlan 2 到 vlan 5 一共 4 个vlan
[SW]vlan batch 2 to 5
配置接口 vlan
# 设置为 access 模式,允许的 VLAN 为 VLAN 5
[SW-GigabitEthernet1/0/0]port link-type access
[SW-GigabitEthernet1/0/0]port default vlan 5
# 设置接口为 trunk,允许 VLAN 5 和 VLAN 9 通过,但不允许 VLAN 1 通过
[SW-GigabitEthernet1/0/1]port link-type trunk
[SW-GigabitEthernet1/0/1]port trunk allow-pass vlan 5 9
[SW-GigabitEthernet1/0/1]undo port trunk allow-pass vlan 1
VLAN 间通信
VLAN 间通信主要有两种方式,虚拟自己接口和单臂路由。
配置 svi 接口
# 配置 svi 虚拟接口,接口编号和 VLAN ID 要相同
[SW]int Vlanif 2
[SW-Vlanif2]ip address 10.3.0.1 24
[SW-Vlanif2]q
[SW]int Vlanif 3
[SW-Vlanif3]ip address 10.3.1.1 24
[SW-Vlanif3]q
单臂路由
# 配置子端口,添加vlan-type,自接口名和 VLAN ID 可以不同
[SW]int g1/0/0.2
[SW-GigabitEthernet1/0/0.2]ip address 10.3.0.1 24
# 设置终结的 VLAN 标签
[SW-GigabitEthernet1/0/0.2]vlan-type dot1q 2
[SW-GigabitEthernet1/0/0.2]q