一、什么是STP

  生成树协议Spanning Tree ProtocolSTP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太网中无环路的逻辑拓扑结构.从而避免了广播风暴,大量占用交换机的资源。

二、STP初始化阶段

  网络中所有的桥设备在使能STP协议后,每一个桥设备都认为自己是根桥。这时候每台设备仅仅收发配置BPDU,而不转发用户流量,所有的端口都处于Listening状态。所有桥设备通过交换配置BPDU后才进行根桥、根端口和指定端口的选举工作。

三、STP中的概念

  BPDU:是运行STP的交换机之间交换的消息帧。BPDU内包含了STP所需的路径和优先级信息,STP便利用这些信息来确定根桥以及到根桥的路径。

  BIDBID报文长度为8,包含2字节的桥优先级与6字节的桥背板mac地址。桥优先级的取值为0--65535,缺省值为32768。

  PID:端口优先级+端口ID(端口优先级默认为128,端口ID为端口的编号)

  累计根路开销:对从设备端口到达根桥路经的各端口(除根桥上的指定端口外)的各段链路的路径开销值(也称链路开销值)进行累加。同一交换机上不同端口的路径开销值为0。

  根桥:是STP生成树的“树根”

  根端口:就是在所有非根桥上的不同端口之间选举出一个到根桥最优路径的端口,根端口在每个非根设备上有且只有一个。(最优路径:端口到根桥的累计根路径开销最小)

  指定端口:是在每一个物理网段的不同端口之间选举出一个指定端口。

  阻塞端口:关闭数据转发,以打破环路。使其成为一种“预备端口”的形式存在。

  对端:接收数据时发送方,也就是链路对端的桥

四、根桥的选举

  在交换网络中所有运行STP协议的交换机上选举出一个唯一的根桥,根桥的选举是根据桥BID中优先级与mac地址来确定的(先对比桥优先级,优先级最小的为根桥;当桥优先级都相等时,对比mac地址,mac地址小的为根桥)。

  在选举时发送的是BPDU中。选举主要包含两步:桥设备确定自己的BPDU、互相发送BPDU报文进行对比以确定网络中的根桥。

   一开始每个桥都认为自己是根桥,向外发送的BID都是自己的。每个桥都向外发送自己的配置BPDU的同时也会收到其它桥发送的配置BPDU。但桥端口并不会对收到的所有配置BPDU都用来更新自己的配置BPDU,而是先会进行配置BPDU优先级比较。当端口收到的配置BPDU比本端口的配置BPDU的优先级低时,将丢弃所收到的这个配置BPDU,仍保留自己原来的配置BPDU;否则会提取其中的BID来代替自己BPDU中原本的BID,在进行不断的数据交互中,所有交换设备中的所有端口都认为根桥是相同时,说明根桥已经选择完毕。
当链路或者拓扑发生改变时,又会重新选取新的根桥。

五、根端口的选举

  非根交换机在选举根端口时,依据(按顺序)累计根路开销(小)、对端BID(小)、对端PID(小)、本端PID(小)。(在后面的实验文章中有实验对其进行分别验证)

六、指定端口的选举

  指定端口的选举时,依据(顺序)累计根路开销(小)、BID(小)、PID(小)(在后面的实验文章中有实验对其进行分别验证)

七、阻塞端口

  未被选举为根端口与指定端口的端口,成为阻塞端口。

