网工交换基础——生成树协议(01)

一、生成树的技术概述

1、技术背景

二层交换机网络的冗余性导致出现二层环路:

 人为因素导致的二层环路问题: 

 二层环路带来的网络问题:

生成树协议的概念:

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

        在网络中部署生成树后,交换机之间会进行生成树协议报文的交互并进行无环拓扑计算,最终将网络中的某个(或某 些)接口进行阻塞(Block ),从而打破环路。
生成树能够动态响应网络拓扑变化调整阻塞接口:
        交换机上运行的生成树协议会持续监控网络的拓扑结构,当网络拓扑结构发生变化时,生成树能感知到这些变化,并 且自动做出调整。
        因此,生成树既能解决二层环路问题,也能为网络的冗余性提供一种方案。
二层及三层环路的特点:

1)三层环路:

        常见原因:路由环路;

        防环机制:动态路由协议有一定的防环能力;

                          IP报文头部的TTL字段可用户防环(初始值为255,没经过一台路由器减1,当TTL为1时,机会转发将会被丢弃)

2)二层环路:

        常见原因:二次冗余环境;

        防环机制:需要借助特定的协议或机制实现二层防环;

                         二层帧头中没有任何可用于防环的字段。

STP是一个用于局域网中消除二层环路的协议,主要工作在二层网络中:

        防止环路;提供冗余备份链路;防止MAC地址表震荡。

===================================================================

二、STP的基本概念及工作原理:

1、基本概念

STP的基本概念——桥ID(Bridge ID,BID):

1)BID = 优先级(16位)+MAC(交换机背板MAC,48位)

       (优先级默认32768(配置时为4096的倍数));

2)每一台运行STP的交换机都拥有一个唯一的BID;

3)BID桥优先级占据高16bit,其余的低48bit是桥MAC地址;

4)在STP网络中,BID最小的设备会被选举为根桥。

-----------------------------------------------------

 STP的基本概念——根桥(root Bridge):

1)STP的主要作用之一是在整个交换网络中计算出一棵无环的 “树”(STP树)。

2) 根桥是一个STP交换网络中的“树根” 。

3)STP开始工作后,会在交换网络中选举一个根桥,作为无环 拓扑的“树根” 。

4)在STP网络中,桥ID最小的设备会被选举为根桥。

        1. 首先比较桥优先级,优先级的值越小,则越优先;

        2. 如果优先级相等,那么再比较MAC地址,拥有最小MAC 地址的交换机会成为根桥。

-------------------------------------

STP的基本概念——Cost(开销):

1)接口的Cost主要用于计算根路径开销,也就是到达根的开销。

2)接口的缺省Cost除了与其速率、工作模式有关,还与交换机

3)使用的STP Cost计算方法有关。

        • 接口带宽越大,则Cost值越小。

        • 用户也可以根据需要通过命令调整接口的Cost。

---------------------------------------------------

 STP的基本概念——Cost计算方法:

接口cost = 接口实际带宽除以参考带宽

-----------------------------------------------

 STP的基本概念——RPC(Root Path Cost,根路径开销)(R(Root Path Cost) oot Path Cost):

        一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿 途所有入方向接口的Cost累加。

---------------------------------

 STP的基本概念——Port ID(PID,接口ID):

1)接口ID由两部分构成的,高4 bit是接口优先级,低12 bit是 接口编号。

2)激活STP的接口会维护一个缺省的接口优先级,在华为交换 机上,该值为128。

----------------------------------------------

STP的基本概念——BPDU(Bridge Protocol Data Unit,网桥协议数据单元):

1)BPDU是STP的协议报文。

2)BPDU分为两种类型:

        • 配置BPDU(Configuration BPDU)

        • TCN BPDU(Topology Change Notification BPDU)

        • 配置BPDU是STP进行拓扑计算的关键;

        • TCN BPDU只在网络拓扑发生变更时才会被触发。

------------------------------------------------

配置 BPDU 的比较原则:
STP 操作:
        1. 选举一个根桥。
        2. 每个非根交换机选举一个根端口。
        3. 每个网段选举一个指定端口。
        4. 阻塞非根、非指定端口。
