📌 VLAN 知识梳理:网络高手都该懂的核心概念!

📌 VLAN 知识梳理:网络高手都该懂的核心概念!

Hello,大家好呀,我是瞎折腾的小Jeremy,今天我们来聊一聊二层中最重要也是使用最广泛的一个协议,VLAN。

你有没有遇到过这样的情况:

  • 公司网络太慢,打开个网页要等半天,部门之间数据传输更是卡得让人崩溃?
  • 安全隐患严重,前台的电脑居然能访问财务部的服务器?
  • 网管同事头疼不已,换个工位就要重新布线、调整 IP,管理一团乱麻?

这些问题,VLAN(虚拟局域网) 都能帮你轻松解决!

事实是,现在绝大多数的企业网络中都会使用VLAN技术,将网络进行区域的划分和隔离,这样一方面能够提高整个企业内部的网络隔离性和安全性,方便运维管理,另一方面,能够为企业带来更好的网络利用率。

VLAN 是网络管理中不可或缺的一环,它可以:
隔离广播,提高网络效率
划分不同部门的网络,提升安全性
减少物理布线,灵活调整网络拓扑

无论你是网络工程师、IT 管理员,还是对网络技术感兴趣的学习者,掌握 VLAN 都是迈向高阶网络技能的必修课。

那么,VLAN 到底是什么?它是如何工作的?又该如何配置?
本文将带你从零到精通,用最通俗易懂的方式,让你彻底搞懂 VLAN!🚀

🔹 第一部分:VLAN 基础概念

VLAN的全称是Virtual LAN:虚拟局域网;

首先,VLAN是工作在二层的协议,其最初的目的是用来在交换机上分割[广播域](广播域和冲突域的区分和计算 - 轩悦 - 博客园),隔绝网络风暴的。

在网络中,所有的二层设备互联,组成一个广播域,一个广播域内的所有节点能够接收所有的广播报文,那么当我的网络足够庞大的时候,一个微小的变更便会引起非常多且庞大的广播风暴;

另外,一个广播域内的所有主机之间是能够互相通信的,这在一定程度上也不满足现在企业对于网络安全的要求;

在现代企业网架构中一般都会需要针对不同的部门、区域进行网络划分,如果这个时候使用独立的物理设备进行隔离,那么这将大大增加企业的IT设备投入的成本,并增大IT运维人员的运维成本和工作量,而VLAN技术能够很好的拒绝这样的情况发生,即通过逻辑上的隔离,实现不同区域或部门之间的隔离,而非物理上的隔离;

🔹 第二部分:VLAN 的类型

VLAN的类型分为以下四种:

  1. 基于端口的静态划分;
  2. 基于MAC地址的动态划分;
  3. 基于交换机子网的划分;
  4. 根据协议的子网划分;

基于端口的静态划分

这种方式是指将交换机指定端口划定指定VLAN,这样所有接在这个接口下的节点都将属于这个VLAN。

基于MAC地址的动态划分

这种方式是指将特定MAC划定指定VLAN,当这个MAC从这个交换的任意接口接入的时候,都将属于指定的VLAN,不会变化。

基于交换机子网的划分

这种方式是指定子网,将子网划分到特定的VLAN中

基于协议的子网划分

这种方式是根据不同的协议,将对应的协议划分指对应的VLAN,这种方式只能工作在三层交换机上,因为只有三层交换机测i能够关注到协议层

🔹 第三部分:VLAN 的匹配顺序

qownnotes-media-WcyuDU

那么一个数据帧进入到交换机,交换机会如何去进行匹配呢?参照上图:

第一步,交换机接收到了数据帧,交换机需要先判断这个数据帧是否是携带Tag(Tag的概念以及构成我们将在后面讲到);

如果这个数据帧是带Tag的,那么交换机将判断这个数据帧进来的这个接口是否允许这个Tag的数据帧进入,如果不允许,则将数据帧丢弃;如果允许则将这个数据帧转发出去;

如果这个数据帧是不携带Tag,那么则按照以下顺序依次进行判断,如果没有匹配的则向下查询:

  1. 是否有以源MAC匹配的MAC-VLAN表项,如果有,则匹配对应的VLAN ID和优先级,并转发;如果没有则向下判断;
  2. 是否有以源IP匹配的IP子网VLAN,如果有,则将帧划分到对应的VLAN中,并转发;如果没有则向下判断;
  3. 是否有根据协议划分的VLAN,如果有则打上对应的VLAN ID,并转发;如果没有,则向下执行;
  4. 当以上都没有匹配的时候,则给这个数据帧打上这个接口的缺省VLAN ID并转发;

🔹 第四部分:VLAN 的链路类型

上面我们将VLAN的匹配顺序的时候,有两个场景,一个是数据帧过来的时候是携带了Tag的,另一个是数据帧没有携带Tag的,那么为什么会有这样两个不同的场景呢?

