一、基础概念

VLAN,全称 Virtual Local Area Network,即虚拟局域网VLAN的出现,主要是为了解决传统共享式以太网的一些关键问题。可以把它理解为一种逻辑上的网络划分技术。它允许网络管理员在物理网络的基础上,根据需要划分出多个逻辑网络

  • 物理网络:你面前有1台交换机,24台电脑都连接到这台交换机上。从物理线缆和交换机端口上看,这24台电脑在同一个“局域网”里。

  • 虚拟网络:逻辑上,管理员可以创建3个VLAN(例如VLAN 10、20、30),并将24个端口分别划分到这3个VLAN中。这样一来,虽然所有电脑都连在同一台物理交换机上,但逻辑上它们属于三个不同的、相互隔离的网络,就像连接在三台独立的物理交换机上一样。

VLAN ID
  • 取值范围是 1-4094

  • VLAN 1是默认VLAN,所有端口初始都属于VLAN 1。通常不建议使用VLAN 1承载业务流量。

  • VLAN 1002-1005通常保留给传统令牌环/光纤分布式数据接口使用。

1. 隔离广播域,减少广播风暴

  • 问题:在传统的单一局域网中,任何一个设备发出的广播帧(如ARP请求),都会被交换机转发到所有其他端口。当网络规模很大、设备很多时,大量的广播流量会严重消耗网络带宽和设备的CPU资源,导致“广播风暴”。

  • VLAN的解决VLAN的边界就是广播域的边界。广播帧只会在同一个VLAN内传播,不会被转发到其他VLAN。这极大地缩小了广播范围,提升了网络整体性能和稳定性。

2. 增强网络安全性

  • 问题:在同一个二层网络内,设备之间可以轻易地进行监听(如ARP欺骗)。

  • VLAN的解决:不同VLAN之间在二层是完全隔离的。即使设备连接到同一台交换机,只要属于不同VLAN,它们就无法直接进行二层通信。这就像为不同的部门(如财务部、研发部)建立了逻辑上的“安全隔离区”,未经路由(三层)许可,数据包无法跨区域流动,有效防止了部门间的非授权访问和信息泄露。

3. 简化网络管理,提高灵活性

  • 问题:传统网络按照物理位置划分。如果财务部的员工搬到了研发部所在的区域,就需要重新布线,将其网线插到财务部的交换机上,非常麻烦。

  • VLAN的解决:网络规划不再受物理位置限制。无论员工坐在哪里,只要将其电脑连接的交换机端口划分到“财务VLAN”,他就在财务部的逻辑网络中。人员位置的调整只需要在交换机的配置上修改端口的VLAN归属即可,无需改动物理线路,极大地简化了网络管理和维护。

4. 实现逻辑分组

可以根据功能、部门、项目组等逻辑需求,而不是物理位置,来组建网络。

  • 例如:将所有服务器划入VLAN Servers,所有语音电话划入VLAN VoIP,所有无线用户划入VLAN Wireless。这样便于为不同类型的流量实施统一的管理策略(如QoS服务质量)。

5. 以太网帧类型

帧类型 定义 特点 应用场景
Tagged帧 在标准以太网帧头中插入4字节802.1Q标签的帧 包含12位VLAN ID(第3-4字节),能被交换机识别所属VLAN 交换机与交换机之间的链路
Untagged帧 标准的、无802.1Q标签的原始以太网帧 终端设备无法识别VLAN标签,只能处理标准以太网帧 终端设备(电脑、打印机等)与交换机之间的链路

关键理解:交换机端口的核心作用是在接收时决定是否给帧"打标签",在发送时决定是否"剥掉标签"。

6. VLAN标识符:PVID与Native VLAN

6.1 PVID (Port VLAN ID)
  • 定义:端口默认VLAN ID,决定了端口接收未打标签帧时的处理方式
  • 作用范围:适用于所有端口类型(Access/Trunk/Hybrid)
  • 核心功能:当端口收到Untagged帧时,交换机会自动给它打上PVID对应的VLAN标签
  • 典型应用
    • Access端口:PVID就是该端口所属的VLAN(通过port default vlan配置)
    • Trunk/Hybrid端口:PVID定义了Untagged帧的处理方式
6.2 Native VLAN(本征VLAN)
  • 定义:802.1Q Trunk端口的属性,用于处理未打标签(Untagged)的帧
  • 作用范围:主要应用于Trunk/Hybrid端口
  • 核心功能:在Trunk链路上,Native VLAN的帧以无标签形式传输,其他VLAN帧保留标签
  • 典型应用
    • 兼容不支持VLAN的旧设备
    • 传输管理协议流量(CDP、STP BPDU、LLDP等)
    • 默认为VLAN 1(出于安全考虑,建议修改)
