STP协议

STP(IEEE 802.1D标准定义的)的主要任务是阻止在第2层网络(网桥或交换机)产生网络环路,它警惕的监视着网络中所有的链路,通过关闭任何冗余的接口来确保在网络中不会产生环路。STP采用生成树算法,它首先创建一个拓扑数据库,然后搜集并破坏掉冗余的链路。

为了提高网络可靠性,交换网络中通常会使用冗余链路,然而,冗余链路会交给交换网络带来环路风险,环路会引起广播风暴,网络中的主机会收到重复数据帧。

环路会引起MAC地址表震荡,进而会影响到用户的通信质量。生成树协议STP(spanning

tree protocol)可以在提高可靠性的同时用能避免环路带来的各种问题。

生成树协议包括:STP、RSTP、MSTP。

STP工作流程:

选举一个根网桥

在每一个非根网桥选举一个根端口

在每一个网段上选一个指定端口

阻塞非根网桥、非指定端口

STP的规则:

每一个网络只有一个根桥

每一个非根桥有且只有一个根端口

每天链路有且只有一个指定端口

根桥的所有端口均为指定端口

根端口和指定端口都是forwading

阻塞端口为blocking

STP术语:

根桥:根桥是桥ID最低的网桥

非根桥:除根桥外其他的网桥都是非根桥。

BPDU(桥协议数据单元):交换机之间用来交互的信息,使用BPDU里面的参数进行对比,然后再传给某个邻居,并且放入他们从另外邻居收到的BPDU。

桥ID:桥ID是由优先级和MAC地址组合来决定的,STP利用桥ID来跟踪网络中所有的交换机。(桥ID用来选举根桥,,并决定根端口。桥ID为8个字节长,包括设备的优先级和MAC地址,默认所有的优先级都是32768 。若更改则要求为4096的倍数。)优先级最低的网桥将成为根网桥

网络中的交换机默认都是每2秒发送一次BPDU,被发送到网桥/交换机的所有活动的端口上。桥ID最小的网桥就被选举为根桥。一般我们会手动将要作为根桥的交换机的优先级降低,这样会比较有效率。

根端口:直接连到根桥的链路所在端口,或者到根桥路径最短的端口。

指定端口:有最低开销的端口就是指定端口,指定端口被标记为转发端口。在根交换机上的每个端口都是指定端口。

非指定端口:开销比指定端口高的端口,它被置为阻塞状态。

转发端口:能够转发帧的端口。

阻塞端口:不能转发帧,但始终监听帧。

端口开销:两台交换机之间有多条链路且都不是根端口时,就根据端口开销来决定最佳路径,链路的开销取决于链路的带宽。

生成树端口状态

阻塞(disarding):无法转发帧,但是会监听。

侦听(listening):侦听BPDU,确保在传送数据帧之前,网络上没有环路产生。处于此状态在没有形成mac地址表时,就准备转发数据帧。

学习(lear ing):交换机端口侦听BPDU时并学习交换式网络中的所有路径。此时形成了mac地址表,但不能转发数据帧。转发延迟意味着将端口从侦听状态转换到学习状态所花费的时间,默认15秒。

转发(forwarding):发送并能接收所有的数据帧,如果在学习状态结束时,端口仍然是制定端口或根端口,它就进入转发状态。

禁用 (disabled)

端口ID(参与选举根端口)

端口优先级是从0到255的数字,默认值是128 (0x80)

端口优先级数值越小,则优先级越高

如果端口优先级相同,则编号越小,优先级越高

端口阻塞原则:

1, 端口阻塞的选择与上层交换机的优先级有关联

2,优先比较的是上层优先级,优先级大的被阻塞

3, 上层优先级等同时比较mac地址,mac大的被阻塞

4,端口阻塞的选择与根桥的接口有关系。

5, 在优先级等同的时候才会用上层交换机端口号做选择。(不一定是根桥)

6, 根桥接口号大的对应链路到下层交换机的端口会被阻塞。

STP的缺陷:

1、收敛慢,收敛属于秒级;

2、不适用于大型交换网络,网络直径小于等于20;

3、整网的交换设备不能超过50台;

STP的计算过程