我们可以看一下下面这张图:

image-20250327230346712

我们在网络中,一般都会出现这样类似的架构,就是两个交换机之间首先是有互联线的,然后每个交换机下面再链接多个PC终端;

那么在交换机上我们是可以设置VLAN的,但是在PC终端上我们往往只能够给接口设置IP地址,而不能够设置VLAN ID;

那这个时候其实就存在两种链路,一种是PC终端和交换机之间联通的链路,我们一般称为Access链路;另一种是交换机和交换机之间互联的链路,我们成为Trunk链路。

那么是不是说只要是交换机之间互联的链路都是Trunk链路呢?其实不是的,真正严谨的说法应该是:

Access链路是指这个链路在传递数据帧的时候是不携带VLAN标签的;

而Trunk链路是指在传递数据帧的时候是携带VLAN标签的。

那么为什么会出现Trunk链路呢?我们可以想象以下这样的场景:

image-20250327230947256

图中PC1和PC3都属于VLAN 11,PC2和PC4都属于VLAN 12,但是我在CE1和CE2之间只连了一根线,那么这个时候我如何做到同一VLAN之间的交换机能够互相通信呢?

我们都知道,交换机中的一个接口只能够属于一个VLAN,因此我有没有办法让交换机在传递数据帧的时候带上一个标签,告诉对端接收的交换机,这个数据帧所属的VLAN,然后再由接收端交换机根据这个标签来进行匹配呢?

这其实就是我们Trunk链路出现的初衷。

就是让数据帧再传递的时候携带上对应的标签,当到达对端接收交换机的时候,对端接收交换机能够根据这个标签进行匹配,从而实现再一条链路中能够传递多个VLAN的数据帧,从而减少链路的消耗,提高链路的利用率。

🔹 第五部分:VLAN的工作原理

我们上面有提到,VLAN的技术实际上就是交换机在数据帧到达或传递的过程中对数据帧进行打标签、标签匹配、剥离标签的过程,那么这个标签是存在在数据帧的什么位置呢?

下图是VLAN帧的格式:

没有携带TAG的数据帧:

qownnotes-media-VWaxLb

携带TAG的数据帧:

qownnotes-media-XwwxTn

这里我们可以看到,VLAN的工作原理其实就是在数据帧的第12个字节后面插入4字节的Tag数据帧,那么这四字节都是有哪些内容构成呢?

  1. TPID:占2bit,代码是0x8100,表示当前数据帧使用的是IEEE 802.1Q封装的
  2. Pri:占3bit,优先级,所以优先级可以设置的值是0-7
  3. CFI:占1bit,0或1,表明当前使用的是标准的48bit的MAC地址
  4. VLAN ID:占12bit,真正表示当前数据来自哪个VLAN,所以交换机能够创建的VLAN是1-4094(2^12),0是不能用的,默认存在1

🔹 第六部分:特殊端口类型

在华为交换机中,有一个较为特殊的端口类型,Hybird

该端口类型既可以链接主机,也可以链接交换机,它可以使用Tagged或Untagged的方式加入VLAN,并且具备抹除标签的功能。

🔹 第七部分:配置实验

实验一:

qownnotes-media-RtExfo


实验目的:相同VLAN的主机能够通信,不同VLAN的主机不能通信

# SWA:
<Huawei>system	
<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname SWA
[SWA]
Jan  8 2025 10:48:00-08:00 SWA DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25
.191.3.1 configurations have been changed. The current change number is 4, the c
hange loop count is 0, and the maximum number of records is 4095.

[SWA]undo info-center enable
Info: Information center is disabled.
[SWA]vlan 2
[SWA-vlan2]vlan 3
[SWA-vlan3]interface E0/0/2
[SWA-Ethernet0/0/2]port link-type access
[SWA-Ethernet0/0/2]port default vlan 2
[SWA-Ethernet0/0/2]interface E0/0/3
[SWA-Ethernet0/0/3]port link-type access
[SWA-Ethernet0/0/3]port default vlan 3
[SWA-Ethernet0/0/3]interface E0/0/1
[SWA-Ethernet0/0/1]port link-type trunk
[SWA-Ethernet0/0/1]port trunk allow-pass vlan all
<SWA>display current-configuration 
#
sysname SWA
#
undo info-center enable
#
vlan batch 2 to 3
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
 authentication-scheme default
 authorization-scheme default
 accounting-scheme default
 domain default
 domain default_admin
 local-user admin password simple admin
 local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
 port link-type access
 port default vlan 2
#
interface Ethernet0/0/3
 port link-type access
 port default vlan 3
