第十二讲:生成树概念及STP技术应用

news2025/1/10 21:50:46

      在传统的交换网络中,设备通过单条链路进行连接,当某一个点或是某一个链路发生故障时可能导致网络无法访问,解决这种问题的办法是在网络中提供冗余链路,但是交换机网络中的冗余链路会产生广播风暴、MAC地址失效等现象,最终出现的结果就是网络瘫痪,为避免因冗余链路形成环路而产生广播风暴和交换设备地址系统失效问题,同时使用冗余链路提高网络的可靠性,交换机都提供了生成树协议来解决这些问题,网络正常时自动将备份链路断开,在网络故障时自动启用备份链路。

实验拓扑如下图所示

交换机端口

设备

IP地址

掩码

S1  1/10

PC1

192.168.1.10

255.255.255.0

S2  1/10

PC2

192.168.1.11

255.255.255.0

一、了解广播风暴的危害

         1.设置PC1的IP地址为192.168.1.10,PC2的IP地址为192.168.1.11,PC1 ping PC2,结果如下:

         C:\Documents and Settings\Administrator>ping 192.168.1.11

         Pinging 192.168.1.11 with 32 bytes of data:

         Request timed out.

         Request timed out.

         Request timed out.

         Request timed out.

Ping statistics for 192.168.1.11:

         Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

         Approximate round trip times in milli-seconds:

   Minimum = 1ms, Maximum = 4ms, Average = 1ms

      由于生成树协议在神码交换机中默认是关闭的,可以看到此时已无法Ping通,交换机Link指示灯频繁闪烁,PC机反应迟缓,整个网络已被广播风暴袭击,无法进行正常通信。

二、理解生成树协议:

      生成树协议通过选择根桥、根端口、指定端口三个步骤来完成生成树的计算。

选择根网桥

      根网桥的选择是通过交换机的网桥ID来确定的。打开交换机的生成树协议,并查询交换机的网桥ID:

S1(config)#spanning-tree                         //开启生成树协议

MSTP is starting now, please wait.............

MSTP is enabled successfully.

s1#spanning-tree                                       //开启生成树协议

MSTP is starting now, please wait.............

MSTP is enabled successfully.

s1#show spanning-tree                       

                   -- MSTP Bridge Config Info --

Standard     :  IEEE 802.1s

Bridge MAC   :  00:03:0f:01:25:28

Bridge Times :  Max Age 20, Hello Time 2, Forward Delay 15

Force Version:  3

########################### Instance 0 ###########################

Self Bridge Id   : 32768 -  00:03:0f:01:25:28

Root Id          : this switch

Ext.RootPathCost : 0

Region Root Id   : this switch

Int.RootPathCost : 0

Root Port ID     : 0

Current port list in Instance 0:

Ethernet0/0/1 Ethernet0/0/2 Ethernet0/0/2 4(Total 3)

   PortName     ID    ExtRPC   IntRPC  State Role     DsgBridge     DsgPort

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

Ethernet0/0/1 128.001       0         0 FWD DSGN 32768.00030f012528 128.001

Ethernet0/0/2 128.002       0         0 FWD DSGN 32768.00030f012528 128.002

Ethernet0/0/24 128.024      0         0 FWD DSGN 32768.00030f012528 128.024

      其中,Self Bridge Id : 32768 - 00:03:0f:01:25:28就是该交换机的网桥ID。它由二部分组成,前面的数字32768是交换机的默认优先级,其取值范围为0~65535,步长为4096,数字越小则优先级越高;后面是该交换机的MAC地址。若各交换机优先级相同,则比较交换机的MAC地址,越小则优先级越高。

      同样我们可以查询到S2的网桥ID为Self Bridge Id : 32768 -  00:03:0f:01:7d:b0比较两个网桥ID的大小,它们的优先级相同,而MAC地址中最小的是交换机S1。因此,S1被生成树协议选定为根网桥。