1、选举一个根桥

根桥交换机:作为整个交换网络的数据转发中心;

选举要素1

根桥ID:优先级+mac地址

1、比较优先级,默认为32768,数值越小越优先,可调整,只能为4096的倍数;

2、比较mac地址,数值越小越优先。

如果设备收到比本身差的BPDU报文,直接丢弃;

如果设备收到比本身优的BPDU报文,将其放入端口存储并且转发出去。

全网泛洪的BPDU报文的根桥ID一致时说明交换网络中已经选出根桥交换机

2、每个非根交换机选举一个根端口

根端口(RP):转发数据的端口,用于接收最优的BPDU报文,只在非根桥交换机上有且只有一个。

选举要素2

1、根路径开销:

根路径:以一个接口为出方向,去往根桥交换机的最短路径之和,称为根路径;

2、开销:

跟接口的带宽有关;

100M=200000

1GE=20000

10GE=2000

根路径开销越小越优先:

STP的通用规则一:

非根桥交换机与根桥交换机直连接口都为RP端口。

3、每个网段选举一个指定端口

指定端口(DP):转发数据,用于转发最优BPDU,在每个网段上有且仅有一个。

通用规则二:

根桥交换机上的所有端口均为DP端口。

要素3

发送者桥ID

设备在转发BPDU报文,都会将本身的桥ID字段填充到发送者桥ID中;

比较规则与根桥ID比较规则完全一致。

4、阻塞非根、非指定端口

AP,既不是DP也不是RP端口。

要素4

端口ID:优先级+端口编号

优先级:默认为128,数值越小越优先,可调整,只能调整为16的倍数;

端口ID,数值越小越优先。

STP的端口状态机

disable:说明端口未启用STP协议;

blocking:阻塞状态,属于AP端口正常状态,进行根桥的选举;

listening:侦听状态,进行端口角色的确定;

learning:学习状态,学习mac地址表;

forwarding:转发状态,转发数据,学习mac地址;

STP的计时器

hello time:更新计时器,根桥交换机每2秒向外泛洪BPDU报文;

max age:默认为20s,端口中BPDU的老化时间,如果端口到达老化时间,BPDU会被丢弃,等同于拓扑发生变化。

message age:信息延时,时间默认为0秒,每经过一个设备,会加1。

端口真正的老化时间=max age-message age

forward delay:转发延时,默认为15s,在listen--learning-forwarding状态跳转时使用,用于防止临时环路。

STP的收敛规则

当RP端口down掉,非根桥交换机直接认为根桥交换机down 掉,以自身为根桥向外泛洪BPDU报文;

STP针对拓扑改变的刷新机制

(1)由发生拓扑变化的交换机朝着根桥泛洪TCN BPDU报文,上游交换机收到TCN BPDU报文后,先回复TCA BPDU报文,继续朝着根桥泛洪TCN BPDU;

(2)不断重复上述过程,直到根桥交换机收到TCN BPDU,回复TCA BPDU报文为止;

(3)根桥交换机会泛洪TC BPDU报文,泛洪35秒,每2秒泛洪(17个或者18个),当交换机收到TC BPDU报文后,会刷新mac地址表。

实验:

网络拓扑:

四台路由器全部配置stp enable

查看四台设备的stp brief

会发现AR4的2口是discarding状态

查看桥id,并对比其他路由器的接口桥id,会发现discarding的桥id大

再查看桥id的时候发现AR3的接口桥id与AR4的接口桥id相同

此时需要对比接口的mac地址,越小优先级越高,可以看出AR4接口2mac地址大。

