STP学习总结

STP是广泛应用在二层的具有冗余的网络中用来消除环路的一种机制,当然二层环网中用来消除环路的技术还有RRPP和H3C的smart-link技术等。

一、STP的一些基本概念

STP是IEEE802.3D定义的,在二层网络中阻塞冗余链路,消除环路的一种,STP包含:STP、RSTP和MSTP等。

1、  根桥:网络中根优先级最小的那台交换机称为根桥,默认的优先级为32768。根桥优先级的步长为4096的整数倍,取值范围为0~61140。

2、  桥优先级:表示桥的优先级。

3、  根端口:根桥上的所有端口都是根端口,非根桥上离根桥开销最小的那个端口称为根端口。

4、  指定端口:在指定的物理网段上到根桥开销最小的那个端口。

5、  桥ID:桥优先级由桥MAC两部分组成。桥ID越小越有可能称为根桥。

6、  路径开销用来衡量桥与桥之间链路的优劣。

7、  BPDU:桥协议数据单元,在STP中存在两种BPDU,一种为配置BPDU,另外的一种为TCN  BPDU,用来通告拓扑的变化。

二、STP计算过程

1、  根桥的选举

假设SW1的桥优先级为0,当上图网络中的所有设备启用STP特性后,会从和其他交换机相连的端口泛红以自己为根桥的BPDU,当交换机收到比自己更优的根桥ID的时候,便会使用该值填充BPDU中根桥的字段,通过一段时间的相互发送和比较后,由于SW1的交换机手工设置的优先级为0,此时,在整个网络中SW1为根桥。

2、  端口角色的确定

根桥上的端口都是指定端口DP,那么上图SW1的1和2号端口为指定端口,SW2为1-3网段的指定桥,SW3为2-4网段的指定桥,3和4端口为根端口,3-4网段1-3的路径比经过3-4-2这样的路径的开销要小,因此3号口味3-4网段的指定端口,阻塞4号端口。

SW4到达根桥的开销走7-5-3-1和8-6-4-2都是一致的,此时将会进行指定桥优先级,此时7为根端口。

SW5到达根桥的开销无论怎么出发都是一致的,此时将会进行指定桥端口的优先级,优先级小者优先,因此9号端口为根端口。

三、STP的端口状态

STP的端口状态包括:disable 、blocking、Listening、learning、Forwarding等状态,disable状态即端口没有启用stp特性,此时端口正常首发用户数据帧。

Blocking状态:端口处于阻塞状态的时候,仅接受BPDU,不发送BPDU。

Listening状态:端口处于监听状态,该状态是一个过渡状态,此时端口从blocking开始学习mac。但是在该状态仍然不进行用户数据帧的转发。

Learning状态:端口处于MAC学习状态,该状态规定仍然不进行用户数据帧的转发。

Forwarding状态:转发状态,只有当端口改变成为forwarding状态的时候才会进行数据帧的转发

四、STP的拓扑的处理机制

在STP中,从listening状态到forwarding需要经过两倍的Forward-delay时间,Forward-delay的时间为15s。

在STP中,当根桥选择完毕之后,根桥产生的BPDU从指定端口发出,非根桥从根端口接受,从指定接口转发出去,非根桥本省并不产生自身的BPDU。

当拓扑变化的时候,网桥感知拓扑变化,产生TCN置位的BPDU,通知根桥,根桥接收后会发送TCA置位的BPDU,并且产生TC置位的BPDU,下游网桥接收到根桥发送的TC置位的BPDU,会将MAC的老化时间设置为15s。

因此在STP中,当拓扑发生变化的时候网络的收敛时间可能为30s或者50s。

BPDU报文中的flag字段的第0位置1为TCN报文,第7位置1为TCA报文。

五、STP的缺点

1、  拓扑的收敛速度很慢,不适用于灵敏性的应用。

2、  当网络中的大量主机上线和下线时,拓扑会发生变化,对拓扑的控制不够灵活。

六、RSTP协议

802.3w规定的快速生成树协议,收敛机制和拓扑变化相应机制比STP快很多,主要的亮点有:

1、边缘端口

RSTP中可以手动将一些连接终端设备的端口设置为边缘端口,当一个端口被设置为边缘端口后,主机接入后可以直接进入转发状态,而且边缘端口主机频繁上线和下线时不会对整个拓扑造成影响。

3、  端口是根端口

在RSTP中,Alternate端口是根端口的一个备份口,当根端口故障时,备份端口可以马上进入转发状态,几乎不需要延迟。

4、  端口是指定端口

RSTP中指定了P/A机制,指定借口可以和对端网桥进行一次握手,即可进入转发状态,不依赖任何计数器,但是握手的前提必须是在点到点的链路中。

5、  P/A机制

BPDU报文中的flag字段,第一位是P置位,第六位是A置位。

6、  收敛机制

下游网桥收到TC置位的BPDU后会清除除TC报文接受端口除外的其余端口的MAC地址,并在两倍的Hello-time时间内向指定端口和根端口发送TC置位的RST BPDU。