选择根端口

      根网桥确定后,第二步需要在非根网桥上选择根端口。选择根端口的依据是:

      a)端口到达根网桥的路径成本最低。路径成本是指从非根网桥到根网桥上所有链路的成本之和。神码设备默认10M/100M自适应的路径开销为200000。

      b)若路径成本无法选择根端口,则依据非根网桥的直连(上游)网桥的桥ID最小来选择根端口,这在交换机级联时可能出现此种情况。

      c)若依然无法确定根端口,则再依据上游端口ID最小来确定根端口。端口ID形如128.001,前面的128为端口优先级,其取值范围为0~255,步长为1,默认值为128。后面的001为端口编号。

选择指定端口

      每条连接交换机的链路上都需选择指定端口。根网桥的所有端口都是指定端口,非根网桥的指定端口依据以下方法选择:

      a)根路径成本最低;

      b)端口所在网桥的桥ID值较小;

      c)端口ID值较小。

      在此例中,S1为根网桥,其所有端口都是指定端口,S1的E0/0/1和S2的E0/0/1为根端口。

先比较根路径成本:

      S1的E0/0/1到根网桥的路径成本:经过S2交换机连接到S1,故路径成本为200000,同样,S2的E/0/0/2根路径成本也是200000,无法比较。

      再比较端口所在网桥的桥ID值。如前所述,S1的桥ID为32768 -  00:03:0f:01:25:28,S2的桥ID为32768 -  00:03:0f:01:7d:b0,S2的桥ID值较小,所以S2的E0/0/1端口为指定端口。

      最后,将S2 E0/0/2端口关闭,生成树协议计算完成,封闭了物理环路,并将S1的E0/0/2到S2的E0/0/2链路作为冗余链路。

三、验证生成树的冗余性

         用PC1 ping PC2

         C:\>ping 192.168.1.11

         Pinging 192.168.1.11 with 32 bytes of data:

         Reply from 192.168.1.11: bytes=32 time=4ms TTL=64

         Reply from 192.168.1.11: bytes=32 time=1ms TTL=64

         Reply from 192.168.1.11: bytes=32 time=1ms TTL=64

         Reply from 192.168.1.11:bytes=32 time=1ms TTL=64

         Ping statistics for 192.168.1.11:

      Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

         Approximate round trip times in milli-seconds:

         Minimum = 1ms, Maximum = 4ms, Average = 1ms

         可以正常通信,没有广播风暴发生,生成树协议工作正常。

      再查看两台交换机的生成树信息:

s1#show spanning-tree

  •                  -- MSTP Bridge Config Info --
  • Standard     :  IEEE 802.1s
  • Bridge MAC   :  00:03:0f:01:25:28
  • Bridge Times :  Max Age 20, Hello Time 2, Forward Delay 15
  • Force Version:  3
  • ########################### Instance 0 ###########################
  • Self Bridge Id   : 32768 -  00:03:0f:01:25:28
  • Root Id          : this switch
  • Ext.RootPathCost : 0
  • Region Root Id   : this switch
  • Int.RootPathCost : 0
  • Root Port ID     : 0
  • Current port list in Instance 0:
  • Ethernet0/0/1 Ethernet0/0/2 Ethernet0/0/2 4(Total 3)

 PortName     ID    ExtRPC   IntRPC  State Role     DsgBridge     DsgPort

  • -------------- ------- --------- --------- --- ---- ------------------ -------

Ethernet0/0/1 128.001       0         0 FWD DSGN 32768.00030f012528 128.001

Ethernet0/0/2 128.002       0         0 FWD DSGN 32768.00030f012528 128.002

Ethernet0/0/24 128.024       0         0 FWD DSGN 32768.00030f012528 128.024

