STP

生成树协议产生原由:
为了防止单点故障,往往会在汇聚层交换机上做冗余备份,提高网络高可用性。

为了防止接入层到汇聚层单条链路断开导致接入层用户无法正常上网,从而在接入层与汇聚层之间连接多条链路做冗余备份,然而冗余备份常常会导致环路的产生,从而引发二层环路导致的广播风暴、多帧复制、MAC地址表翻转等问题。

为解决环路,业界想出了多种方法,其中最经典的就是利用生成树协议,将网络中的一个或多个接口进行阻塞,当阻塞的接口检测到有链路发生故障时,又会自动恢复正常,起到打破环路,同时又不影响冗余性的目的。

//生成树协议是交换机中的自带防止环路功能的协议,现在的思科交换机设备中大多默认开启的是PVST+。

STP:
STP(Spanning Tree Protocol):是早期的生成树协议,是由IEEE802.1d定义的数据链路层协议。
1、STP中的基本概念
①桥ID(8字节):桥优先级+背板MAC地址
桥优先级:16bit,默认32768,取值范围为0~61440,配置时要为4096的倍数,如0、4096、8192等。
背板MAC地址:48bit,唯一标识设备的网络标识。
②根桥(RB):STP刚运行时,首先要做的就是选出根桥,根桥就相当于是这颗生成树中的根,所有的数据都会经过该根桥,因此被选做为根桥的设备各性能指标要好。一个交换网络中只有一个根桥,其它设备为非根桥。
③根路径开销:本设备到达根桥的的开销(接收数据的入接口的开销之和)。
接口速率跟接口缺省开销有某种对应关系,根据IEEE802.1D规范,如下图所示:(较常见的为:10Mbps—100,100Mbps—19,1G—4,10G—2)

④接口/端口ID(16bit):接口优先级+接口号
接口优先级:4bit,默认为128,范围为0~240,手动修改时要为16的倍数,如0、16、32等(华为交换机。若是思科交换机,要是64的倍数)。
接口号:12bit,不能手动进行修改。
⑤BPDU:网桥协议数据单元。是生成树协议的载荷数据,携带生成树参数信息。STP当中有两种类型:配置BPDU(Configuration BPDU)和拓扑变更BPDU(TCN,Topology Change Notification BPDU)。

2、STP的端口角色及选举
STP运行后会先选举出根桥,再进行各端口的选举。
根桥的选举过程:比较桥ID,先看桥ID里的桥优先级,小的为根桥;若桥优先级一样,则比较背板MAC地址,小的为根桥。
①根端口(RP):在非根桥上进行选举,用来接收配置BPDU。
先比较根路径开销,小的为根端口;若根路径开销一样,则比较(BPDU)发送方的桥ID,小的为根端口;若桥ID一样,则比较(BPDU)发送方的接口ID(接口优先级小+接口号,先比较优先级,再比较接口号),小的为根端口。
②指定端口(DP):在每段链路上(每个网段上)进行选举,根桥上的所有接口都是指定端口,用来发送配置BPDU。
选举过程与根端口的选举类似:
先比较根路径开销,小的为根端口;若根路径开销一样,则比较(BPDU)发送方的桥ID,小的为根端口;若桥ID一样,则比较(BPDU)发送方的接口ID(接口优先级小+接口号,先比较优先级,再比较接口号),小的为根端口。
③阻塞端口:剩下的端口就都是阻塞端口。

3、STP的五种端口状态
①Disabled(去能状态):不能接收配置BPDU,也不能发送配置BPDU,也不能发送用户数据(当物理接口断开时,接口处于该状态)。
②Blocking(阻塞状态):能接收配置BPDU,但不能发送配置BPDU,也不能发送用户数据。
③Listening(侦听状态):可以接收配置BPDU,也可以发送配置BPDU,但不能发送用户数据。
④Learning(学习状态):可以接收配置BPDU,也能接收配置BPDU,另外还可以进行MAC地址的学习,但仍然不能发送用户数据。
⑤Forwarding(转发状态):可以接收配置BPDU,也可以发送配置BPDU,也能进行MAC地址的学习,还可以发送用户数据。

注:
从Blocking------>Listening,需要等待Max Age的时间(缺省为20s);
从Listening------>Learning,需要等待Forward Delay的时间(缺省为15s);
从Learning------>Forwarding,需要等待Forward Delay的时间(缺省为15s)。

端口状态的迁移过程:
交换机在启动的时候,各个端口就会从Disabled状态进入到Blocking状态,在等待Max Age的时间(缺省为20s)后,因为没有接收到任何配置BPDU,每台交换机都会认为自己是根桥,于是端口进入到Listening状态,开始对外发送自己产生的配置BPDU,最终选举出根桥,根端口,指定端口和阻塞端口,经过一个Forward Delay的时间(缺省为15s),除阻塞端口之外的端口进入到Learning状态,开始进行MAC地址的学习,再经过一个Forward Delay的时间(缺省为15s),除阻塞端口之外的端口进入到Forwarding状态,能够进行用户数据的转发。

4、故障处理
当网络中某条链路发生故障时,位于故障点的交换机是可以通过端口状态直接感知到这种变化,但是其他的交换机是无法感知到这种变化的。于是,位于故障点的交换机会以Hello Time(缺省2s)为周期,通过根端口不断向上游交换机发送TCN BPDU,上游交换机接收到后,会回复TCA置1的配置BPDU,另外还会以Hello Time(缺省2s)为周期通过根端口不断向上游交换机发送TCN BPDU,直到根交换机接收到TCN BPDU,将自己的MAC地址表老化周期缩短为15s,然后泛洪TC置1的配置BPDU,通告所有交换机网络拓扑发生了变化,网络中的非根交换机收到后,也会将自己交换机的MAC地址表老化周期缩短为15s。

