关于STP、RSTP、MSTP协议的常见面试问题

1. STP、RSTP、MSTP的主要区别是什么?

  • STP(802.1D)

    • 功能:防二层环路,收敛慢(30-50秒)。

    • 端口状态:5种(Blocking、Listening、Learning、Forwarding等)。

    • 负载均衡:不支持,所有VLAN共享一棵树。

  • RSTP(802.1w)

    • 改进点:收敛时间缩短至1-3秒。

    • 端口角色:新增Alternate/Backup端口。

    • 状态简化:3种状态(Discarding、Learning、Forwarding)。

  • MSTP(802.1s)

    • 核心功能:多实例生成树,不同VLAN映射到不同实例。

    • 负载均衡:通过实例分配流量(如VLAN 10走实例1,VLAN 20走实例2)。

    • 复杂度:需配置一致的MST区域(名称、修订号、VLAN映射)。


2. 为什么RSTP比STP收敛更快?

  • P/A机制:通过Proposal/Agreement快速协商端口转发状态,无需等待计时器。

  • BPDU作为保活报文:连续3次未收到BPDU即判定链路失效,而STP依赖Max Age(20秒)。

  • 端口角色细化:Alternate/Backup端口可快速接管故障链路。


3. MSTP如何实现负载均衡?举例说明。

  • 实现方式:将不同VLAN映射到不同实例,每个实例独立计算生成树。

  • 示例

    • Instance 1:VLAN 10-20,指定SW1为根桥,流量走路径A。

    • Instance 2:VLAN 30-40,指定SW2为根桥,流量走路径B。

    • 结果:VLAN 10-20和30-40分别通过不同路径转发,实现负载分担。


4. 根桥的选举依据哪些参数?优先级相同时如何处理?

  • 选举依据

    • Bridge ID = 优先级(默认32768) + MAC地址。

    • 数值越小优先级越高(优先级范围为0-61440,步长4096)。

  • 优先级相同:比较MAC地址,MAC地址小的成为根桥。


5. 如何手动指定某交换机为根桥?

  • 方法:调整优先级为最小值(0)或比当前根桥更小的值。

  • 配置示例(Cisco)

    plaintext

    复制

    spanning-tree vlan 1 priority 4096  # 设置优先级为4096
  • 验证命令

    plaintext

    复制

    show spanning-tree root  # 确认根桥是否切换

6. 边缘端口的作用是什么?配置错误会导致什么问题?

  • 作用:连接终端设备(如PC),直接进入转发状态,跳过Listening/Learning阶段。

  • 配置错误风险

    • 若误将连接交换机的端口设为边缘端口,可能因BPDU未被处理导致环路。

    • 触发BPDU Guard时,端口会被禁用(需手动恢复)。


7. Alternate Port和Backup Port的区别是什么?

  • Alternate Port

    • 备份根端口(Root Port),连接不同交换机。

    • 接收来自其他交换机的更优BPDU。

  • Backup Port

    • 备份指定端口(Designated Port),位于同一交换机。

    • 接收本交换机发出的BPDU(冗余链路场景)。


8. 如何在交换机上启用RSTP并配置优先级?

  • 启用RSTP(Cisco)

    plaintext

    复制

    spanning-tree mode rapid-pvst  # 启用RSTP
    spanning-tree vlan 1 priority 4096  # 配置VLAN 1的优先级
  • 华为设备

    plaintext

    复制

    stp mode rstp  # 启用RSTP
    stp priority 4096  # 全局优先级

9. MSTP中如何将VLAN 10-20映射到Instance 1?

  • 配置示例(Cisco)

    plaintext

    复制

    spanning-tree mst configuration
     instance 1 vlan 10-20
     name REGION1  # 区域名称
     revision 1    # 修订号
  • 验证命令

    plaintext

    复制

    show spanning-tree mst configuration

10. 网络中出现环路,如何通过STP/RSTP定位问题?

  • 排查步骤

    1. 检查根桥是否合理:show spanning-tree root

    2. 确认所有端口状态:show spanning-tree brief(阻塞端口是否正常)。

    3. 检查BPDU过滤:是否启用BPDU Guard或PortFast导致异常。

    4. 抓包分析:查看BPDU是否被意外丢弃或篡改。


11. 交换机端口一直处于Blocking状态,可能是什么原因?

  • 常见原因

    • 根桥选举错误:非预期设备成为根桥,导致端口被阻塞。

    • 物理链路故障:单向链路导致BPDU丢失。

    • 安全特性冲突:Root Guard或BPDU Guard阻塞端口。


12. BPDU Guard和Root Guard的区别是什么?

  • BPDU Guard

    • 作用:在边缘端口启用,若收到BPDU则关闭端口。

    • 场景:防止非法交换机接入边缘端口。

  • Root Guard

    • 作用:阻止端口成为根端口,保护当前根桥。

    • 场景:防止非法交换机篡改根桥位置。


13. 如何防止非法交换机成为根桥?

  • 方法

    • 配置合法交换机的优先级为最小值(如0)。

    • 在关键端口启用Root Guard,阻止接收更优BPDU。

    • 使用BPDU Filter或BPDU Guard限制非法BPDU。


14. 如何通过调整STP参数优化网络收敛时间?

  • STP优化

    plaintext

    复制

    spanning-tree vlan 1 forward-time 10  # 缩短Forward Delay(默认15秒)
    spanning-tree vlan 1 max-age 18       # 缩短Max Age(默认20秒)
  • RSTP:无需调整计时器,依赖P/A机制快速收敛。


15. 在MSTP中如何避免区域配置不一致的问题?

  • 方法

    • 确保所有交换机的MST区域配置完全一致(名称、修订号、VLAN映射)。

    • 使用命令验证:show spanning-tree mst configuration


17. STP与交换机堆叠(Stacking)或链路聚合(LACP)如何协同工作?

  • 堆叠

    • 堆叠组作为单一逻辑设备运行STP,所有成员交换机共享同一个生成树实例。

    • 物理链路在堆叠内部视为内部连接,不参与STP计算。

  • 链路聚合(LACP)

    • 聚合链路被视为一条逻辑链路,STP阻塞整条链路或保留单条物理链路。

    • 聚合链路故障时,STP无需重新收敛(由LACP处理链路切换)。


18. RSTP在SDN(软件定义网络)环境中的适用性如何?

  • 适用性

    • 局限性:SDN通常通过集中控制器(如OpenFlow)直接计算无环路径,无需依赖RSTP。

    • 保留场景:在Underlay网络(物理层)可能仍需RSTP防环,Overlay层由SDN控制。


19. RSTP的P/A(Proposal/Agreement)机制基本原理和选举过程?

  • 基本原理:通过快速协商将指定端口直接置为转发状态。

  • 流程

    1. 上游交换机发送Proposal BPDU(Flags置位P)。

    2. 下游交换机阻塞所有非边缘端口,并回复Agreement BPDU(Flags置位A)。

    3. 上游收到Agreement后立即将端口置为转发状态。

  • 优势:绕过Listening/Learning状态,收敛时间从30秒缩短至1秒。


以上回答结合了理论、配置示例及排错思路,可根据具体厂商设备调整命令语法。在面试中,建议结合实际项目经验或实验案例进一步展开说明。

你可能感兴趣的:(网络协议,网络面试解答,面试,职场和发展)