中文

【疑问解答】关于VLAN技术您了解多少?

发布于 2020年04月02日 by
4.7k

当以太网中主机数量过多时会导致冲突严重、广播泛滥、性能明显下降甚至造成网络无法使用等问题,虽说可以通过交换机实现LAN互连解决冲突严重的问题,但是仍然无法实现广播报文隔离,提高网络质量。为解决这一些列问题,VLAN技术应运而生。VLAN到底是什么?有什么作用?是如何进行工作的?又该如何配置呢?您真的了解吗?

什么是VLAN?为什么要使用VLAN?

VLAN(即虚拟局域网)是将一个物理LAN在逻辑上划分成多个广播域的通信技术。也就是说,它可以把一个LAN划分成多个逻辑的VLAN,每个VLAN是一个广播域,在VLAN内主机之间的通信就如同LAN内一样,但不同VLAN之间不能直接互通,这样同一个广播域的报文就会被限制在一个VLAN内。

有人可能会问,我们为什么要使用VLAN进行广播域分割?答案很简单,因为如果仅有一个广播域,很有可能会影响到整个网络的传输性能,为了确保网络良好的传输性能,使用VLAN是有必要的。

如下图所示,在早前LAN的组网方案中,当主机A想要与主机B进行通信时,必须要向同一局域网中的所有交换机和其他主机广播ARP(地址解析协议)请求,然后获得主机B的MAC地址(因为以太网通信必须在数据帧中指定目标MAC地址才能正常通信)。

主机A想要与主机B进行通信.jpg

如上图,当交换机A收到ARP请求(广播帧)之后,会将它转发给除接收端口以外的其他所有端口(也就是Flooding泛洪),交换机B、C同样也会Flooding(泛洪),最终ARP请求会被转发到同一网络中的所有设备上。这样会致使网络被主机和交换机发送的报文轰炸,导致主机的CPU运算能力和整个网络的带宽将会被大量消耗,产生广播风暴,甚至导致整个网络崩溃。使用VLAN技术可有效的避免这种情况发生。

使用VLAN技术避免广播风暴.jpg

通过配置VLAN,可以将网络分段为不同的广播域(VLAN),ARP请求(广播帧)将会被限制只能发送到同一VLAN的端口,并不会发送到其他VLAN的端口,如下图,这样可较大程度的节省网络资源和带宽,从而提高网络的灵活性及其性能。

VLAN有什么作用?您能从中获得什么?

VLAN除了能将网络划分为多个广播域,有效防止广播风暴以外,它还能提高网络安全性,使网络管理更便捷、灵活等。

  • 限制广播域(提高网络处理能力):可将广播域限制在一个VLAN内,节省带宽,提高网络处理能力。

  • 端口分隔:即便是在同一个交换机上,处于不同VLAN的端口也不能通信。这时一个物理交换机可以当做多个逻辑交换机使用。

  • 增强局域网安全性:不同VLAN内的报文在传输的过程中是相互隔离的状态,因此信不同VLAN不能直接通,可有效杜绝不安全的广播信息。

  • 提高网络可靠性:由于每个VLAN之间相对独立,因此当某个VLAN内发生故障时,也不会影响到其他VLAN的正常工作。

  • 构建灵活的虚拟工作组:VLAN可将不同的用户划分到不同的工作组中,同一个工作组的用户不会局限于某一个固定的物理范围,使得网络构建和维护更加灵活便捷。

与此同时,网络管理也相对灵活,当用户所属网络发生更改时,无需更换端口和连线,只需更改软件配置即可。

VLAN是如何工作的?VLAN原理概述

1. VLAN基本通信原理

简单来说,当报文进入到VLAN所处的交换机端口时,会被添加上识别的VLAN字段(打标封装),如VLAN标签(国际标准协议)、ISL标签(思科专有VLAN标记手段),当带有识别VLAN手段的数据帧从另一个端口输出时,该标签将会被剥离。下面以国际标准协议为例:

第一步,识别VLAN报文

为了让交换机分辨不同VLAN的报文,会在报文中添加识别VLAN的字段,根据IEEE 802.1Q协议规定,需在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签,如下图。

报文中的字段.jpg

VLAN标签(VLAN Tag,简称Tag)是一种VLAN标识符,包含了TPID、PRI、CFI、VID四个字段,一般添加在数据链路层封装中。

字段 概述
TPID 表示数据帧类型。用来判断数据帧是否携带VLAN标签,取值为0x8100时表示IEEE 802.1Q的VLAN数据帧
PRI 表示数据帧的802.1P优先级。当网络拥塞时,交换机优先发送优先级高的数据帧
CFI 表示MAC地址在不同的传输介质中是否以标准格式进行封装。取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装
VID 表示该数据帧所属的VLAN ID(编号),有效取值范围是1~4094

