网络之路26:STP生成树协议

a94ae75b4b9ec3a8d1ac9dac2a5a692f.gif

正文共:2222 字 19 图,预估阅读时间:3 分钟

9d4a794c6db3d08c26429eefebf2873d.png

目录

c75b4193f4de96c6b7b1d470ec8c6eb6.png

网络之路第一章:Windows系统中的网络

0、序言
1、Windows系统中的网络1.1、桌面中的网卡1.2、命令行中的网卡1.3、路由表1.4、家用路由器

网络之路第二章:认识企业设备

2、认识企业设备2.1、MSR810-W外观2.2、登录MSR810-W管理页面2.3、快速设置上网2.4、WLAN配置2.5、LTE模块配置2.6、MSR810-W高级设置

网络之路第三章:认识设备命令行

3、认识设备命令行3.1、通过Console接口登录设备3.2、远程登录设备3.3、Comware系统的基本命令3.4、MSR810-W配置解读3.5、MSR810-W初始化配置

网络之路第四章(上):认识网络模拟器

4、认识网络模拟器4.1、HCL华三云实验室4.2、eNSP企业网络模拟平台4.3、Cisco Packet Tracer4.4、EVE-NG4.4.1、从OVF导入部署到ESXi4.4.2、使用ISO安装到WorkStation4.4.3、EVE-NG导入iol镜像4.4.4、EVE-NG导入qemu镜像

网络之路第四章(下):认识虚拟化

4.5、虚拟化环境VMware ESXi4.5.1、定制ESXi 6.7安装镜像4.5.2、部署ESXi 6.74.5.3、ESXi 6.7升级ESXi 7.04.5.4、vCenter纳管ESXi主机4.6、虚拟化环境CAS4.6.1、部署CVM管理节点4.6.2、部署CVK计算节点4.6.3、CVM纳管CVK节点4.7、网络功能虚拟化NFV4.7.1、部署NFV4.7.2、配置NFV网络4.7.3、NFV设备初始配置

网络之路第五章:基础网络实验

5、基础网络实验5.1、简单网络环境搭建与测试5.2、网络设备基本连接与调试5.3、ARP协议5.4、DHCP报文交互过程5.5、DHCP基础实验5.6、DHCP进阶实验5.7、VLAN基础实验5.8、VLAN进阶实验

48a65334b82857b459c66c7d19fa66fa.png

6、以太网交换基础实验

0cf436b961b2af3df8909dee39a4cb07.png

学习过了基础的网络实验配置,我们应该对网络实验有了简单的了解。接下来,我们继续学习交换机相关的二层技术配置,在H3C认证课程中,该系列课程为构建高性能园区网络,我们先介绍其中比较简单的部分。

2ad51753f8c898ac15729e401833d4c8.png

6.1、生成树协议

前面介绍VLAN的时候网络之路24:VLAN基础实验,我们提过,如果在实际网络环境中,因为接线不当等原因,可能会出现网络环路的情况。

2dbfffbbfc23ab1369d51a9890245afb.png

大概像上图这样,多台设备首尾相连,此时广播报文就会在几台设备之间不断传播,在传播的同时又在生成新的报文。在这种网络中,过不了多久,网络里的流量就达到设备的性能瓶颈了,出现性能显著下降,甚至网络不可用等问题,影响正常业务报文的转发;这种情况,我们一般称之为“广播风暴”

我们一般将交换机分为傻瓜交换机(二层交换机)和可管理交换机(三层交换机),可管理交换机大部分都可以支持STP(Spanning Tree Protocol,生成树协议),生成树协议是一种二层管理协议,它通过选择性地阻塞网络中的冗余链路来消除二层环路,同时还具备链路备份的功能。

然后我们使用HCL构造一个下图这样的网络拓扑网络之路11:认识网络设备模拟器HCL

06b845418b38bbaab5341857deacd184.png

在不区分VLAN的情况下,要从PC4访问到PC6,可能的路径有以下3条:

1、PC4→SW1→GE0/1→SW2→PC6

2、PC4→SW1→GE0/4→SW2→PC6

3、PC4→SW1→GE0/2→SW3→SW2→PC6

同时我们也能明显的看到,图里面存在环路,此时STP就派上用场了。在H3C的交换机设备上,默认是全局开启了STP的,我们可以通过命令进行查看。

a02416c9f59d568b490af6eaf8599c73.png

STP采用的协议报文是BPDU(Bridge Protocol Data Unit,桥协议数据单元),也称为配置消息,STP通过在设备之间传递BPDU来确定网络的拓扑结构,同时确定端口的角色和状态。STP的端口状态有3种,主要状态为Forwarding(该状态下的端口可以接收和发送BPDU,也转发用户流量)和Discarding(该状态下的端口可以接收和发送BPDU,但不转发用户流量),还有一种过渡状态Learning,该状态下的端口可以接收和发送BPDU,但不转发用户流量。

我们看一下SW2的端口角色和状态。

1edebccdd5ff000e16b18b78754cf98d.png

再看一下SW3的端口角色和状态。

96576e4622f534a689a2f7e3cf9a66d1.png

那么此时的链路状态如下所示:

