首页 > 其他分享 >STP案例分析

STP案例分析

时间:2022-11-01 12:56:58浏览次数:51  
标签:分析 BPDU 根桥 端口 阻塞 案例 交换机 STP 单点故障

首先我们看案例

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目录

一、观察... 

二、配置网络... 

2.1 配置核心层... 

2.2 配置接入层... 

2.3 各层连接及层间配置... 

三、STP. 

3.1 正常收敛... 

3.2 模拟单点故障的拓扑变更的各种情况... 

3.2.1 模拟非根桥交换机的非根非指定端口单点故障... 

3.2.2 模拟有阻塞端口的非根桥交换机的根端口单点故障... 

3.2.3 模拟无阻塞端口的非根桥交换机的根端口单点故障... 

3.2.4 模拟有阻塞端口的非根桥交换机的指定端口单点故障... 

3.2.5 模拟无阻塞端口的非根桥交换机的指定端口单点故障... 

3.3 总结... 


一、观察

观察网络,根据三层网络架构进行分层

 

二、配置网络

2.1 配置核心层

先配置核心/汇聚层的二层链路聚合

 

配置交换机Switch0和Switch1

 

配置后检查是否配置成功,链路无阻塞端口,证明链路聚合配置成功

 

2.2 配置接入层

接下来配置接入层,主要是配置基于端口的vlan和端口的access类型

配置Switch2和Switch3的接入端口

 

 

2.3 各层连接及层间配置

配置完接入层,接下来连接各层(接入层和核心层)

之后配置层间互联端口为trunk类型:对四台交换机的层间端口类型都进行配置

 

 

 

 

 

 

配置完层间端口,等待30秒(两个FowardDelay时间)后网络完全收敛,之后检查网络连通状态;同时配置主机层的各主机IP地址,并注释到图中:

三、STP

3.1 正常收敛

之后打开仿真,不断捕获/转发分组,直到找到一台交换机上输出层BPDU的根ID和桥ID这两个字段相同,这个就是根桥,之后不断捕获/转发分组,逐步确定端口角色并注释在图中,直到注释完所有的端口角色。最终结果如图:

 

(RP端口:根端口,DP端口:指定端口)

3.2 模拟单点故障的拓扑变更的各种情况

3.2.1 模拟非根桥交换机的非根非指定端口单点故障

1.shutdown命令,关闭Switch3的f0/4端口(非根非指定端口)

 

2.在仿真模式下不断捕获/转发分组,观察拓扑变更过程

根桥SW2通过指定端口向SW0和SW1发送BPDU,SW1再转发给SW0和SW3

3.结论:非根非指定端口单点故障,会关闭故障链路上的指定端口,但不会发生拓扑变更和重新收敛

3.2.2 模拟有阻塞端口的非根桥交换机的根端口单点故障

1.shutdown命令,关闭Switch3的f0/3端口(根端口)

 

进行仿真直到网络重新收敛,观察端口角色和拓扑的变更情况

收敛后注释出端口角色的变化,并说明拓扑变更的情况

收敛过程中,可以观察到在30秒左右这台非根交换机的阻塞端口进入转发状态(经历了两次15s超时的状态迁移才进入转发态,所以是30s)。

 

3.2.3 模拟无阻塞端口的非根桥交换机的根端口单点故障

shutdown命令,关闭Switch1的f0/4端口(根端口)

未收敛时网络状态

 

进行仿真直到网络重新收敛,观察端口角色和拓扑的变更情况

首先看到Switch1向其他所有非故障端口转发根BPDU

查看从Switch1的f0/3端口向Switch3的f0/3发送的BPDU

        有阻塞端口的非根交换机,它的根端口和阻塞端口都可以收到根ID来自根桥BPDU,而无阻塞端口的非根交换机,只有它的根端口才能收到来自根桥的BPDU。STP网络收敛后,若无阻塞端口的非根交换机的根端口单点故障,则此时这个交换机不能收到来自根桥根ID的BPDU,此时这个交换机会认为根桥故障,而不是自己的根端口故障。此时这个交换机会认为自己是新的根桥,然后向其他所有端口发送用自己的BID作为RID的BPDU。因为这个交换机的BID优先级一定低于原根桥的BID,所以此时,其他所有收到这个交换机的根BPDU的交换机,都会比较得出优先级,这个故障桥BPDU的RID字段要小于原根桥BPDU的BID(RID)字段。但是其他交换机,在发现故障桥的优先级更低时,不会立即通知故障桥关于根桥RID的BPDU,而是开启一个计时器,等待网络中是否还有其他优先级的待选举的根桥。此时,其他非根桥交换机会通知除了故障桥外的所有非根桥交换机根桥RID的BPDU,而且,对于这个故障桥的所有BPDU都不会进行转发。在这个计时器超时前,故障桥一直无法收到来自根桥RID的BPDU,他会一直向其他所有端口转发自己BID作为RID的BPDU。而到计时器超时,此时,开启计时器的交换机认为,已经没有其他RID的存在了,此时它将会向自己的非根端口,转发原根桥RID的BPDU(因为他认为,经过一个计时器时间,它已经学习完整个网络的根ID了),此时故障桥终于收到了来自根桥的RID优先级更高的BPDU。之后这个故障桥将作为非根交换机,开启端口角色的选举,通过比较BID、跟路径开销来选举出自己各个端口的端口角色;而开启计时器的交换机也将重新进行端口角色的选举。这些端口的角色选举,将经历两个状态转换计时器的时间,也就是两个15s。
  所以这个单点故障,从故障开始到网络完全收敛一共经历了3个计时器时间,第一个计时器时间上面没有说明,这个计时器的时间叫最大老化时间,一共20s,也就是10个Hello时间;而后两个计时器时间就是两个15s的端口状态转换时间,所以整个收敛时间是50s,50s后,网络完全收敛,此时网络拓扑为:

3.2.4 模拟有阻塞端口的非根桥交换机的指定端口单点故障

shutdown命令,关闭Switch0的f0/4端口(根端口)

后续结果同情况1

3.2.5 模拟无阻塞端口的非根桥交换机的指定端口单点故障

shutdown命令,关闭Switch1的f0/3端口(根端口)

后续结果同情况2

3.3 总结

情况4、5结果同2、3,在这过程中可以发现,指定端口所在的链路另一端一定是根端口或者阻塞端口,所以阻塞端口故障和两种根端口的故障可以代表指定端口所有的故障情况。

进一步推理,根桥所有端口都是指定端口,所以问题又变成了根端口和阻塞端口故障的情况

所以单点故障只有阻塞端口所在链路故障、有阻塞端口的非根桥交换机的根端口所在链路故障、无阻塞端口的非根桥交换机的根端口所在链路故障等。

 

标签:分析,BPDU,根桥,端口,阻塞,案例,交换机,STP,单点故障
From: https://www.cnblogs.com/lovecodingforever/p/16847304.html

相关文章

  • vue源码分析-基础的数据代理检测
    简单回顾一下这个系列的前两节,前两节花了大量的篇幅介绍了Vue的选项合并,选项合并是Vue实例初始化的开始,Vue为开发者提供了丰富的选项配置,而每个选项都严格规定了合并的策......
  • vue源码分析-响应式系统(二)
    为了深入介绍响应式系统的内部实现原理,我们花了一整节的篇幅介绍了数据(包括data,computed,props)如何初始化成为响应式对象的过程。有了响应式数据对象的知识,上一节的后......
  • vue源码分析-响应式系统工作原理
    上一章,我们讲到了Vue初始化做的一些操作,那么我们这一章来讲一个Vue核心概念响应式系统。我们先来看一下官方对深入响应式系统的解释:当你把一个普通的JavaScript对象传......
  • AJAX基础+Axios快速入门+JSON使用+综合案例
    目录1、AJAX1.1概述1.1.1作用1.1.2同步和异步1.2快速入门1.2.1服务端实现1.2.2客户端实现1.3案例1.3.1需求1.3.2分析1.3.2后端实现1.3.3前端实现2、Axios异步......
  • 案例解读华为隐私计算产品TICS如何实现城市跨部门数据隐私计算
    摘要:本文介绍华为可信智能计算服务TICs是如何助力城市跨部门数据实现隐私计算的。 本文分享自华为云社区《基于华为隐私计算产品TICS实现城市跨部门数据隐私计算,助力实......
  • APACHE_CVE-2021-40438-SSRF漏洞分析复现
    影响版本v2.4.48及以下版本该版本中mod_proxy模块存在一处逻辑错误,导致攻击者可以控制反向代理服务器的地址,进而导致SSRF漏洞。该漏洞影响范围较广,危害较大,利用简单,目前......
  • #打卡不停更# 移植案例与原理 - build lite hb命令__main__.py
    移植案例与原理-buildlite源码分析之hb命令__main__.pyhb命令可以通过pythonpip包管理器进行安装,应该是OpenHarmonyBuild的缩写,在python包名称是ohos-build。hb作为......
  • RecordDispaly控件上显示Blob分析结果的方法
    这里写一下另一种方法,即从CreateLastRunRecord().SubRecords[0]中将所有的图形Record提取出来,添加到display控件上,以下为代码:此帖售价 2 金币,已有 56 人购买 [记录......
  • usb协议分析
    STM32USB协议和代码分析一前言:usb接口是一个非常重要的通信接口,它的协议是有些复杂的。作为一个工程师,对usb协议和代码进行分析,是一个必备的素质和技能。最近......
  • NetworkPolicy Ingress及Egress简介及案例
    一、NetworkPolicy简介官方介绍:https://kubernetes.io/zh/docs/concepts/services-networking/network-policies/基于NetworkPolicy在三层(网络层)或四层(传输层)控制拒......