注:在同一个VLAN交换网络中,存在Tagged帧(有标记帧)和Untagged帧(无标记帧)两种数据帧,Tagged帧表示加入了4字节VLAN标签的帧;Untagged帧表示原始的、没有加入4字节VLAN标签的帧。

第二步:转发VLAN报文

以太网接口类型不同,交换机对数据帧的处理过程也不同。

根据接口连接对象的不同,以太网接口可分为Access、Trunk、Hybrid、QinQ四种类型,如下:

接口类型 概述
Access接口 一般用于不能识别Tag的用户终端(如主机、服务器)相连,或不需要区分不同VLAN成员时使用
Trunk接口 一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端
Hybrid接口 既可用连接不能识别Tag的用户终端(如主机、服务器)和网络设备(如Hub),也可用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端
QinQ接口 支持QinQ协议,一般用于私网和公网之间的连接

接收数据帧

  • 当接收到带有VLAN标签的数据帧(Tagged帧)时,Access、Trunk、Hybrid接口都会根据数据帧的VID来判断其是否为允许通过的VLAN,若是则接收该数据帧。

  • 当接收到不带VLAN标签的数据帧(Untagged帧)时,Access、Trunk、Hybrid接口都会给数据帧打上VLAN标签,其中Trunk、Hybrid接口都会根据数据帧的VID来判断其是否为允许通过的VLAN,若是则接收;而Access接口无需判断就直接将所有数据帧无条件接收。

注:QinQ接口会给数据帧添加双重Tag,在原有的Tag基础上再添加一个802.1Q的Tag,即数据帧有两层802.1Q Tag(一层公网Tag,一层私网Tag)。

发送数据帧

当交换机将数据帧发出时,Access接口会直接剥离数据帧中的VLAN标签,然后发送出去;Trunk接口则是只有当数据帧中的VID与接口的PVID相等时,才会剥离数据帧中的VLAN标签,然后将其发送出去;Hybrid接口则是根据接口上的配置来判断是否剥离数据帧中的VLAN标签,剥离数据帧中的VLAN标签,将其发送出去。

2. VLAN内通信原理

VLAN内通信是指在位于相同网段的同一个VLAN内的用户进行通信。VLAN内通信可以是发生在同交换机上,也可以发生在跨交换机(也就是说不同交换机)上,但无论是什么类型,VLAN内通信主要分为以下三个步骤:

(1)主机报文转发:在发起通信之前,源主机会将自身的IP地址与目的主机的IP地址进行匹配,若是两者位于同一网段,则获取目的主机的MAC地址,并将其作为目的MAC地址封装进报文;若是两者位于不同网段,源主机将其报文递交给网关,获取网关的MAC地址,并将其作为目的MAC地址封装进报文。

(2)交换机内部的以太网交换:交换机根据接收到的报文目的MAC地址和VID以及三层转发标志位置来判断进行二层交换还是三层交换。

(3)VLAN标签的添加和剥离:在设备之间交互时,根据交换机接口的设置添加或剥离Tag。

3. VLAN间通信原理

由于广播帧只能在同一个VLAN内进行转发,因此不同VLAN的用户之间无法实现二层相互通信。但在实际应用中,处于不同VLAN中的用户会存在相互通信的需求,因此,若想实现不同VLAN之间的通信就需要借助三层交换机虚拟端口或单臂路由。具体如下:

单臂路由——使用中继端口实现多个VLAN和路由器子接口的模式,实现单臂路由。如下图,先将路由器和交换机之间的连接端口配置为中继端口(该链路为Trunk链路);然后删除与交换机相连的路由器物理端口的IP地址,并启用物理端口;最后在路由器上为每个逻辑子接口进行VLAN的封装、IP地址和子网掩码的配置。该种方式,可有效节约交换机和路由器端口,但转发带宽会受到中继链路带宽限制。

单臂路由.jpg

三层交换机虚拟端口——其实就是借助三层交换机的交换技术及路由功能。如下图,先在三层交换机上创建VLAN;然后在三层交换机上使用“IP Routing”命令启用IP路由转发功能,为每个VLAN创建SVI接口(交换机虚拟接口,是一种与VLAN ID相关联的虚拟VLAN接口),并配置IP地址和子网掩码。该种方式采用内部交换链路进行交换,具备速度高、无冲突等优势。

三层交换机虚拟端口.jpg

其实我们还可以将每个VLAN与路由器端口连接,利用路由协议实现VLAN之间的路由,如下图。但该种方式,会使每个VLAN在路由器上都需要一个物理端口,会占用大量路由器端口,导致成本增加,因此,该种方式使用较少。