STP 中定义了三种端口角色:指定端口,根端口和预备端口。
STP 按照如下顺序选择最优的配置 BPDU
        1. 最小的根桥 ID
        2. 最小的 RPC
        3. 最小的网桥 ID
        4. 最小的接口 ID
        在这四条原则中(每条原则都对应配置BPDU 中的相应字段),第一条原则主要用于在网络 中选举根桥,后面的原则主要用于选举根接口及指定接口。

-----------------------------------------

2、工作原理

1)在交换网络中选举一个根桥:

STP 在交换网络中开始工作后,每个交换机都会向网络中发送配置BPDU 。配置 BPDU 中包含交换机自己的桥 ID
网络中拥有最小桥 ID 的交换机成为根桥。
在一个连续的 STP 交换网络中只会存在一个根桥。
根桥的角色是可抢占的。
为了确保交换网络的稳定,建议提前规划 STP 组网,并将规划为根桥的交换机的桥优先级设置为最小值0

2)在每台非根桥选举一个根端口:

每一台非根桥交换机都会在自己的接口中选举出一个接口。
非根桥交换机上有且只会有一个根接口。
当非根桥交换机有多个接口接入网络中时,根接口是其收到最优配置BPDU 的接口。
可以形象地理解为,根接口是每台非根桥上“朝向”根桥的 接口。

3)在每条链路上选举一个指定端口:

根接口选举出来后,非根桥会使用其在该接口上收到的最优BPDU进行计算,然后将计算得到的配置 BPDU 与除了根接口之外的其他所有接口所收到的配置BPDU 进行比较:
如果前者更优,则该接口为指定接口;
如果后者更优,则该接口为非指定接口。
一般情况下,根桥的所有接口都是指定接口。

4)非指定端口被阻塞:

一台交换机上,既不是根接口,又不是指定接口的接口被称 为非指定接口。
STP 操作的最后一步是阻塞网络中的非指定接口。这一步完 成后,网络中的二层环路就此消除。
总结,STP的工作流程:

1、根桥选举

        初始状态下所有交换机都会认为自己是根桥,交换机会将自己所有的接口变为DP角色处于discarding状态,发送以自己为根的BPDU,交换机通过比较BPDU选举出根桥,根桥的选举原则是选举BID小的成为根桥。

        BID由桥优先级和桥MAC地址组成,首先比较桥优先级,如果比较不出,在比较桥MAC地址,两者都是越小越优先。

        根桥选举完成后,只有根桥发送BPDU。

2、根端口选举

        当根桥选举完毕后,在每一台非根桥上选举一个根端口,根端口的选举原则为:非根交换机上接收最优BPDU的接口成为根端口。

最优BPDU的比较原则:

        a、优选Root ID最小的

        b、优选RPC最小的

        c、优选Sender BID最小的

        d、优选Sender PID最小的

        e、优选本地PID最小的

3、选举指定端口

        当根端口选举完成以后,每台非根桥都会计算出一个BPDU参数,并且从DP接口向外发送,同时对自己计算出的BPDU参数和接收到的BPDU参数进行比较

        3.1 如果接收到的BPDU参数更优,自己的接口由DP变为AP,进入阻塞状态

        3.2 如果本地的BPDU参数更优,自己的接口保持为DP不变,进入转发状态。

常用命令:

[Huawei]stp mode stp //修改生成树类型

[Huawei]stp priority 0 //修改桥优先级

[Huawei]display bridge mac-address //查看交换机设备MAC

[SW1-GigabitEthernet0/0/1]stp port priority 16 //修改端口优先级

STP的接口状态和结构状态迁移:

3、拓扑变换过程

1)根桥故障恢复过程:

1. SW1 根桥发生故障,停止发送 BPDU 报文。
2. SW2 等待 Max Age 计时器( 20 s )超时,从而导致已经收到的BPDU 报文失效,又接收不到根桥发送的新的 BPDU 报 文,从而得知上游出现故障。
3. 非根桥会互相发送配置 BPDU ,重新选举新的根桥。
4. 经过重新选举后, SW3 A 端口经过两个 Forward Delay (15 s )时间恢复转发状态。
        • 非根桥会在 BPDU 老化之后开始根桥的重新选举。
        • 根桥故障会导致 50 s 左右的恢复时间。