------------------------------------
# SWB:
<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]
[Huawei]
[Huawei]undo info-center enable 
Info: Information center is disabled.
[Huawei]sysname SWB
[SWB]vlan 2
[SWB-vlan2]vlan 3
[SWB-vlan3]interface E0/0/2
[SWB-Ethernet0/0/2]port link-type access
[SWB-Ethernet0/0/2]port default vlan 2
[SWB-Ethernet0/0/2]interface E0/0/3
[SWB-Ethernet0/0/3]port link-type access
[SWB-Ethernet0/0/3]port default vlan 3
[SWB-Ethernet0/0/3]interface E0/0/1
[SWB-Ethernet0/0/1]port link-type trunk
[SWB]interface E0/0/1
[SWB-Ethernet0/0/1]port link-type trunk
[SWB-Ethernet0/0/1]port trunk allow-pass vlan all
<SWB>display current-configuration 
#
sysname SWB
#
undo info-center enable
#
vlan batch 2 to 3
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
 authentication-scheme default
 authorization-scheme default
 accounting-scheme default
 domain default
 domain default_admin
 local-user admin password simple admin
 local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
 port link-type access
 port default vlan 2
#
interface Ethernet0/0/3
 port link-type access
 port default vlan 3
#

实验二:

qownnotes-media-itLwpr


实验目的:相同VLAN的主机能够通信,不同VLAN的主机不能通信

# SWA:
<Huawei>
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable 
Info: Information center is disabled.
[Huawei]sysname SWA2
[SWA2]
[SWA2]
[SWA2]vlan 2
[SWA2-vlan2]vlan 3
[SWA2-vlan3]vlan 4
[SWA2-vlan4]
[SWA2]interface E0/0/2
[SWA2-Ethernet0/0/2]port link-type access
[SWA2-Ethernet0/0/2]port default vlan 2
[SWA2-Ethernet0/0/2]interface E0/0/3
[SWA2-Ethernet0/0/3]port link	
[SWA2-Ethernet0/0/3]port link-type access
[SWA2-Ethernet0/0/3]port default vlan 3
[SWA2-Ethernet0/0/3]interface E0/0/4
[SWA2-Ethernet0/0/4]port link-type access
[SWA2-Ethernet0/0/4]port default vlan 4
[SWA2-Ethernet0/0/4]interface E0/0/1
[SWA2-Ethernet0/0/1]port link-type trunk
[SWA2-Ethernet0/0/1]port trunk allow-pass vlan all
[SWA2-Ethernet0/0/1]q
[SWA2]display curr	
[SWA2]display current-configuration 
#
sysname SWA2
#
undo info-center enable
#
vlan batch 2 to 4
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
 authentication-scheme default
 authorization-scheme default
 accounting-scheme default
 domain default
 domain default_admin
 local-user admin password simple admin
 local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
 port link-type access
 port default vlan 2
#
interface Ethernet0/0/3
 port link-type access
 port default vlan 3
#
interface Ethernet0/0/4
 port link-type access
 port default vlan 4
#
---------------------
# SWB:
<Huawei>
<Huawei>SYSTEM-V	
<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.	
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]sysname SWB2
[SWB2]vla 2
[SWB2-vlan2]vlan 3
[SWB2-vlan3]vlan 4
[SWB2]interface E0/0/3
[SWB2-Ethernet0/0/3]port link-type access
[SWB2-Ethernet0/0/3]port default vlan 2
[SWB2-Ethernet0/0/3]interface E0/0/4
[SWB2-Ethernet0/0/4]port link-type access
[SWB2-Ethernet0/0/4]port default vlan 3
[SWB2-Ethernet0/0/4]interface E0/0/1
[SWB2-Ethernet0/0/1]
[SWB2-Ethernet0/0/1]port link-type trunk
[SWB2-Ethernet0/0/1]port trunk allow-pass vlan all
[SWB2-Ethernet0/0/1]interface E0/0/2
[SWB2-Ethernet0/0/2]port link-type trunk
[SWB2-Ethernet0/0/2]port trunk allow-pass vlan all
[SWB2-Ethernet0/0/2]q
[SWB2]display current-configuration 
#
sysname SWB2
#
undo info-center enable
#
vlan batch 2 to 4
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
 authentication-scheme default
 authorization-scheme default
 accounting-scheme default
 domain default
 domain default_admin
 local-user admin password simple admin
 local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/3
 port link-type access
 port default vlan 2
#
interface Ethernet0/0/4
 port link-type access
 port default vlan 3