rstp协议和stp协议对比_Stp/Rstp协议详解相关推荐

  1. rstp协议和stp协议对比_STP/RSTP协议解析

    生成树协议主要用来消除网络中可能存在的二层环路,以防广播风暴,MAC地址表震荡导致的MAC地址表项不可用,以及为以太交换网络中进行链路备份.生成树主要有三种: STP: 最原始的生成树协议,网络拓扑收 ...

  2. 网络层协议和IP数据包的格式(详解)

    1.网络层的功能 定义了基于IP协议的逻辑地址,就是ip地址 连接不同的媒介类型 选择数据通过网络的最佳路径,完成逻辑地址寻址 2.IP数据包格式 版本号( Version): 4bit 指IP协议版 ...

  3. HTTP协议头部与Keep-Alive模式详解

    HTTP协议头部与Keep-Alive模式详解 HTTP协议头部与Keep-Alive模式详解 - 玩命写博客 - 博客频道 - CSDN.NET HTTP协议头部与Keep-Alive模式详解 20 ...

  4. 计算机网络中的语法 语义 时序的概念,网络iso协议及语义语法时序详解

    网络iso协议及语义语法时序详解 计算机学习 网络协议的三要素 在计算机网路中,通信发生在不同系统的实体之间,,实体(entity)是能够发送和接收信息的任何事物.然而,两个实体间仅发送比特流就指望能 ...

  5. USB CCID类协议中的APDU命令详解

    出处:http://blog.chinaunix.net/uid-29124653-id-4573075.html 原文地址:USB CCID类协议中的APDU命令详解 作者:jeffasdasd 最 ...

  6. HTTP协议之http状态码详解 300-305 重定向

    HTTP协议之http状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果 ...

  7. 缓存一致性协议和CPU缓存架构(MESI协议)、伪共享

    目录 简介 CPU高速缓存 为什么要有CPU高速缓存 局部性原理 缓存一致性 缓存一致性的要求 总线窥探 工作原理 窥探协议 一致性协议 MESI协议 总线事务 总线仲裁 总线锁定 缓存锁定 伪共享问 ...

  8. Dubbo 3.0 前瞻之:常用协议对比及 RPC 协议新形态探索

    作者 | 郭浩(项升)  阿里巴巴经济体 RPC 框架负责人 导读:Dubbo 社区策划了[Dubbo 云原生之路]系列文章,和大家一起回顾 Apache Dubbo 产品和社区的发展,并展望未来发展 ...

  9. pap认证过程_PPP协议当中LCP协商过程详解和PAP认证原理介绍

    路由策略 filter-policy 案例1:filter-policy(rip) 案例2:filter-policy(ospf) route-policy 案例3:控制路由引入并修改路由属性 策略路 ...

最新文章

  1. 转载 详解go语言GC
  2. PhpMyAdmin导入数据库大小限制?
  3. 处理字符串_1_生成自增值
  4. 计算char,short,int,long类型变量的取值范围
  5. Linux——网络地址临时配置(详细步骤+问题解决)
  6. 使用广播信道的以太网
  7. 如何为运行的 ARM Linux 启用 LAD2.3 版本的诊断扩展
  8. LINUX矩阵键盘简单介绍,stm32矩阵键盘原理图及程序介绍
  9. 2.移植uboot-添加2440单板,并实现NOR、NAND启动
  10. 1024当当限量优惠码!花150买400的书,花220买600的书!
  11. ElasticSearch架构反向思路
  12. echarts 报错问题 is null 或者未定义等问题
  13. Tensor Flow V2:基于Tensor Flow Keras的摄氏度到华氏度温度转换的训练模型
  14. Java测试用例简介
  15. oppo8.0系统最简单激活xposed框架的经验
  16. 区块链为什么叫区块链_什么是区块链?
  17. 9月最新版 H5移动棋牌游戏联运推广平台移动游戏系统源代码下载(带安装说明)
  18. B站评论区抽奖[python]
  19. 计算机科学与探索、计算机工程与应用投稿经验分享
  20. git prune 相关

热门文章

  1. 这么多想做芯片的为啥只有它成了?
  2. 90后支付宝年度账单曝光:“我花钱的样子,可真像财务自由了啊”
  3. word2003文档打不开
  4. 微信红包神器(防封)-安卓版本
  5. (CC/PP)结构和词汇 1.0
  6. c语言程序设计字符组,C语言程序设计入门:字符串
  7. 申宝证券-股指震荡下跌
  8. 华林公司被查官网关闭 但酸碱平产品仍在线上销售
  9. 在centos7上基于rocm成功源码编译pytorch(pytorch1.6.0 + rocm3.3 + vision0.7.0)以及rocm的更换版本步骤
  10. 让输入法默认显示英文