网络初级篇之STP(概念原理)的更多相关文章

  1. 网络初级篇之STP(BPDU详解与STP故障恢复)

    一.BPDU包含的参数 通过STP的原理,我们学习了红色部分的字段(根桥ID.根路径开销.桥ID.端口ID).现在讲解一下黄色部分的字段(类型.计时器.老化时间.访问时间) 1.(BPDU Type) ...

  2. 网络初级篇之RSTP(原理与配置)

    一.RSTP的产生 前面的文章写到了当网络拓扑发生变化时,STP的收敛速度大约需要花费30秒-50秒的时间才会继续转发数据.这样在实际生产环境中花费的时间是非常长的,这样RSTP(快速生成树协议)便应 ...

  3. 网络初级篇之VLAN(原理)

    一.早期网络的问题 1.若某时刻有多个节点同时试图发送数据,极易产生冲突域,这样使得网络传输效率大大降低. 2.从一节点发送的数据都会被送到各个节点,极易形成广播域,这样会使得产生太多的广播流量而耗费 ...

  4. 网络初级篇之STP(实验验证)

    一.根桥的选举. 1.优先级相等时. (图1-1) (图1-2) 在上面1-1图中,已经标出桥的mac地址,桥的优先级为默认优先级(缺省:32768).任意一端口抓包,查看STP数据包内包含的信息,根 ...

  5. 网络初级篇之网络设备的FTP(原理与实验)

    一.什么是FTP    FTP就是文件传输协议.用于互联网双向传输.二.FTP的作用    控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间,主要的作用就是文件的传输,保 ...

  6. 网络初级篇之DHCP原理与配置(原理与实验)

    一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...

  7. 网络初级篇之OSPF(一)原理

    一.OSPF是什么 Open Shortest Path First, 开放最短路径优先协议,是一种开源的使用最短路径优先(SPF)算法的内部网关协议(IGP).常用于路由器的动态选路. 二.OSPF ...

  8. 网络初级篇之VLAN间路由(原理与配置)

    一.VLAN间的路由 由于VLAN隔离了二层广播域,也间接的隔离了各个VLAN之间的其他二层流量交换,这样导致属于不同VLAN之间的用户不能进行二层的通信.只能经过三层的路由转发才能将报文从一个VLA ...

  9. 网络基础篇之NAT(原理)

    一.NAT的产生 由于网络的飞速发展和网络应用的极速增多,致使IPv4可用地址空间逐渐枯竭.尽管IPv6可以在根本上解决地址枯竭问题,但IPv4发展到IPv6还需要一个过渡,而这便产生了NAT. 二. ...

随机推荐

  1. 数据库开源框架之sqlcipher加密数据库

    访问github链接:https://github.com/sqlcipher/android-database-sqlcipher 访问 http://sqlcipher.net/sqlcipher ...

  2. flutter Could not find the built application bundle at build/ios/iphonesimulator/Runner.app

    运行flutter run时报错 提示如下: Could not find the built application bundle at build/ios/iphonesimulator/Runn ...

  3. Jenkins 有用的API

    /quietDown: Put Jenkins in a Quiet mode, in preparation for a restart. In that mode Jenkins don’t st ...

  4. BOM Summary P268-P269

    The Browser Object Model(BOM) is based on the window object, which represents the browser window and ...

  5. python基础知识(元组)

    元组 不能更改内容 元组 (元素1,元素2) 元组的创建和删除 使用赋值运算符直接创建元组 元组名 = (元素1,元素2........) 只创建一个元素的元组    元组名 = (元素1,) 创建空 ...

  6. elastic全文检索框架

    什么是ElasticSearch? 1.Elasticsearch是一个基于Lucene的搜索引擎.它提供了具有HTTPWeb界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎.Elastic ...

  7. Cisco路由器的dhcp服务的配置的命令

    Router(config)#IP DHCP POOL Jason Router(dhcp-config)#net 172.16.10.0 255.255.255.0 Router(dhcp-conf ...

  8. 网页制作入门——HTML(2)编码与字符实体

    在上一期,我们顺口提到了——你写的网页在打开后,可能发现只是一串乱码.那么这是为什么呢? 这就是编码的神奇力量! 八卦的启示——什么是编码? 编码的思想,很早就在中国诞生了,从还不太明朗的结绳记事.算 ...

  9. PTA(Basic Level)1057.数零壹

    给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如 ...

  10. 【pytorch】学习笔记(一)-张量

    pytorch入门 什么是pytorch PyTorch 是一个基于 Python 的科学计算包,主要定位两类人群: NumPy 的替代品,可以利用 GPU 的性能进行计算. 深度学习研究平台拥有足够 ...