网络运维学习笔记(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 
相关推荐
Ethan learn English6 分钟前
汽车零部件英语词汇 | 3000 最常用单词系列
笔记·学习·汽车·生活·英语·可理解性输入
好奇龙猫10 分钟前
日语学习-日语知识点小记-进阶-JLPT-N1阶段应用练习(7):语法 +考え方20+2022年7月N1
学习
为java加瓦17 分钟前
IO多路复用的两种触发机制:ET和LT触发机制。以及IO操作是异步的还是同步的理解
java·服务器·网络
岑梓铭20 分钟前
计算机网络第四章(8)——网络层《ICMB网际控制协议》
网络·计算机网络
charlie11451419124 分钟前
Windows 10 系统编程——线程专题1
c++·windows·学习·线程
_Power_Y34 分钟前
SSM面试题学习
java·开发语言·学习
毕业设计论文1 小时前
个人备忘录的设计与实现
运维·服务器·网络
夕泠爱吃糖1 小时前
TCP三次握手四次挥手
网络·网络协议·tcp/ip
爱写代码的小朋友1 小时前
生成式人工智能对学习生态的重构:从“辅助工具”到“依赖风险”的平衡难题
人工智能·学习·重构
YoungLime1 小时前
DVWA靶场之三:跨站请求伪造(CSRF)
网络·安全·web安全