s2#show spanning-tree

  •                  -- MSTP Bridge Config Info --
  • Standard     :  IEEE 802.1s
  • Bridge MAC   :  00:03:0f:01:7d:b0
  • Bridge Times :  Max Age 20, Hello Time 2, Forward Delay 15
  • Force Version:  3
  • ########################### Instance 0 ###########################
  • Self Bridge Id   : 32768 -  00:03:0f:01:7d:b0
  • Root Id          : 32768 -  00:03:0f:01:25:28
  • Ext.RootPathCost : 200000
  • Region Root Id   : 32768 -  00:03:0f:01:25:28
  • Int.RootPathCost : 0
  • Root Port ID     : 128.4
  • Current port list in Instance 0:
  • Ethernet0/0/1 Ethernet0/0/2 Ethernet0/0/24 (Total 3)

PortName    ID     ExtRPC   IntRPC  State Role     DsgBridge     DsgPort

  • -------------- ------- --------- --------- --- ---- ------------------ -------

Ethernet0/0/1 128.003      0         0 FWD ALTR 32768.00030f012528 128.001

Ethernet0/0/2 128.004      0         0 BLK ROOT 32768.00030f012528 128.002

Ethernet0/0/24 128.023      0         0 FWD DSGN 32768.00030f012528 128.024

      从show中可以看出,交换机S1是根交换机,交换机S2的1端口是根端口。

      上述show命令输出结果显示交换机S2的端口F0/2角色为替换端口,状态为阻塞状态。

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

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

相关文章

StarRocks 统计信息和 Cost 估算

导读:欢迎来到 StarRocks 源码解析系列文章,我们将为你全方位揭晓 StarRocks 背后的技术原理和实践细节,助你逐步了解这款明星开源数据库产品。本期 StarRocks 技术内幕将主要介绍 StarRocks 统计信息和 Cost 估算。 1.背景 在学习本文之前&…

mysql搭建主从复制

Mysql主从复制搭建过程: 主从需同步时间,主开启ntpd(ntp网络时间协议,它的端口号udp123)服务-----修改配置,从通过/usr/sbin/ntpdate 主ip(ntpdate包需要提前安装);主:开启中继二进…

整数划分问题(Java递归)

整数划分问题(Java递归) 文章目录整数划分问题(Java递归)0、 问题描述1、递归式2、代码3、参考0、 问题描述 整数划分问题 将正整数n表示成一系列正整数之和:nn1n2…nk,其中n1≥n2≥…≥nk≥1,k…

数字校园建设方案技术建议书

【版权声明】本资料来源网络,仅用于行业知识分享,供个人学习参考,请勿商用。【侵删致歉】如有侵权请联系小编,将在收到信息后第一时间进行删除!完整资料领取见文末,部分资料内容: 1.1 华为数字化…

“设计”小哥转行5G网络优化工程师!从零开始,三个月实现逆风翻盘~

5G网络优化,一个陌生的领域,对于一个毫无经验的小白来说,选择转行必定是需要勇气和决心的。好在,在决定选择5G网络优化的这一段时间里,老师给予了我最大的帮助和支持,包括从授课,到练习&#xf…

【Linux】基础IO(open、文件描述符、缓冲区)

文章目录1、从文件操作开始1.1 文件操作的系统调用接口1.2 文件描述符2、重定向3、缓冲区1、从文件操作开始 在C语言阶段,接触了很多库函数,如fopen、fclose、fread和fwrte,这些函数帮助了程序实现了内存与磁盘的输入输出功能。 不过之前都…

轻松搭建MQTT服务器,开发流程全透明

1、使用场景 MQTT服务器适用场景就不多介绍了,基本上实在IOT圈发光发热,所以说是特定领域的一个服务端软件,我们是用在车联网的环境里,用来发布消息。 2、选型 最早说需要使用mqtt服务器,然后我以为需要自己开发服务…

专利代理机构代理专利流程

代理申请专利流程是怎么样的? (一)咨询 1、 确定发明创造的内容是否属于可以申请专利的内容。 (二)技术交底 1、申请人向专利代理人提供有关发明创造的背景资料或委托检索有关内容; 2、申请人详细介绍发明创造的内容,帮助专利代理人充分理解发明创造…

【windows下nginx反向代理 ip地址和域名(含启动重启和关闭3个脚本)】 1.vue案例必须修改vue.config.js