6.3 PVID与Native VLAN的关系
特性 PVID Native VLAN
定义 端口接收Untagged帧时分配的VLAN ID Trunk端口处理Untagged帧的VLAN
作用方向 接收方向(入向) 发送方向(出向)
适用范围 所有端口类型 仅Trunk/Hybrid端口
默认值 Access端口:VLAN 1
Trunk端口:VLAN 1
VLAN 1
设备实现 华为:port default vlan(Access)
port trunk/hybrid pvid vlan
华为:与PVID相同,通过同一命令设置

在Trunk端口上,PVID与Native VLAN是同一个值,通过port trunk pvid vlan命令同时设置;在Hybrid端口上,PVID与untagged vlan列表共同实现类似功能。

二、端口类型详解

1. Access端口(接入端口)

  • 设计用途:连接终端设备(PC、打印机、AP等)
  • 关键特性
    • 仅属于单个VLAN
    • PVID固定为该端口所属VLAN
    • 无Native VLAN概念(只有PVID)
  • 数据处理流程
    • 接收方向
      • Untagged帧 → 打上PVID的Tag
      • Tagged帧 → 默认丢弃(因只服务一个VLAN)
    • 发送方向
      • 所有帧剥离VLAN Tag,以Untagged形式发送给终端

2. Trunk端口(干道端口)

  • 设计用途:连接交换机-交换机或交换机-路由器,传输多个VLAN流量
  • 关键特性
    • 可承载多个VLAN的流量
    • PVID = Native VLAN(同一配置命令设置)
    • 通过allow-pass列表控制允许通过的VLAN
  • 数据处理流程
    • 接收方向
      • Untagged帧 → 打上PVID(Native VLAN)的Tag
      • Tagged帧 → 检查VLAN ID是否在allow-pass列表中
    • 发送方向
      • VLAN ID = PVID(Native VLAN)→ 剥离Tag,以Untagged形式发送
      • VLAN ID ≠ PVID但在allow-pass列表中 → 保留Tag,以Tagged形式发送

3. Hybrid端口(混合端口)

  • 设计用途:华为特有,灵活连接需要接收多VLAN但不支持Tag的终端
  • 关键特性
    • 可同时配置多个VLAN以Tagged或Untagged形式传输
    • PVID独立于untagged/tagged vlan列表
    • 具有更精细的流量控制能力
  • 数据处理流程
    • 接收方向
      • Untagged帧 → 打上PVID的Tag
      • Tagged帧 → 检查VLAN ID是否在tagged/untagged列表中
    • 发送方向
      • VLAN在untagged列表中 → 剥离Tag后发送(类似多个Native VLAN)
      • VLAN在tagged列表中 → 保留Tag后发送

三、端口类型对比与配置

1. 端口类型特性对比

特性 Access端口 Trunk端口 Hybrid端口
主要用途 连接终端设备 交换机互连 通用(终端/设备)
VLAN数量 仅1个VLAN 多个VLAN 多个VLAN
PVID配置 port default vlan X port trunk pvid vlan X port hybrid pvid vlan X
标签控制 无选择(总是去标签) 仅Native VLAN去标签 精细控制(tagged/untagged列表)
接收Untagged 打上PVID标签 打上Native VLAN(PVID)标签 打上PVID标签
发送Untagged 总是去标签 仅Native VLAN去标签 untagged列表VLAN去标签
灵活性

2. 关键配置命令

# Access端口配置 (连接普通PC)
interface GigabitEthernet 0/0/1
 port link-type access
 port default vlan 10  # 设置PVID=10

# Trunk端口配置 (交换机互联)
interface GigabitEthernet 0/0/24
 port link-type trunk
 port trunk allow-pass vlan 10 20 30  # 允许VLAN 10,20,30通过
 port trunk pvid vlan 10  # 设置PVID=Native VLAN=10

# Hybrid端口配置 (连接特殊服务器)
interface GigabitEthernet 0/0/2
 port link-type hybrid
 port hybrid pvid vlan 10  # 接收Untagged帧时打上VLAN 10标签
 port hybrid untagged vlan 10 20  # VLAN 10和20发往终端时去除标签
 port hybrid tagged vlan 30  # VLAN 30发往终端时保留标签

