STP

简介:

昨天的延续:

1、华为设备上的 “链路捆绑” - 动态

在华为设备,批量配置端口

      port-group  group-member gi0/0/1 to gi0/0/3 
         ->同时进入 gi0/0/1 , gi0/0/2 , gi0/0/3 端口;

==============================================================

STP: spanning tree protocol - 生成树协议

-where
交换网络中,即所谓的交换机上;也就是,该技术是一个2层技术。
-why
因为在传统的交换网络中,存在“单点故障”的问题,
所以为了解决该问题,我们引入了“备份链路/设备“解决方案,
但是,带来了新的问题 - 2层数据环路,
所以,为了解决该问题,我们提出了 STP 解决方案。

     环路现象 -
         交换机上会提示以下信息:
              MAC A flapping between Fas0/1  and  Fas0/2 
         通过查看交换机上的端口的 LED 指示灯查看:
              疯狂闪烁

-作用:
在交换网络中,存在备份链路的情况,防止2层数据转发环路的发生。

-实现:
-报文 
BPDU - bridge protocol data unit 
桥接 协议 数据 单元
-类型
config BPDU : 配置BPDU
TCN BPDU :拓扑变更通知 BPDU 
-原理
1、确定交换机的角色
根交换机
非根交换机
选举依据:BID - bridge ID , 桥ID
优先级 + MAC地址 
2Byte 6Byte
选举原则:
1、首先比较 BID 的优先级,越小越好;
默认是32768
2、如果优先级相同,则比较 MAC 地址,越小越好。
本质上是交换机的“基MAC地址”,也就是
交换机的主板的MAC地址 - show version

   2、确定端口的角色
     (root-port)          根端口 :在每一个非根交换机上,有且只有一个,距离根交换机,最近的端口
     (designated-port)    指定端口:在每一个网段(冲突域),有且只有一个,距离根交换机,最近的端口
     (non-designated-port)非指定端口:其他所有端口,都称之为非指定端口。

                在 STP 中,如何表示“距离”?
                     - cost :开销
                         表示的是去往根交换机的距离

Mr.Zero 距离的大小与端口带宽有关系。
带宽 cost(默认的对应关系)
10M -- 100
100M -- 19
1G -- 4

   3、确定端口状态
            down/disable:表示端口是关闭的,挂掉的;
            listening:表示的是侦听状态,该状态是不能收发用户数据的
            learning :表示的是学习状态,该状态是不能收发用户数据的
            forwarding:表示的是转发状态,该状态可以正常收发(最终状态)
            blocking:表示的是阻塞状态,该状态不能收发使用户数据(最终状态)

验证命令:
show spanning-tree // 查看交换机上的 STP 信息。


BPDU报文结构:
Root-ID //表示的是根交换机的 ID (优先级+base-MAC)
Cost //表示的是发送这个BPDU的交换机到根交换机的距离;
BID //表示的是发送这个BPDU的交换机的名字;
Port-ID //表示的是发送这个BPDU的交换机的出端口
hello-time //表示的是发送BPDU的周期,默认是2s;
forward-delay //表示的是转发延迟,默认是15s;
max-age //表示的是最大存活时间,默认是20s;

注意:
STP在工作过程中,选择交换机角色、端口角色时,是通过比较BPDU的
以上的前面的4个字段来进行确定的。
如果 root-id相同,则比较下一个,
cost值越小越好,如果相同,则比较一下个
BID越小越好,如果相同,则比较下一个
Port-id越小越好,不可能相同。
-port-id的组成:
port-优先级 + port-号
默认是128

STP收敛时间
-收敛
所谓的收敛,指的是当网络出现故障时,到再次恢复联通所需要的时间。
-时间
30s---50s

随着网络的发展,基础网络对网络收敛时间的要求越来越高,
故30-50的时间太长了,所以我们开发了新的公有标准协议 - RSTP , 
快速生成树。


STP的类型:

公有标准 私有协议(cisco)
IEEE 802.1d(STP) -生成树 PVST
IEEE 802.1w(RSTP) -快速生成树 PV-RSTP
IEEE 802.1s(MSTP) -多生成树 MIST

RSTP的工作过程与传统的 STP 相似,

但是能够提高收敛速度的原因,包含以下几个方面:

1、发现问题的效率提高了:
在传统的STP中,一个交换机如果发现一个链路出现故障,则会产生
一个 TCN BPDU ,为的是告诉根交换机,然后根交换机,重新产生
一个新的 配置BPDU,然后下发给其他的所有的非根交换机。

在 RSTP 中,一个交换机如果发现一个链路出现故障的话,则会产生
一个新的 TCN BPDU ,直接发送给与其相连的所有的交换机

2、 解决问题的效率提高了
细化端口角色:
根端口
指定端口 
替代端口 - 是根端口的替代者;
备份端口 - 是指定端口的备份者;
精简端口状态:
learning -> 学习(该状态学习的MAC地址表)
forwarding -> 转发
discarding -> 丢弃
(相当于STP中的 down / listening / blocking)


#交换机默认情况下开启了 STP 功能,是可以关闭的;
#交换机默认情况下运行的 STP 模式,是 RSTP(不同产品,模式不同)
#STP 模式查看:
SW1#show spanning-tree summary
#STP 模式转变:
SW1(config)# spanning-tree mode ? ->就可以看到该设备支持的STP其他模式

注意:
在企业项目中,对 STP 最多的操作,也就是仅仅配置一个主根交换机
和辅根交换机的身份。
一般将其配置到具备高性能转发的交换机上面。

