目录
1. VLAN标签
2. 链路类型
3. 什么是PVID
4. 端口类型
4.1 Acccess端口
4.2 Trunk端口
4.3 Hybrid端口
5. VLAN的划分
6. VLAN常用命令
一般不同VLAN之间是无法通信的,如果想要通信需要借助三层设备实现,当然,VLAN标签技术也能实现不同VLAN之间的通信。
VLAN标签技术通过对数据流量进行打标签来区分不同VLAN的流量,IEEE 802.1Q协议规定以太网数据帧中加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。通过Tag字段中的标识来区分不同VLAN的流量,也就是说,在一个VLAN的交换网络中以太网数据帧的形式一般会有以下两种形式:
在常见的计算机设备,网络设备中:
VLAN网络的链路分别为接入链路和干道链路:
- 接入链路(Access Link):通常是连接用户主机和交换机之间的链路,接入链路上传输的是不带标签的VLAN数据帧,也就是Untagged帧。
- 干道链路(Trunk Link):连接交换机与交换机之间的链路,在干道链路上传输的一般都是带标签的VLAN帧,即Tagged帧。
PVID英文为Port VLAN ID,代表端口的默认VLAN,为什么需要PVID?
接入链路一般都是处理不带标签的Untagged数据帧,而干道链路都是处理带标签的tagged数据帧,通过在交换机的端口配置默认的VLAN,当交换机的端口收到不带标签的Untagged数据帧时,交换机将给会加上默认VLAN的PVID(即VLAN标签)。
学过思科的同学知道,思科交换机的端口只有Access和Trunk两种类型,华为设备除了这两种端口类型外,还有一种Hybrid端口类型。
Access端口是接入链路上的端口类型,即交换机连接主机的端口,该端口只处理唯一默认的VLAN数据流量(一般是不带标签)。
Access端口处理数据过程如上图所示,当端口收到不带标签的VLAN帧时则会强制加上PVID。如果是带标签的数据帧则判断VLAN ID(这里的VLAN ID其实就是PVID)和默认的VLAN ID是否相同,如果不相同则丢弃报文,如果相同则接收报文,等待下一步处理。
Access端口在发送报文时会先剥离VLAN帧的标签,然后再发送。
Trunk端口是Trunk链路上的端口,是交换机与交换机之间连接的端口,也可以连接路由器,AP等设备,这意味着Trunk端口可以处理带标签和不带标签的数据帧。
Trunk端口收到不带标签的数据帧时,会添加该端口的PVID并检查PVID是否在允许通过的VLAN ID列表中,如果在的话则会接收报文,反之则会丢弃报文。如果接收到的是带标签的数据帧时,会检查标签中的VLAN ID是否在允许通过的VLAN ID列表中,如果在就接收报文,如果不在就丢弃报文。
Trunk端口在发送数据帧时,会先检查数据帧的VLAN ID是否与端口的PVID是否相同,并且是该端口允许通过的VLAN ID时则去掉标签;如果数据帧的VLAN ID与端口的PVID不相同,但是该端口允许通过的VLAN ID的话,则保持原有的标签不变,然后发送报文。
举个栗子:
SWA和SWB两台交换机之间的链路是Trunk链路,并且该链路的PVID是1(即默认VLAN 1),并且允许所有的VLAN通过。
当主机A发送数据帧时,由于SWA交换机的Trunk端口给数据帧加了PVID1的“标签”,SWA交换机在处理主机A的数据帧时,检查PVID和该端口的PVID是相同的,就会剥离标签然后转发到Trunk链路上。
主机B发送数据时,SWA交换机的Trunk端口给数据帧加上了VPID20的“标签”,SWA交换机在处理主机B的数据帧时,检查PVID和该端口的PVID不相同,并且数据帧的VLAN ID是端口允许通过的VLAN ID,则会原封不动的转发到Trunk链路上。
Hybrid端口既可以连接接入链路又可以连接干道链路,还可以在出端口方向将某些VLAN帧的标签剥离,一般华为设备的端口默认就是Hybrid类型。
Hybrid端口在接收报文时同Trunk端口的过程是相同的,但是Hybrid端口在发送报文的过程时,如果数据帧的VLAN ID是该端口允许通过的VLAN ID时则发送该报文,还能通过配置命令决定发送报文时是否携带标签:
port hybrid tagged vlan vlan-id :表示当前端口发送该vlan-id的数据帧时直接发送报文,不剥离VLAN标签,该命令通常配置在交换机连接交换机的端口上。
port hybrid untagged vlan vlan-id :表示当前端口发送该vlan-id的数据帧时会将VLAN标签先剥离掉再转发出去,该命令一般配置在交换机连接主机上的端口。
我们再来看个栗子:
主机A和主机B都能访问服务器,但是它们之间不能互相访问。此时交换机连接主机和服务器的端口,以及交换机互连的端口都配置为Hybrid类型。交换机连接主机A的端口的PVID是2,连接主机B的端口的PVID是3,连接服务器的端口的PVID是100。
在SWA和SWB交换机之间连接的接口上配置port hybrid tagged vlan 2 3 100命令后,这条链路上传输的就都是带标签的数据帧了。
在SWB和服务器连接的接口上配置port hybrid untagged vlan 2 3命令后,这条链路上发送的数据就会剥离VLAN标签再转发给服务器。
VLAN的划分有以下几种方法:
在以上几种VLAN划分的方法中,基于策略划分VLAN最为复杂,基于端口划分VLAN在工作中最为常用。其主要是根据交换机的端口来划分,为每个端口配置不同的PVID,将不同的端口划分到VLAN中,默认情况下交换机的所有端口都划分在VLAN 1中。
vlan 10 //创建单个VLAN
vlan batch 10 to 20 //创建多个VLAN
port link-type access/trunk/hybird //配置接口类型
port default vlan 10 //配置Access关联VLAN/PVID
port trunk allow-pass vlan 10 //配置Trunk允许VLAN
port trunk pvid vlan 10 //配置Trunk的PVID
port hybird tagged/untagged vlan 10 //配置Hybird标记VLAN
port hybrid pvid vlan 10 //配置Hybird的PVID
display vlan //验证VLAN
display port vlan //验证VLAN