一、VLAN基础概念:为什么需要VLAN?

在传统的共享式局域网中,所有设备都处于同一个广播域和冲突域,这会导致网络性能下降和安全风险。随着网络规模的扩大,广播风暴问题日益严重,而VLAN技术的出现正是为了解决这些问题。


1.1 什么是VLAN?

VLAN(Virtual Local Area Network,虚拟局域网)是一种将物理局域网在逻辑上划分成多个广播域的技术。它允许网络管理员将连接到同一台交换机的不同物理端口划分到不同的逻辑网络中,即使这些设备在物理上处于同一网络段,它们也无法直接通信,除非通过路由器。


1.2 VLAN的优势

VLAN技术带来了诸多优势:

  1. 广播控制:将广播流量限制在VLAN内部,减少不必要的网络拥塞。
  2. 增强安全性:不同VLAN间的通信需要通过路由器,提供了天然的安全隔离。
  3. 提升性能:减少广播流量,提高网络整体性能。
  4. 灵活性与可管理性:网络设备的物理位置变更时,只需修改端口所属的VLAN,无需重新布线。


二、VLAN划分方式与端口类型

要实现VLAN的功能,需要了解其划分方式和交换机端口的类型。


2.1 VLAN划分方式

VLAN的划分主要有两种方式:

  • 静态VLAN(基于端口):管理员手动将每个端口分配给一个特定的VLAN。这是最常用、最简单的方式。
  • 动态VLAN(基于MAC、协议等):交换机根据设备的MAC地址、网络协议或用户认证信息自动将端口分配到相应的VLAN。这种方式配置复杂,但管理灵活。


2.2 端口类型详解

交换机端口根据其功能可分为以下几种类型:

  • Access端口:通常用于连接终端设备(如PC、打印机)。它只能属于一个VLAN,并且只能发送和接收不带VLAN标签(untagged)的以太网帧。
  • Trunk端口:用于连接交换机或路由器。它可以承载多个VLAN的流量,通过在数据帧上添加802.1Q标签来区分不同VLAN的流量。
  • Hybrid端口:华为设备特有的一种端口类型,类似于Trunk端口,但可以同时处理带标签(tagged)和不带标签(untagged)的流量,灵活性更高。


三、Access端口配置实战(华为+思科对照)

Access端口是VLAN划分的基础,主要用于将终端设备接入到指定的VLAN中。


3.1 配置目标与拓扑

假设我们需要将交换机的G0/0/1端口划分到VLAN 10,将G0/0/2端口划分到VLAN 20。为了更直观地理解配置流程,我们可以通过以下流程图来展示:


进入系统视图

创建VLAN 10和VLAN 20

进入物理端口视图

配置端口类型为Access

将端口加入指定VLAN

保存配置

该图清晰地展示了从进入系统视图到最终确认配置的完整步骤。


3.2 华为设备配置

在华为设备上,配置Access端口的命令如下:

system-view
vlan batch 10 20
interface GigabitEthernet 0/0/1
 port link-type access
 port default vlan 10
interface GigabitEthernet 0/0/2
 port link-type access
 port default vlan 20


3.3 思科设备配置

在思科设备上,配置Access端口的命令如下:

configure terminal
interface range fastethernet 0/1 - 2
 switchport mode access
 switchport access vlan 10
interface range fastethernet 0/3 - 4
 switchport mode access
 switchport access vlan 20


3.4 配置验证

配置完成后,可以通过以下命令验证:

  • 华为:display vlan
  • 思科:show vlan brief


四、Trunk端口配置实战(华为+思科对照)

当需要将多个VLAN的流量通过一条链路传输时,就需要配置Trunk端口。


4.1 配置目标与拓扑

假设两台交换机S1和S2通过G0/0/24端口互联,需要允许VLAN 10和VLAN 20的流量通过。PC1(VLAN 10)和PC2(VLAN 20)分别连接在S1上,它们需要能够通过S2进行通信。数据包的传输流程可以通过时序图来表示:


PC2 (VLAN 20)交换机S2交换机S1PC1 (VLAN 10)PC2 (VLAN 20)交换机S2交换机S1PC1 (VLAN 10)发送数据帧 (untagged)添加VLAN 10标签转发带标签帧 (Trunk)去除VLAN 10标签转发数据帧 (untagged)

该时序图展示了数据帧从源设备到目的设备,经过Trunk链路时添加和剥离VLAN标签的过程。


4.2 Trunk原理与802.1Q协议

Trunk技术基于IEEE 802.1Q协议,该协议在原始以太网帧中插入一个4字节的标签头,其中包含VLAN ID(12位,可标识4096个VLAN)。


原始帧

添加802.1Q标签头

带标签帧

Trunk链路传输

去除802.1Q标签头

目的端口

