热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

STP生成树协议RSTP快速生成树

STP(SpanningTreeProtocol)是生成树协议的英文缩写该协议可应用于在网络中建立树形拓扑,消除网络中的环路,并且可以通过一定的方法实现路径冗余,但不是

STP(Spanning Tree Protocol)是生成树协议的英文缩写

        该协议可应用于在网络中建立树形拓扑,消除网络中的环路,并且可以通过一定的方法实现路径冗余,但不是一定可以实现路径冗余。生成树协议适合所有厂商的网络设备,在配置上和体现功能强度上有所差别,但是在原理和应用效果是一致的。

        STP的基本原理是,通过在交换机之间传递一种特殊的协议报文,网桥协议数据单元(Bridge Protocol Data Unit,简称BPDU),来确定网络的拓扑结构。BPDU有两种,配置BPDU(Configuration BPDU)和TCN BPDU。前者是用于计算无环的生成树的,后者则是用于在二层网络拓扑发生变化时产生用来缩短CAM表项的刷新时间的(由默认的300s缩短为15s)。
        Spanning Tree Protocol(STP)在IEEE802.1D文档中定义。该协议的原理是按照树的结构来构造网络拓扑,消除网络中的环路,避免由于环路的存在而造成广播风暴问题。
        STP的基本思想就是按照"树"的结构构造网络的拓扑结构,树的根是一个称为根桥的桥设备,根桥的确立是由交换机或网桥的BID(Bridge ID)确定的,BID最小的设备成为二层网络中的根桥。BID又是由网桥优先级和MAC地址构成,不同厂商的设备的网桥优先级的字节个数可能不同。由根桥开始,逐级形成一棵树,根桥定时发送配置BPDU非根桥接收配置BPDU,刷新最佳BPDU并转发

          生成树协议最主要的应用是为了避免局域网中的单点故障网络回环,解决成环以太网网络的“广播风暴”问题,从某种意义上说是一种网络保护技术,可以消除由于失误或者意外带来的循环连接。STP也提供了为网络提供备份连接的可能,可与SDH保护配合构成以太环网的双重保护。新型以太单板支持符合IEEE 802.1d标准的生成树协议STP及IEEE 802.1w规定的快速生成树协议RSTP,收敛速度可达到1s。
        但是,由于协议机制本身的局限,STP保护速度慢(即使是1s的收敛速度也无法满足电信级的要求),如果在城域网内部运用STP技术,用户网络的动荡会引起运营商网络的动荡。目前在MSTP 组成环网中,由于SDH保护倒换时间比STP协议收敛时间快的多,系统采用依然是SDH MS-SPRING或SNCP,一般倒换时间在50ms以内。但测试时部分以太网业务的倒换时间为0或小于几个毫秒,原因是内部具有较大缓存。SDH保护倒换动作对MAC层是不可见的。这两个层次的保护可以协调工作,设置一定的“拖延时间”(hold-off),一般不会出现多次倒换问题。

 

生成树协议:运行生成树算法(STA) 算法很复杂,但是其过程可以归纳为以下3个步骤:
(1)选择根网桥
       
选择根网桥的依据是网桥ID(BID),网桥ID由网桥优先级和网桥MAC地址组成。网桥的默认优先级是32768.使用show mac-address-table时,显示在最前面的MAC地址就是计算时所使用的MAC地址。
       网桥ID值小的为根网桥,当优先级相同时,MAC地址小的为根网桥。

       网桥id=网桥优先级 和 mac

 

(2)选择根端口

     与端口相关的有
     端口成本:其与端口带宽成反比,带宽越高成本越低,端口优先级越高。
     路径成本:是从根交换机到其它交换机的端口成本累加值。

附IEEE标准路径开销表:

 