8147ee66717b0f02472bba3d044fbac6.png

一共4条链路,SW2和SW3的互联线路不转发数据,SW1和SW2的其中一条互联线路不转发数据,虽然接口的物理状态还是UP的,但现在逻辑上已经不存在环路了。

5ea4d5b71eb3e43d666f15d9a6454354.png

然后我们看一下SW2上出现的3种端口角色:

1、GE1/0/1为根端口(Root Port),对应Role为ROOT,是指非根桥设备上离根桥最近的端口,用于在非根桥上负责向根桥方向转发数据。那什么是根桥呢?STP认为树形的网络结构必须有树根,于是便引入了根桥的概念,根桥会根据网络拓扑的变化实时选举改变,但是一个STP中有且只有一个根桥,其他设备则称为叶子结点。以此拓扑为例,非根桥设备SW2和SW3上有且只有一个根端口,而根桥设备SW1上没有根端口。

2、GE1/0/2为指定端口(Designated Port),对应Role为DESI,与根端口相反,指定端口负责向下游网段或设备转发数据的端口。

3、GE1/0/4为替换端口(Alternate Port),对应Role为ALTE,是根端口(STP)和主端口(MST)的备份端口。当根端口或主端口被阻塞后,替换端口将成为新的根端口或主端口。

通过命令,我们可以查看生成树端口角色计算的历史信息。

0e195ec4361bd042538b1f12f951b310.png

我们可以看到接口GE1/0/1的变化过程为DISA→DESI→ROOT,而GE1/0/4的变化过程为DISA→DESI→ALTE,这就说明了根桥的选举过程。

在网络初始化过程中,所有设备都视自己为根桥,生成各自的配置BPDU并周期性地向外发送,BPDU的关键信息包括根桥ID、根路径开销、指定桥ID、指定端口ID等等,通过前面的计算历史我们可以看出,这些ID基本上都由端口的优先级和MAC地址组成。缺省情况下,设备的优先级都是32768,端口的优先级都是128,所以根桥一般都是由MAC地址确定的。只要设备的生产符合规则,没有任何两台设备的MAC地址是一样的,所以MAC地址小的设备发送的BPDU优先级就会更高,在选举的第一步就会直接选举成为根桥,也就不会进入到根路径开销等选举过程。当网络拓扑稳定以后,只有根桥设备才会向外发送配置BPDU,其他设备则对其进行转发。

32fa0cb555f5d8f1ad12ee41ba11e8c6.png

以SW1为例,它的根桥ID就是32768.acb6-e75e-0100,因为它是第一台创建的设备,正常来讲它的MAC地址就是最小的。同时我们可以看到BPDU的发送周期Hello Time为2秒,那我们接下来就可以测一下STP的链路备份功能了。

现在计算PC4到PC6的路径为PC4→SW1→GE0/1→SW2→PC6,那么我们在PC4上发起长ping,然后DOWN掉SW1的GE1/0/1接口,看看报文的中断情况。

82e39b4a5c38c33679013647c1fb9fa4.png

一个报文都没丢,我们看一下SW2的状态变化。

3fd8aeeb312e4d34f6a8fbc06ce422ef.png

从日志来看,整个切换过程一共只有5 MS。

5d824ff078fc1c4b00ff30d7b7dc3cbf.png

从生成树端口角色计算的历史信息来看,接口GE1/0/1的状态DOWN掉之后,接口GE1/0/4马上切换为ROOT根端口,负责向根桥SW1方向转发数据,使得业务中断未引起明显的业务感知。

此时,网络中还存在一条冗余链路呢。

a48dbefeca79f3628d27d188abcecd80.png

我们查看SW3的端口状态,此时GE1/0/1仍然是替换端口,PC4到PC6的路径为PC4→SW1→GE0/4→SW2→PC6。

d33c9bae021cff6ceb9a788d10067e0c.png

那么我们在PC4上发起长ping,然后DOWN掉SW2的GE1/0/4接口,看看报文的中断情况。

80c47acc60e3cc9498d0f4c316b8e583.png

一个报文都没丢,我们看一下SW2的状态变化。

514f69bfeac6ef5c78c25d83dc5b2b35.png

看一下SW3的端口角色计算历史信息,SW2的接口的状态变化之后,SW3的接口GE1/0/1马上切换为DESI指定端口,负责向下游设备SW2转发数据的端口转发数据,使得业务中断未引起明显的业务感知。

8e7e4ba37325946d03f3701efd1d8826.png

通过两次测试,均没有丢包,也没有引起明显的时延跳变,说明STP的收敛速度确实很快。然后我们把两个接口都恢复,再看看生成树的状态会变成什么样。

96338ceb4ca548c5055409eb2bc9936e.png

状态也是很快就切换了,没有丢包也没有引起明显的时延跳变,SW2的端口角色和状态与之前完全一致。

e9d24e0d91e1b52b4d39a298dc0d187d.png

SW3的端口角色和状态也与之前完全一致。只是收敛速度太快,都看不到LEARNING的状态,而且日志也没有记录,只有TC的报文,谁能给个显示状态变化日志的方法?

