STP生成树协议详解
看了网上关于STP生成树的解释感觉不是很懂,随即自己研究了一番
如有错误,欢迎指正,欢迎留言
--------------------------------------------------------------------------------------------------------------------
首先我们来了解一下为什么会有STP协议,即它能解决什么问题。
在企业里,为了防止线路故障,通常会做线路冗余,由于交换机会转发所有广播,所以会产生以下的问题:
1.广播风暴。广播会在交换网络里无限传播,且越来越严重,直至占满交换机资源。
2.重复帧。目标主机会收到越来越多的重复帧,这些重复帧可能每一个都需要回复。
3.MAC地址表不稳定。由于交换机的自学习,使得发送广播的主机的MAC地址(即源MAC)不停的出现在交换机不同的接口。
所以出现了STP生成树协议,将多余的线路自动阻塞,防止以上的问题;当有线路故障时,又会生成新的生成树,原本阻塞的某一段又会重新开始转发帧,以达到线路冗余的目的。
我们来熟悉一下STP生成树的术语:
桥ID:网桥的优先级(2字节)+本网桥最小MAC地址(6字节)
网桥优先级默认为32768
每一个交换机都有一个桥ID
端口ID:端口优先级(1字节)+端口号(1字节)
端口优先级默认为128
每一个端口都有一个端口ID
BPDU:桥协议数据单元,包含了网桥ID和Cost等信息
选举过程:
1.选择根桥
具有最小网桥ID的交换机成为根桥
2.每个网桥选择一个根端口
①选取端口(注意是端口)到达根桥Cost值最小的端口作为根端口
②若以上相同,则选取BPDU发送方网桥ID最小的
③若以上均相同,则选取BPDU发送方端口ID最小的
带宽 Cost
10Gbps 2
1Gbps 4
100Mbps 19
10Mbps 100
3.每一个段选择一个指定端口
①选取网桥(注意是网桥)到达根桥Cost值最小的端口作为根端口
②若以上相同,则选取BPDU发送方网桥ID最小的
③若以上均相同,则选取BPDU发送方端口ID最小的
注意:已经成为根端口的端口不再参与指定端口的选举
4.既不是根端口也不是指定端口的,进入阻塞状态
选举过程中端口的状态:
Disable:不发送任何报文(端口处于关闭状态)
Blocking:接收但不转发BPDU,不学习MAC地址,不接收也不转发帧(阻塞状态,但接收BPDU,需要时转为Listening)
Listening:接收且转发BPDU,不学习MAC地址,不接收也不转发帧(监听状态,发送和接收BPDU)
Learning:接收且转发BPDU,学习MAC地址,不接收也不转发帧(开始学习MAC地址)
Forwarding:接收且转发BPDU,学习MAC地址,接收并转发帧(开始转发数据包)
端口状态变化过程:
Blocking-->Listening-->Learning-->Forwarding
①网桥开始活动后自动由Blocking转为Listening。
②在Listening阶段完成选举(20s),若为根端口或者指定端口则转为Learning,否则Blocking。
③在Learning阶段(15s)开始学习MAC地址,为数据转发做准备工作。
④Forwarding阶段(15s)就可以开始数据转发了。
读者可以根据下面的拓扑图练习一下STP生成树
通过sh int | include bia 可以查看交换机的MAC地址
通过sh spanning-tree可以查看各端口的状态
谢谢阅读。
STP生成树协议详解的更多相关文章
- HTTP协议详解(转)
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...
- HTTP协议详解
Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展. ...
- 动态选路、RIP协议&&OSPF协议详解
动态选路.RIP协议&&OSPF协议详解 概念 当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路.路由器之间必须采用选路协议进行通信,这样的选路协议 ...
- ASP.NET知识总结(3.HTTP协议详解)
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 接口测试之HTTP协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 计算机网络(12)-----HTTP协议详解
HTTP协议详解 http请求 http请求由三部分组成,分别是:请求行.消息报头.请求正文 (1)请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Metho ...
- OSPF协议详解
CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...
- HTTP协议详解(真的很经典)
HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展.目前在WWW中使用的是HTTP/1.0 ...
- HTTP协议详解--转载http://blog.csdn.net/gueter/article/details/1524447
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 关于http协议详解
Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前 ...
随机推荐
- dotnet 警惕 Task 的 ContinueWith 带上 OnlyOnFaulted 参数抛出取消异常
本文记录 dotnet 的一个令人迷惑的设计,在 Task 里,有一个叫 ContinueWith 的方法,此方法可以在 Task 完成时执行传入的委托.在 ContinueWith 方法里面,还有一 ...
- dotnet 6 修复在 System.Text.Json 使用 source generation 源代码生成提示 SYSLIB1032 错误
在 dotnet 6 内置了通过源代码生成的方式进行序列化 JSON 对象,性能非常高.使用的时候需要将 Json 序列化工具类换成 dotnet 运行时自带的 System.Text.Json 进行 ...
- dotnet 读 WPF 源代码 聊聊 DispatcherTimer 的实现
本文来告诉大家在 WPF 框架里面,是如何实现 DispatcherTimer 的功能.有小伙伴告诉我,读源代码系列的博客看不动,原因是太底层了.我尝试换一个方式切入逻辑,通过提问题和解决问题的方法, ...
- k8s应用---持久化存储和StorageClass(10)
一.简介: 在 k8s 中为什么要做持久化存储? 在 k8s 中部署的应用都是以 pod 容器的形式运行的,假如我们部署 MySQL.Redis 等数据库,需要 对这些数据库产生的数据做备份.因为 P ...
- centos7虚拟机部署netcore3.1服务供局域网访问
如果买了亚马逊.腾讯.阿里等服务器,基本上几分钟就可以跑aspnetcore,外网访问分分钟.但是便宜点的服务器访问速度就没那么理想.这时候就需要考虑零成本的虚拟机部署了,当然这个基本都是局域网做测试 ...
- 【详细教程】手把手教你开通YouTube官方API接口(youtube data api v3)
一.背景调查 1.1 youtube介绍 众所周知,youtube是目前全球最大的视频社交平台,该平台每天产生大量的视频内容,涵盖各种主题和类型,从音乐视频到教育内容,再到娱乐节目和新闻报道等.You ...
- 使用NSSM将.exe程序安装成windows服务
1.下载NSSM:NSSM - the Non-Sucking Service Manager 2.cmd方式安装服务 将下载的压缩包解压,找到nssm.exe,以管理员身份打开cmd,在cmd中定位 ...
- 如何使用Tushare+ Backtrader进行股票量化策略回测
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 典型股票量化回测流程 典型的股票量化策略回测流程包括以下几个步骤: 数据获取:首先需要获取所需的股票市场 ...
- Ubuntu-kali配置动态ip(简单)
使用gedit文本编辑器打开网络接口配置文件 gedit /etc/network/interfaces 新增两行内容如下: auto eth0 iface eth0 inet dhcp 其意思为:网 ...
- [popover, select] el-popover内有select的时候在选择后会自动关闭
Steps to reproduce 选择某个选项后会自动关闭 What is Expected? 选择后不自动关闭,等点击按钮后再去触发组件内的关闭方法. What is actually happ ...