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常用命令

 

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

 







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分