以太网是一种基于CSMA/CD的数据网络通信技术,其特征是共享通信介质。当主机数目较多时会导致安全隐患、广播泛滥、性能显著下降甚至造成网络不可用。
为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术:
- 通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升网络的安全性,同时减少垃圾流量,节约网络资源。
VLAN的特点:
- 一个VLAN就是一个广播域,所以在同一个VLAN内部,计算机可以直接进行二层通信;而不同VLAN内的计算机,无法直接进行二层通信,只能进行三层通信来传递信息,即广播报文被限制在一个VLAN内。
- VLAN的划分不受地域的限制。
VLAN的好处:
- 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
- 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
- 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
- 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。
VLAN的划分包括如下5种方法:
- 基于接口划分:根据交换机的接口来划分VLAN。网络管理员预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的标签,然后数据帧将在指定VLAN中传输。
- 基于MAC地址划分:根据数据帧的源MAC地址来划分VLAN。网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
- 基于IP子网划分:根据数据帧中的源IP地址和子网掩码来划分VLAN。网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
- 基于协议划分:根据数据帧所属的协议(族)类型及封装格式来划分VLAN。网络管理员预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
- 基于策略划分:根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。网络管理员预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
- 当接收数据帧时:
- 当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。
- 当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。
- 当发送数据帧时:
- Access接口直接剥离数据帧中的VLAN标签。
- Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。
- Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。
VLAN的基础配置命令
创建VLAN
[Huawei] vlan vlan-id
通过此命令创建VLAN并进入VLAN视图,如果VLAN已存在,直接进入该VLAN的视图。
vlan-id是整数形式,取值范围是1~4094。
[Huawei] vlan batch { vlan-id1 [ to vlan-id2 ] }
通过此命令批量创建VLAN。其中:
batch:指定批量创建的VLAN ID。
vlan-id1:表示第一个VLAN的编号。
vlan-id2:表示最后一个VLAN的编号。
Access接口的基础配置命令
配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type access
在接口视图下,配置接口的链路类型为Access。
配置Access接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port default vlan vlan-id
在接口视图下,配置接口的缺省VLAN并同时加入这个VLAN
vlan-id:配置缺省VLAN的编号。整数形式,取值范围是1~4094。
Trunk接口的基础配置命令
配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type trunk
在接口视图下,配置接口的链路类型为Trunk
配置Trunk接口加入指定VLAN
[Huawei-GigabitEthernet0/0/1] port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }
在接口视图下,配置Trunk类型接口加入的VLAN。
(可选) 配置Trunk接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port trunk pvid vlan vlan-id
在接口视图下,配置Trunk类型接口的缺省VLAN。
Hybrid接口的基础配置命令
配置接口类型
[Huawei-GigabitEthernet0/0/1] port link-type hybrid
在接口视图下,配置接口的链路类型为Hybrid。
配置Hybrid接口加入指定VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Untagged方式通过接口。
[Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
在接口视图下,配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Tagged方式通过接口。
(可选) 配置Hybrid接口的缺省VLAN
[Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan vlan-id
在接口视图下,配置Hybrid类型接口的缺省VLAN。
基于MAC地址划分配置命令
关联MAC地址与VLAN
[Huawei-vlan10] mac-vlan mac-address mac-address [ mac-address-mask | mac-address-mask-length ]
通过此命令配置MAC地址与VLAN关联。
mac-address:指定与VLAN关联的MAC地址。格式为H-H-H。其中H为4位的十六进制数,可以输入1~4位,如00e0、fc01。当输入不足4位时,表示前面的几位为0,如:输入e0,等同于00e0。MAC地址不可设置为0000-0000-0000、FFFF-FFFF-FFFF和组播地址。
mac-address-mask:指定MAC地址掩码。格式为H-H-H,其中H为1至4位的十六进制数。
mac-address-mask-length:指定MAC地址掩码长度。整数形式,取值范围是1~48。
使能MAC地址与VLAN
[Huawei-GigabitEthernet0/0/1] mac-vlan enable
通过此命令使能接口的MAC VLAN功能。
案例:基于接口划分VLAN
LSW1和 LSW2配置命令
vlan batch 10 20
interface Ethernet 0/0/1
port link-type access
port default vlan 10
interface Ethernet 0/0/2
port link-type access
port default vlan 20
interface GigabitEthernet 0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
案例:基于MAC地址划分VLAN
PC1、PC2、PC3为本部门员工的主机,要求这几台主机可以通过SW1访问公司网络,如换成其他主机则不能访问。
LSW1配置命令
vlan 10
mac-vlan mac-address 0000-0000-0001
mac-vlan mac-address 0000-0000-0002
mac-vlan mac-address 0000-0000-0003
quit
interface ethernet 0/0/1
port link-type hybrid
port hybrid untagged vlan 10
mac-vlan enable
interface ethernet 0/0/2
port link-type hybrid
port hybrid untagged vlan 10
mac-vlan enable
interface ethernet 0/0/3
port link-type hybrid
port hybrid untagged vlan 10
mac-vlan enable