每个VLAN与路由器端口连接.jpg

如何划分VLAN?怎么配置VLAN?

划分VLAN可有效减少广播风暴、简化网络管理、提高网络的安全性,是用户最常使用的配置。VLAN划分方式主要分为基于接口、基于MAC地址、基于协议、基于子网以及基于策略五种,其中基于接口划分使用最为常见的方式。

1. 基于接口划分VLAN

基于接口划分VLAN是根据交换机的接口来划分VLAN。该方式定义成员简单,只需将所有接口都定义为相应的VLAN即可,适用于位置固定的网络。

该方式的配置需要网络管理员预先给交换机的每个接口配置不同的PVID,当数据帧进入到交换机时,若是没有携带VLAN标签,则会为该数据帧加上接口制定PVID的Tag,然后让该数据帧在指定的PVID中传输。欲知更多详细的命令配置可访问《飞速(FS) S3900系列交换机如何基于接口划分VLAN?》

2. 基于MAC地址划分VLAN

基于MAC地址划分VLAN是根据数据帧的源MAC地址划分VLAN,可有效提高网络安全性和接入的灵活性,适用于位置经常发生变动但网卡不变的小型网络,如移动PC。

该方式的配置需要网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到Untagged帧时,会根据该表为数据帧加上指定VLAN的Tag,然后让其在指定VLAN中进行传输。欲知更多详细的命令配置可访问《飞速(FS) S3900系列交换机如何基于MAC地址划分VLAN?》

3. 基于子网划分VLAN

基于子网划分VLAN是根据数据帧中的源IP地址和子网掩码来划分VLAN,即便是位置发生改变也无需重新配置VLAN,同时,可将VLAN扩大广域网(也就是广播域跨越多个交换机),减少网络通信量,适用于对安全性要求不高,但对移动性和简易管理性要求较高的网络,如PC需要配置多个IP地址分别访问不同网段的服务器等。

该方式的配置需要网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到Untagged帧时,会根据该表为数据帧加上指定VLAN的Tag,然后该数据帧将在指定VLAN中进行传输。欲知更多详细的命令配置可访问《飞速(FS) S3900系列交换机如何基于IP子网划分VLAN?》

4. 基于协议划分VLAN

基于协议划分VLAN是根据数据帧所属的协议类型及封装格式来划分VLAN,可根据网络提供的服务类型与VLAN绑定,便于管理和维护,适用于同时运行多协议的网络。

该方式的配置需要网络管理员先配置以太网帧中的协议域和VLAN ID的映射关系表,当交换机收到Untagged帧时,会根据该表给数据帧添加指定VLAN 的Tag,然后该数据帧会在指定VLAN中进行传输。欲知更多详细命令配置可访问《飞速(FS) S3900系列交换机如何基于协议划分VLAN?》

5. 基于策略划分VLAN

基于策略划分VLAN是根据配置的策略划分VLAN,可实现多组合的划分方式,如接口、MAC地址、IP地址等,其具备较高的安全性且灵活性,可根据实际需求以及其管理管理模式选择划分的方式,适用于需求比较复杂的网络。

该方式的配置需要网络管理员预先配置策略,当交换机收到Untagged帧,且匹配到配置的策略时,会给该数据帧添加指定VLAN的 Tag,然后让该数据帧在指定VLAN中进行传输。

若是Untagged帧匹配到多种划分VLAN方式时,其优先级从高到低的顺序为:基于策略划分VLAN>基于MAC地址划分VLAN、基于子网划分VLAN(两者的优先级可通过命令改变)>基于协议划分VLAN>基于接口划分VLAN。

相关文章推荐

技术博文
See profile for Jesse.
Jesse
光分路器光衰多少,如何计算和测量?
2022年01月25日
14.3k
技术博文
技术博文
See profile for Audrey.
Audrey
FTTH网络应如何设计分层与分光比?
2022年01月25日
3.5k
技术博文
技术博文
技术博文
See profile for Audrey.
Audrey
揭秘光分路器类型及选择
2022年01月24日
3.1k
技术博文
See profile for Audrey.
Audrey
一文教您认识光分路器
2022年01月24日
4.4k
技术博文
See profile for Jesse.
Jesse
家庭网络怎么布线?家用网线布线指南
2021年12月31日
1.8k
技术博文
技术博文
See profile for George.
George
AI计算如何助推800G光模块发展?
2024年04月18日
20
技术博文
See profile for Audrey.
Audrey
数据中心预端接主干铜缆解决方案
2021年12月31日
1.7k