vlan(虚拟局域网)逻辑图解+实验详解
VLAN(Virtual Local Area Network,虚拟局域网)
是一种通过逻辑方式(非物理连接)将网络设备划分为多个独立广播域的技术。它允许管理员在同一个物理网络中创建多个隔离的虚拟网络,从而提升网络的安全性、灵活性和管理效率。
VLAN 原理
- VLAN 技术通过给数据帧插入 VLAN 标签(又叫 VLAN TAG )的方式,让交换机能够分辨出各个数据帧所属的 VLAN 。
VLAN字段
VLAN 标签是用来区分数据帧所属 VLAN 的,是 4 个字节长度的字段,插入到以太网帧头部上。VLAN 标签会插入到源 MAC地址后面, IEEE 802.1Q标准有这个格式定义和字段构成说明。
- TPID (标签协议标识符):
值为 0x8100 ,用来表示这个数据帧携带了 802.1Q 标签。不支持 802.1Q 标准的设备收到这类数据帧,会把它丢弃。
- TCI (标签控制信息):
又分为三个子字段
优先级( Priority):长度为 3 比特,取值范围 0 ~ 7 ,用来表示数据帧的优先级。取值越大,优先级越高。当交换机发送拥塞是,优先转发优先级高的数据帧。
CFI/DEI(1 位) (规范格式指示器):长度为 1 比特,取值非 0 即 1 ,在以太网中,通常取值为0。
VLAN ID ( VLAN 标识符):长度为 12 比特,用来表示 VLAN 标签的数值。取值范围是 1 ~ 4094 。
VLAN的核心概念与作用
- 广播域隔离
传统局域网(LAN)中,所有设备默认处于同一个广播域,广播流量会泛洪到所有设备。
VLAN可以将广播域划分为多个逻辑部分,不同VLAN之间的设备无法直接通信(除非通过路由器或三层交换机),从而减少不必要的广播流量。 - 基于逻辑划分
VLAN的划分不依赖物理位置,而是基于交换机端口、MAC地址、IP子网或协议等逻辑标识。
例如:同一台交换机上的不同端口可以属于不同的VLAN。 - 跨物理设备的灵活性
即使设备连接到不同的物理交换机,只要属于同一VLAN,它们就能像在同一个局域网中通信(通过Trunk链路实现)。
vlan接口类型
- Access接口
用于连接终端设备(PC、服务器),仅属于一个 VLAN - Trunk接口
用于交换机互联,允许多个 VLAN 通过(需手动指定允许的 VLAN) - Hybrid接口
混合模式,可灵活选择是否携带 VLAN 标签,可以同时处理 tagged 和 untagged 流量,适用于复杂场景
概念明确
- Access(接入)接口
如果交换机接口收到无标记帧,由交换机根据这个接口所在 VLAN 为数据帧打上 VLAN 标签;同时接口发送数据帧时,也不携带 VLAN 标签。应该把这类接口配置为Access(接入)接口, Access 接口连接的链路称为Access 链路。 - Trunk(干道)接口
如果交换机接口收到多个 VLAN 的流量,也就是收到了标记帧;同时为了让对端设备能够区分不同 VLAN 的流量,通过接口发出的流量会打上 VLAN 标签。应该把这类接口配置为 Trunk(干道)接口,相应的链路称为 Trunk链路。
划分 VLAN
- 基于端口划分 VLAN
- 基于 MAC 地址划分 VLAN
- 基于 IP 地址划分VLAN
- 基于协议划分 VLAN
- 基于策略划分 VLAN
划分 VLAN 后,交换机如何处理广播报文
- PVID(Port VLAN ID)
是交换机端口的默认 VLAN 标识符,用于处理未打标签(Untagged)的帧当端口收到一个不带 VLAN 标签的数据帧时,交换机会自动给它打上该端口的 PVID,决定它属于哪个 VLAN
跨交换机 VLAN 原理
- 终端设备不会生成带 VLAN 标签的数据帧,它们发出的数据帧叫做无标记帧(Untagged )。它们连接的交换机会给无标记帧打上 VLAN标签。交换机通过每个端口的 PVID ,判断从这个接口收到的无标记帧属于哪个 VLAN ,并在转发时,插入相应的 VLAN标签,从而将无标记帧变为标记帧( Tagged )。
当两台交换机通过端口连接时,收到的数据帧是标记帧还是无标记帧?交换机端口会如何处理呢
以vlan11数据链路为例,下面是处理的数据流程
- 主机PC6以主机PC11的MAC地址作为目的MAC地址封装了一个数据帧,从网卡发送出去。
- 交换机PC6在Access接口收到数据帧。查询MAC地址表,发现数据帧的目的地址是与交换机B相连的Trunk接口。于是交换机给数据帧打上Access接口的PVID配置,即给数据帧打上VLAN 10的标签,并从Trunk接口转发给交换机B。
- 交换机B在trunk接口收到数据帧。查看MAC地址表,发现是VLAN 11的数据帧,目的地址设备是连接在VLAN 11的一个Access接口上。于是去掉数据帧的VLAN标签,并从这个Access接口转发给主机PC11。
eNSP 实操 Access 接口和 Trunk 接口的配置(单vlan)
实验拓扑
基本配置框架
- 将 SW 1(即交换机 1)和 SW 2(即交换机 2)相连的接口配置为Trunk 接口,允许传输VLAN 5的数据
- 将PC与SW相连接口配置为 Access 接口,接口的 PVID 配置为 VLAN 5
SW1的配置如下
- vlan 5 # 创建 VLAN 5
- interface GigabitEthernet 0/0/1
- port link-type access
- port default vlan 5
- quit
- interface GigabitEthernet 0/0/2
- port link-type trunk
- port trunk allow-pass vlan 5
SW2的配置如下
- vlan 5
- interface GigabitEthernet 0/0/2
- port link-type access
- port default vlan 5
- quit
- interface GigabitEthernet 0/0/1
- port link-type trunk
- port trunk allow-pass vlan 5
PC1的配置
PC2的配置
连通性检测
已通!
抓包Trunk口验证vlan是否打上标签
eNSP 实操 Access 接口和 Trunk 接口的配置(多vlan)
sw1的配置
- vlan 10
- interface Ethernet 0/0/1
- port link-type access
- port default vlan 10
- quit
- interface GigabitEthernet 0/0/2
- port trunk allow-pass vlan 5 10
sw2的配置 - vlan 10
- interface GigabitEthernet 0/0/1
- port trunk allow-pass vlan 5 10
- quit
- interface Ethernet 0/0/1
- port link-type access
- port default vlan 10
PC配置:
连通性检测:
- 同vlan连通性检测(PC3 ping PC4)
- 不同vlan连通性检测(PC3 ping PC2)
eNSP 实操 Access 接口和 Trunk 接口的配置,多vlan跨网段通信
在上一个实验基础上,进行vlan10的主机设备ip更改,在 SW2(三层交换机)上配置 VLANIF,达到三层交换实现跨网段互通
在SW2上进行配置
- interface Vlanif 5
- ip address 192.168.5.3 24
- quit
- interface Vlanif 10
- ip address 192.168.6.1 24
PC配置:
连通性检测
实现跨网段通信