2)直连链路故障恢复过程:

当交换机 SW2 网络稳定时检测到根端口的链路发生故障,则其 备用端口会经过两倍的Forward Delay 15s )时间进入用户流量转发状态。
SW2 检测到直连链路物理故障后,会将预备端口转换为根端口。
直连链路故障,备用端口会经过 30s 后恢复转发状态。

3)非直连链路故障恢复过程:

非直连链路故障后, SW3 的备用端口恢复到转发状态,非直连故障会导致 50s 左右的恢复时间。

4、STP的基本配置命令:

1)配置生成树模式(华为缺省为MSTP)[Huawei] stp mode { stp | rstp | mstp } ;

2)配置根桥:[Huawei] stp root primary;

        配置当前设备为根桥。缺省情况下,交换机不作为任何生成树的根桥。配置后该设备优先级数值自动为0 ,并且不能 更改设备优先级。

3)配置备份根桥:[Huawei] stp root secondary;

        配置当前交换机为备份根桥。缺省情况下,交换机不作为任何生成树的备份根桥。配置后该设备优先级数值为4096 , 并且不能更改设备优先级。
[Huawei] stp priority priority;配置交换机的优先级(默认为32768)
[Huawei] stp pathcost-standard ;配置接口路径开销
[Huawei-GigabitEthernet0/0/1] stp cost ;这是指定接口的开销。
[Huawei-intf] stp priority ;配置接口优先级。
[Huawei] stp enable;启用协议。(缺省下默认启用)
<SW3> display stp brief;查看STP接口状态。

====================================================

三、RSTP(rapid spanning Tree Protocol,快速生成树协议)

1、RSTP相较于STP的改进

配置BPDU的处理发生变化:
        ▫ 拓扑稳定后,配置 BPDU 报文的发送方式进行了优化
        ▫ 使用更短的 BPDU 超时计时
        ▫ 对处理次等 BPDU 的方式进行了优化
配置BPDU 格式的改变,充分利用了 STP 协议报文中的 Flag 字段,明确了接口角色

1)端口角色的的改变:

RSTP 的接口角色共有 4种:根接口、指定接口、预备接口和备份接口以及边缘接口。

如果指定端口位于整个域的边缘,不再与任何交换设备连接,这种端口叫做边缘端口。
边缘端口一般与用户终端设备直接连接,可以由 Disabled 状态直接转到 Forwarding 状态。

2)端口状态的的改变:

RSTP 的状态规范把原来的 5 种状态缩减为 3 种。

四、生成树技术进阶——MSTP(Multi-Service Transfer Platform,多生成树协议)

1、STP和RSTP的缺陷

        所有VLAN共享一棵生成树(会造成资源浪费)。

MSTP VLAN 映射到一个生成树的实例,若干个 VLAN可共用一棵生成树。例如:
        • 将偶数 VLAN 映射到实例 1
        • 将基数 VLAN 映射到实例 2
        • 网络中将只维护 2 棵生成树。

2、MSTP概述

MSTP 把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
每棵生成树叫做一个多生成树实例 MSTI Multiple Spanning Tree Instance )。
所谓生成树实例就是多个 VLAN 的集合所对应的生成树。
通过将多个 VLAN 捆绑到一个实例,可以节省通信开销和资源占用率。
MSTP 各个实例拓扑的计算相互独立,在这些实例上可以实现负载均衡。
可以把多个相同拓扑结构的 VLAN 映射到一个实例里,这些 VLAN 在接口上的转发状态取决于接口在对应实例的状态。

五、堆叠

六、Smart Link

 Smart Link是一种为双上行组网量身定做的解决方案:
在双向行的设备上部署,当网络正常时,两条上行链路中,一条处于活跃状态,而另一条则处于备份状态(不承载业务流量)。如此一来二层环路就此打破。
当主用链路发生故障后,流量会在毫秒级的时间内迅速 切换到备用链路上,保证了数据的正常转发。
▫ Smart Link 配置简单,便于用户操作。
无需协议报文交互,收敛速度及可靠性大大提升。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/3029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象练习坦克大兵游戏