7、  RSTP 可以兼容STP。

七、MSTP

Mstp是802.s规定的,可以实现不同vlan的流量的负载和多实例。

STP学习总结的更多相关文章

  1. 云计算--网络原理与应用--20171122--STP与HSRP

    简单了解STP 学习HSRP 实验 一.  简单学习STP STP(spanning tree protocol)生成树协议,就是把一个环形的结构改变成一个树形的结构.通过一些算法,在逻辑上阻塞一些端 ...

  2. H3CNE学习5 STP

    一.STP 1.概念 2.STP开机默认会运行 二.STP操作 1.原理 2.根桥选举,首先比前面的ID,谁小谁就是根桥,如果ID一样就比较mac,谁小谁就是根桥 可以手动修改优先级,图中可以将swA ...

  3. CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍

        前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用.     (1)STP(Spanning-tre ...

  4. 系​统​吞​吐​量​(​T​P​S​)​、​用​户​并​发​量​、​性​能​测​试、IO负载学习

    目录 . 如何评价一个系统的性能 . 系统吞度量 . 网络上下行数据量 . 客户端-服务端TCP同时长连接数量 . 系统性能的指标计算 . 系统IO负载 1. 如何评价一个系统的性能 在文章的开始,我 ...

  5. 浅议SNMP安全、SNMP协议、网络管理学习

    相关学习资料 tcp-ip详解卷1:协议.pdf(重点看25章SNMP部分) http://www.rfc-editor.org/rfc/rfc1213.txt http://www.rfc-edit ...

  6. JMeter学习-014-JMeter 配置元件实例之 - 用户定义的变量 参数化配置

    前文讲述了通过 CSV Data Set Config 实现参数化配置(详情敬请参阅:JMeter学习-010-JMeter 配置元件实例之 - CSV Data Set Config 参数化配置), ...

  7. STP详解

    STP详解 Write From YangWj Wednesday, March 5, 2014 一. 生成树协议 STP的主要任务是阻止在第2层网络(网桥或交换机)产生网络环路,它警惕的监视着网络中 ...

  8. 【转】不同VLAN之间相互通信及VTP、STP、EtherChannel概念

    厘清最后一个概念. 转了网上两个相关帖子: http://www.net130.com/CMS/Pub/Tech/tech_zh/2009_03_12_97386_3.htm http://blog. ...

  9. OSI模型第二层数据链路层-STP协议

    1.stp协议的由来. 在二层网络中,交换机起到了很重要的作用,如果有一台交换机出现故障会影响网络的使用,为了避免存在单点故障,在实际的二层链路中会采用链路冗余,也就是采用交换设备之间多条联络连接,即 ...

随机推荐

  1. Vertica数据库操作

    删除主键(Vertica数据库的主键值并非唯一的): SELECT ANALYZE_CONSTRAINTS('fb_s.c_log'); 找到key名,再: ALTER TABLE fb_s.c_lo ...

  2. 大豆生物柴油驱动的大巴斯(Bus)

    请看下图: 这是大豆生物柴油(Soybean biodiesel)驱动的大巴斯(Bus)的外观,感觉非常有劲. 回想历史,1893年,德国学者Rudolf Diesel(1858-1913)发明了一种 ...

  3. Linux账号管理(一)

    整理自<鸟哥的Linux私房菜>,整理者:华科小涛http://www.cnblogs.com/hust-ghtao/ 管理员的工作中,相当重要的一环就是“管理账号”.因为整个系统都是你在 ...

  4. winform基础——实现简易赈灾物资发放登记系统

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  5. eclipse3.2 汉化 汉化包下载

    1.首先去www.eclipse.org下载eclipse3.2   点击下载eclipse3.2 2.再去www.eclipse.org下载它的汉化包   请使用迅雷等下载工具下载汉化包 注意不同版 ...

  6. rsync Backups for Windows

    Transfer your Windows Backups to an rsync server over SSH rsync.net provides cloud storage for offsi ...

  7. Git 图解剖析(转)

    git中文件内容并没有真正存储在索引(.git/index)或者提交对象中,而是以blob的形式分别存储在数据库中(.git/objects),并用SHA-1值来校验. 索引文件用识别码列出相关的bl ...

  8. 在toolbar里动态创建多个button(ext.net)

    private void setOneMenu() { string sql = "select id,name,gids from Config where name<>'高级 ...

  9. uva Matrix Decompressing (行列模型)

    Matrix Decompressing 题目:    给出一个矩阵的前i行,前j列的和.要求你求出满足的矩阵. 矩阵的数范围在[1,20].   一開始就坑在了这里.没读细致题目. 囧...   事 ...

  10. 编写生成彩色验证码的Servlet

    利用Ajax实现无刷新的彩色验证码时,也需要编写一个名称为PictureCheckCode.java的Servlet,该类继承HttpServlet,主要通过service()方法生成验证码. 下面将 ...