77caa550a5861196a6d3b406469f1510.gif

长按二维码
关注我们吧

32d67861d7611b6cea883744a9febf6a.jpeg

5cba5dfa42490ef50c1bde84dfbd1d3f.png

软考网络规划师复习第一章:Windows系统中的网络

软考网络规划师复习第二章:认识企业设备

软考网络规划师复习第三章:认识设备命令行

软考网络规划师复习第四章:认识网络模拟器

软考网络规划师复习第五章:认识虚拟化

软考网络规划师复习第六章:基础网络实验

IPv6的风景路由

简单了解一下FortiFirewall、FortiGate和FortiOS的试用授权情况

不用猜了,FortiGate和FortiOS都是永久授权,而FortiFirewall没有试用授权

不需要授权的FortiOS和FortiGate有什么差异?

FortiOS和FortiGate除了在功能上的细微差异,性能差别大吗?

飞塔FortiGate的IPsec VPN应该怎么配?

H3C iMC智能管理中心平台PLAT(7.2_E0403)部署实验

H3C iMC智能管理中心平台PLAT部署EIA/UAM/TAM组件

MSR810使用iMC做认证服务器配置Portal认证

PVE8.0-2安装使用快速指导

借PVE8.0的Debian 12系统配置一下NFS服务器

不想用了PVE了怎么办?那就迁移到VMware呗!

如何手工获取并更新ESXi中macOS的VMware Tools版本

神奇的H3C设备自动配置功能,不用按Ctrl-D/C了

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

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

相关文章

FreeRtos第一个task是怎么run起来的

第一个task是怎么起来的呢?分析完vTaskStartScheduler,就会有答案了。 那vTaskStartScheduler()干了啥呢? 一、创建prvIdleTask task 二、xTimerCreateTimerTask里创建prvTimerTask task 三、初始化一些全局变量 3.1 xNextTaskUnblockTime…

保护您的数据库免受注入攻击:MSSQL注入入门指南

MSSQL注入的入门讲解 一、引言二、MSSQL注入的基础知识2.1、MSSQL数据库的基本原理和结构2.2、常见的SQL语句和操作2.3、MSSQL注入的原理和工作方式 三、MSSQL注入攻击技术3.1、基于错误的注入攻击:利用错误消息和异常信息3.2、基于时间的注入攻击:利用延…

【前端】-【electron】

文章目录 介绍electron工作流程环境搭建 electron生命周期(app的生命周期)窗口尺寸窗口标题自定义窗口的实现阻止窗口关闭父子及模态窗口自定义菜单 介绍 electron技术架构:chromium、node.js、native.apis electron工作流程 桌面应用就是…

贝叶斯网络 (期末复习)

文章目录 贝叶斯网络(概率图模型)定义主要考点例题- 要求画出贝叶斯网络图- 计算各节点的条件概率表- 计算概率- 分析独立性 贝叶斯网络(概率图模型) 定义 一种简单的用于表示变量之间条件独立性的有向无环图(DAG&am…

设计模式---第四篇

系列文章目录 文章目录 系列文章目录前言一、说说策略模式在我们生活的场景?二、知道责任链模式吗?三、了解过适配器模式么?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给…

深入了解Vue.js:构建现代、响应式的前端应用

文章目录 1. Vue.js简介1.1 安装Vue.js 2. Vue的核心概念2.1 数据驱动2.2 组件化2.3 生命周期钩子 3. Vue的特性3.1 响应式数据3.2 模板语法3.3 组件通信 4. 示例项目结语 🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 &#x1…

Linux下为可执行文件添加图标

Ubuntu 18.04上使用Qt5.14.2创建一个简单的Qt Widgets项目test,添加2个Push Button按钮,点击分别获取github和csdn地址,在mainwindow.cpp中添加的代码如下: #include "mainwindow.h" #include "ui_mainwindow.h" #inclu…

Blast中文手册(4)

Extracting data from BLAST databases with blastdbcmd(用blastdbcmd从BLAST数据库中提取数据) Created: June 23, 2008; Updated: January 7, 2021. Extract lowercase masked FASTA from a BLAST database with masking information(从具有掩码信息的BLAST数据库中提取小写掩…

java ssh犯罪数据可视化系统eclipse开发mysql数据库MVC模式java编程网页设计

一、源码特点 JSP ssh犯罪数据可视化系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.…

OpenTelemetry系列 - 第2篇 Java端接入OpenTelemetry

目录 一、架构说明二、方式1 - 自动化2.1 opentelemetry-javaagent.jar(Java8 )2.2 使用opentelemetry-javaagent.jar完成自动注入2.3 配置opentelemetry-javaagent.jar2.4 使用注解(WithSpan, SpanAttribute)2.5.1 代码集成WithS…

算法基础四

括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 示例 1: 输入:n 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例…

uni-app 微信小程序 电子签名及签名图片翻转显示功能

文章目录 1. 需求背景2. 开始撸2.1 点击 重写 进入签名页面(上图一)2.2 书写签名,点击确认返回,及图片翻转显示(上图二,三) 3. 图片进行翻转,返回翻转后的图片 1. 需求背景 接的一个…