SW1:VLAN10 的主根,VLAN 20 的辅根;
spanning-tree vlan 10 priority 0 
spanning-tree vlan 20 priority 4096
SW2:VLAN20 的主根,VLAN 10 的辅根;
spanning-tree vlan 20 priority 0 
spanning-tree vlan 10 priority 4096

我们在配置交换机的 STP 优先级的时候,所配置的数值必须是
   4096的倍数。因为在 BID 的2个字节的优先级中,其实表示
   优先级本身的,仅仅是4个bit,后面的12bit,表示的sys-id-ext
   ,即扩展系统ID,其实数值本身为 VLAN号。主要的目的,就是为了
   引入以VLAN为基础而运行的 STP ,比如 PVST。

基于VLAN 设计 STP(PVST) ,可以让我们在多个交换机之间,以 VLAN 为基础
进行流量的负载均衡,从而可以提高设备的利用率。

STP特性
快速收敛
portfast
uplink-fast
安全特性
bpduguard
bpdufilter
root-guard



本文转自 linuxpp 51CTO博客,原文链接:http://blog.51cto.com/13505118/2048886,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 传感器 数据库连接
《深度剖析鸿蒙系统应用生命周期管理与优化策略》
鸿蒙系统应用开发中,生命周期管理是核心。它涵盖应用从启动到销毁的全过程,包括启动初始化(如Ability创建与资源加载)、前台后台切换(状态保存与资源释放)及停止销毁阶段(清理资源)。开发者可通过精准加载释放资源、建立状态保存恢复机制、管理多线程异步操作及应对设备配置变化等策略优化性能。以电商应用为例,合理管理各阶段任务可提升用户体验,推动鸿蒙生态发展。
318 0
|
10月前
|
云安全 存储 数据采集
带你读《阿里云安全白皮书》(十四)——云上安全重要支柱(8)
阿里云致力于保障客户数据安全,承诺客户完全拥有数据主权,未经授权不访问、使用或移动客户数据。阿里云通过严格的租户隔离、零信任架构和多层次的数据安全保护技术,确保数据安全。同时,阿里云遵循国内外多项法律法规,并通过了多项权威认证,全面保障客户数据的安全与合规。
微信养号脚本,导入手机号自动添加,autojs代码分享
这段代码实现了基本的微信自动添加好友功能,包括读取手机号文件、启动微信、搜索用户和发送
|
4月前
|
JavaScript 搜索推荐 前端开发
通义灵码2.5智能体模式联合MCP:打造自动化菜品推荐平台,实现从需求到部署的全流程创新
本项目利用通义灵码2.5的智能体模式与MCP服务,构建在线点餐推荐网站。基于Qwen3模型,实现从需求到代码生成的全流程自动化,集成“今天吃什么”和EdgeOne MCP服务,提供个性化推荐、偏好管理等功能。技术架构采用React/Vue.js前端与Node.js后端,结合MCP工具链简化开发。项目涵盖功能测试、部署及未来扩展方向,如餐厅推荐、语音交互等,展示高效开发与灵活扩展能力。
|
4月前
|
开发框架 API 开发工具
HarmonyOS NEXT~鸿蒙系统与Uniapp跨平台开发实践指南
本书《HarmonyOS NEXT~鸿蒙系统与Uniapp跨平台开发实践指南》深入探讨了华为鸿蒙系统(HarmonyOS)与Uniapp框架的融合应用。书中首先介绍了鸿蒙系统的分布式架构特点及其原子化服务理念,随后详细讲解了Uniapp在鸿蒙环境下的适配方案,包括开发环境配置、特有配置项设置以及条件编译调用鸿蒙原生能力的方法。此外,还提供了界面适配策略、性能优化建议及调试发布流程,帮助开发者高效构建多端协同应用。最后展望了鸿蒙生态未来的发展方向,如ArkUI-X的深度集成和全新API能力的应用前景。
293 0
|
6月前
|
数据采集 弹性计算 运维
阿里云付费模式介绍:节省计划、预留实例券、抢占式实例区别及选择参考
在我们购买阿里云服务器时,可选的付费模式有包年包月、按量付费、节省计划、预留实例券和抢占式5种付费模式,满足长周期低成本以及短周期高弹性的计算要求,一般用户选择最多的是包年包月和按量付费,包年包月购买适合长期稳定的业务,购买周期越长,折扣越高,按量付费购买紧贴业务需求购买资源的付费方式,秒级计费,用多少花多少。本文主要为大家介绍节省计划、预留实例券、抢占式实例三种付费模式,以供参考。
|
6月前
|
机器学习/深度学习 数据采集 人工智能
DeepSeek R1 最新全面综述:R1 为什么能让 LLM 像人一样思考?
DeepSeek R1 最新全面综述:R1 为什么能让 LLM 像人一样思考?
240 0
|
8月前
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
183 1
|
10月前
|
Java Linux Windows
Java“Could Not Create Java Virtual Machine”解决
当在Java中遇到“Could Not Create Java Virtual Machine”错误时,通常是由于内存设置不当、Java版本不兼容、类路径错误或操作系统限制等原因导致JVM无法启动。解决方法包括调整内存参数、确认Java版本兼容性、检查类路径和启动参数、以及检查用户权限和文件系统。
4367 1
|
负载均衡 网络协议 前端开发
一文快速上手 Nacos 注册中心+配置中心!
一文快速上手 Nacos 注册中心+配置中心!
8208 0