当前位置:网站首页>生成树协议(STP---Spanning Tree Protocol)
生成树协议(STP---Spanning Tree Protocol)
2022-08-10 16:07:00 【不大聪明¿】
目录
前言
由于线路冗余、桥接环路等,导致广播风暴、MAC地址表翻滚、同一数据帧的重复拷贝,最终导致设备工作过载,进行重启保护。从而引申出生成树
STP简介
在一个二层交换网络中,生成一棵树型结构,逻辑的阻塞部分接口,使得从根到所有的节点仅存在唯一的路径,当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用,生成树在生成过程中,应该尽量的生成一棵星型结构,且最短路径树
存在算法: 802.1D PVST PVST+(CISCO) RSTP(802.1w) MSTP(802.1S)
STP工作原理
逻辑上断开环路,使其中一条线路阻塞,防止广播风暴的产生
当原来的线路故障,将之前阻塞的接口激活,恢复通信,起到备份线路的作用
STP算法
802.1D
一个交换网络内仅存在一棵生成树实例,交换机间使用BPDU—桥协议数据单元 – 交换机间沟通互动收发的数据
配置BPDU
只有根网桥可以发送,在交换网络初始状态时,所有交换机均定义本地为根网桥,进行BPDU的发送,使得网络中所有交换机均收到其他设备的BPDU,之后基于数据中的参数进行比对,选举出根网桥,再所有非根网桥不再发送BPDU,而是仅接收和转发根网桥的BPDU,周期2s发送,hold time 20s
TCN---拓扑变更消息(也是BPDU)
本地交换机链路故障后,STP重新收敛,为了快速刷新全网所有交换机的MAC表,将向本地所有STP接口发送TCN(标记位中的TCN位置1),邻居交换机收到TCN后,先标记为ACK位为回复,用于可靠传输消息,之后将TCN逐级转发到根网桥处,由根网桥回复TC消息来逐级回复到所有交换机,使所有交换机临时将MAC表的老换时间修改为15s(默认的,转发延时)
生成树算法可归纳三个步骤
1、根网桥
在一棵生成树实例中,有且仅有一台交换机为root,BPDU中的 桥ID来决定,桥ID= 网桥优先级(0-65535公有) 默认32768 + MAC地址(只有存在svi接口的交换机才拥有mac地址,若存在多个mac选数值最小)
根网桥的选举 先比较优先级,小优, 若优先级相同,比较mac,数值小优
2、根端口
在每台非根网桥上,有且仅有一个接口;本地离根网桥最近的接口(最短、星型),接收来自根网桥的BPDU,转发用户的流量(该接口不阻塞)
规则:
1、比较从根网桥发出后,通过该接口进入时最小的cost值
2、入向cost值相同,比较该接口对端设备的BID,小优
3、对端BID也相同,比较该接口对端设备的接口的PID;先优先级小,若优先级一致,编号小
4、连对端PID也相同,比较本地PID,小优;
PID=端口ID 接口优先级(0-240,步长16,默认128) 接口编号
3、指定端口
在每一段存在STP的物理链路上,有且仅有一个,转发来自根网桥的BPDU,同时可以转发用户流量(不阻塞),默认根网桥上所有接口为指定端口
1、比较从根网桥发出后,通过该接口进入这段链路时的cost值最小(出向)
2、若出向cost值相同,必须本地的BID,小优
3、本地BID相同,比较本地的PID
4、本地PID,相同,直接阻塞该端口
STP状态
down:没有BPDU收发,一旦可以进行BPDU收发进入下一状态
侦听(Listening):强制15s,所有交换机进行BPDU收发,选举所有角色,接口角色为非指定端口直接进入阻塞状态,若为指定端口和根端口进入下一状态
学习(Learning):强制15s,指定端口和根端口学习所有接口连接设备的MAC地址,生成MAC表,之后进入下一状态
转发(Forwarding):指端端口和根端口进入,可以转发用户报文
阻塞(Blocking/Discarding):逻辑阻塞
STP配置
[sw1]stp mode stp 修改为802.1d算法,当下华为默认为MSTP;
[sw1]stp priority 4096 修改网桥优先级
[sw1-GigabitEthernet0/0/1]stp cost ? 修改接口cost值
INTEGER<1-200000000> Port path cost
[sw1-GigabitEthernet0/0/1]stp port priority ? 修改接口优先级
INTEGER<0-240> Port priority, in steps of 16
配置多生成树实例和VLAN的映射关系,同一vlan的数据只能对应一个实例,而一个实例可以对应多个vlan(instance 1 vlan 2 to 10)
[SW1-mst-region]instance 1 vlan 10 将vlan 10加入实例1中
[SW1-mst-region]instance 2 vlan 20 将vlan 20加入实例2中
[SW1-mst-region]check region-configuration 查看MSTP域配置参数
[SW1-mst-region]active region-configuration 激活MSTP域的配置(必须配置)
[SW1-mst-region]quit 退出配置模式
[SW1]stp instance 1 root primary 配置此交换机为实例1的主根桥
[SW1]stp instance 2 root secondary 配置此交换机为实例2的备份根桥
边栏推荐
猜你喜欢
二叉树详解
清理空的 Jetpack Compose 应用程序模板
Go+:首个顺应 “三位一体” 发展潮流的编程语言
Etcd Kubernetes 集群稳定性:LIST 请求源码分析、性能评估与大规模基础服务部署调优
商业智能BI行业分析思维框架:铅酸蓄电池行业(二)
“低代码”编程或将是软件开发的未来
WIZnet 物联网设计大赛 - WizFi360大赛延迟通知
Yi Gene|In-depth review: epigenetic regulation of m6A RNA methylation in brain development and disease
A Sina Weibo semantic sentiment analysis tool developed by ABAP
关于“算力”,这篇文章值得一看
随机推荐
力扣+牛客--刷题记录
网页分析和一些基础题目
mysql按月查询统计(统计近12个月的项目个数)
C专家编程 第10章 再论指针 10.5 使用指针向函数传递一个多维数组
清理空的 Jetpack Compose 应用程序模板
app自动化测试webview怎么操作
cmake记录
蓝桥ROS之 cmake gcc g++ 默认版本和升级
不爱生活的段子手不是好设计师|ONES 人物
产品说明丨如何使用MobPush快速创建应用
从抖音到火山引擎——看流媒体技术演进和机会
基础填空以及编程题
哈希表应用:只出现一次的数字
Colocate Join :ClickHouse的一种高性能分布式join查询模型
Methodology of multi-living in different places
cmake record
十年架构五年生活-09 五年之约如期而至
Detailed understanding of all built-in functions (Part 2)
腾讯云TDP-对象存储COS产品新用户福利
FFmpeg 交叉编译