HCIP——VLAN
VLAN(Virtual Local Area Network,虚拟局域网)是一种将物理局域网划分成多个逻辑上独立的虚拟网络的技术。简单说,就是在同一个物理交换机/网络设备上,逻辑地隔离出多个互不干扰的“小网络”
1. VLAN划分依据
1.1 基于端口划分
最常见、最常用的方式。
-
依据:交换机物理端口。
-
规则:把某个端口划入某个 VLAN,插在该端口上的设备就属于该 VLAN。
-
特点:
-
配置简单、直观,性能好。
-
设备换端口就要重新配置。
-
无法识别同一端口下连接多台设备的情况(除非用 Hybrid 等特殊模式)。
-
例:交换机端口 1–8 划入 VLAN 10,端口 9–16 划入 VLAN 20。
1.2 基于 MAC 地址划分
-
依据:设备的 MAC 地址。
-
规则:预先配置 MAC 地址与 VLAN 的映射表,设备接入任意端口都按 MAC 归属 VLAN。
-
特点:
-
设备移动位置,VLAN 不变,灵活性好。
-
需要维护大量 MAC–VLAN 映射,管理成本高。
-
适合移动办公、笔记本经常换位置的场景。
-
1.3 基于协议划分
-
依据:网络层协议类型(如 IP、IPX、AppleTalk)。
-
规则:不同协议的数据帧划入不同 VLAN。
-
特点:
-
早期多协议网络中使用。
-
现在网络基本以 IP 为主,这种划分方式已很少用。
-
1.4 基于子网划分
-
依据:IP 子网 / 网络层地址。
-
规则:根据数据帧的源 IP 所属子网决定 VLAN。
-
特点:
-
与三层逻辑规划一致,便于管理。
-
需要交换机具备三层识别能力,性能开销较大。
-
用户改 IP 就可能改变所属 VLAN,安全性一般。
-
1.5 基于策略划分
-
依据:组合条件,如 MAC + IP + 端口 + 协议 + 时间等。
-
规则:按管理员定义的策略灵活划分。
-
特点:
-
最灵活,适合复杂场景。
-
配置和管理复杂,对设备要求高。
-
1.6 基于 802.1Q 标签划分
严格说这不是“划分依据”,而是跨交换机传递 VLAN 信息的方式,但常与划分一起讨论。
-
依据:数据帧中携带的 802.1Q VLAN 标签。
-
规则:交换机根据帧里的 VLAN ID 决定转发到哪个 VLAN。
-
特点:
-
Trunk 链路上必备。
-
是 VLAN 跨设备扩展的基础。
-
2. 具体流程

1> 创建VLAN
创建VLAN 交换机默认存在VLAN1,并且,所有的接口都属于VLAN 1
VID --- 12位二进制构成 --- 1- 4094
[Huawei]vlan 2 [Huawei-vlan2]qu [Huawei]vlan batch 4 5 6 to 100 --- 批量创建VLAN [Huawei]undo vlan batch 4 to 100 --- 批量删除VLAN
2> 将接口划入VLAN
802.1Q 帧 --- tagged帧
以太网Ⅱ型帧 --- untagged帧
根据以上特性,交换机连接电脑的链路称为access链路,这样的链路只能通过untagged帧,并且,这些帧都属于同一个vlan,交换机侧的接口称为access接口;交换机和交换机之间的链路称为trunk链路,这样的链路可以通过tagged帧,并且,允许通过多种不同的vlan,交换机测的接口称为trunk接口
[SW1]interface GigabitEthernet0/0/1 ------单个接口 [SW1-GigabitEthernet0/0/1]port link-type access ------ 确定链路接口类型 [SW1-GigabitEthernet0/0/1]port default vlan 2 ------ 确定接口的VLAN [SW1]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/2 -------多个接口

值得注意的是,arp -a这条命令表示显示当前ARP(将IP地址映射成物理地址,地址解析协议)缓存表中的所有条目,只有在通信以后才会有路由条目信息;最小VLAN通传原则(只需要哪种VLAN流量就放通哪个),所以说port trunk allow-pass vlan all这段指令不要轻易使用。
3> 配置Trunk干道
[SW1-GigabitEthernet0/0/3]in g 0/0/4 [SW1-GigabitEthernet0/0/4]port link-type trunk [SW1-GigabitEthernet0/0/4]port trunk allow-pass vlan 2 3
4> 配置VLAN间路由
通过配置VLAN间路由实现不同VLAN配置的是不同网段之间的设备通过三层设备能够进行转发数据,进而实现设备间的互通
2.4.1 单臂路由

