STP协议详解_STP

STP协议详解_STP1、生成树技术背景交换机单线路上联,存在单点故障,上行线路及设备都不具备冗余性,一旦链路或上行设备发生故障,业务将会中断。为了使得网络更加健壮、更具有冗余性,将拓扑修改为如下图所示。接入层交换机采用双链路上联到两台汇聚设备,构成一个物理链路冗余的二层环境,解决了单链路及单设备故障问题。但是这样也带来了一个大问题,就是二层物理环境存在环路。二层环路的危害是严重的,有可能会导致广播…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、生成树技术背景

STP协议详解_STP

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

STP协议详解_STP

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

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

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

STP协议详解_STP

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

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

STP协议详解_STP

1.PC发送数据帧给Server

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

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

3、Spanning-tree的基本概念

STP协议详解_STP

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

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

STP协议详解_STP

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

5、生成树协议

5.1 stp选举规则

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

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

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

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

STP协议详解_STP

5.2 BPDU报文

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

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

STP协议详解_STP

5.3 配置BPDU中的重要参数

STP协议详解_STP

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

值越小越优先

5.4 Bridge ID

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

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

MAC地址为交换机的背板MAC

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

STP协议详解_STP

5.5 Path Cost

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

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

为网络设备支持的路径开销计算标准:802.1d-1998802.1tlegacy等。

STP协议详解_STP

5.6 Port ID

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

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

STP协议详解_STP

6.选举过程

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

STP协议详解_STP

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

6.1 非根桥转发的BPDU:

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

wKioL1dvho3iuW_1AAEfxH3rSIQ553.png

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

1.根路径开销

2.发送者网桥ID

3.端口标识

通过三个步骤来分解S4S5阻塞端口的过程

l第一步S2S3看到的BPDU

wKiom1dviHawvKTqAADxVSHsqDg211.png

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

第二步:S4看到的BPDU

wKioL1dvi5KiJKlHAADjxoVZVSk669.png

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

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

第三步:S5看到的BPDU

wKioL1dvjKnix34UAAEEWTqUafA177.png

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

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

7、STP的端口状态

STP协议详解_STP

8、故障处理

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

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

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

STP协议详解_STP

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234567.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux系统编程——进程调度浅析「建议收藏」

    Linux系统编程——进程调度浅析

    2022年1月27日
    107
  • win10 任务栏锁定,win键没反应

    win10 任务栏锁定,win键没反应现象:之前用win10,换成win10专业版后,安装360优化系统,过了几天后突然发现任务栏好像被锁定一般,按windows键没有任何反应,任务栏打开的文件,图片等等右键也没有反应,讲道理应该有关闭选项的,再次检查发现日期点不开,看不到日历,音量键点了也没有反应。各种百度总之各种找原因都没有找到,直到看到一篇文章才解决问题,原来win10与win7的管理机制不同,不能关闭防火墙的。…

    2022年6月4日
    52
  • idea2021.2.8激活码-激活码分享

    (idea2021.2.8激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html83PVI25FMO-eyJsa…

    2022年3月27日
    73
  • 【STM32】HAL库 STM32CubeMX教程十三—RTC时钟

    【STM32】HAL库 STM32CubeMX教程十三—RTC时钟前言:本系列教程将对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用所用工具:1、芯片:STM32F407ZET6/STM32F103ZET62、STM32CubeMx软件3、IDE:MDK-Keil软件4、STM32F1xx/STM32F4xxHAL库知识概括:通过本篇博客您将学到:RTC时钟原理STM32CubeMX创建…

    2022年6月2日
    236
  • windows如何在局域网下共享文件(传输文件、修改文件)

    windows如何在局域网下共享文件(传输文件、修改文件)前些天在了解Git版本控制的时候,看到了“局域网下可以共享文件(阅读or修改)”。发现自己之前都没了解过这个,虽然用着GitHub却对其来源的变化不甚了解。于是就动手操作了一下windows如何在局域网下共享文件。对,还有一些局域网下的传输软件。但我还没有去了解,所以在这里先不说了。什么是局域网局域网(LocalAreaNetwork,LAN),又称内网。指覆盖局部区域(如办公室…

    2022年5月4日
    208
  • 原生android系统官网 source.android.com,存储  |  Android 开源项目  |  Android Open Source Project…「建议收藏」

    原生android系统官网 source.android.com,存储  |  Android 开源项目  |  Android Open Source Project…「建议收藏」Android一直在不断发展,可支持各种存储设备类型和功能。所有Android版本均支持配有传统存储(包括便携式存储和模拟存储)的设备。便携式存储是指物理介质(如SD卡或USB设备),用于进行临时数据传输/文件存储。物理介质可以随设备一起保留更长时间,但并非固定在设备上,可以移除。自Android1.0开始,SD卡已可用作便携式存储;Android6.0增加了对USB…

    2022年6月19日
    232

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号