1、生成树技术背景

交换机单线路上联,存在单点故障,上行线路及设备都不具备冗余性,一旦链路或上行设备发生故障,业务将会中断。为了使得网络更加健壮、更具有冗余性,将拓扑修改为如下图所示。接入层交换机采用双链路上联到两台汇聚设备,构成一个物理链路冗余的二层环境,解决了单链路及单设备故障问题。

但是这样也带来了一个大问题,就是二层物理环境存在环路。

二层环路的危害是严重的,有可能会导致广播风暴、多帧复制、MAC地址漂移等等多种问题。即使不是人为搭建冗余的物理环境而导致的环路,网络也有可能因为种种原因出现二层环路引发的故障,那么有没有什么办法解决环路的问题呢?生成树(Spanning-tree)协议就是用于解决这个问题的。

2、环路带来的问题 – 广播风暴

•网络中如若存在二层环路,一旦出现广播数据帧,这些数据帧帧将被交换机不断进行泛洪,从而在网络中造成广播风暴。

•广播风暴对网络的危害是非常大的,将严重消耗设备资源及网络带宽,最终导致网络瘫痪,是需要格外注意的问题。

1.PC发送数据帧给Server;

2.SW3的MAC地址表中没有匹配目的MAC的表项,于是将数据帧进行泛洪;

3.SW1及SW2都会收到这个数据帧并学习源MAC,同时将数据帧进一步泛洪;SW1及SW2又从自己另一个接口收到这个数据帧,于是MAC表又一次发生改变,如此往复。

3、Spanning-tree的基本概念

•通过在交换网络中部署生成树(Spanning-tree)技术,能够防止网络中出现二层环路。STP运行后,如果网络中存在环路,那么STP通过阻塞(Block)特定的接口从而打破环路,并且在网络出现拓扑变更时及时收敛,以保证网络的冗余性。

4、Spanning-tree的基本概念(当网络出现故障)

当拓扑发生变更的时候,生成树协议能够探测到这些变化,并且及时自动的调整接口状态,从而适应网络拓扑的变化,实现链路冗余。

5、生成树协议

5.1 stp选举规则

1.每个交换网络选举一个根桥(Root Bridge);

2.每个非根桥上选举一个根端口(Root Port);

3.每个段选举一个指定端口(Designated Port);

4.阻塞非指定端口(NonDesignated Port)。

5.2 BPDU报文

•STP的正常工作依赖于BPDU报文的泛洪(Bridge Protocol Data Unit,网桥协议数据单元) 。

STP需要网络设备相互交换消息来检测桥接环路,该消息称为网桥协议数据单元BPDUSTP之所以能够良好的工作并构建一个无环的网络,是依赖于BPDU报文的泛洪,并根据报文中相关字段计算的结果。要理解STP的工作过程,非常重要的一点是要理解BPDU中各字段的含义,因为这些都是STP赖以工作的根本。

5.3 配置BPDU中的重要参数

比较次序:Root Identifier > Root Path Cost> Bridge Identifier>Port Identifier

值越小越优先

5.4 Bridge ID

•桥ID(Bridge ID)是交换机的STP标示符,一共8个字节,由2个字节的优先级和6个字节的MAC地址构成:

•桥优先级缺省为32768,可以手工修改。

•MAC地址为交换机的背板MAC。

•网络中Bridge ID最小的交换机将成为根桥。

5.5 Path Cost

•路径开销是一个端口量,是STP/RSTP协议用于选择链路的参考值。

•端口路径开销的默认值及取值范围由选定的路径开销算法决定,路径开销与端口的带宽成反比。

•华为网络设备支持的路径开销计算标准:802.1d-1998、802.1t、legacy等。

5.6 Port ID

•端口ID (2字节)= 端口优先级(1字节)+ 端口编号(1字节)

•缺省优先级128,范围0-255,越小越优。

6.选举过程

下面以一个实例进行说明:

从上图中可以看到,运行了生成树算法之后,S4选择阻塞F0/0,S5选择阻塞F0/2,应该是看到非根桥转发的BPDU后做的选择

6.1 非根桥转发的BPDU:

传统生成树中只有根桥才能产生配置BPDU,非根桥只是转发根桥产生的BPDU。试想一下如果仅仅只是转发根桥的BPDU,不对BPDU做任何更改,就像转发常规数据帧一样。这样的话S4和S5怎么判断阻塞的端口,又凭啥要阻塞我的端口。这就引出了关键点——非根桥转发的BPDU。

可以看出非根桥转发根桥BPDU时做了如下修改:

1.根路径开销

2.发送者网桥ID

3.端口标识

通过三个步骤来分解S4和S5阻塞端口的过程。

l第一步:S2和S3看到的BPDU:

S2和S3看到报文后,发现自己的MAC地址不如人家,就放弃竞选根桥了,只好去选根端口了,只要接收不到更小的BID,那我就赶紧定下来根端口,报文中的根路径开销决定了S2和S3的根端口。

第二步:S4看到的BPDU:

当S4看到BPDU后发现自己和根桥的ID比,根本不如人家,那我只好来定夺根端口了,S2告诉我到S1的开销是19,S3告诉我到S1的开销也是19,当然是选择S2的那条路了,S3这条路只能堵上了。

网桥ID决定了S4的根端口,路径开销决定了阻塞端口

第三步:S5看到的BPDU:

当S5看到图中的BPDU后也没什么想法了,MAC地址比根桥的大太多了,只好选根端口了。S5的F0/3和F0/2收到S4发来的BPDU报文里唯一的不同只有端口ID,那就只有比较端口ID了,哪个端口接收到的端口ID大就阻塞该端口。

端口ID决定了S5的根端口,路径开销决定了阻塞端口。