游戏玩家&#xff08;名称&#xff0c;生命值&#xff0c;等级&#xff09;&#xff0c;坦克&#xff0c;大兵类&#xff0c;玩家之间可以相互攻击&#xff0c;大兵拥有武器&#xff0c;用枪弹和反坦克炮弹&#xff0c;造成攻击不同&#xff0c;坦克攻击值固定&#xff0c;请设…

设计模式-六大原则

设计模式的六大原则是软件工程中的基本概念&#xff0c;使得构建可维护、可扩展和可重用的代码。 1.单一职责原则&#xff08;Single Responsibility Principle&#xff09;&#xff1a;一个类或方法应该只有一个引起变化的原因&#xff0c;确保类或模块的功能高度内聚。 案例&…

VMware-Linux切换桥接模式上网教程(超详细)

这里写目录标题 1. 虚拟机关机2. VMware 虚拟网络配置2.1 检查是否存在 VMnet02.2 修改桥接模式2.3 修改Linux虚拟机网络适配器 3. Linux 系统配置3.1 修改系统网卡配置3.1.1 配置项含义解释3.1.2 查看物理机网络信息3.3.3 修改配置 3.2 重启服务 4. 测试网络连接情况5. 注意事…

【SpringBoot整合系列】SpringBoot整合JPA

目录 前期回顾ORM解决方案 JPA简介JPA的组成技术ORM映射元数据Java持久化API查询语言&#xff08;JPQL&#xff09; JPA的优势JPA的缺点 Spring Data JPASpring Data JPA简介Spring Data 家族Spring Data JPA、JPA和其他框架之间的关系 SpringBoot整合JPAJPA的核心注解1.依赖2.…

element-ui upload 组件 手动多次出发 submit

element 上传组件 upload 上传成功以后&#xff0c;想重新 调用 submit()函数&#xff0c;发现是不可以进行多次触发的,。 直接上解决方法&#xff0c;在上传成功后的钩子函数里添加:fileList[0l.status ready fileList是文件列表&#xff0c;status是单文件的状态改成ready就…

【Fastadmin】表格导出excel,图片显示太大

目录 1.直接导出示例 2.解决办法 3. 再次导出效果 1.直接导出示例 图片过大&#xff0c;格式错乱 2.解决办法 在js页面加入代码 // 导出图片过大处理 exportOptions: {ignoreColumn: [0, operate],onBeforeSaveToFile: function (data, fileName, type, charset, encoding,…

《深入Linux设备驱动程序内核机制》学习笔记-第4章

前言 本文是《深入Linux设备驱动程序内核机制》的读书笔记&#xff0c;本文因为是读书笔记所以抄写引用了该书中的大量内容&#xff0c;写读书笔记的目的是在写作的过程中加深对书中内容的理解。 建议读者直接阅读《深入Linux设备驱动程序内核机制》&#xff0c;这本书是Linu…

mPEG-Dansyl,Methoxy PEG Dansyl由甲氧基-聚乙二醇(mPEG)和丹磺酰氯(Dansyl)两部分组成

【试剂详情】 英文名称 mPEG-Dansyl&#xff0c;Methoxy PEG Dansyl 中文名称 聚乙二醇单甲醚丹磺酸酯&#xff0c;甲氧基-聚乙二醇-丹磺酰胺 外观性状 由分子量决定&#xff0c;液体或者固体 分子量 0.4k&#xff0c;0.6k&#xff0c;1k&#xff0c;2k&#xff0c;3.4k…

前端发送请求,显示超时取消

前端发送请求&#xff0c;显示超时取消 问题说明&#xff1a;后台接口请求60s尚未完成&#xff0c;前端控制台显示取消&#xff08;canceled&#xff09; 原因 1、前端设置60s超时则取消 2、后台接口响应时间过长&#xff0c;过长的原因统计的数据量多&#xff08;实际也才17…

LLM 安全 | 大语言模型应用安全入门

