看了网上关于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生成树协议详解的更多相关文章

  1. HTTP协议详解(转)

    转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...

  2. HTTP协议详解

    Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展. ...

  3. 动态选路、RIP协议&&OSPF协议详解

    动态选路.RIP协议&&OSPF协议详解 概念 当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路.路由器之间必须采用选路协议进行通信,这样的选路协议 ...

  4. ASP.NET知识总结(3.HTTP协议详解)

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  5. 接口测试之HTTP协议详解

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  6. 计算机网络(12)-----HTTP协议详解

    HTTP协议详解 http请求 http请求由三部分组成,分别是:请求行.消息报头.请求正文 (1)请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Metho ...

  7. OSPF协议详解

    CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...

  8. HTTP协议详解(真的很经典)

    HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展.目前在WWW中使用的是HTTP/1.0 ...

  9. HTTP协议详解--转载http://blog.csdn.net/gueter/article/details/1524447

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  10. 关于http协议详解

    Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前 ...

随机推荐

  1. dotnet 使用 NamedPipeClientStream 连接一个不存在管道服务名将不断空跑 CPU 资源

    本文记录一个开发和代码审查过程中,需要关注的细节.在 dotnet 里,在 .NET 6 和以下版本,包括 .NET Framework 版本,使用 NamedPipeClientStream 进行连 ...

  2. dotnet C# 只创建对象不调用构造函数方法

    有时我期望只是创建出对象,但是不要调用对象的构造方法,可以通过使用 FormatterServices 的 GetUninitializedObject 函数来实现只创建对象不调用构造函数方法 这个 ...

  3. 二进制安装多master节点的k8s集群(2)

    1.环境准备 k8s集群角色 IP 主机名 安装的组件 控制节点 192.168.1.10 master apiserver.controller-manager.scheduler.etcd.doc ...

  4. vue-单独引入css文件,设置公共的css样式或者修改默认的vant,mint样式

    1.css文件夹下新建global.css文件并粘贴复制: ======================= :root{     --bgColor : #d3252a;     --pinkColo ...

  5. 为什么我反对过度使用TypeScript?

    前言 在2024年, TypeScript肯定算不上什么新鲜的技术. 但是经过长时间的使用, 我认为可以使用, 但是要适度. 类型跟不上业务的变化 我们知道TypeScript的类型定义是业务的体现. ...

  6. Codeforces Round 917 (Div. 2)

    A. Least Product 存在 \(a[i] = 0\),\(min = 0\),不需要任何操作. 负数个数为偶数(包括0),\(min = 0\),把任意一个改为 \(0\). 负数个数为奇 ...

  7. SQL Server实战三:数据库表完整性约束及索引、视图的创建、编辑与删除

      本文介绍基于Microsoft SQL Server软件,实现数据库表完整性约束.索引与视图的创建.编辑与删除等操作的方法. 目录 1 交互式为数据库表S创建PRIMARY KEY约束 2 交互式 ...

  8. .Net 8.0 下的新RPC,IceRPC之试试的新玩法"打洞"

    作者引言 很高兴啊,我们来到了IceRPC之试试的新玩法"打洞",让防火墙哭去吧 试试RPCs的新玩法"打洞" 比较典型的玩法:RPC数据流从客户端流向服务端, ...

  9. 11.17~11.18暨noip2023游寄

    11.17 我们DZ不负众望又干了点nt事,但是为了按时间顺序记叙,所以说放到最后再讲 上午 平常的起床+吃饭,然后就发手机啥的,坐大巴去德州东再坐会高铁去秦皇岛,这些简单记一下就行了 重点来了 先拜 ...

  10. 鸿蒙HarmonyOS实战-ArkUI事件(手势方法)

    一.手势方法 应用程序的手势操作是指在移动设备上使用手指或手势进行与应用程序交互的方式.手势操作可以包括点击.滑动.双击.捏合等动作,用于实现不同的功能和操作. HarmonyOS中常见的手势操作及其 ...