STP的概念和基本内容相关推荐

  1. 为学好计算机 要采取什么措施,计算机概念教学的内容及对策

    摘 要:介绍有关概念教学的重要性及在概念教学中重视培养学生的思维能力.概念教学过程中应注意的问题和概念教学中采取的包括淡化.浅化.深化.跨越,在概念教学中应注意的问题, 关键词:概念教学;淡化;浅化; ...

  2. mondrian olap 示例_详解OLAP概念、基本内容、特点、分类

    概述 OLAP(On-Line Analysis Processing)在线分析处理是一种共享多维信息的快速分析技术:OLAP利用多维数据库技术使用户从不同角度观察数据:OLAP用于支持复杂的分析操作 ...

  3. 新概念书店无非内容电商线下变体,西西弗终难逃被资本吞并命运?

    21世纪初,由于当当.亚马逊等电商的冲击,传统实体书店一度陷入低迷,不少书店倒闭,传统实体书店一时之间哀鸿遍野.全国工商联书业商会调查显示,2002年到2012年,全国有近5成书店倒闭,总数达1万多家 ...

  4. 【数据结构】基本概念、大致内容

    数据结构专栏 简介 第一章 绪论 1.1 数据结构的基础概念 1.2 数据结构的内容 1.数据的逻辑结构和存储结构: 结束语 简介 数据结构是一门讨论"描述现实世界实体的数学模型(非数值计算 ...

  5. BPDU内容、BPDU中flag位详解、RSTP协议BPDU中的flag位和STP中的BPDU flag位的区别(附图,建议PC观看)

    目录 BPDU内容: flag位: RSTP和STP能兼容性: BPDU内容: BID,RID,PORT-ID: BPDU的发送间隔时间.BPDU的老化时间.转发延迟时间(15秒).MAX age.f ...

  6. STP理论01-背景及概念

    STP理论基础01-背景及概念 一. STP出现的背景: STP 是一个用于局域网中消除环路的协议.运行该协议的设备通过彼此交互信息而发现网络中的环路,并适当对某些端口进行阻塞以消除环路. 首先了解环 ...

  7. STP和RSTP详解-原理篇

    STP和RSTP详解-原理篇 一.STP 1.1 STP基本概念 1.2 STP三个定时器 1.3 STP BPDU报文 1.3.1 配置 BPDU 1.3.2 TCN BPDU 1.3.3 BPDU ...

  8. 生成树协议实验报告_【网络技术联盟站】从原理到实验再到优化剖析STP生成树协议...

    STP技术背景 STP基本概念 1. 简单地说STP采用四个步骤来解决二层环路问题: 2. 关键字段及比较原则 STP操作 1. 在交换网络中选举一个根桥 2. 在每个非根桥上选举一个根端口 3. 为 ...

  9. 【网络技术联盟站】从原理到实验再到优化剖析STP生成树协议

    STP技术背景 STP基本概念 1. 简单地说STP采用四个步骤来解决二层环路问题: 2. 关键字段及比较原则 STP操作 1. 在交换网络中选举一个根桥 2. 在每个非根桥上选举一个根端口 3. 为 ...

最新文章

  1. AI一分钟 | 阿里联合蚂蚁金服95亿美元收购饿了么;西湖大学正式获批成立
  2. 黄金矿工-收益最大化
  3. ext2_inode
  4. 本人转行,出售二手.net书籍和源码,书籍3-4折,都是新华书店原版书。
  5. 数单词 (AC自动机模板题)
  6. 在html中选项卡怎么做,纯css3制作选项卡
  7. boost::tti模块测试函数模板
  8. java media player_MediaPlayerForJava(创建一个视频播放器)
  9. MySQL使用on duplicate key update时导致主键不连续自增
  10. 【javascript高级教程】JavaScript 字符串(String) 对象
  11. Nginx多进程高并发、低时延、高可靠机制在缓存(redis、memcache)twemproxy代理中的应用...
  12. Elastic Search + Logstash + Kibana 初学者日志
  13. Atitit refact art 重构的艺术 目录 1. Concept 1 1.1. Bp 1 2. Prob 2 3. Tool 2 1.Concept 1. legacy code遗留代
  14. ubuntu wine protel 99se安装
  15. 读书笔记《计算机是怎样跑起来的》
  16. TCP SYNCookie机制
  17. LAb3-自行车码表
  18. 数字电子钟Multisim仿真(数电课设+实验报告)
  19. Matlab里关于T2F/F2T/lpf.m函数调用应注意的问题及函数修改
  20. Ubuntu下解压rar压缩文件

热门文章

  1. 如何用Kotlin实现一个简单的Activity
  2. 知云文献翻译跨页内容选中翻译操作
  3. 如何改变outlook的ost数据文件存储位置
  4. php rot13解密,用PHP实现ROT13
  5. FT601Q Multi-Channel FIFO Mode Protocols 多通道Fifo模式
  6. android卡刷包自制rom之添加删除,添加/删除ROM内置APP的教程
  7. 世界各国及组织自动驾驶现行法规政策
  8. PHP将数组平分为N份
  9. 查看端口占用情况以及如何解除端口占用
  10. LeetCode股票问题总结java