一、背景 2023年以来&#xff0c;LLM 变成了相当炙手可热的话题&#xff0c;以 ChatGPT 为代表的 LLM 的出现&#xff0c;让人们看到了无限的可能性。ChatGPT能写作&#xff0c;能翻译&#xff0c;能创作诗歌和故事&#xff0c;甚至能一定程度上做一些高度专业化的工作&#x…

BUUCTF-Misc20

[ACTF新生赛2020]NTFS数据流1 1.打开附件 是一堆文件&#xff0c;随便打开一个内容是flag不在这 2.pyton脚本 编写查找文件夹下一堆文件中那个文件藏有flag的Python脚本 import os def search_flag_files(folder_path, flag): flag_files [] for root, dirs, files …

HAL STM32 SSI/SPI方式读取MT6701磁编码器获取角度例程

HAL STM32 SSI/SPI方式读取MT6701磁编码器获取角度例程 &#x1f4cd;相关篇《HAL STM32 I2C方式读取MT6701磁编码器获取角度例程》&#x1f4cc;当前最新MT6701数据手册&#xff1a;https://www.magntek.com.cn/upload/MT6701_Rev.1.8.pdf&#x1f4dc;SSI协议读角度&#xff…

【stomp实战】搭建一套websocket推送平台

前面几个小节我们已经学习了stomp协议&#xff0c;了解了stomp客户端的用法&#xff0c;并且搭建了一个小的后台demo&#xff0c;前端页面通过html页面与后端服务建立WebSocket连接。发送消息给后端服务。后端服务将消息内容原样送回。通过这个demo我们学习了前端stomp客户端的…

剑指 Offer 03.:数组中重复的数字

剑指 Offer 03. 数组中重复的数字 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0&#xff5e;n-1 的范围内。数组中某些数字是重复的&#xff0c;但不知道有几个数字重复了&#xff0c;也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。…

DIN特征加权、POSO特征增强、SENET特征选择

本文转自&#xff1a;DIN、POSO、SENet 聊聊推荐模型中常用的Attention-腾讯云开发者社区-腾讯云 一、前言 聊起模型结构的时候&#xff0c;经常听做推荐的同学说&#xff1a; "这里加了个self-attention" "类似于一个SENet" "一个魔改的POSO"…

[Visual Studio 报错] error 找不到指定的 SDK“Microsoft

[Visual Studio 2022 报错] error : 找不到指定的 SDK“Microsoft.NET.Sdk.Web” 问题描述&#xff1a; 在新电脑上安装了VS2022&#xff0c;打开现有项目的解决方案后的时候报了这个错&#xff0c;所有projet文件都加载失败,如图所示&#xff1a; 报错分析及解决 打开项目配…

经验丰富也被裁了,失业快2年找不到工作?

前几天徐工说&#xff0c;他有个邻居&#xff0c;最近逮到他总是要跟他扯上几句。 原因是徐工一直是做嵌入式开发&#xff0c;而他一直做纯软件开发&#xff0c;具体不知道做后端还是前端。 他说&#xff0c;他至少有半年没上班了&#xff0c;之前在一家龙头物流公司上班。 碰上…

STM32 HAL库F103系列之DAC实验(二)

DAC输出正弦波实验 实验简要 1&#xff0c;功能描述 通过DAC1通道1(PA4)输出正弦波&#xff0c;然后通过DS100示波器查看波形 2&#xff0c;使用定时器7 TRGO事件触发转换 TEN1位置1、TSEL1[2:0]010 3&#xff0c;关闭输出缓冲 BOFF1位置1 4&#xff0c;使用DMA模式 DMAE…

SLMs之Phi-3:Phi-3的简介、安装和使用方法、案例应用之详细攻略

SLMs之Phi-3&#xff1a;Phi-3的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年4月23日&#xff0c;微软发布Phi-3&#xff0c;这是微软推出的一款新的开源AI模型家族Phi-3。背景痛点&#xff1a;小语言模型(SLM)尽管规模不大&#xff0c;但在语言理解、代码…

盲盒商城小程序(有米就出)

一款前端采用uniapp&#xff0c;后端采用Django框架开发的小程序&#xff0c;包含后台管理&#xff0c;如有人需要可联系演示功能&#xff08;个人开发&#xff0c;可商用/学习&#xff09;。 部分截图如下&#xff1a;