3. 实际应用场景示例

场景1:标准企业网络

  • Access端口:连接员工PC,每个部门一个VLAN
  • Trunk端口:交换机之间互联,传递所有部门VLAN
  • Native VLAN:配置为管理VLAN,传输STP/CDP等协议

场景2:IP电话+PC组合

# 连接IP电话(下联PC)的端口
interface GigabitEthernet 0/0/5
 port link-type hybrid
 port hybrid pvid vlan 20  # PVID=20(语音VLAN)
 port hybrid untagged vlan 10 20  # PC数据VLAN10和语音VLAN20都不打标签
                                 # 电话可识别并处理VLAN20的流量
 port hybrid tagged vlan 30  # 管理VLAN保留标签

场景3:服务器多网卡汇聚

  • 某些服务器需要接入多个VLAN,但操作系统不支持VLAN tagging
  • Hybrid端口配置多个untagged vlan,实现"一个物理接口,多个逻辑网络"

四、安全注意事项与最佳实践

1. 常见安全风险

  • VLAN跳跃攻击(VLAN Hopping)

    • 当Trunk两端Native VLAN不一致时,攻击者可将流量注入到非预期VLAN
    • 攻击者发送双标签帧,外层标签为Native VLAN,内层为目标VLAN
  • 管理VLAN暴露

    • 使用默认VLAN 1作为Native VLAN,使管理流量暴露

2. 安全最佳实践

  1. 修改默认Native VLAN

    • 避免使用VLAN 1作为Native VLAN
    • 为Native VLAN分配一个不使用的VLAN ID
  2. Trunk端口安全配置

    interface GigabitEthernet 0/0/24
     port link-type trunk
     port trunk allow-pass vlan 10 20 30  # 仅允许必要VLAN
     port trunk pvid vlan 999  # 设置非业务VLAN为Native VLAN
  3. 禁用未使用端口

    • 将未使用的端口设置为Access模式并分配到隔离VLAN
    • 避免自动协商为Trunk模式
  4. Hybrid端口精细化控制

    • 仅允许多VLAN终端必需的VLAN
    • 明确区分tagged和untagged流量

3. 故障排查要点

  • 连通性问题

    • 检查Trunk两端Native VLAN是否一致
    • 验证allow-pass/tagged/untagged列表配置
  • 性能问题

    • 检查是否误将Access端口配置为Trunk/Hybrid
    • 验证PVID与预期VLAN是否匹配
  • 安全事件

    • 检查未授权的VLAN间通信
    • 验证Native VLAN配置是否符合安全策略

五、深入VLAN数据流

1. 数据流全生命周期

  1. 帧进入交换机

    • Untagged帧 → 根据接收端口PVID打标签
    • Tagged帧 → 验证VLAN是否允许进入(Access端口丢弃所有Tagged帧)
  2. 内部转发决策

    • 根据目的MAC地址和VLAN信息查询MAC表
    • 确定出口端口集合
  3. 帧离开交换机

    • Access端口 → 总是去标签
    • Trunk端口 → Native VLAN去标签,其他VLAN保留标签
    • Hybrid端口 → 按untagged/tagged列表决定

2. 多交换机环境数据流

PC1 (Untagged) → SW1(Access,PVID=10) → [VLAN10 Tagged] 
→ SW2(Trunk,PVID=10) → [VLAN10 Untagged] 
→ SW3(Hybrid,untagged vlan 10) → PC2 (Untagged)

排错口诀:入向看PVID,出向看端口类型,中间看VLAN许可。链路两端Native VLAN必须一致,否则流量可能泄漏或阻断。

六、总结

  1. 概念本质

    • PVID是所有端口的入向标记机制
    • Native VLAN是Trunk端口的出向无标签机制
    • 在Trunk端口上,两者值相等,通过同一命令配置
  2. 端口选择原则

    • 终端设备 → Access端口
    • 交换机互联 → Trunk端口
    • 特殊多VLAN终端 → Hybrid端口
  3. 关键安全实践

    • 避免使用默认VLAN 1
    • Trunk两端Native VLAN必须一致
    • 精细化控制VLAN许可列表
  4. 故障排查方法论

    • 从帧的生命周期思考:入向→转发→出向
    • 验证链路两端配置对称性
    • 使用display vlan、display interface等命令验证运行状态

掌握这些核心概念与实践,能够准确设计、配置和排障VLAN网络,实现精确的网络分段、流量隔离与安全控制。

Logo

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

更多推荐