7、STP的端口状态

8、故障处理

但线路出现故障,断开的端口被激活,恢复通信,起备份线路的作用

交换机开机需要等待30秒时间开始转发数据

当某个正在使用的链路断掉,阻塞的端口需要50秒时间开始转发数据

好啦,这就是STP协议的基础知识,至于更深的知识,之后在慢慢摸索吧~

STP生成树协议基础相关推荐

  1. STP(生成树协议)基础(1)

    文章目录 思维导图 冗余 二层环路 STP简介 工作过程 报文格式 配置BPDU TCN BPDU 角色选举规则 根网桥 根端口 指定端口 思维导图 冗余 在通信工程当中,冗余指出于系统安全和可靠性等 ...

  2. 企业三层架构、冗余、STP生成树协议总结

    总结 1.企业三层架构 2. 冗余(线路冗余+设备冗余) 3. STP生成树协议:IEEE802.1D,PVST+,802.1W,RSTP(rpvst),802.1S(MST) 企业三层架构(内网结构 ...

  3. 华为路由交换学习篇-STP生成树协议

    目录 STP STP的选举 根桥选举 根端口选举 指定端口选举 替代端口选举 边缘端口的选举 STP的端口状态 测试 实验拓扑图 实验流程 STP 生成树协议,用于解决二层交换网络环路的协议,在二层交 ...

  4. HCIP-7.4交换机STP生成树协议原理

    HCIP-7.4交换机STP生成树协议原理 1.什么是交换机生成树? 2.STP生成树 2.1.标准生成树基本计算过程(802.1D) 2.2.STP的基本概念 2.3. BPDU格式及字段说明 2. ...

  5. 广播风暴及STP生成树协议

    广播风暴: 广播风暴指的是交换机在发送数据时因为环路问题而向网络中发送了过多的广播信息. 为了解决这个问题,就出现了STP生成树协议. STP生成树协议: STP通过阻塞端口来消除环路,并实现链路备份 ...

  6. STP生成树协议与MSTP的基本原理与简单配置

    STP生成树协议与MSTP的基本原理与简单配置 环路引起的问题 为什么要有生成树协议 BPDU 网桥协议数据单元 选举根交换机的原则 端口角色 端口状态描述 选举根端口指定端口的规则 RSTP:快速生 ...

  7. STP生成树协议详情

    生成树协议 STP        生成树协议 RSTP    快速生成树协议 MSTP    多生成树协议 一.原理 stp:Spanning Tree Protocol (生成树协议) 交换网络广播 ...

  8. STP生成树协议(原理+实验)

    文章目录 STP生成树协议原理与配置 前言 一.STP生成树协议的作用 二.STP各种选举的报文--BPDU 三.STP协议中交换机端口角色 四.RSTP快速生成树协议 五.MSTP多实例生成树协议 ...

  9. 8.STP生成树协议、PVST、HRSP、端口聚合

    STP生成树协议 广播风暴:交换机形成环路会形成广播风暴 多帧复制 MAC震荡或MAC地址飘移 一.交换机广播风暴的产生 1.交换机工作原理 根据MAC地址表转发数据帧,如果地址未知,则广播. 2.广 ...

  10. Cisco STP生成树协议

    BPDU bridge protocol data units 802.1d STP     802.1w RSTP 802.1s    MSTP STP spanning-tree protocol ...

最新文章

  1. IOS线程学习(一)
  2. Exynos4412 内核移植(三)—— 内核启动过程分析
  3. 2018年前端星计划等你来报名!
  4. 毕业一年总结分享一些工作经验[PHP开发]
  5. Python编辑器--Ulipad
  6. 联想y50更换固态硬盘_联想y50怎么加固态硬盘而不换原来的机器硬盘?
  7. puttygen 可以将key文件转为pem文件for xshell 20211213
  8. 软件工程 - 个人博客系统 - 概要设计与详细设计文档
  9. centos服务器搭建代理
  10. 国家各个政府机构网站
  11. python送程序员收入_程序员学Python后惊叹,这么丰厚的收入是Java给不了的!
  12. java红牛农场,在新加坡的,完一朋友一个夜班喝5瓶红牛。 下班坐地
  13. Codeforces 1247D. Power Products (logn质因数分解)
  14. 超全!互联网大厂的薪资和职级一览
  15. python界面教学视频_tkinter 窗口可视化你的 Python程序GUI教学
  16. 计算机的扫雷如何恢复,电脑自带的蜘蛛纸牌被误删了如何找回
  17. 子域名查询、DNS记录查询
  18. AI行业精选日报_人工智能(12·16)
  19. Ubuntu Hadoop3.0.0 ./start-all.sh报错Permission denied (publickey,password)
  20. 思考:你的工作是否有反脆弱性?

热门文章

  1. 2022-2028年中国密码机行业竞争现状及投资策略研究报告
  2. 《地理天机一贯 》   聚宝馆手抄珍稀古籍分享
  3. 读陶哲轩之《陶哲轩实分析》
  4. matlab 跳步,给定两个大整数u和v,它们分别有m和n位数字,且m≤n.用通常的乘法求uv的值需要O(mn)时间.可以将u和v.. - 上学吧找答案(手机版)...
  5. python数据可视化方法和库
  6. bat 引号 嵌套_边缘检测 使用 OpenCV 和 深度学习 进行整体嵌套边缘检测
  7. java中instant_Instant
  8. 电脑通信端口带感叹号,WIN7设备管理器里面的端口前面有个黄色感叹号怎么解决?...
  9. MySQL从入门到精通之sql语言---(9月2日更新)
  10. 国际网页短信平台搭建|后台定制-移讯云短信系统