在接入路由器以后,我们需要知道通往路由器的接口类型是什么类型
即:为trunk,原因是一条线路需要通过多个vlan的数据
[SW1]in g 0/0/5 [SW1-GigabitEthernet0/0/5]port link-type trunk [SW1-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 3 <Huawei>sys [Huawei]sys AR1 [AR1]in g 0/0/0.1 [AR1-GigabitEthernet0/0/0.1]ip address 192.168.2.4 24 [AR1-GigabitEthernet0/0/0.1]dot1q termination vid 2 -- 识别标签,将子接口能够识别802.1Q的数据 [AR1-GigabitEthernet0/0/0.1]arp broadcast enable -- 开启ARP广播应答功能,因为子接口默认不做ARP应答 [AR1-GigabitEthernet0/0/0.1]in g 0/0/0.2 [AR1-GigabitEthernet0/0/0.2]ip address 192.168.3.3 24 [AR1-GigabitEthernet0/0/0.2]dot1q termination vid 3 [AR1-GigabitEthernet0/0/0.2]arp broadcast enable

值得注意的是,路由器的子接口在接收数据时会查看标签,当接收到802.1Q的数据帧时,会将标签剥离,以纯净的以太网帧交给三层路由模块进行查看和转发
2.4.2 多臂路由

在接入路由以后,我们需要知道的是,交换机通往路由器的两个接口是什么类型的接口
即:均为access,原因是路由器无法识别标签,access接口在发出数据时会将标签撕掉,而trunk只会在发送相同PVID的VID数据才会不打标签发出去
<Huawei>sys [R1]in g 0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.2.4 24 [R1-GigabitEthernet0/0/0]in g 0/0/1 [R1-GigabitEthernet0/0/1]ip address 192.168.3.3 24 [SW1]in g 0/0/5 [SW1-GigabitEthernet0/0/5]port link-type access [SW1-GigabitEthernet0/0/5]port default vlan 2 [SW1]in g 0/0/6 [SW1-GigabitEthernet0/0/6]port link-type access [SW1-GigabitEthernet0/0/6]port default vlan 3

2.4.3 单臂路由与多臂路由在转发过程中的区别
单臂路由与多臂路由在转发过程中的区别(以PC1向PC3发送数据为例)
单臂路由:SIP[192.168.2.1] DIP[192.168.3.1]
SMAC[PC1] DMAC[0/0/0/0接口]
SIP[192.168.2.1] DIP[192.168.3.1]
SMAC[路由器0/0/0/0接口] DMAC[PC3]
多臂路由:SIP[192.168.2.1] DIP[192.168.3.1]
SMAC[PC1] DMAC[路由器0/0/0接口]
SIP[192.168.2.1] DIP[192.168.3.1]
SMAC[路由器0/0/0接口] DMAC[PC3]
5> 配置三层交换机

Vlanif接口:三层交换机的虚拟接口,他需要实际的物理接口承载流量,即需要被划分到某个VLAN的物理接口来承载流量,且Vlanif接口需要与VLAN对应,也就是说在划分Vlanif接口之前需要划分VLAN,在已有VLAN上划分Vlanif接口
二层交换机只需要一个IP地址方便远程管理,所以只需要一个Vlanif接口
管理VLAN:配置Vlanif接口对应的VLAN
三层交换机每个VLAN都可以创建一个Vlanif接口,且三层交换机具有路由表,所以可以称为网关设备
数据转发过程,以PC1向PC3为例
数据转发:SIP[192.168.2.1] DIP[192.168.3.1]
SMAC[PC1] DMAC[交换机的Vlanif虚拟MAC]
SIP[192.168.2.1] DIP[192.168.3.1]
SMAC[交换机的Vlanif虚拟MAC] DMAC[PC3]
注意:在数据转发过程中需要MAC地址,三层交换机可以通过ARP应答报文告诉三层交换机自己的Vlanif这个虚拟接口的虚拟MAC地址
数据转发:在PC1向PC3发送数据时,数据会先到达网关,然后再由网关查看本地路由表,并转发给具体网段和设备。在转发到网关(三层交换机)时,三层交换机会先进行解二层封装(在解封装的过程中会Vlan的标签会被去掉),其次查看本地路由表(数据要发送的具体设备和网段),然后在交换机内部转发到划分了VLAN3的所有物理接口,最后将二层封装并打上VLAN3标签进行数据的转发
[SW1]interface Vlanif 2 [SW1-Vlanif2]ip address 192.168.2.4 24 [SW1]interface Vlanif 3 [SW1-Vlanif3]ip address 192.168.3.3 24 [SW1]display ip interface brief -- 查看


3. PVID---Trunk接口
PVID(端口缺省VLAN ID):是交换机端口的一个属性,它决定了这个端口如何处理收到的无标签帧
[SW1]interface GigabitEthernet 0/0/1 [SW1-GigabitEthernet0/0/1]port trunk pvid vlan 100 --- 将VLAN ID修改为100,默认是1 [SW2-GigabitEthernet0/0/3]undo port trunk allow-pass vlan 1 --- 取消放通VLAN 1
场景一 -- 连接终端设备
当 Trunk 接口连接的是无法识别 VLAN 标签的终端设备(如 PC、服务器、AP)时,需要将其 PVID 修改为终端所属的 VLAN ID。这样,终端发出的无标签数据帧进入交换机时会被打上正确的 VLAN 标签;而交换机发往终端的帧则会剥离标签,确保终端能正常接收
场景二 -- 通过 Trunk 链路承载特定 VLAN
在交换机之间互联时,如果希望某个特定 VLAN(例如管理 VLAN)的报文在通过 Trunk 链路时不携带标签,可以将该 VLAN 设置为接口的 PVID。这是一种常见的网络设计需求,例如在某些无线组网场景中,将管理 VLAN 100 配置为 PVID
场景三 -- 实现不同 VLAN 的通信
在某些特定组网中,通过规划 Trunk 接口的 PVID,可以使连接在该接口上的设备(通常是无标签设备)被划入特定的 VLAN,从而实现与网络中其他 VLAN 的互访
4. 接口类型

[SW1]display port vlan active -- 查看端口VLAN状态 Link Type:允许通过的链路类型 PVID:允许通过接口的VLAN ID VLAN List:允许通过的VLAN列表 U/T:U---不打标签;T---打标签发送数据 注意:华为设备所有接口的默认类型为hybrid,且PVID默认为1 注意:华为交换机内部的数据帧都必须打上标签,如果没有标签的数据帧进入到交换机中,也会先打上标签---该接口对应的VID的标签 注意:Trunk接口在发送数据时,发送的是与自身PVID(也就是说自身端口的VLAN ID)相同的VLAN数据是不携带标签进行发送的 注意:不同接口就是在定制VLAN通行表的不同权限
4.1 ACCESS接口
ACCESS接口默认是剥离标签发出数据,对发入的数据标签无要求
ACCESS接口只允许修改PVID,且只允许通过一个VLAN数据
4.1.1 场景一 --- 链路上收到untagged帧
如果从链路上接收到一个untagged帧,先给数据帧打上接口PVID对应VID的标签,之后,看 VLAN LIST,如果VLAN LIST中存在对应的VID,则允许转发该数据帧。因为ACCESS接口默认放通PVID(接口的虚拟局域网的ID)对应的VID(虚拟局域网的ID),所以,必然可以进行转发。
4.1.2 场景二 --- 其他接口收到tagged帧
如果从交换机的其他接口接收到一个tagged帧,因为已经存在标签,则不需要再打标签,之后,需要看允许列表是否允许该VID的数据帧通过,如果允许放通,则允许发出到链路上,发出前需要观察U/T标记,因为是ACCESS接口,所以,需要剥离标签发出。如果允许列表中没有该VID,则直接丢弃该数据帧,不转发。(交换机内部对其他接口进行转发,仅查看是否允许携带标签,是否对其进行剥离)
4.1.3 场景三 --- 链路上收到tagged帧
如果从链路上接收到一个tagged帧,因为已经存在标签,所以不需要打标签,直接观察允许列表,是否放通该VID,如果允许列表中存在,则直接转发;如果不存在,则直接丢弃该数据帧,不转发。(一个是Trunk接口,另一个是Access接口)
4.2 Trunk接口
Trunk接口允许修改VID和PVID,允许多个VLAN数据通过;不能修改U/T标记
Trunk接口在发送数据时,会先查看发送的数据的VID是否和自己的PVID相同,相同就会剥离标签将数据发出
4.2.1 场景一 -- 链路上接收到tagged帧
如果从链路上接收到一个tagged帧,因为已经存在标签,所以,不需要打标签,直接观察允许列表,是否放通该VID,如果允许列表中存在,则直接转发;如果不存在,则直接丢弃该数据帧,不转发。
4.2.2 场景二 -- 其他接口收到数据帧
如果从交换机的其他接口接收到一个数据帧,因为已经存在标签,则不需要再打标签,之后,需要看允许列表是否允许该VID的数据帧通过,如果允许放通,则允许发出到链路上,发出前需要观察U/T标记,因为是Trunk接口,大多数情况需要带标签发出,除非该数据帧中的VID和接口的PVID相同,则剥离标签发出;如果允许列表中没有该VID,则直接丢弃该数据帧,不转发。(交换机内部对其他接口进行转发,仅查看是否允许携带标签,是否对其进行剥离)
4.2.3 场景三 -- 链路上收到untagged帧
如果从链路上收到一个untagged帧,先给数据帧打上接口PVID对应VID的标签,之后,看 VLAN LIST,如果VLAN LIST中存在对应的VID,则允许转发该数据帧。如果允许列表中不存在,则丢弃该数据帧不转发
4.3 Hybrid接口
Hybrid可以修改PVID、VID、U/T标记(发出数据是否携带标签)
5. VLAN练习
5.1 同一VLAN实现不同设备之间的隔离

<Huawei>sys [Huawei]sys SW1 [SW1]vlan batch 2 3 4 [SW1]interface GigabitEthernet 0/0/1 [SW1-GigabitEthernet0/0/1]port link-type hybrid [SW1-GigabitEthernet0/0/1]port hybrid pvid vlan 2 [SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3 4 [SW1-GigabitEthernet0/0/1]in g 0/0/2 [SW1-GigabitEthernet0/0/2]port link-type hybrid [SW1-GigabitEthernet0/0/2]port hybrid pvid vlan 3 [SW1-GigabitEthernet0/0/2]port hybrid untagged vlan 2 3 [SW1-GigabitEthernet0/0/2]in g 0/0/3 [SW1-GigabitEthernet0/0/3]port link-type trunk [SW1-GigabitEthernet0/0/3]port trunk allow-pass vlan 2 3 4 <Huawei>sys [Huawei]sys SW2 [SW2]vlan batch 2 3 4 [SW2]in g 0/0/1 [SW2-GigabitEthernet0/0/1]port link-type hybrid [SW2-GigabitEthernet0/0/1]port hybrid pvid vlan 4 [SW2-GigabitEthernet0/0/1]port hybrid untagged vlan 2 4 [SW2-GigabitEthernet0/0/1]in g 0/0/2 [SW2-GigabitEthernet0/0/2]port link-type trunk [SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 2 3 4 注意:我们要遵循最小VLAN通传原则,也就是说,原本Hybird接口默认是放通VLAN 1的,我们需要将PVID为VLAN 1进行删除
[SW1-GigabitEthernet0/0/1]undo port hybrid untagged vlan 1 [SW1-GigabitEthernet0/0/2]undo port hybrid untagged vlan 1 [SW2-GigabitEthernet0/0/1]undo port hybrid untagged vlan 1

5.2 VLAN综合实验

//SW1---创建vlan <Huawei>sys [Huawei]sys SW1 [SW1]vlan batch 2 3 4 5 6 //SW1---配置接口 [SW1]in g 0/0/2 [SW1-GigabitEthernet0/0/2]port link-type access [SW1-GigabitEthernet0/0/2]port link-type access [SW1-GigabitEthernet0/0/2]port default vlan 2 [SW1-GigabitEthernet0/0/2]in g 0/0/3 [SW1-GigabitEthernet0/0/3]port link-type hybrid [SW1-GigabitEthernet0/0/3]port hybrid pvid vlan 3 [SW1-GigabitEthernet0/0/3]port hybrid untagged vlan 3 4 5 6 [SW1]in g 0/0/4 [SW1-GigabitEthernet0/0/4]undo port trunk allow-pass vlan 1 [SW1-GigabitEthernet0/0/4]in g 0/0/1 [SW1-GigabitEthernet0/0/1]port link-type hybrid [SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 3 4 5 6 [SW1-GigabitEthernet0/0/1]port hybrid tagged vlan 2 //SW2---配置端口 <Huawei>sys [Huawei]sys SW2 [SW2]vlan batch 2 3 4 5 6 [SW2]in g 0/0/1 [SW2-GigabitEthernet0/0/1]port link-type access [SW2-GigabitEthernet0/0/1]port default vlan 2 [SW2-GigabitEthernet0/0/1]in g 0/0/2 [SW2-GigabitEthernet0/0/2]port link-type hybrid [SW2-GigabitEthernet0/0/2]port hybrid pvid vlan 4 [SW2-GigabitEthernet0/0/2]port hybrid untagged vlan 3 4 5 [SW2-GigabitEthernet0/0/2]undo port hybrid vlan 1 [SW2-GigabitEthernet0/0/2]in g 0/0/3 [SW2-GigabitEthernet0/0/3]port link-type trunk [SW2-GigabitEthernet0/0/3]port trunk allow-pass vlan 2 3 4 5 6 [SW2-GigabitEthernet0/0/3]undo port trunk allow-pass vlan 1 [SW2-GigabitEthernet0/0/3]in g 0/0/4 [SW2-GigabitEthernet0/0/4]port link-type trunk [SW2-GigabitEthernet0/0/4]port trunk allow-pass vlan 3 4 5 6 [SW2-GigabitEthernet0/0/4]undo port trunk allow-pass vlan 1 //SW3---配置端口 <Huawei>sys [Huawei]sys SW3 [SW3]vlan batch 2 3 4 5 6 [SW3]in g 0/0/1 [SW3-GigabitEthernet0/0/1]port link-type hybrid [SW3-GigabitEthernet0/0/1]port hybrid pvid vlan 5 [SW3-GigabitEthernet0/0/1]port hybrid untagged vlan 3 4 5 [SW3]in g 0/0/2 [SW3-GigabitEthernet0/0/2]port link-type hybrid [SW3-GigabitEthernet0/0/2]port hybrid pvid vlan 6 [SW3-GigabitEthernet0/0/2]port hybrid untagged vlan 3 6 [SW3-GigabitEthernet0/0/2]undo port hybrid vlan 1 [SW3-GigabitEthernet0/0/3]port trunk allow-pass vlan 3 4 5 6 [SW3-GigabitEthernet0/0/3]undo port trunk allow-pass vlan 1 //R1---配置子接口与单臂路由 <Huawei>sys [Huawei]sys R1 [R1]in g 0/0/0.1 [R1-GigabitEthernet0/0/0.1]ip address 192.168.1.1 24 [R1-GigabitEthernet0/0/0.1]dot1q termination vid 2 [R1-GigabitEthernet0/0/0.1]arp broadcast enable [R1]in g 0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.2.1 24 //R1---配置DHCP [R1]dhcp enable [R1]ip pool 1 [R1-ip-pool-1]network 192.168.1.0 mask 24 [R1-ip-pool-1]gateway-list 192.168.1.1 [R1]ip pool 2 [R1-ip-pool-2]network 192.168.2.0 mask 24 [R1-ip-pool-2]gateway-list 192.168.2.1 [R1]in g 0/0/0 [R1-GigabitEthernet0/0/0]dhcp select global [R1-GigabitEthernet0/0/0]in g 0/0/0.1 [R1-GigabitEthernet0/0/0.1]dhcp select global

值得注意的是,这里无法正常获取IP地址,原因是因为在上面的操作中我们遵循了最小VLAN通传原则,不允许放通VLAN1的流量,且DHCP默认走的是VLAN1的流量(我们没有为SW1的0/0/4接口设置pvid,默认走vlan1),那我们重新放通就可以获取到了

我们现在进行检验,ping的是PC1

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)