当前位置:网站首页>STP总结
STP总结
2022-06-23 03:54:00 【空丶白灬】
一、生成树协议
STP的作用;解决线路冗余时使用二层网络桥接环路问题
1、广播风暴
2、MAC地址表翻滚 — MAC地址在交换机中的刷新时间为5min,一个接口可以对应多个MAC;但一台交换机上同一MAC地址只能对应一个接口;
3、同一数据帧的重复拷贝
生成树协议:在一个二层交换网络,逻辑的阻塞部分接口;
当最佳路径故障时,自动疏通部分接口来实现链路备份;
生成树:在一个二层交换网络中,生成一棵树型结构,逻辑的阻塞部分接口,使得从根到所有的节点仅存在唯一的路径;
当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用;
生成树在生成过程中,应该尽量的生成一棵星型结构,且最短路径树;
二、生成树的分类
1、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(默认的,转发延时)
选举— 根网桥 根端口 指定端口 非指定端口(阻塞端口)
【2】选举
1、根网桥:在每一棵生成树实例中,有且仅有一台交换机作为根桥;负责发送BPDU,计算和指挥整个树的收敛;作为树形结构的根部,交换网络部分的中心节点;
对比BPDU中的桥ID; 桥ID= 网桥优先级 + MAC地址(本地背板池)
交换机作为网桥设备时,关注终端设备发送的数据帧中的MAC地址;但交换机本地无MAC;
需要运行STP协议的交换机,必须在出厂时由厂家进行MAC的写入-存储于交换机的背板地址池中
若交换的背板地址池中MAC地址为多个,将选择数值最小的地址来进行选举
先比较网桥优先级(0-65535,默认32768),小优;若优先级一致,比较MAC地址,数值小优;
2、根端口:在每一台非根网桥上有且仅有一个接口;本地离根网桥最近的接口,用于接收来自根网桥的BPDU,同时转发终端的数据帧;
1)比较从根网桥发出,之后通过该接口进入时最小的cost值;
2)若入向的cost相同,比较接口对端的设备的BID,小优
3)若对端设备的BID相同,那么比较对端接口的PID;小优
4)若对端设备的PID相同,那么比较本地的PID,小优
PID=端口ID = 接口优先级(0-240,默认128 小优)+ 接口编号 先比较优先级,小优;若优先级相同比较接口编号,数值小优
3、指定端口:在每一段运行了STP的物理链路上有且仅有一个接口;转发来自根网桥的BPDU,同时转发终端的数据帧;根网桥上所有接口均为指定端口;根端口的对端一定为指定端口;
1)比较转发来自根网桥的BPDU是,出项的最小cost值
2)若出向cost值相同,比较本地的BID,小优
3)若本地的BID相同,比较本地的PID,小优
4)若本地PID相同,将直接阻塞该端口
4、非指定端口:以上所有角色选举完成后,剩余各个接口的角色;该接口处于阻塞状态;
接口阻塞是逻辑上的,并不是接口被关闭;该接口处于可以接收到数据,但不进行转发的状态;
【3】接口状态
Down :所有接口通电后进入下一状态
侦听:交换机收发BPDU,选出所有角色;根端口、指定端口15s后进入学习状态;非指定端口进入阻塞
学习:学习终端设备发出数据帧中的源mac地址,生成交换机的MAC表(CAM表);15s后进入转发状态
转发:根端口、指定端口可以开始转发终端的数据帧
阻塞:逻辑阻塞,不能发送BPDU ,可以接收BPDU ,不能发送和接收数据
【4】802.1D的收敛时间:
1、初次收敛 30s 15s侦听+15s学习
2、结构变化
1)存在直连检测 –本地仅存在一个阻塞端口可以接收到来自根网桥的BPDU;需要30s收敛
2)无直连检测 — 20s hold time等待+30s收敛=50s
802.1D算法的缺点:
1、收敛速度慢
2、链路利用率低 – 备份链路正常不转发数据
注:在实际工程中,STP只要正常运算就会生成一个无环的网络结构;但角色位置不好,可能导致网络效率低下;至少应该保障根网桥的位置处于 三层架构中的汇聚层; 在交换机连接AP时,应该保障AP所在接口不被其他物理接口阻塞;
cost值:不同带宽 存在不同cost
802.1d标准: 802.1T标准
10M = 100 1000M= 20000
100M=19 100M=200000
1000M=4
10000M=2
=>100000M=1
[SWA]stp pathcost-standard ? 默认华为使用802.1t标准
dot1d-1998 IEEE 802.1D-1998
dot1t IEEE 802.1T
legacy Legacy
802.1D配置命令:
[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
2、PVST/PVST+(CISCO)
PVST 基于VLAN的生成树协议 依然沿用了802.1D的运算规则;
区别在于,一个VLAN中存在一棵树;
PVST cisco私有 基于vlan的生成树协议
在每个vlan内,存在一棵树,每棵树的工作原理同802.1d一致;不同vlan的BPDU区别在于网桥优
先级;
优先级=4096倍数+vlan id 人为仅可修改4096倍数备份,且只能修改为4096的整倍
仅支持 trunk干道封装为ISL(cisco私有封装)
PVST + 在PVST的基础,兼容802.1q的trunk封装;且设计了部分的加速;
端口加速(接入层连接用户的接口) 上行链路加速-针对直连检测(接入层设备方可配置)
骨干加速—针对次优BPDU 剩去20s的hold time 所有交换机均可配置
缺点:1、收敛慢(加速不彻底) 2、树多(仅cisco存在单独的芯片,友商无法负荷)
3、RSTP(CISCO) /802.1W(公有)
cisco的RSTP — 基于vlan的快速生成树 - 一个vlan一棵树 pvst+的升级
公有RSTP(802.1w) — 整个交换网络一棵树 802.1d的升级
快速的原理:
1、取消了计时器,而是在一个状态工作完成后,直接进入下一状态;
2、分段式同步,两台设备间逐级收敛;使用请求和同意标记;依赖标记位的第1和第6位
3、BPDU的保活为6s;hello time 2s;
4、将端口加速(边缘接口)、上行链路加速、骨干加速集成了
5、兼容802.1d和PVST,但802.1d和PVST没有使用标记位中的第1-6位,故不能快速收敛;因此如果网络中有一台设备不支持快速收敛,那么其他开启快速收敛的设备也不能快速;
当tcn消息出现时,不需要等待根网桥的BPDU,就可以刷新本地的cam表;
切记:接口默认为半双工时,即便运行RSTP,依然基于慢速的802.1D算法来收敛;
[sw1]stp mode rstp
边缘接口—用于连接PC的接口,一旦被设定为边缘接口;将不再进行BPDU的发送,且不进行STP的收敛,直接为转发状态; 但若该接口收到了对端的BPDU,将失去边缘特性,重新正常收敛;
[sw1]interface GigabitEthernet 0/0/1
[sw1-GigabitEthernet0/0/1]stp edged-port enable
[sw1]stp priority ? 修改网桥优先级
INTEGER<0-61440> Bridge priority, in steps of 4096
[sw1]stp root ? 快速定义根网桥角色
primary Primary root switch
secondary Secondary root switch
[sw1-GigabitEthernet0/0/1]stp port priority ? 修改接口优先级
INTEGER<0-240> Port priority, in steps of 16
[sw1-GigabitEthernet0/0/1]stp cost ? 修改接口cost
INTEGER<1-200000000> Port path cost
4、MST=802.1S 华为设备默认使用该协议
继承了快速生成树的基础; 将多个vlan放置于一个组内,基于每个组一棵生成树;
不同组间的BPDU中优先级= 4096倍数+组号
[r1]stp mode mstp
默认存在组0,且所有vlan默认处于该组;优先级= 32768+0
分组
[sw1]stp enable
[sw1]stp region-configuration
[sw1-mst-region]region-name a 所有设备应在一个域内
[sw1-mst-region]instance 1 vlan 1 to 5
[sw1-mst-region]instance 2 vlan 6 to 10
[sw1-mst-region]active region-configuration 激活当前配置(必须配置该指令)
切记:若将创建某个组,但该组内的vlan,在本交换机上没有创建,同时没有为该vlan服务的接口;该组将没有任何信息;整个交换网络中所有设备的分组信息必须完全一致;
定义本地为组1 的主根,组2 的备份根
stp instance 1 root primary 优先级修改为0
stp instance 2 root secondary 优先级修改为4096
[sw1]stp instance 1 priority ?
INTEGER<0-61440> Bridge priority, in steps of 4096
[sw1]interface GigabitEthernet 0/0/1
[sw1-GigabitEthernet0/0/1]stp instance 1 cost ?
INTEGER<1-200000000> Port path cost
[sw1-GigabitEthernet0/0/1]stp instance 1 port priority ?
INTEGER<0-240> Port priority, in steps of 16
边栏推荐
- 微信小程序:爱情保证书制作生成
- Kail infiltration basic literacy basic command
- Seven year manong Road
- apache atlas 快速入门
- 元数据管理Apache Atlas编译(内嵌式)部署及遇到各种错误记录
- 单行或多行文本溢出,省略号代替
- Architecture à trois niveaux MVC
- Cookie session explanation
- 【OFDM通信】基于matlab OFDM多用户资源分配仿真【含Matlab源码 1902期】
- "Wechat applet - Basics" takes you to understand the routing system of the applet (2)
猜你喜欢

Shadertoy基础教学02、画笑脸

精密星历介绍与使用

servlet自学笔记

② Cocoapods principle and podspec file uploading operation

Servlet self study notes

What are the types of independent station chat robots? How to quickly create your own free chat robot? It only takes 3 seconds!
![[OFDM communication] simulation of OFDM multi-user resource allocation based on MATLAB [including Matlab source code 1902]](/img/ad/91a81c7f413484a86adcff8fc84e3b.jpg)
[OFDM communication] simulation of OFDM multi-user resource allocation based on MATLAB [including Matlab source code 1902]

【毕业季_进击的技术er】送别过去两年迷茫的自己。重整旗鼓,大三我来啦

How can mushrooms survive a five-year loss of 4.2 billion yuan?

AlertManager告警的单独使用及prometheus配置告警规则使用
随机推荐
ICer技能02makefile脚本自跑vcs仿真
Automatically add watermark to screenshot
618如何冲出重围?海尔智家:做好用户的数字化
超越芯片和AI,硬科技资本为什么越来越“硬核”?
ICER skill 01 regular matching
Small problems in the spoole framework for TCP communication in PHP
云原生数据库如荼如火,未来可期
功能测试人员如何做到花一个月的时间进阶自动化软件测试工程师
Mini Homer——几百块钱也能搞到一台远距离图数传链路?
Thinkphp6 solving jump problems
Dolphin scheduler 2.0.5 task test (spark task) reported an error: container exited with a non zero exit code 1
dolphinscheduler 2.0.5 spark 任务测试总结(源码优化)
This markdown artifact will be charged!
[C language] keyword
微信小程序;AI智能配音助手
SwiftUI 2.0 课程笔记 Chapter 4
Decompile
入行软件测试5年,跳槽3次,我摸透了软件测试这一行
Learn to draw Er graph in an article
laravel8实现图片验证码