链路速度
开销(最新修订)
开销(旧
10Gbps
2
1
1Gbps
4
1
100Mbps
19
10
10Mbps
100
100

     每个非根交换机选择一个根端口。选择顺序为:
           →选择到根网桥最低的根路径成本
           →选择发送BPDU的网桥ID较小(具有最低交换机桥 ID 的相邻交换机)
           →选择较低优先级的端口(最低端口成本)
           →选择最低物理编号的端口

 


(3)选择指定端口
              每个网段都有一个用来到达根交换机的端口,成为指定端口。

        →根路径开销较低(最低路径成本)
        →所在的交换机网桥ID值最小
       →端口号最小(最低优先级)
       →物理端口号最小

          注:根桥上的所有端口都是指定端口

端口状态:
         Blocking(阻塞状态):此时,二层端口为非指定端口,也不会参与数据帧的转发。该端口通过接收BPDU来判断根交换机的位置和根ID,以及在STP拓扑收敛结束之后,各交换机端口应该处于什么状态,在默认情况下,端口会在这种状态下停留20秒钟时间。
        Listening(侦听状态):生成树此时已经根据交换机所接收到的BPDU而判断出了这个端口应该参与数据帧的转发。于是交换机端口就将不再满足于接收BPDU,而同时也开始发送自己的BPDU,并以此通告邻接的交换机该端口会在活动拓扑中参与转发数据帧的工作。在默认情况下,该端口会在这种状态下停留15秒钟的时间。
        Learning(学习状态):这个二层端口准备参与数据帧的转发,并开始填写MAC表。在默认情况下,端口会在这种状态下停留15秒钟时间。
        Forwarding(转发状态):这个二层端口已经成为了活动拓扑的一个组成部分,它会转发数据帧,并同时收发BPDU。
        Disabled(禁用状态):这个二层端口不会参与生成树,也不会转发数据帧。


思科设计了自己的专有桥接特性:

         Portfast是用在access layer中的交换机上的而且用在有阻断端口的交换机上,当RP失效,马上启动阻断端口保持通信。这样收敛时间很快,不用重新进行STP运算,直接从blocking跳到forwarding。

        应该只在不会创建第二层环路的端口(如连接到pc、服务器、路由器的端口),有时也称为用户端口或边缘端口。

       支持portfast的端口总是处于转发状态,即使stp正在运行并且根端口和指定端口正处于不同状态也是如此。

       配置命令:

      switch(config)#   spanning-tree portfast default   //在交换机上的所有非中继端口启用PortFast  

     

      switch(config)# interface fx/x

      switch(config)# spanning-tree portfast  [trunk]    //在接口上启用 PostFast

   
其它stp配置:

 

快速生成树协议 RSTP:

       RSTP:快速生成树协议(rapid spanning Tree Protocol ):802.1w由802.1d发展而成,这种协议在网络结构发生变化时,能更快的收敛网络。它比802.1d多了两种端口类型:预备端口类型(alternate port)和备份端口类型。

            Rstp规定在某些情况下,处于Blocking状态的端口不必经历2倍的Forward Delay时延而可以直接进入转发状态。如网络边缘端口(即直接与终端相连的端口),可以直接进入转发状态,不需要任何时延。或者是网桥旧的根端口已经进入Blocking状态,并且新的根端口所连接的对端网桥的指定端口仍处于Forwarding状态,那么新的根端口可以立即进入Forwarding状态。即使是非边缘的指定端口,也可以通过与相连的网桥进行一次握手,等待对端网桥的赞同报文而快速进入Forwarding状态。当然,这有可能导致进一步的握手,但握手次数会受到网络直径的限制。

 

在RSTP中只有三种端口状态,
Discarding      禁用端口
Learning         学习端口
Forwarding     转发端口

802.1D中的禁止端口,监听端口,阻塞端口在802.1W中统一合并为 禁止端口。

 

在RSTP中,端口类型有 根端口指定端口,这两个角色在RSTP中被保留,阻断端口分成 备份和替换 端口类型
备份端口:未使用的指定端口(处于丢弃状态)
替换端口:未使用的根端口(处于丢弃状态)

 


推荐阅读
  • 微服务优雅上下线的最佳实践
    本文介绍了微服务上下线的正确姿势,避免使用 kill -9 等粗暴手段,确保服务的稳定性和可靠性。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 本文详细介绍如何使用Netzob工具逆向未知通信协议,涵盖从基本安装到高级模糊测试的全过程。通过实例演示,帮助读者掌握Netzob的核心功能。 ... [详细]
  • 我在使用 AngularJS 的路由功能开发单页应用 (SPA),但需要支持 IE7(包括 IE8 的 IE7 兼容模式)。我希望浏览器的历史记录功能能够正常工作,即使需要使用 jQuery 插件。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 本文对比了杜甫《喜晴》的两种英文翻译版本:a. Pleased with Sunny Weather 和 b. Rejoicing in Clearing Weather。a 版由 alexcwlin 翻译并经 Adam Lam 编辑,b 版则由哈佛大学的宇文所安教授 (Prof. Stephen Owen) 翻译。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 如何在方法上应用@ConfigurationProperties注解进行属性绑定 ... [详细]
author-avatar
权利阳成_278
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有