例子1:代理vue的web服务器 1)去官网下nginx: download 下载windows版本nginx,并写好脚本,总体目录如下: StartNginx.bat // 启动脚本 echo off echo "nginx start !!!" nginx.exe -c conf/nginx.conf pause ReStartNginx.bat // 修改nginx.conf后重启脚…

redis学习笔记(基础)

Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、…

飞腾FT-2000/4处理器+复旦微FPGA+国产操作系统解决方案

XM-1203-FPGA飞腾定制主板 自主可控,国产CPU、BIOS和国产Linux操作系统 性能稳定,FT-2000/4处理器 功能接口多样化,可扩展性强 高度集成,具有丰富的接口和电磁兼容性能. XM-1203-FPGA基于飞腾4 核CPU FT-2000/4的处理器板&#x…

【Javassist】快速入门系列09 当检测到数组创建时用代码块替换

系列文章目录 01 在方法体的开头或结尾插入代码 02 使用Javassist实现方法执行时间统计 03 使用Javassist实现方法异常处理 04 使用Javassist更改整个方法体 05 当有指定方法调用时替换方法调用的内容 06 当有构造方法调用时替换方法调用的内容 07 当检测到字段被访问时使用语…

springboot整合之统一结果返回

特别说明:本次项目整合基于idea进行的,如果使用Eclipse可能操作会略有不同,不过总的来说不影响。 springboot整合之如何选择版本及项目搭建 springboot整合之版本号统一管理 springboot整合mybatis-plusdurid数据库连接池 springboot整合…

树与二叉树(遍历)

一、树 树结构是一种非常重要的非线性数据结构,该结构中的一个数据元素可以有两个或者两个以上的直接后继元素。 1、树的定义 树是由 n(n>0)个有限结点组成一个具有层次关系的集合,当 n0时称为空树,当 n>0时称为非空树。 对于非空树来…

水上交通AIS常见问题解决方案

水上交通AIS常见问题解决方案 AIS无信号的几种情况 情况一:AIS未开启。 解决方法:开启AIS设备。 情况二:AIS开启但MMSI码和证书不一致。 解决方法:船长向直属海事部门申请MMSI码,并请专业人员将正确的MMSI码写入AIS设…

数据结构之堆的实现以及实现堆排序和建堆解决Top K问题

文章目录前言1.堆的相关介绍1.什么是堆2.堆的结构2.堆的相关接口具体实现1.堆的声明和堆的初始化2.堆插入数据和删除数据3.堆的其他函数接口3.堆的实际运用1.建堆算法2.堆的应用之堆排序3.堆解决Top k问题4.总结前言 之前对树的相关知识概念进行了简单介绍,本文将实…

odps-jdbc提交MaxCompute数据源SQL报错HTTP/1.0 is not allowed

概述 最近负责的一款数据产品。有个功能:选择某个数据源,比如阿里云的MaxCompute数据源,然后手写SQL,点击自动生成字段(即获取前置SQL里的查询字段。前置SQL可以有drop then create table动作子句,但是最后…

【PS-选区速成】快速选择工具、魔棒工具、对象选择工具

目录 快速选择工具 1、位置 2、3种模式:新选区、添加到选区、从选区减去 3、画笔的设置参数 画笔大小:识别的范围 硬度:边缘的识别能力 间距:识别的连贯程度 跟【选区工具】配套使用的快捷键 1、按【ALT】减区 2、放大…

数据结构之排序【快速排序和归并排序的非递归代码实现及分析】

引言: 今天因为要写论文,所以现在有点迟了,并且此时是北京时间:2022/12/28/1:41 ,我发现晚睡我真的是专业的,当然睡觉我也是专业的,懂的都懂,现在有点迟加上天大寒,手指不可屈伸&am…

android之View的滑动

其实不管是哪种滑动方式,基本思想都是类似的:当点击事件传递到View时,系统记下触摸点的坐标,手指移动的时候,系统记下移动后的坐标,并计算出偏移量,并通过偏移量来修改View的坐标。 下面我们来…