该状态图描述了一个以太网帧在Trunk链路上传输时,经历添加标签、传输和去除标签的完整生命周期。


4.3 华为设备配置

在华为设备上,配置Trunk端口的命令如下:

interface GigabitEthernet 0/0/24
 port link-type trunk
 port trunk allow-pass vlan 10 20


4.4 思科设备配置

在思科设备上,配置Trunk端口的命令如下:

interface fastethernet 0/24
 switchport mode trunk
 switchport trunk allowed vlan 10,20


4.5 配置验证

配置完成后,可以通过以下命令验证Trunk链路状态:

  • 华为:display port trunk
  • 思科:show interfaces trunk


五、VLAN间路由:跨交换机通信

VLAN划分后,不同VLAN之间的设备无法直接通信,必须通过三层设备(路由器或三层交换机)进行路由。


5.1 路由器-on-a-stick 模型

一种常见的实现VLAN间路由的方法是“路由器-on-a-stick”模型,即使用路由器的一个物理接口连接到交换机的Trunk端口,并在路由器上创建子接口,每个子接口对应一个VLAN,并配置802.1Q封装。


包含包含连接路由路由

VLAN10

交换机

VLAN20

路由器

该ER图展示了交换机、VLAN和路由器之间的逻辑关系,路由器为不同VLAN提供路由服务。


PC1 (VLAN 10) 发送数据

交换机S1

添加VLAN 10标签

通过Trunk发送到路由器

路由器子接口VLAN 10解封装

路由器查找路由表

通过子接口VLAN 20封装

发送到交换机S2

交换机S2去除VLAN 20标签

PC2 (VLAN 20) 接收数据

该流程图清晰地展示了数据包从源VLAN到目的VLAN,经过路由器进行三层转发的完整路径。


5.2 华为设备配置(三层交换机)

在华为三层交换机上,可以直接创建VLAN接口(Vlanif)来实现VLAN间路由:

interface Vlanif 10
 ip address 192.168.10.1 255.255.255.0
interface Vlanif 20
 ip address 192.168.20.1 255.255.255.0


5.3 思科设备配置(三层交换机/路由器)

在思科三层交换机或路由器上,配置方式类似:

interface Vlan10
 ip address 192.168.10.1 255.255.255.0
interface Vlan20
 ip address 192.168.20.1 255.255.255.0


六、VLAN配置命令对比总结

为了方便记忆,下表总结了华为和思科在VLAN配置上的主要命令差异:


功能华为命令思科命令
进入系统视图system-viewconfigure terminal
创建VLANvlan <id>vlan <id>
端口类型设置port link-type {access/trunk}switchport mode {access/trunk}
指定Access VLANport default vlan <id>switchport access vlan <id>
允许Trunk通过的VLANport trunk allow-pass vlan <id-list>switchport trunk allowed vlan <id-list>
查看VLANdisplay vlanshow vlan brief


70%25%5%端口类型使用场景分布Access端口(连接终端)Trunk端口(连接交换机)Hybrid端口(特殊场景)

该饼图直观地展示了在实际网络部署中,不同端口类型的大致使用比例。


七、常见问题与最佳实践

在配置VLAN时,可能会遇到一些常见问题,遵循最佳实践可以避免这些问题。


7.1 常见问题排查

当VLAN配置完成后,如果设备间无法通信,可以按照以下流程进行排查:


正确正确正确正确错误错误错误错误

设备间无法通信

检查IP地址和子网掩码

检查端口所属VLAN

检查Trunk允许的VLAN列表

检查VLAN间路由配置

问题解决

修正IP配置

修正端口VLAN

修正Trunk允许列表

配置三层路由

该流程图提供了一个系统化的故障排查思路,帮助快速定位问题。


7.2 最佳实践建议

为了构建健壮的网络,建议遵循以下最佳实践:


最佳实践说明
规划先行在部署前,详细规划VLAN ID、IP地址段和端口分配。
文档记录详细记录所有VLAN和端口配置,便于后续维护。
避免使用VLAN 1VLAN 1是默认VLAN,存在安全风险,尽量不用于业务。
合理设置Native VLANTrunk链路上的Native VLAN用于传输不带标签的流量,需谨慎选择。
定期审计定期检查VLAN配置,移除不再使用的VLAN,保持网络整洁。


Trunk链路Trunk链路

接入层交换机

+ 连接终端设备

+ 配置Access端口

汇聚层交换机

+ 连接接入层和核心层

+ 配置Trunk端口

+ 实现VLAN间路由

核心层交换机

+ 高速转发

+ 提供高可用性

该类图展示了一个典型的分层网络架构,其中VLAN技术在接入层进行划分,通过汇聚层的Trunk链路和路由功能实现跨VLAN通信。

Logo

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

更多推荐