网络运维学习笔记(DeepSeek优化版)008网工初级(HCIA-Datacom与CCNA-EI)STP生成树协议与VRRP虚拟路由冗余协议

文章目录


STP(Spanning Tree Protocol,生成树协议)

STP协议通过冗余链路提高网络可靠性 ,同时消除环路导致的广播风暴和MAC地址表震荡问题。

一、STP模式与环路重现

  • 三种工作模式
    • MSTP(默认且最常用)
    • RSTP(快速生成树)
    • STP(经典生成树)
  • 环路重现方法 :在华为设备上执行undo stp enable禁用STP协议(二层设备无TTL机制)

二、核心原则:三个有且只有

  1. 根交换机唯一

    全网有且只有一个根桥(RB:Root Bridge),其所有端口均为指定端口(DP)
    注:根桥可被优先级更高的交换机抢占

  2. 根端口唯一

    每个非根交换机有且只有一个根端口(RP)

  3. 指定端口唯一

    每条链路有且只有一个指定端口(DP),根端口与指定端口处于转发状态(Forwarding)

其他端口为非指定端口,将被阻断,blocking(cisco)/discarding(huawei)(阻塞端口:AP)

三、根桥选举机制

  1. 初始状态

    所有交换机启动时自认为根桥(RB)

  2. 选举依据

    • 桥ID(BID:Bridge ID) 优先级(16位) + MAC地址(48位),优先级数值越小越优
    • 根桥ID优先级(0-65535),默认为32768,数值越小越优先,可调整,实际上只能为4096的倍数,所以范围为0-61440
    • 端口ID优先级(0-255):默认为128,数值越小越优先,可调整,只能为16的倍数
  3. 选举流程

    1. 全网选举BID最小的交换机作为根桥
    2. 非根交换机基于以下参数选举根端口(RP):
      • RPC(Root Path Cost,根路径开销)
      • 对端BID
      • 对端PID(接口ID:Port ID,包括接口优先级+接口编号)
      • 本端PID
      • 对端直连根桥的端口都是RP
    3. 链路指定端口(DP)选举依据:
      • RPC
      • 本端BID
      • 本端PID
      • 未被选举为根端口或指定端口的端口为预备端口,将会被阻塞,成为阻塞端口(AP)

四、端口角色与状态转换

4.1 端口角色

角色类型 说明
根端口 非根交换机最佳上行路径
指定端口 链路中最佳转发端口
阻塞端口 被阻断的冗余端口(AP)

注:AP概念实际来自RSTP,STP官方定义仅包含RP和DP

4.2 状态转换流程

图片中数字解释:

1 端口初始化或使能;

2 端口被选为根端口或指定端口;

3 端口不再是根端口或指定端口;

4 forward delay计时器超时;

5 端口禁用或链路失效。

交换机间每一个环路的每一个vlan计算一个STP。

非使能状态(Disabled)→阻塞状态(Blocking 20s)→侦听状态(Listening 15s)→学习状态(Learning 15s)→转发状态(Forwarding)

转换触发条件

  • 初始化/使能端口
  • Forward Delay计时器超时
  • 链路失效

五、BPDU协议详解

BPDU(Bridge Protocol Data Unit,网桥协议数据单元) ,包含桥ID、路径开销、端口ID、计时器等参数。

5.1 BPDU类型

类型 方向 作用
配置BPDU 根桥→非根桥 传递拓扑信息
TCN BPDU 非根桥→根桥 报告网络拓扑变化

5.2 关键参数

  • Hello Time:2秒(根桥发送间隔)
  • Max Age:20秒(BPDU老化时间)
  • 故障恢复时间
    • 直连故障:30秒(Listening+Learning)
    • 非直连故障:50秒(Max Age+Listening+Learning)

5.3 当拓扑变化导致MAC地址表错误时:

  • STP协议30秒完成收敛(15秒Listening + 15秒Learning)
  • MAC地址表默认老化时间300秒(5分钟)
    注:此时网络理论上仍未完全恢复

5.4 TCN BPDU关键作用

  1. TCN上报:边缘交换机发送TCN BPDU(Topology Change Notification)
  2. 根桥响应:根桥回复TC(Topology Change)标记
  3. 老化加速:MAC地址表老化时间从300秒强制缩短为15秒
  4. 最终恢复:总恢复时间仍保持30秒(15秒Learning阶段即完成MAC更新)

六、设备配置命令

6.1 思科设备

cisco 复制代码
show spanning-tree                # 查看生成树状态  后面还可以加选项如 vlan xx  detail 查看某个vlan的stp详细信息
show spanning-tree bridge id      # 查看stp的桥ID等信息
no spanning-tree vlan all         # 在所有vlan关闭stp
clear arp-cache                   # 如果要模拟无stp时的环路现象,关闭stp后还需要重置arp表。

6.2 华为设备

cisco 复制代码
display stp brief         # 查看生成树状态,STP的端口角色等信息
display stp               # 查看stp的桥ID等信息  后面可以加例如interface g0/0/1,查看某个接口的stp信息
undo stp enable           # 关闭stp。或者使用stp disable    开启stp是stp enable
reset arp all             # 如果要模拟无stp时的环路现象,关闭stp后还需要重置arp表。

display bridge mac-address    # 查看交换机的背板mac
stp cost 20000                #(接口视图下)修改 STP 的 cost 值
stp root ?                    # 更改根桥为主根或备根(primary/secondary)
stp pathcost-standard ?       # 配置接口路径开销(dot1d-1998/dot1t/legacy)

实验

