VLAN标签技术在以太网数据帧中加入了4个字节的标签,这个标签被称为VLAN Tag。这个标签允许网络中的设备区分不同的VLAN流量,即使它们在同一个物理网络中。
在网络设备中,VLAN的实现需要支持VLAN Tag的设备,例如交换机、路由器、AC(无线控制器)等。这些设备可以接收和发送带标签的帧,而一些简单的设备,如PC、服务器、Hub和普通的交换机,则只能接收和发送不带标签的帧。
VLAN网络的链路主要有两种类型:接入链路和干道链路。接入链路主要用于连接用户设备和交换机,传输不带标签的帧。干道链路则用于连接交换机,传输带标签的帧。
为了处理不带标签的帧,交换机的端口被配置了一个默认的VLAN,称为PVID(端口VLAN ID)。当交换机收到不带标签的帧时,它会自动将这个帧的VLAN ID设置为PVID。
交换机的端口主要有三种类型:Access、Trunk和Hybrid。Access端口只处理一个默认的VLAN,而Trunk端口可以处理所有的VLAN。Hybrid端口既可以处理所有的VLAN,也可以在发送时去除VLAN标签。
VLAN的划分方法有多种,包括基于端口、MAC地址、IP子网、协议和策略。其中,基于端口的划分是最常用的方法,它通过为每个端口配置不同的PVID来实现。
VLAN的实现需要使用一些命令,如创建VLAN、配置端口类型、配置PVID、配置允许通过的VLAN、配置标签和PVID等。
总的来说,VLAN技术是网络管理的重要工具,它可以帮助我们构建更灵活、更高效的网络。通过理解VLAN的概念、标签、链路类型、端口类型、划分方法和命令,我们可以更好地使用和管理网络。
1. VLAN标签
一般不同VLAN之间是无法通信的,如果想要通信需要借助三层设备实现,当然,VLAN标签技术也能实现不同VLAN之间的通信。
VLAN标签技术通过对数据流量进行打标签来区分不同VLAN的流量,IEEE 802.1Q协议规定以太网数据帧中加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),用以标识VLAN信息。通过Tag字段中的标识来区分不同VLAN的流量,也就是说,在一个VLAN的交换网络中以太网数据帧的形式一般会有以下两种形式:
有标记帧(Tagged Frame)
无标记帧(Untagged Frame)
在常见的计算机设备,网络设备中:
PC主机、服务器、Hub、傻瓜交换机只能收发Untagged帧
交换机、路由器、 AC既能收发Tagged帧也能收发Untagged帧
语音终端、AP等设备可以同时收发一个Tagged帧和一个Untagged帧
2. 链路类型
VLAN网络的链路分别为接入链路和干道链路:
接入链路(Access Link):通常是连接用户主机和交换机之间的链路,接入链路上传输的是不带标签的VLAN数据帧,也就是Untagged帧。
干道链路(Trunk Link):连接交换机与交换机之间的链路,在干道链路上传输的一般都是带标签的VLAN帧,即Tagged帧。
3. 什么是PVID
PVID英文为Port VLAN ID,代表端口的默认VLAN,为什么需要PVID?
接入链路一般都是处理不带标签的Untagged数据帧,而干道链路都是处理带标签的tagged数据帧,通过在交换机的端口配置默认的VLAN,当交换机的端口收到不带标签的Untagged数据帧时,交换机将给会加上默认VLAN的PVID(即VLAN标签)。
4. 端口类型
学过思科的同学知道,思科交换机的端口只有Access和Trunk两种类型,华为设备除了这两种端口类型外,还有一种Hybrid端口类型。
4.1 Acccess端口
Access端口是接入链路上的端口类型,即交换机连接主机的端口,该端口只处理唯一默认的VLAN数据流量(一般是不带标签)。
Access端口处理数据过程如上图所示,当端口收到不带标签的VLAN帧时则会强制加上PVID。如果是带标签的数据帧则判断VLAN ID(这里的VLAN ID其实就是PVID)和默认的VLAN ID是否相同,如果不相同则丢弃报文,如果相同则接收报文,等待下一步处理。
Access端口在发送报文时会先剥离VLAN帧的标签,然后再发送。
4.2 Trunk端口
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链路上。
4.3 Hybrid端口
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标签再转发给服务器。
5. VLAN的划分
VLAN的划分有以下几种方法:
基于端口的划分
基于MAC地址的划分
基于IP子网划分
基于协议划分
基于策略划分
在以上几种VLAN划分的方法中,基于策略划分VLAN最为复杂,基于端口划分VLAN在工作中最为常用。其主要是根据交换机的端口来划分,为每个端口配置不同的PVID,将不同的端口划分到VLAN中,默认情况下交换机的所有端口都划分在VLAN 1中。
6. VLAN常用命令
vlan10//创建单个VLAN vlanbatch10to20//创建多个VLAN portlink-typeaccess/trunk/hybird//配置接口类型 portdefaultvlan10//配置Access关联VLAN/PVID porttrunkallow-passvlan10//配置Trunk允许VLAN porttrunkpvidvlan10//配置Trunk的PVID porthybirdtagged/untaggedvlan10//配置Hybird标记VLAN porthybridpvidvlan10//配置Hybird的PVID displayvlan//验证VLAN displayportvlan//验证VLAN
审核编辑:刘清