一、VLAN 综合实验

实验拓扑

实验设备

设备类型 设备名称 型号 数量 用途
路由器 AR1 AR2220 1 单臂路由网关、DHCP 服务器
三层交换机 LSW1 S5700 1 核心汇聚交换机
二层交换机 LSW2 S3700 1 接入交换机(连接 PC3、PC4)
二层交换机 LSW3 S3700 1 接入交换机(连接 PC5、PC6)
终端 PC PC1~PC6 Windows 10 6 测试终端

拓扑链路与接口连接表

本端设备 本端接口 对端设备 对端接口 链路类型 传输介质
AR1 GE0/0/0 LSW1 GE0/0/1 以太网 双绞线
LSW1 GE0/0/2 LSW2 GE0/0/1 以太网 双绞线
LSW2 GE0/0/2 LSW3 GE0/0/1 以太网 双绞线
LSW1 GE0/0/3 PC1 Ethernet 0/0/1 以太网 双绞线
LSW1 GE0/0/4 PC2 Ethernet 0/0/1 以太网 双绞线
LSW2 GE0/0/3 PC3 Ethernet 0/0/1 以太网 双绞线
LSW2 GE0/0/4 PC4 Ethernet 0/0/1 以太网 双绞线
LSW3 GE0/0/2 PC5 Ethernet 0/0/1 以太网 双绞线
LSW3 GE0/0/3 PC6 Ethernet 0/0/1 以太网 双绞线

IP 地址与 VLAN 规划表

VLAN ID 网段 网关地址 包含终端 说明
VLAN 2 192.168.2.0/24 192.168.2.254 PC1、PC3 跨网段互通组
VLAN 3 192.168.1.0/24 192.168.1.254 PC2 全访问组
VLAN 4 192.168.1.0/24 192.168.1.254 PC4 可访问 PC5,不可访问 PC6
VLAN 5 192.168.1.0/24 192.168.1.254 PC5 不可访问 PC6
VLAN 6 192.168.1.0/24 192.168.1.254 PC6 仅可被 PC2 访问

实验需求

  1. VLAN 基础配置

    • PC1 和 PC3 所在接口配置为 Access 类型,属于 VLAN 2

    • 所有交换机创建 VLAN 2、3、4、5、6

  2. 同网段精细访问控制

    • PC2、PC4、PC5、PC6 处于同一网段(192.168.1.0/24)

    • PC2 可以访问 PC4、PC5、PC6

    • PC4 可以访问 PC5,不能访问 PC6

    • PC5不能访问 PC6

  3. 跨网段互通

    • PC1/3 所在网段(192.168.2.0/24)与 PC2/4/5/6 所在网段(192.168.1.0/24)可以正常通讯

  4. DHCP 自动地址分配

    • 所有 PC 通过 DHCP 自动获取 IP 地址、网关、DNS

    • PC1/3 从地址池 2 获取地址,PC2/4/5/6 从地址池 1 获取地址

  5. 全网连通性验证

    • PC1/3 可以正常访问 PC2/4/5/6

    • 所有访问控制规则生效

实验原理与思路

技术原理

(1)Access 接口原理

Access 接口是交换机最基础的接口类型,仅属于一个 VLAN,只能发送和接收无标签的以太网帧。当帧进入 Access 接口时,会被打上该接口的 PVID 标签;当帧从 Access 接口发出时,会剥离 VLAN 标签,还原为无标签帧。

(2)Hybrid 接口原理

Hybrid 接口是华为设备特有的接口类型,可以灵活配置哪些 VLAN 的帧以带标签方式通过,哪些以无标签方式通过,是实现同网段精细访问控制的核心技术。

  • PVID(Port VLAN ID):接口的默认 VLAN ID,当无标签帧进入接口时,会被打上 PVID 标签

  • untagged vlan:指定哪些 VLAN 的帧从该接口发出时,会被剥离标签

  • tagged vlan:指定哪些 VLAN 的帧从该接口发出时,会保留标签

(3)单臂路由原理

单臂路由是通过路由器的一个物理接口 + 多个子接口,实现不同 VLAN 之间三层互通的技术。每个子接口对应一个 VLAN,通过dot1q termination vid命令识别该 VLAN 的标签,然后进行三层路由转发。

(4)DHCP 跨 VLAN 分配原理

DHCP 请求是广播报文,默认只能在同一个 VLAN 内传播。通过单臂路由,不同 VLAN 的 DHCP 广播报文会被路由器子接口接收,然后路由器根据子接口所属的 VLAN,从对应的地址池分配 IP 地址,实现跨 VLAN 自动分配 IP。

需求拆解

需求 技术 实现原理
PC1/3 属于 VLAN2(Access 接口) Access 接口 接口仅属于 VLAN2,发送 / 接收无标签帧,仅允许 VLAN2 流量通过
PC2/4/5/6 同网段 + 精细访问控制 Hybrid 接口 + PVID 为每个 PC 分配不同的 PVID(VLAN3~6),通过untagged vlan控制哪些 VLAN 的流量可以互通
跨网段互通 单臂路由(子接口) AR1 通过物理接口(VLAN3~6)和子接口(VLAN2)终结不同 VLAN,实现三层路由转发
DHCP 自动获取 DHCP 服务器(路由器) AR1 配置两个地址池,分别对应 VLAN2 和 VLAN3~6,根据接收 DHCP 请求的接口分配地址

设计说明

  1. 同网段访问控制设计

    • PC2(PVID=3):untagged vlan 2 3 4 5 6 → 允许所有 VLAN 流量通过,因此可以访问所有 PC

    • PC4(PVID=4):untagged vlan 2 3 4 5 → 不放通 VLAN6,因此无法访问 PC6

    • PC5(PVID=5):untagged vlan 2 3 4 5 → 不放通 VLAN6,因此无法访问 PC6

    • PC6(PVID=6):untagged vlan 2 3 6 → 不放通 VLAN4/5,因此无法访问 PC4/5

  2. 交换机互联设计

    • 交换机之间的链路配置为 Trunk 类型,放通所有 VLAN(2~6),保证二层流量透传

  3. 路由器与交换机互联设计

    • LSW1 与 AR1 的互联接口配置为 Hybrid 类型:

      • port hybrid untagged vlan 3 4 5 6 → VLAN3~6 的流量去标签,匹配 AR1 物理接口

      • port hybrid tagged vlan 2 → VLAN2 的流量保留标签,匹配 AR1 子接口的dot1q termination vid 2

实验步骤与配置

实验准备工作

  1. 所有设备恢复出厂配置:

    <Huawei> reset saved-configuration
    Warning: The action will delete the saved configuration in the device.
    The configuration will be erased to reconfigure. Continue? [Y/N]: y
    <Huawei> reboot
    Warning: All the configuration will be saved to the configuration file for the next startup. Continue? [Y/N]: n
    System will reboot! Continue? [Y/N]: y
    
  2. 所有设备上电,等待启动完成。

LSW1 配置(核心汇聚交换机)

# 1. 进入系统视图,修改设备名称
<Huawei> system-view
[Huawei] sysname LSW1

# 2. 批量创建所有需要的VLAN(2~6)
# vlan batch命令可以一次性创建多个VLAN,提高配置效率
[LSW1] vlan batch 2 3 4 5 6
Info: This operation may take a few seconds. Please wait for a moment...done.