#
------------------
# SWC:
<Huawei>
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.	
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]sysname SWC2
[SWC2]vlan 2
[SWC2-vlan2]vlan 3
[SWC2-vlan3]vlan 4
[SWC2]interface E0/0/1
[SWC2-Ethernet0/0/1]port link-type trunk
[SWC2-Ethernet0/0/1]port trunk allow-pass vlan all
[SWC2-Ethernet0/0/1]interface E0/0/2
[SWC2-Ethernet0/0/2]port link-type access
[SWC2-Ethernet0/0/2]port default vlan 3
[SWC2-Ethernet0/0/2]interface E0/0/3
[SWC2-Ethernet0/0/3]port link-type access
[SWC2-Ethernet0/0/3]port default vlan 4
[SWC2-Ethernet0/0/3]q
[SWC2]display current-configuration 
#
sysname SWC2
#
undo info-center enable
#
vlan batch 2 to 4
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
diffserv domain default
#
drop-profile default
#
aaa
 authentication-scheme default
 authorization-scheme default
 accounting-scheme default
 domain default
 domain default_admin
 local-user admin password simple admin
 local-user admin service-type http
#
interface Vlanif1
#
interface MEth0/0/1
#
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
 port link-type access
 port default vlan 3
#
interface Ethernet0/0/3
 port link-type access
 port default vlan 4
#

实验三:

qownnotes-media-PAAoQJ


实验目的:VLAN2中的Client A能够和ClientB,C,D通信,令VLAN 3中的Client B能够和A/C/D通信,VLAN 4中的C不能够和VLAN 5中的D通信

# SWA:
<Huawei>
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]sysname SWA
[SWA]vlan 2
[SWA-vlan2]vlan 3
[SWA-vlan3]vlan 4
[SWA-vlan4]vlan 5
Enter system view, return user view with Ctrl+Z.
[SWA]interface E0/0/2
[SWA-Ethernet0/0/2]port link-type hybrid
[SWA-Ethernet0/0/2]port hybrid untagged vlan 2 to 5
[SWA-Ethernet0/0/2]port hybrid pvid vlan 2
[SWA-Ethernet0/0/2]interface E0/0/3
[SWA-Ethernet0/0/3]port link-type hybrid 
[SWA-Ethernet0/0/3]port hybrid untagged vlan 2 to 5	
[SWA-Ethernet0/0/3]port hybrid pvid vlan 3
[SWA-Ethernet0/0/3]interface E0/0/1
[SWA-Ethernet0/0/1]port link	
[SWA-Ethernet0/0/1]port link-t	
[SWA-Ethernet0/0/1]port link-type trunk
[SWA-Ethernet0/0/1]port trunk allow-pass vlan all
[SWA-Ethernet0/0/1]q
[SWA]display current-configuration 
#
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
 port hybrid pvid vlan 2
 port hybrid untagged vlan 2 to 5
#
interface Ethernet0/0/3
 port hybrid pvid vlan 3
 port hybrid untagged vlan 2 to 5
#
---------
# SWB:
<Huawei>
<Huawei>system-view
Enter system view, return user view with Ctrl+Z.	
[Huawei]undo info-center enable
Info: Information center is disabled.
[Huawei]sysname SWB
[SWB]vlan 2
[SWB-vlan2]vlan 3
[SWB-vlan3]vlan 4
[SWB-vlan4]vlan 5
[SWB-vlan5]interface E0/0/2
[SWB-Ethernet0/0/2]port link-type hybrid 	
[SWB-Ethernet0/0/2]port hybrid untagged vlan 2 to 4
[SWB-Ethernet0/0/2]port hybrid pvid vlan 4
[SWB-Ethernet0/0/2]interface E0/0/3
[SWB-Ethernet0/0/3]port link-type hybrid 
[SWB-Ethernet0/0/3]port hybrid untagged vlan 2 to 3 5
[SWB-Ethernet0/0/3]port hybrid pvid vlan 5
[SWB-Ethernet0/0/3]interface E0/0/1
[SWB-Ethernet0/0/1]port link-type trunk
[SWB-Ethernet0/0/1]port trunk allow-pass vlan all
<SWB>display current-configuration
interface Ethernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
#
interface Ethernet0/0/2
 port hybrid pvid vlan 4
 port hybrid untagged vlan 2 to 4
#
interface Ethernet0/0/3
 port hybrid pvid vlan 5
 port hybrid untagged vlan 2 to 3 5
#

🔹 结尾:

好啦,今天的内容到这里就结束了,那么我们来回顾一下VLAN的知识点:

  1. VLAN的作用是用来隔离广播域,增强网络安全性,逻辑隔离,提高链路利用率的;

  2. VLAN的链路类型分为Trunk和Access两种类型,Trunk类型在数据帧经过交换机的时候就将数据帧打上VLAN Tag,Access类型在数据帧经过交换机的时候会将数据帧中的VLAN Tag剥离

  3. VLAN一共有四种划分类型,分别是:基于端口的、基于MAC地址的、基于交换机子网的、基于协议的

  4. VLAN的匹配顺序

  5. VLAN的Tag取值范围

下一期,我们聊一聊二层中的另一个重要协议,STP。

See yo!

Motto: Actions speak louder than words.

posted @ 2025-03-28 00:08  爱吃肉的小Jeremy  阅读(105)  评论(0)    收藏  举报