使SW1和SW2互为主备,更改stp模式的方法:
思科 :PVST(Per-VLAN Spanning Tree,思科私有协议),可分流;
华为:VBST(VLAN-Based Spanning Tree,华为特有协议),不能分流。

思科

SW1

cisco 复制代码
SW1(config)# spanning-tree mode pvst                 # 真机默认就是这个,模拟器不是,需要改
SW1(config)# spanning-tree vlan 2,3,4 priority 0     # 使sw1成为vlan 2,3,4的主交换机
SW1(config)# spanning-tree vlan 5,6,7 priority 4096  # 使sw1成为vlan 5,6,7的备交换机
SW1(config)# spanning-tree portfast edge default     # 所有接入端口配置为边缘端口,跳过30秒收敛时间
SW1(config)# spanning-tree portfast edge bpduguard default       # 所有接入端口配置BPDU保护
SW1(config-if)# spanning-tree portfast edge trunk    # 进入接口配置边缘端口
SW1(config-if)# spanning-tree bpduguard enable       # 接口实施BPDU保护,接口可以不是边缘端口

SW2

cisco 复制代码
SW2(config)# spanning-tree mode pvst                 # 真机默认就是这个,模拟器不是,需要改
SW2(config)# spanning-tree vlan 5,6,7 priority 0     # 使sw2成为vlan 5,6,7的主交换机
SW2(config)# spanning-tree vlan 2,3,4 priority 4096  # 使sw2成为vlan 2,3,4的备交换机
SW2(config)# spanning-tree portfast edge default   
SW2(config)# spanning-tree portfast edge bpduguard default   
SW2(config-if)# spanning-tree portfast edge trunk  
SW2(config-if)# spanning-tree bpduguard enable  
SW(config)# show spanning-tree summary totals        # 查看边缘端口信息

华为

SW1

cisco 复制代码
[SW1] stp mode stp                     # 华为默认是mstp,所有交换机都改成stp
[SW1] stp priority 0                   # SW1成为主交换机。配置交换机的STP优先级(默认32768),接口下用此命令是配置接口优先级(默认128)
[SW1] stp edge-port default            # 所有端口配置为边缘端口,跳过30秒收敛时间
[SW1-g0/0/1] stp edged-port disable    # 某个端口(如trunk端口)取消边缘端口配置   
[SW1-g0/0/1] shutdown    
[SW1-g0/0/1] undo shutdown             # 重启此接口,使取消边缘端口的行为生效
[SW1] stp bpdu-protection              # 所有边缘端口配置BPDU保护(刚才取消配置的端口已排除在外)
[SW1-g0/0/1] stp edged-port enable     # 某个端口配置为边缘端口,仅该接口有效企业交换机没有接口下的BPDU保护,只有全局BPDU保护

SW2

cisco 复制代码
[SW2] stp mode stp                    # 华为默认是mstp,所有交换机都改成stp
[SW2] stp priority 4096               # SW2成为备交换机。这个优先级只能以4096的倍数去加
[SW2] stp edge-port default   
[SW2-g0/0/1] stp edged-port disable 
[SW2-g0/0/1] shutdown    
[SW2-g0/0/1] undo shutdown  
[SW2] stp bpdu-protection   
[SW2-g0/0/1] stp edged-port enable  
[SW] display stp interface g0/0/1     # 查看边缘端口信息

VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议)

  • 3层协议
  • IP协议号112
  • 报文advertisement
  • 组播IP地址224.0.0.18
  • 组播MAC地址0100-5e00-0012
  • vrrp的3种状态
    • init
    • master
    • backup

思科

SW2

cisco 复制代码
SW2(config)# int vlan 8  
SW2(config-if)# vrrp 8 ip 10.1.10.14    

SW1

cisco 复制代码
SW1(config)# int vlan 8                  # 进入vlan8配置vrrp
SW1(config-if)# vrrp 8 ip 10.1.10.14     # 配置vrrp及虚拟ip地址
SW1(config)# show vrrp brief             # 查看vrrp信息
SW1(config-if)# vrrp 8 priority 110      # 可以更改设备优先级,默认100
SW(config)# show vrrp brief  

华为

SW2

cisco 复制代码
[SW2] int vlan 8   
[SW2-vlanif8] vrrp vrid 8 virtual-ip 10.1.10.14  

SW1

cisco 复制代码
[SW1] int vlan 8                            # 进入vlan8配置vrrp
[SW1-vlanif8] vrrp vrid 8 virtual-ip 10.1.10.14     # 配置vrrp及虚拟ip地址
[SW1-vlanif8] display vrrp brief            # 查看vrrp信息
[SW1-vlanif8] vrrp vrid 8 priority 110      # 可以更改设备优先级,默认100
[SW] display vrrp brief 
相关推荐
peter676824 分钟前
kvm学习小结
学习
wang090740 分钟前
网络协议之为什么要分层
网络·网络协议
AdaTina1 小时前
Docker的分解分析
运维·docker·容器
donglxd1 小时前
老电脑优化全知道(包括软件和硬件优化)
运维·windows·系统安全
zcyf08092 小时前
kafka理论学习汇总
java·分布式·学习·kafka
EasyDSS2 小时前
EasyCVR视频汇聚平台助力大型生产监控项目摄像机选型与应用
网络·人工智能·音视频
群联云防护小杜2 小时前
云服务器被黑客攻击应急响应与加固指南(上)
运维·服务器·人工智能·tcp/ip·自动化·压力测试
*TQK*2 小时前
线性代数——行列式⭐
笔记·学习·线性代数
四夕白告木贞2 小时前
stm32week13
stm32·单片机·嵌入式硬件·学习
老秦包你会2 小时前
Linux课程五课---Linux进程认识1
linux·运维·服务器