# 3. 配置PC1接口(Access类型,属于VLAN2)
[LSW1] interface GigabitEthernet 0/0/3
# 设置接口链路类型为Access
[LSW1-GigabitEthernet0/0/3] port link-type access
# 设置接口默认VLAN为2
[LSW1-GigabitEthernet0/0/3] port default vlan 2
# 华为设备接口默认shutdown,必须手动开启
[LSW1-GigabitEthernet0/0/3] undo shutdown
[LSW1-GigabitEthernet0/0/3] quit

# 4. 配置PC2接口(Hybrid类型,PVID=VLAN3,放通所有VLAN无标签)
[LSW1] interface GigabitEthernet 0/0/4
# 设置接口链路类型为Hybrid
[LSW1-GigabitEthernet0/0/4] port link-type hybrid
# 设置接口PVID为3,无标签帧进入时会被打上VLAN3标签
[LSW1-GigabitEthernet0/0/4] port hybrid pvid vlan 3
# 允许VLAN2~6的帧从该接口发出时剥离标签
[LSW1-GigabitEthernet0/0/4] port hybrid untagged vlan 2 3 4 5 6
[LSW1-GigabitEthernet0/0/4] undo shutdown
[LSW1-GigabitEthernet0/0/4] quit

# 5. 配置与LSW2互联的Trunk接口
[LSW1] interface GigabitEthernet 0/0/2
# 设置接口链路类型为Trunk
[LSW1-GigabitEthernet0/0/2] port link-type trunk
# 允许VLAN2~6的帧带标签通过该接口
[LSW1-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 3 4 5 6
[LSW1-GigabitEthernet0/0/2] undo shutdown
[LSW1-GigabitEthernet0/0/2] quit

# 6. 配置与AR1互联的Hybrid接口(关键!)
[LSW1] interface GigabitEthernet 0/0/1
# 设置接口链路类型为Hybrid
[LSW1-GigabitEthernet0/0/1] port link-type hybrid
# 允许VLAN3~6的帧从该接口发出时剥离标签,匹配AR1物理接口
[LSW1-GigabitEthernet0/0/1] port hybrid untagged vlan 3 4 5 6
# 允许VLAN2的帧从该接口发出时保留标签,匹配AR1子接口
[LSW1-GigabitEthernet0/0/1] port hybrid tagged vlan 2
[LSW1-GigabitEthernet0/0/1] undo shutdown
[LSW1-GigabitEthernet0/0/1] quit

# 7. 保存配置
[LSW1] save
The current configuration will be written to the device.
Are you sure to continue? [Y/N]: y
Now saving the current configuration to the slot 0.
Save the configuration successfully.
[LSW1] quit

LSW2 配置(接入交换机)

<Huawei> system-view
[Huawei] sysname LSW2

# 1. 批量创建VLAN
[LSW2] vlan batch 2 3 4 5 6
Info: This operation may take a few seconds. Please wait for a moment...done.

# 2. 配置PC3接口(Access类型,属于VLAN2)
[LSW2] interface GigabitEthernet 0/0/3
[LSW2-GigabitEthernet0/0/3] port link-type access
[LSW2-GigabitEthernet0/0/3] port default vlan 2
[LSW2-GigabitEthernet0/0/3] undo shutdown
[LSW2-GigabitEthernet0/0/3] quit

# 3. 配置PC4接口(Hybrid类型,PVID=VLAN4,不放通VLAN6)
[LSW2] interface GigabitEthernet 0/0/4
[LSW2-GigabitEthernet0/0/4] port link-type hybrid
[LSW2-GigabitEthernet0/0/4] port hybrid pvid vlan 4
# 允许VLAN2~5的帧无标签通过,不放通VLAN6
[LSW2-GigabitEthernet0/0/4] port hybrid untagged vlan 2 3 4 5
[LSW2-GigabitEthernet0/0/4] undo shutdown
[LSW2-GigabitEthernet0/0/4] quit

# 4. 配置与LSW1互联的Trunk接口
[LSW2] interface GigabitEthernet 0/0/1
[LSW2-GigabitEthernet0/0/1] port link-type trunk
[LSW2-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 3 4 5 6
[LSW2-GigabitEthernet0/0/1] undo shutdown
[LSW2-GigabitEthernet0/0/1] quit

# 5. 配置与LSW3互联的Trunk接口
[LSW2] interface GigabitEthernet 0/0/2
[LSW2-GigabitEthernet0/0/2] port link-type trunk
[LSW2-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 3 4 5 6
[LSW2-GigabitEthernet0/0/2] undo shutdown
[LSW2-GigabitEthernet0/0/2] quit

# 6. 保存配置
[LSW2] save
[LSW2] quit

LSW3 配置(接入交换机)

<Huawei> system-view
[Huawei] sysname LSW3

# 1. 批量创建VLAN
[LSW3] vlan batch 2 3 4 5 6
Info: This operation may take a few seconds. Please wait for a moment...done.

# 2. 配置PC5接口(Hybrid类型,PVID=VLAN5,不放通VLAN6)
[LSW3] interface GigabitEthernet 0/0/2
[LSW3-GigabitEthernet0/0/2] port link-type hybrid
[LSW3-GigabitEthernet0/0/2] port hybrid pvid vlan 5
# 允许VLAN2~5的帧无标签通过,不放通VLAN6
[LSW3-GigabitEthernet0/0/2] port hybrid untagged vlan 2 3 4 5
[LSW3-GigabitEthernet0/0/2] undo shutdown
[LSW3-GigabitEthernet0/0/2] quit

# 3. 配置PC6接口(Hybrid类型,PVID=VLAN6,不放通VLAN4/5)
[LSW3] interface GigabitEthernet 0/0/3
[LSW3-GigabitEthernet0/0/3] port link-type hybrid
[LSW3-GigabitEthernet0/0/3] port hybrid pvid vlan 6
# 允许VLAN2、3、6的帧无标签通过,不放通VLAN4/5
[LSW3-GigabitEthernet0/0/3] port hybrid untagged vlan 2 3 6
[LSW3-GigabitEthernet0/0/3] undo shutdown
[LSW3-GigabitEthernet0/0/3] quit

# 4. 配置与LSW2互联的Trunk接口
[LSW3] interface GigabitEthernet 0/0/1
[LSW3-GigabitEthernet0/0/1] port link-type trunk
[LSW3-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 3 4 5 6
[LSW3-GigabitEthernet0/0/1] undo shutdown
[LSW3-GigabitEthernet0/0/1] quit

# 5. 保存配置
[LSW3] save
[LSW3] quit

AR1 配置(单臂路由 + DHCP 服务器)

<Huawei> system-view
[Huawei] sysname AR1

# 1. 全局开启DHCP服务(必须开启,否则DHCP无法工作)
[AR1] dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.
DHCP is enabled successfully.

# 2. 配置物理接口(对应VLAN3~6,192.168.1.0/24网关)
[AR1] interface GigabitEthernet 0/0/0
# 配置接口IP地址,作为VLAN3~6的网关
[AR1-GigabitEthernet0/0/0] ip address 192.168.1.254 255.255.255.0
# 配置接口使用全局DHCP地址池分配IP
[AR1-GigabitEthernet0/0/0] dhcp select global
[AR1-GigabitEthernet0/0/0] undo shutdown
[AR1-GigabitEthernet0/0/0] quit

# 3. 配置子接口(对应VLAN2,192.168.2.0/24网关)
# 子接口编号0/0/0.1,对应VLAN2
[AR1] interface GigabitEthernet 0/0/0.1
# 配置子接口终结VLAN2的标签,识别带VLAN2标签的帧
[AR1-GigabitEthernet0/0/0.1] dot1q termination vid 2
# 配置子接口IP地址,作为VLAN2的网关
[AR1-GigabitEthernet0/0/0.1] ip address 192.168.2.254 255.255.255.0
# 配置子接口使用全局DHCP地址池分配IP
[AR1-GigabitEthernet0/0/0.1] dhcp select global
[AR1-GigabitEthernet0/0/0.1] undo shutdown
[AR1-GigabitEthernet0/0/0.1] quit

# 4. 配置DHCP地址池1(对应VLAN3~6,192.168.1.0/24)
[AR1] ip pool pool1
# 配置地址池网段和掩码
[AR1-ip-pool-pool1] network 192.168.1.0 mask 255.255.255.0
# 配置网关地址,与物理接口IP一致
[AR1-ip-pool-pool1] gateway-list 192.168.1.254
# 配置DNS服务器地址
[AR1-ip-pool-pool1] dns-list 8.8.8.8 114.114.114.114
# 配置地址租期为12小时
[AR1-ip-pool-pool1] lease day 0 hour 12 minute 0
[AR1-ip-pool-pool1] quit

# 5. 配置DHCP地址池2(对应VLAN2,192.168.2.0/24)
[AR1] ip pool pool2
[AR1-ip-pool-pool2] network 192.168.2.0 mask 255.255.255.0
[AR1-ip-pool-pool2] gateway-list 192.168.2.254
[AR1-ip-pool-pool2] dns-list 8.8.8.8 114.114.114.114
[AR1-ip-pool-pool2] lease day 0 hour 12 minute 0
[AR1-ip-pool-pool2] quit

# 6. 保存配置
[AR1] save
[AR1] quit

PC 端配置

所有 PC 设置为DHCP 自动获取 IP 地址

  1. 打开 PC 的网络设置

  2. 选择以太网适配器

  3. 勾选 "自动获取 IP 地址" 和 "自动获取 DNS 服务器地址"

  4. 点击确定,等待 IP 地址获取

实验结果验证

交换机接口与 VLAN 配置验证

LSW1 接口配置验证
[LSW1] display port vlan
Port                        Link Type    PVID  Trunk VLAN list
--------------------------------------------------------------------------------
GigabitEthernet0/0/1        hybrid      1     2
GigabitEthernet0/0/2        trunk       1     2-6
GigabitEthernet0/0/3        access      2     -
GigabitEthernet0/0/4        hybrid      3     -

验证结论

  • GE0/0/1 为 Hybrid 类型,PVID=1,tagged vlan 2,untagged vlan 3-6,配置正确

  • GE0/0/2 为 Trunk 类型,放通 VLAN2-6,配置正确

  • GE0/0/3 为 Access 类型,PVID=2,配置正确

  • GE0/0/4 为 Hybrid 类型,PVID=3,配置正确

LSW2 接口配置验证
[LSW2] display port vlan
Port                        Link Type    PVID  Trunk VLAN list
--------------------------------------------------------------------------------
GigabitEthernet0/0/1        trunk       1     2-6
GigabitEthernet0/0/2        trunk       1     2-6
GigabitEthernet0/0/3        access      2     -
GigabitEthernet0/0/4        hybrid      4     -

验证结论:所有接口配置符合需求。

LSW3 接口配置验证
[LSW3] display port vlan
Port                        Link Type    PVID  Trunk VLAN list
--------------------------------------------------------------------------------
GigabitEthernet0/0/1        trunk       1     2-6
GigabitEthernet0/0/2        hybrid      5     -
GigabitEthernet0/0/3        hybrid      6     -

验证结论:所有接口配置符合需求。

路由器接口与 DHCP 配置验证

AR1 接口 IP 验证
[AR1] display ip interface brief
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 2
The number of interface that is DOWN in Physical is 0
The number of interface that is UP in Protocol is 2
The number of interface that is DOWN in Protocol is 0

Interface                         IP Address/Mask      Physical   Protocol
GigabitEthernet0/0/0              192.168.1.254/24     up         up
GigabitEthernet0/0/0.1            192.168.2.254/24     up         up

验证结论:物理接口和子接口 IP 配置正确,物理和协议状态均为 up。

DHCP 地址池验证
[AR1] display ip pool
-------------------------------------------------------------------------------
Pool-name      : pool1
Pool-No        : 0
Lease          : 0 Days 12 Hours 0 Minutes
Domain-name   : -
DNS-server0    : 8.8.8.8
DNS-server1    : 114.114.114.114
NBNS-server0   : -
Netbios-type   : -
Position       : Local
Status         : Unlocked
Gateway-0      : 192.168.1.254
Network        : 192.168.1.0/24
-------------------------------------------------------------------------------
Pool-name      : pool2
Pool-No        : 1
Lease          : 0 Days 12 Hours 0 Minutes
Domain-name   : -
DNS-server0    : 8.8.8.8
DNS-server1    : 114.114.114.114
NBNS-server0   : -
Netbios-type   : -
Position       : Local
Status         : Unlocked
Gateway-0      : 192.168.2.254
Network        : 192.168.2.0/24
-------------------------------------------------------------------------------

验证结论:两个地址池配置正确,网关、DNS、租期均符合需求。

PC 端 IP 地址获取验证

PC 获取 IP 地址 子网掩码 网关 DNS 服务器 验证结果
PC1 192.168.2.253/24 255.255.255.0 192.168.2.254 8.8.8.8/114.114.114.114 成功获取
PC2 192.168.1.253/24 255.255.255.0 192.168.1.254 8.8.8.8/114.114.114.114 成功获取
PC3 192.168.2.252/24 255.255.255.0 192.168.2.254 8.8.8.8/114.114.114.114 成功获取
PC4 192.168.1.252/24 255.255.255.0 192.168.1.254 8.8.8.8/114.114.114.114 成功获取
PC5 192.168.1.251/24 255.255.255.0 192.168.1.254 8.8.8.8/114.114.114.114 成功获取
PC6 192.168.1.250/24 255.255.255.0 192.168.1.254 8.8.8.8/114.114.114.114 成功获取

验证结论:所有 PC 均成功获取 IP 地址,PC1/3 从地址池 2 获取,PC2/4/5/6 从地址池 1 获取,符合需求。

连通性测试验证

PC1/3 跨网段访问测试
# PC1 ping PC6
PC> ping 192.168.1.250
Ping 192.168.1.250: 32 data bytes, Press Ctrl_C to break
From 192.168.1.250: bytes=32 seq=1 ttl=254 time=10 ms
From 192.168.1.250: bytes=32 seq=2 ttl=254 time=10 ms
From 192.168.1.250: bytes=32 seq=3 ttl=254 time=10 ms
From 192.168.1.250: bytes=32 seq=4 ttl=254 time=10 ms
From 192.168.1.250: bytes=32 seq=5 ttl=254 time=10 ms

--- 192.168.1.250 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 10/10/10 ms

验证结论:PC1/3 与 PC2/4/5/6 跨网段互通正常。

PC2 访问测试
# PC2 ping PC6
PC> ping 192.168.1.250
Ping 192.168.1.250: 32 data bytes, Press Ctrl_C to break
From 192.168.1.250: bytes=32 seq=1 ttl=255 time=1 ms
From 192.168.1.250: bytes=32 seq=2 ttl=255 time=1 ms
From 192.168.1.250: bytes=32 seq=3 ttl=255 time=1 ms
From 192.168.1.250: bytes=32 seq=4 ttl=255 time=1 ms
From 192.168.1.250: bytes=32 seq=5 ttl=255 time=1 ms

--- 192.168.1.250 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 1/1/1 ms

验证结论:PC2 可以访问 PC4/5/6,符合需求。

PC4 访问测试
# PC4 ping PC5
PC> ping 192.168.1.251
Ping 192.168.1.251: 32 data bytes, Press Ctrl_C to break
From 192.168.1.251: bytes=32 seq=1 ttl=255 time=1 ms
From 192.168.1.251: bytes=32 seq=2 ttl=255 time=1 ms
From 192.168.1.251: bytes=32 seq=3 ttl=255 time=1 ms
From 192.168.1.251: bytes=32 seq=4 ttl=255 time=1 ms
From 192.168.1.251: bytes=32 seq=5 ttl=255 time=1 ms

--- 192.168.1.251 ping statistics ---
  5 packet(s) transmitted
  5 packet(s) received
  0.00% packet loss
  round-trip min/avg/max = 1/1/1 ms
# PC4 ping PC6
PC> ping 192.168.1.250
Ping 192.168.1.250: 32 data bytes, Press Ctrl_C to break
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout!

--- 192.168.1.250 ping statistics ---
  5 packet(s) transmitted
  0 packet(s) received
  100.00% packet loss

验证结论:PC4 可以访问 PC5,不能访问 PC6,符合需求。

PC5 访问测试
# PC5 ping PC6
PC> ping 192.168.1.250
Ping 192.168.1.250: 32 data bytes, Press Ctrl_C to break
Request timeout!
Request timeout!
Request timeout!
Request timeout!
Request timeout!

--- 192.168.1.250 ping statistics ---
  5 packet(s) transmitted
  0 packet(s) received
  100.00% packet loss

验证结论:PC5 不能访问 PC6,符合需求。

实验重难点分析

难点 1:Hybrid 接口访问控制

  • 原理:Hybrid 接口通过untagged vlan控制哪些 VLAN 的帧可以无标签通过,从而实现同网段内的精细访问控制。

  • 关键理解

    • 当 PC2(PVID=3)发送帧时,帧被打上 VLAN3 标签

    • 当帧到达 PC6 接口时,PC6 接口的untagged vlan包含 VLAN3,因此会剥离标签,PC6 可以接收

    • 当 PC4(PVID=4)发送帧时,帧被打上 VLAN4 标签

    • 当帧到达 PC6 接口时,PC6 接口的untagged vlan不包含 VLAN4,因此会丢弃该帧

  • 错误规避untagged vlan必须包含自身的 PVID,否则接口无法接收自身发送的帧的回应。

难点 2:LSW1 与 AR1 互联接口配置

  • 原理:AR1 的物理接口只能识别无标签帧,子接口只能识别带对应 VLAN 标签的帧。

  • 关键配置

    • LSW1 与 AR1 的互联接口必须配置为 Hybrid 类型

    • VLAN3~6 的流量去标签,匹配 AR1 物理接口

    • VLAN2 的流量保留标签,匹配 AR1 子接口的dot1q termination vid 2

  • 错误规避:若配置为 Trunk 接口,所有 VLAN 都会带标签,AR1 物理接口无法识别,导致 PC2/4/5/6 无法获取 IP。

难点 3:DHCP 跨 VLAN 分配

  • 原理:DHCP 请求是广播报文,通过交换机透传后,AR1 物理接口接收 VLAN3~6 的广播请求,子接口接收 VLAN2 的广播请求,分别从对应的地址池分配 IP。

  • 关键配置:物理接口和子接口都必须配置dhcp select global,开启全局 DHCP。

  • 错误规避:若子接口未配置dhcp select global,PC1/3 无法获取 IP 地址。

实验总结

知识点总结

  1. VLAN 接口类型

    • Access:单 VLAN,无标签帧,适用于连接终端

    • Trunk:多 VLAN,带标签帧,适用于交换机互联

    • Hybrid:灵活控制标签,适用于同网段精细访问控制

  2. 单臂路由:通过物理接口 + 子接口终结 VLAN,实现跨 VLAN 三层互通

  3. DHCP 服务器:配置多地址池,为不同 VLAN 分配 IP 地址

  4. 二层流量控制:通过 Hybrid 接口 + PVID 实现同网段内的精细访问控制

  5. 华为设备特性:接口默认 shutdown,Hybrid 接口是华为特有,功能强大

常见错误与排障

错误现象 原因 解决方案
PC2/4/5/6 无法获取 IP LSW1 与 AR1 互联接口配置为 Trunk,VLAN3-6 带标签 改为 Hybrid,配置port hybrid untagged vlan 3 4 5 6
PC4 可以访问 PC6 PC4 接口放通了 VLAN6 修改为port hybrid untagged vlan 2 3 4 5
PC1 无法访问 PC2 AR1 子接口未配置,或 LSW1 未放通 VLAN2 检查子接口配置和 Trunk 放通 VLAN2
DHCP 获取失败 路由器未开启dhcp enable,或接口未配置dhcp select global 开启 DHCP 服务,接口配置全局 DHCP
PC1 无法获取 IP AR1 子接口未配置dot1q termination vid 2 配置子接口终结 VLAN2 标签
PC2 无法访问 PC4 PC2 接口未放通 VLAN4 配置port hybrid untagged vlan 4

附录:完整配置文件

LSW1 配置

#
sysname LSW1
#
vlan batch 2 3 4 5 6
#
interface GigabitEthernet0/0/1
 port link-type hybrid
 port hybrid tagged vlan 2
 port hybrid untagged vlan 3 4 5 6
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 6
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 2
#
interface GigabitEthernet0/0/4
 port link-type hybrid
 port hybrid pvid vlan 3
 port hybrid untagged vlan 2 3 4 5 6
#
return

LSW2 配置

#
sysname LSW2
#
vlan batch 2 3 4 5 6
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 6
#
interface GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 2 to 6
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 2
#
interface GigabitEthernet0/0/4
 port link-type hybrid
 port hybrid pvid vlan 4
 port hybrid untagged vlan 2 3 4 5
#
return

LSW3 配置

#
sysname LSW3
#
vlan batch 2 3 4 5 6
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 6
#
interface GigabitEthernet0/0/2
 port link-type hybrid
 port hybrid pvid vlan 5
 port hybrid untagged vlan 2 3 4 5
#
interface GigabitEthernet0/0/3
 port link-type hybrid
 port hybrid pvid vlan 6
 port hybrid untagged vlan 2 3 6
#
return

AR1 配置

#
sysname AR1
#
dhcp enable
#
ip pool pool1
 network 192.168.1.0 mask 255.255.255.0
 gateway-list 192.168.1.254
 dns-list 8.8.8.8 114.114.114.114
 lease day 0 hour 12 minute 0
#
ip pool pool2
 network 192.168.2.0 mask 255.255.255.0
 gateway-list 192.168.2.254
 dns-list 8.8.8.8 114.114.114.114
 lease day 0 hour 12 minute 0
#
interface GigabitEthernet0/0/0
 ip address 192.168.1.254 255.255.255.0
 dhcp select global
#
interface GigabitEthernet0/0/0.1
 dot1q termination vid 2
 ip address 192.168.2.254 255.255.255.0
 dhcp select global
#
return

实验注意事项

  1. 华为设备接口默认处于shutdown状态,配置完成后必须执行undo shutdown开启接口

  2. 所有交换机必须创建相同的 VLAN,否则 Trunk 链路无法透传对应 VLAN 的流量

  3. Hybrid 接口的untagged vlan必须包含自身的 PVID,否则无法正常通信

  4. 单臂路由的子接口必须配置dot1q termination vid命令,否则无法识别 VLAN 标签

  5. DHCP 服务必须全局开启,且接口必须配置dhcp select global才能分配 IP 地址

  6. 实验完成后必须保存配置,否则设备重启后配置会丢失

二、STP 生成树综合实验

实验拓扑

实验设备清单

设备类型 设备名称 型号 数量 用途
二层交换机 LSW1~LSW13 S3700/S5700 13 生成树实验节点

拓扑结构说明

实验包含3 组独立的生成树拓扑,用于验证不同网络结构下 STP 的工作原理:

  1. 4 交换机环网拓扑(左):LSW1、LSW2、LSW3、LSW4 组成全互联冗余环网,用于验证 STP 消除环路的核心功能

  2. 3 交换机链式拓扑(中):LSW5、LSW6、LSW7 组成链式无冗余拓扑,用于验证 STP 在无环网络中的端口角色

  3. 6 交换机全互联拓扑(右):LSW8~LSW13 组成复杂全互联冗余拓扑,用于验证 STP 在大型网络中的选路与冗余

拓扑链路与接口连接表

本端设备 本端接口 对端设备 对端接口 链路类型 传输介质
4 交换机环网
LSW1 GE0/0/1 LSW2 GE0/0/1 以太网 双绞线
LSW1 GE0/0/2 LSW3 GE0/0/1 以太网 双绞线
LSW1 GE0/0/3 LSW2 GE0/0/2 以太网 双绞线
LSW2 GE0/0/3 LSW4 GE0/0/2 以太网 双绞线
LSW3 GE0/0/2 LSW4 GE0/0/1 以太网 双绞线
3 交换机链式
LSW5 GE0/0/1 LSW6 GE0/0/1 以太网 双绞线
LSW6 GE0/0/2 LSW7 GE0/0/1 以太网 双绞线
6 交换机全互联
LSW8 GE0/0/1 LSW9 GE0/0/1 以太网 双绞线
LSW8 GE0/0/2 LSW9 GE0/0/2 以太网 双绞线
LSW8 GE0/0/3 LSW10 GE0/0/1 以太网 双绞线
LSW8 GE0/0/4 LSW11 GE0/0/1 以太网 双绞线
LSW9 GE0/0/3 LSW11 GE0/0/3 以太网 双绞线
LSW9 GE0/0/4 LSW13 GE0/0/2 以太网 双绞线
LSW10 GE0/0/2 LSW11 GE0/0/4 以太网 双绞线
LSW10 GE0/0/3 LSW12 GE0/0/1 以太网 双绞线
LSW11 GE0/0/4 LSW13 GE0/0/1 以太网 双绞线
LSW12 GE0/0/2 LSW13 GE0/0/2 以太网 双绞线

实验需求

  1. STP 基础功能:所有交换机开启 STP(生成树协议),自动消除二层环路,避免广播风暴

  2. 根桥选举

    • 指定 LSW1 为 4 交换机环网的根桥

    • 指定 LSW5 为 3 交换机链式的根桥

    • 指定 LSW8 为 6 交换机全互联的根桥

  3. 端口角色选举:按照拓扑标注,完成根端口、指定端口、阻塞端口(非指定端口)的选举

    • 根桥所有端口均为指定端口(DESI)

    • 非根桥距离根桥路径开销最小的端口为根端口(ROOT)

    • 网段上距离根桥路径开销更小的端口为指定端口(DESI),另一端口为阻塞端口(ALTE,非指定端口)

  4. 拓扑验证:验证生成树收敛后,阻塞端口状态为Discarding,转发端口状态为Forwarding,环路被阻断

  5. 冗余验证:手动断开一条活动链路(根端口),验证生成树自动重新收敛,阻塞端口切换为转发端口,网络不中断

实验原理与思路

STP 原理

生成树协议(Spanning Tree Protocol,STP)是二层环路消除协议,通过阻塞冗余链路,将环形网络 “修剪” 为无环的树型网络,同时保留链路冗余,当活动链路故障时,自动切换到冗余链路,实现网络不中断。

STP 选举步骤

STP 选举严格按照以下 4 步进行,前一步能分出胜负则不再进行后一步:

步骤 1:选举根桥(Root Bridge)
  • 选举依据:比较桥 ID(Bridge ID)

  • 桥 ID 组成桥优先级(默认32768) + 交换机MAC地址

  • 选举规则桥 ID 越小越优先

  • 根桥作用:整个生成树的逻辑中心,所有流量以根桥为中心转发,根桥所有端口均为指定端口

步骤 2:选举根端口(Root Port)
  • 选举对象:仅非根桥存在根端口,每个非根桥有且仅有 1 个根端口

  • 选举依据(优先级从高到低)

    1. 到根桥的 ** 路径开销(Root Path Cost)** 最小

    2. 对端桥 ID 最小

    3. 对端端口 ID 最小

  • 根端口作用:非根桥去往根桥的最优端口,状态为Forwarding

步骤 3:选举指定端口(Designated Port)
  • 选举对象:每个物理网段有且仅有 1 个指定端口

  • 选举依据(优先级从高到低)

    1. 到根桥的路径开销最小

    2. 本端桥 ID 最小

    3. 本端端口 ID 最小

  • 指定端口作用:负责向该网段转发流量,状态为Forwarding;根桥所有端口均为指定端口

步骤 4:选举阻塞端口(Alternate Port,非指定端口)
  • 选举对象:既不是根端口也不是指定端口的端口

  • 端口状态Discarding(丢弃状态),不转发用户数据,仅接收 BPDU(桥协议数据单元)

  • 作用:阻断环路,当活动链路故障时,自动切换为根端口 / 指定端口,恢复网络连通

STP 路径开销计算(华为默认)

链路带宽 STP 路径开销(华为默认)
10 Mbps 100
100 Mbps 19
1 Gbps 4
10 Gbps 2

本实验拓扑端口角色规划

拓扑 根桥 根端口 指定端口 阻塞端口
4 交换机环网 LSW1 LSW2 GE0/0/1、LSW3 GE0/0/1、LSW4 GE0/0/2 LSW1 所有端口、LSW2 GE0/0/3、LSW3 GE0/0/2、LSW4 GE0/0/1 LSW2 GE0/0/2
3 交换机链式 LSW5 LSW6 GE0/0/1、LSW7 GE0/0/1 LSW5 GE0/0/1、LSW6 GE0/0/2 无(链式无冗余,无阻塞端口)
6 交换机全互联 LSW8 LSW9 GE0/0/1、LSW10 GE0/0/1、LSW11 GE0/0/1、LSW12 GE0/0/1、LSW13 GE0/0/2 LSW8 所有端口、LSW9 GE0/0/3、LSW10 GE0/0/3、LSW11 GE0/0/3、LSW13 GE0/0/1 LSW11 GE0/0/4

实验步骤与配置

实验准备工作

  1. 所有设备恢复出厂配置

    <Huawei> reset saved-configuration
    Warning: The action will delete the saved configuration in the device.
    The configuration will be erased to reconfigure. Continue? [Y/N]: y
    <Huawei> reboot
    Warning: All the configuration will be saved to the configuration file for the next startup. Continue? [Y/N]: n
    System will reboot! Continue? [Y/N]: y
    
  2. 所有设备上电,等待启动完成(约 2-3 分钟)。

交换机环网配置(LSW1/LSW2/LSW3/LSW4)

(1)指定 LSW1 为根桥
# 1. 进入用户视图,进入系统视图
<Huawei> system-view
# 2. 修改设备名称为LSW1
[Huawei] sysname LSW1
# 3. 配置桥优先级为4096,确保成为根桥
# 桥优先级默认32768,必须是4096的倍数,越小越优先
[LSW1] stp priority 4096
# 4. 开启所有接口(华为设备接口默认shutdown,必须手动开启)
[LSW1] interface GigabitEthernet 0/0/1
[LSW1-GigabitEthernet0/0/1] undo shutdown
[LSW1-GigabitEthernet0/0/1] quit
[LSW1] interface GigabitEthernet 0/0/2
[LSW1-GigabitEthernet0/0/2] undo shutdown
[LSW1-GigabitEthernet0/0/2] quit
[LSW1] interface GigabitEthernet 0/0/3
[LSW1-GigabitEthernet0/0/3] undo shutdown
[LSW1-GigabitEthernet0/0/3] quit
# 5. 保存配置
[LSW1] save
The current configuration will be written to the device.
Are you sure to continue? [Y/N]: y
Now saving the current configuration to the slot 0.
Save the configuration successfully.
[LSW1] quit
(2)LSW2 配置(非根桥,自动选举端口角色)
<Huawei> system-view
[Huawei] sysname LSW2
# 华为交换机默认开启STP,可省略stp enable,但为了保险可手动开启
[LSW2] stp enable
# 开启所有接口
[LSW2] interface GigabitEthernet 0/0/1
[LSW2-GigabitEthernet0/0/1] undo shutdown
[LSW2-GigabitEthernet0/0/1] quit
[LSW2] interface GigabitEthernet 0/0/2
[LSW2-GigabitEthernet0/0/2] undo shutdown
[LSW2-GigabitEthernet0/0/2] quit
[LSW2] interface GigabitEthernet 0/0/3
[LSW2-GigabitEthernet0/0/3] undo shutdown
[LSW2-GigabitEthernet0/0/3] quit
# 保存配置
[LSW2] save
[LSW2] quit
(3)LSW3 配置(非根桥,自动选举端口角色)
<Huawei> system-view
[Huawei] sysname LSW3
[LSW3] stp enable
# 开启所有接口
[LSW3] interface GigabitEthernet 0/0/1
[LSW3-GigabitEthernet0/0/1] undo shutdown
[LSW3-GigabitEthernet0/0/1] quit
[LSW3] interface GigabitEthernet 0/0/2
[LSW3-GigabitEthernet0/0/2] undo shutdown
[LSW3-GigabitEthernet0/0/2] quit
# 保存配置
[LSW3] save
[LSW3] quit
(4)LSW4 配置(非根桥,自动选举端口角色)
<Huawei> system-view
[Huawei] sysname LSW4
[LSW4] stp enable
# 开启所有接口
[LSW4] interface GigabitEthernet 0/0/1
[LSW4-GigabitEthernet0/0/1] undo shutdown
[LSW4-GigabitEthernet0/0/1] quit
[LSW4] interface GigabitEthernet 0/0/2
[LSW4-GigabitEthernet0/0/2] undo shutdown
[LSW4-GigabitEthernet0/0/2] quit
# 保存配置
[LSW4] save
[LSW4] quit

交换机链式拓扑配置(LSW5/LSW6/LSW7)

(1)指定 LSW5 为根桥
<Huawei> system-view
[Huawei] sysname LSW5
[LSW5] stp priority 4096
# 开启接口
[LSW5] interface GigabitEthernet 0/0/1
[LSW5-GigabitEthernet0/0/1] undo shutdown
[LSW5-GigabitEthernet0/0/1] quit
# 保存配置
[LSW5] save
[LSW5] quit
(2)LSW6 配置(非根桥)
<Huawei> system-view
[Huawei] sysname LSW6
[LSW6] stp enable
# 开启接口
[LSW6] interface GigabitEthernet 0/0/1
[LSW6-GigabitEthernet0/0/1] undo shutdown
[LSW6-GigabitEthernet0/0/1] quit
[LSW6] interface GigabitEthernet 0/0/2
[LSW6-GigabitEthernet0/0/2] undo shutdown
[LSW6-GigabitEthernet0/0/2] quit
# 保存配置
[LSW6] save
[LSW6] quit
(3)LSW7 配置(非根桥)
<Huawei> system-view
[Huawei] sysname LSW7
[LSW7] stp enable
# 开启接口
[LSW7] interface GigabitEthernet 0/0/1
[LSW7-GigabitEthernet0/0/1] undo shutdown
[LSW7-GigabitEthernet0/0/1] quit
# 保存配置
[LSW7] save
[LSW7] quit

交换机全互联拓扑配置(LSW8~LSW13)

(1)指定 LSW8 为根桥
<Huawei> system-view
[Huawei] sysname LSW8
[LSW8] stp priority 4096
# 开启所有接口
[LSW8] interface GigabitEthernet 0/0/1
[LSW8-GigabitEthernet0/0/1] undo shutdown
[LSW8-GigabitEthernet0/0/1] quit
[LSW8] interface GigabitEthernet 0/0/2
[LSW8-GigabitEthernet0/0/2] undo shutdown
[LSW8-GigabitEthernet0/0/2] quit
[LSW8] interface GigabitEthernet 0/0/3
[LSW8-GigabitEthernet0/0/3] undo shutdown
[LSW8-GigabitEthernet0/0/3] quit
[LSW8] interface GigabitEthernet 0/0/4
[LSW8-GigabitEthernet0/0/4] undo shutdown
[LSW8-GigabitEthernet0/0/4] quit
# 保存配置
[LSW8] save
[LSW8] quit
(2)LSW9 配置(非根桥)
<Huawei> system-view
[Huawei] sysname LSW9
[LSW9] stp enable
# 开启所有接口
[LSW9] interface GigabitEthernet 0/0/1
[LSW9-GigabitEthernet0/0/1] undo shutdown
[LSW9-GigabitEthernet0/0/1] quit
[LSW9] interface GigabitEthernet 0/0/2
[LSW9-GigabitEthernet0/0/2] undo shutdown
[LSW9-GigabitEthernet0/0/2] quit
[LSW9] interface GigabitEthernet 0/0/3
[LSW9-GigabitEthernet0/0/3] undo shutdown
[LSW9-GigabitEthernet0/0/3] quit
[LSW9] interface GigabitEthernet 0/0/4
[LSW9-GigabitEthernet0/0/4] undo shutdown
[LSW9-GigabitEthernet0/0/4] quit
# 保存配置
[LSW9] save
[LSW9] quit
(3)LSW10 配置(非根桥)
<Huawei> system-view
[Huawei] sysname LSW10
[LSW10] stp enable
# 开启所有接口
[LSW10] interface GigabitEthernet 0/0/1
[LSW10-GigabitEthernet0/0/1] undo shutdown
[LSW10-GigabitEthernet0/0/1] quit
[LSW10] interface GigabitEthernet 0/0/2
[LSW10-GigabitEthernet0/0/2] undo shutdown
[LSW10-GigabitEthernet0/0/2] quit
[LSW10] interface GigabitEthernet 0/0/3
[LSW10-GigabitEthernet0/0/3] undo shutdown
[LSW10-GigabitEthernet0/0/3] quit
# 保存配置
[LSW10] save
[LSW10] quit
(4)LSW11 配置(非根桥,含阻塞端口)
<Huawei> system-view
[Huawei] sysname LSW11
[LSW11] stp enable
# 开启所有接口
[LSW11] interface GigabitEthernet 0/0/1
[LSW11-GigabitEthernet0/0/1] undo shutdown
[LSW11-GigabitEthernet0/0/1] quit
[LSW11] interface GigabitEthernet 0/0/3
[LSW11-GigabitEthernet0/0/3] undo shutdown
[LSW11-GigabitEthernet0/0/3] quit
[LSW11] interface GigabitEthernet 0/0/4
[LSW11-GigabitEthernet0/0/4] undo shutdown
[LSW11-GigabitEthernet0/0/4] quit
# 保存配置
[LSW11] save
[LSW11] quit
(5)LSW12 配置(非根桥)
<Huawei> system-view
[Huawei] sysname LSW12
[LSW12] stp enable
# 开启所有接口
[LSW12] interface GigabitEthernet 0/0/1
[LSW12-GigabitEthernet0/0/1] undo shutdown
[LSW12-GigabitEthernet0/0/1] quit
[LSW12] interface GigabitEthernet 0/0/2
[LSW12-GigabitEthernet0/0/2] undo shutdown
[LSW12-GigabitEthernet0/0/2] quit
# 保存配置
[LSW12] save
[LSW12] quit
(6)LSW13 配置(非根桥)
<Huawei> system-view
[Huawei] sysname LSW13
[LSW13] stp enable
# 开启所有接口
[LSW13] interface GigabitEthernet 0/0/1
[LSW13-GigabitEthernet0/0/1] undo shutdown
[LSW13-GigabitEthernet0/0/1] quit
[LSW13] interface GigabitEthernet 0/0/2
[LSW13-GigabitEthernet0/0/2] undo shutdown
[LSW13-GigabitEthernet0/0/2] quit
# 保存配置
[LSW13] save
[LSW13] quit

实验结果验证

根桥选举验证

(1)4 交换机环网根桥验证(LSW1)
[LSW1] display stp root
-------[CIST Root/ERPC]-------
  CIST Root Identifier    : 4096.4c1f-ccaa-1111
  ERPC                    : 0
  CIST Root/ERPC change times : 1
  Last change time        : 2025-10-01 10:00:00

输出解释

  • CIST Root Identifier:公共和内部生成树根桥 ID,格式为优先级.MAC地址

  • 4096.4c1f-ccaa-1111:优先级 4096,MAC 地址 4c1f-ccaa-1111,为根桥

  • ERPC:根路径开销,根桥到自身的开销为 0

验证结论:LSW1 桥 ID 最小,成功当选 4 交换机环网的根桥。

(2)6 交换机全互联根桥验证(LSW8)
[LSW8] display stp root
-------[CIST Root/ERPC]-------
  CIST Root Identifier    : 4096.4c1f-ccaa-8888
  ERPC                    : 0

验证结论:LSW8 成功当选 6 交换机全互联的根桥。

端口角色与状态验证

(1)4 交换机环网端口验证
LSW1(根桥)端口验证
[LSW1] display stp interface brief
Interface                Role      StpState      RoleStpChange
GE0/0/1                  DESI      FORWARDING    YES
GE0/0/2                  DESI      FORWARDING    YES
GE0/0/3                  DESI      FORWARDING    YES

输出解释

  • Role:端口角色,DESI为指定端口

  • StpState:端口状态,FORWARDING为转发状态

  • 根桥所有端口均为指定端口,状态为转发,符合需求

验证结论:LSW1 所有端口为指定端口,状态正常。

LSW2 端口验证
[LSW2] display stp interface brief
Interface                Role      StpState      RoleStpChange
GE0/0/1                  ROOT      FORWARDING    YES
GE0/0/2                  ALTE      DISCARDING    YES
GE0/0/3                  DESI      FORWARDING    YES

输出解释

  • GE0/0/1ROOT(根端口),FORWARDING(转发)—— 去往根桥的最优端口

  • GE0/0/2ALTE(阻塞端口 / 替代端口),DISCARDING(丢弃)—— 阻断环路,不转发用户数据

  • GE0/0/3DESI(指定端口),FORWARDING(转发)—— 负责向 LSW4 所在网段转发流量

验证结论:LSW2 端口角色与状态完全符合拓扑规划,GE0/0/2 成功阻塞,环路被阻断。

LSW3/LSW4 端口验证
# LSW3端口验证
[LSW3] display stp interface brief
Interface                Role      StpState
GE0/0/1                  ROOT      FORWARDING
GE0/0/2                  DESI      FORWARDING

# LSW4端口验证
[LSW4] display stp interface brief
Interface                Role      StpState
GE0/0/1                  DESI      FORWARDING
GE0/0/2                  ROOT      FORWARDING

验证结论:LSW3 和 LSW4 的端口角色与状态完全符合拓扑规划。

(2)6 交换机全互联拓扑端口验证
LSW11 端口验证(含阻塞端口)
[LSW11] display stp interface brief
Interface                Role      StpState
GE0/0/1                  ROOT      FORWARDING
GE0/0/3                  DESI      FORWARDING
GE0/0/4                  ALTE      DISCARDING

输出解释

  • GE0/0/4ALTE(阻塞端口),DISCARDING(丢弃)—— 阻断复杂全互联网络中的环路

验证结论:LSW11 的 GE0/0/4 为阻塞端口,状态正常,符合拓扑标注。

LSW13 端口验证
[LSW13] display stp interface brief
Interface                Role      StpState
GE0/0/1                  DESI      FORWARDING
GE0/0/2                  ROOT      FORWARDING

验证结论:LSW13 端口角色与状态完全符合拓扑规划。

环路阻断与冗余验证

(1)环路阻断验证

在 LSW2 的阻塞端口GE0/0/2上抓包(使用 Wireshark 或 eNSP 抓包功能):

  • 观察到仅接收BPDU 报文(桥协议数据单元,用于 STP 选举)

  • 未观察到任何用户数据报文(如 ARP、ICMP、TCP/UDP)

验证结论:阻塞端口仅接收 BPDU,不转发用户数据,广播风暴被成功阻断,网络正常运行。

(2)冗余链路故障切换验证

实验步骤

  1. 查看初始端口状态

    [LSW2] display stp interface brief
    Interface                Role      StpState
    GE0/0/1                  ROOT      FORWARDING
    GE0/0/2                  ALTE      DISCARDING
    GE0/0/3                  DESI      FORWARDING
    
  2. 手动断开根端口(模拟链路故障)

    [LSW2] interface GigabitEthernet 0/0/1
    [LSW2-GigabitEthernet0/0/1] shutdown  # 关闭根端口,模拟链路故障
    [LSW2-GigabitEthernet0/0/1] quit
    
  3. 等待生成树收敛(约 30-50 秒,STP 默认收敛时间):

  4. 查看端口状态变化

    [LSW2] display stp interface brief
    Interface                Role      StpState
    GE0/0/1                  DESI      DISCARDING
    GE0/0/2                  ROOT      FORWARDING
    GE0/0/3                  DESI      FORWARDING
    
  5. 测试连通性:在 LSW3 上 ping LSW4,或在 LSW2 上 ping LSW1,网络无中断。

输出解释

  • 原阻塞端口GE0/0/2自动切换为ROOT(根端口),状态变为FORWARDING(转发)

  • 原根端口GE0/0/1状态变为DISCARDING

验证结论:链路故障后,生成树自动重新收敛,阻塞端口切换为转发端口,网络无中断,冗余功能生效。

实验重难点分析

难点 1:根桥选举与优先级配置

  • 桥 ID 组成桥优先级(2字节) + MAC地址(6字节),共 8 字节

  • 桥优先级规则

    • 范围:0~61440,必须是4096 的倍数(0、4096、8192、...、61440)

    • 默认值:32768

    • 优先级越小,桥 ID 越小,越优先成为根桥

  • 为什么选 4096:4096 远小于默认的 32768,确保指定设备成为根桥,避免因 MAC 地址更小导致根桥选举不符合预期

  • 错误规避:若多台设备配置相同优先级,会比较 MAC 地址,MAC 地址越小越优先;需确保根桥优先级最低

难点 2:端口角色选举逻辑

(1)根端口选举(非根桥)

  1. 比较根路径开销:非根桥所有端口到根桥的路径开销之和,最小的为根端口

  2. 若开销相同,比较对端桥 ID:对端设备的桥 ID 越小,本端端口越优先

  3. 若对端桥 ID 相同,比较对端端口 ID:对端端口 ID 越小,本端端口越优先

(2)指定端口选举(每个网段)

  1. 比较根路径开销:网段两端端口到根桥的路径开销,更小的为指定端口

  2. 若开销相同,比较本端桥 ID:本端设备的桥 ID 越小,本端端口越优先

  3. 若本端桥 ID 相同,比较本端端口 ID:本端端口 ID 越小,越优先

(3)端口 ID 组成

端口优先级(默认128) + 端口号,共 2 字节,端口优先级必须是 16 的倍数。

难点 3:STP 状态机

STP 端口有 5 种状态,华为设备简化为 3 种主要状态:

状态 英文 含义 行为
丢弃状态 Discarding 不转发数据 不转发用户数据,仅接收 BPDU,不学习 MAC 地址
学习状态 Learning 学习 MAC 地址 不转发用户数据,接收 BPDU,学习 MAC 地址(持续 15 秒)
转发状态 Forwarding 正常转发 转发用户数据,接收 BPDU,学习 MAC 地址

STP 收敛时间

  • 初始收敛:约 30-50 秒(Discarding → Learning → Forwarding,每个状态 15 秒)

  • 故障收敛:约 30-50 秒

实验总结

知识点总结

  1. STP 核心作用:消除二层环路,保留链路冗余,实现故障自动切换

  2. 四大选举步骤:根桥 → 根端口 → 指定端口 → 阻塞端口

  3. 端口角色

    • 根端口(ROOT):非根桥唯一,去往根桥最优

    • 指定端口(DESI):网段唯一,负责转发流量

    • 阻塞端口(ALTE):阻断环路,故障时切换

  4. 端口状态:Discarding(丢弃)、Learning(学习)、Forwarding(转发)

  5. 根桥配置:通过stp priority手动指定根桥,确保拓扑可控

  6. 收敛时间:初始 / 故障收敛约 30-50 秒

常见错误与排障

错误现象 原因 解决方案
根桥选举不符合预期 根桥优先级配置过高,或多设备优先级相同,或其他设备 MAC 地址更小 降低根桥优先级(如改为 0),确保根桥优先级最低
阻塞端口未阻塞 STP 未开启,或接口角色选举错误,或链路未连接 检查 STP 状态(display stp),检查链路连接,重新配置根桥优先级
链路故障后网络中断 生成树未收敛,或阻塞端口未切换,或冗余链路未连接 等待生成树收敛(30-50 秒),检查端口角色配置,检查冗余链路连接
广播风暴 STP 未开启,或环路未完全阻断,或所有端口均为 Forwarding 检查所有交换机 STP 状态(display stp),确认阻塞端口正常,开启 STP
端口角色与预期不符 根路径开销计算错误,或对端桥 ID / 端口 ID 更小 检查路径开销(display stp interface),调整端口优先级(stp port priority

附录:完整配置文件

8.1 LSW1(4 交换机环网根桥)配置

#
sysname LSW1
#
stp priority 4096
#
interface GigabitEthernet0/0/1
 undo shutdown
#
interface GigabitEthernet0/0/2
 undo shutdown
#
interface GigabitEthernet0/0/3
 undo shutdown
#
return

LSW2(4 交换机环网非根桥)配置

#
sysname LSW2
#
stp enable
#
interface GigabitEthernet0/0/1
 undo shutdown
#
interface GigabitEthernet0/0/2
 undo shutdown
#
interface GigabitEthernet0/0/3
 undo shutdown
#
return

LSW5(3 交换机链式根桥)配置

#
sysname LSW5
#
stp priority 4096
#
interface GigabitEthernet0/0/1
 undo shutdown
#
return

LSW8(6 交换机全互联根桥)配置

#
sysname LSW8
#
stp priority 4096
#
interface GigabitEthernet0/0/1
 undo shutdown
#
interface GigabitEthernet0/0/2
 undo shutdown
#
interface GigabitEthernet0/0/3
 undo shutdown
#
interface GigabitEthernet0/0/4
 undo shutdown
#
return

LSW11(6 交换机全互联非根桥)配置

#
sysname LSW11
#
stp enable
#
interface GigabitEthernet0/0/1
 undo shutdown
#
interface GigabitEthernet0/0/3
 undo shutdown
#
interface GigabitEthernet0/0/4
 undo shutdown
#
return

实验注意事项

  1. 华为设备接口默认处于shutdown状态,配置完成后必须执行undo shutdown开启接口

  2. 所有交换机必须开启 STP(默认开启,但建议手动确认)

  3. 根桥优先级必须是 4096 的倍数,越小越优先

  4. STP 收敛需要时间(约 30-50 秒),验证时需等待收敛完成

  5. 阻塞端口仅接收 BPDU,不转发用户数据,这是正常现象

  6. 实验完成后必须保存配置,否则设备重启后配置会丢失

  7. 冗余验证时,建议使用shutdown命令模拟链路故障,避免物理插拔损坏设备

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