Cisco Packet Tracer实验(四)

2024-06-17 03:44
文章标签 实验 cisco packet tracer

本文主要是介绍Cisco Packet Tracer实验(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

生成树协议(Spanning Tree Protocol)

交换机在目的地址未知或接收到广播帧时是要进行广播的。如果交换机之间存在回路/环路,那么就会产生广播循环风暴,从而严重影响网络性能。

交换机中运行的STP协议避免交换机之间发生广播循环风暴

只使用交换机,构建如下拓扑:

这是初始时的状态。我们可以看到交换机之间有回路,这会造成广播帧循环传送即形成广播风暴,严重影响网络性能。

随后,交换机将自动通过生成树协议(STP)对多余的线路进行自动阻塞(blocking),以形成一棵以Switch4为根(具体哪个是根交换机有相关的策略)的具有唯一路径树即生成树。

经过一段时间,随着STP协议成功构建了生成树后,Switch5的两个接口当前物理上是连接的,但逻辑是不通的,处于Blocking状态(桔色)如下图所示。

在网络运行期间,假设某个时候 Switch7 与 Switch6 之间的物理连接出现问题(将 Switch7 与 Switch6 的连线剪掉),则该生成树将自动发生变化。Switch7 上方先前 Blocking 的那个接口现在活动了(绿色),但下方那个接口仍处于 Blocking 状态(桔色)。如下图所示:

交换机的STP协议即生成树协议始终自动保证交换机之间不会出现回路,从而形成广播风暴。

再详细讲讲:

STP(Spanning Tree Protocol)是一个用于局域网中消除环路的协议。它的标准是IEEE 802.1D。STP通过将部分冗余链路强制为阻塞状态,其他链路处于转发状态,将环形网络结构修剪成无环路的树形网络结构,可实现消除环路。当处于转发状态的链路不可用时,STP重新配置网络,并激活合适的备用链路状态,恢复网络连通性。

一、STP的工作原理

1、每个网络设备(交换机)都有一个桥优先级(Bridge Priority)和一个桥ID(Bridge ID)

2、每个设备通过发送BPDU(Bridge Protocol Data Unit)消息来与其他设备进行通信。

3、每个设备根据接收到的BPDU消息来确定根桥和最短路径。

4、设备选择根桥,并将自己的端口设置为根端口和非根端口

通过协议计算(依赖于BPDU报文),从逻辑上阻塞端口,从而实现防环,当链路一旦出现故障时,阻塞端口重新恢复转发。STP适用于较小规模的网络,但它的收敛速度较慢,对网络中的拓扑变化反应不够迅速。

二、STP基本概念

1、桥ID(Bridge ID)

每台交换机在出厂的时候都有一个不一样的标识,就是桥MAC,在STP里面使用了桥ID来标识不同的交换机,每一台交换机运行了STP就有一个对应的桥ID,桥ID由两部分组成,一个2字节的桥优先级,默认32768(可以管理员自行修改)。一个6字节的桥MAC,通常为默认VLAN1的MAC地址。

2、根桥(Root Bridge)

STP要在整个二层网络中计算出一棵无环的树,树就形成了,网络中的无环拓扑也就形成了。其中最重要的就是树根,树根明确了,“树枝”才能沿着网络拓扑进行延伸。STP的根桥就是这棵树的树根。当STP启动后,第一件事就是在网络中选举出根桥。在一个二层网络中,根桥只有一个,其余设备都是非根桥。当网络的拓扑发生变化时,根桥也可能发生变化。

3、根路径开销

非根桥到达根桥可能有多条路径,每条路径都有一个总开销值,也就是根路径开销(RPC),这个值是通过这条路径所有出端口的开销值累加而来的。STP不会计算入端口的开销,只在数据通过端口发出时,才计算这个端口的开销。对于根桥来说,根路径开销是0。

STP上的交换机每一个接口都有对应的一个开销值,用于表示数据通过该端口发送时的开销,开销值越小表示带宽越高,技术发展到现在有2个公有标准,华为华三自己一个私有版本。

4、端口ID

运行STP的交换机使用端口ID标识每个端口,端口ID主要用于选举指定端口。端口ID长度为16比特,其中前4比特是端口优先级,后12比特是端口编号。在进行比较时,先比较端口优先级,优先级小的端口优先;在优先级相同时,再比较端口编号,编号小的端口优先。通常情况下,端口编号无法改变,可通过设置端口优先级来影响生成树的选路。

5、BPDU(桥协议数据单元)

交换机毕竟是一个独立的个体,想要把一个二层网络(二层网络就是OSI模型中的数据链路层。)里面的交换机形成一颗大树一样的树状结构,那就少不了需要相互“沟通”,来了解整个二层网络的结构拓扑,正是依赖BPDU,它包含了STP协议里面相关的所有信息,通过这些信息来完成生成树的计算,这里要注意,BPDU发送的是组播帧,目的地址为0180-C200-0000,运行了STP交换机会产生、发送、接收、处理BPDU,其余未运行的则不参与。

选举要求:

根桥ID:优先级+mac地址

1、比较优先级:

默认为32768,数值越小越优先,可调整,只能为4096的倍数。

2、比较mac地址,数值越小越优先:

如果设备收到比本身差的BPDU报文,直接丢弃,如果设备收到比本身优的BPDU报文,将其放入端口存储并且转发出去

全网泛洪的BPDU报文的根桥ID一致时说明交换网络中已经选出根桥交换机。

2、选举根端口

根端口(RP): 转发数据的端口,用于接收最优的BPDU报文,只在非根桥交换机上有且只有一个。非根桥交换机与根桥交换机直连接口都为RP端口。

选举要素:

根路径开销:

选择根路径开销(RPC)最小的端口;

如果RPC相同,那就选对端桥ID(BID)最小的端口;

如果对端桥ID相同,那就选对端端口ID(PID)最小的端口;

跟接口的带宽有关,根路径开销越小越优先。

3、选举指定端口

根端口确保了交换机到根桥的路径是唯一的,也是最优的。网络中的每条链路与根桥之间的路径也要是唯一且最优的。当一条链路中有两条或两条以上的路径到达根桥,就必须确定出一个唯一的指定端口,防止出现二层环路。指定端口不但是这条链路内所有端口中到达根桥的最优接口,还会向链路内发送BPDU。

选举要素:

1、发送者桥ID设备在转发BPDU报文,都会将本身的桥ID字段填充到发送者桥ID中。

2、比较规则与根桥ID比较规则完全一致。

虽然选举指定端口的范围和根端口不同,但是选举的原则是一致的。指定端口的选举同样会按照以下过程进行:

4、阻塞端口

在确定了根端口和指定端口后,交换机上剩下的非根端口和非指定端口都叫做备用端口。备用端口是打破环路的关键,STP会对这些备用端口进行逻辑阻塞。逻辑阻塞,是指端口不会接收或发送任何数据,但是会监听BPDU。当网络的一些端口出现故障时,STP会让备用端口开始转发数据,用来恢复网络的正常通信。

选举要素:

端口ID:优先级+端口编号。

优先级: 默认为128,数值越小越优先,可调整,只能调整为16的倍数。

端口ID:数值越小越优先。

四、STP端口状态机和时间参数

STP不但定义了3种端口角色:根端口、指定端口、备用端口,还定义了5种端口状态:禁用状态、阻塞状态、侦听状态、学习状态、转发状态。

disable: 说明端口未启用STP协议;

blocking: 阻塞状态,属于AP端口正常状态,进行根桥的选举;

listening:侦听状态,进行端口角色的确定;

learning:学习状态,学习mac地址表;

forwarding :转发状态,转发数据,学习mac地址。

STP定义了3个重要的时间参数

Hello Time(Hello 时间):STP交换机发送配置BPDU的时间间隔,默认是2秒。如果要修改时间参数,那么必须在根桥上修改才有效。

Forward Delay(转发延迟):接口从侦听状态进入学习状态,或从学习状态进入转发状态的延迟时间,默认值是15秒。避免在STP树的生成过程中可能出现的临时环路,或短暂的数据帧泛洪现象,分别在侦听和学习的端口状态各停留一个转发延迟时间。对于STP而言,一个阻塞端口选举为根接口或指定接口后,进入转发状态至少需要经历30秒的时间。

Max Age(最大生存时间):BPDU的最大生存时间,也称为BPDU的老化时间,Max Age的值由根桥指定,默认值是20秒。如果端口在20秒内收到BPDU,最大生存时间会重新计时;如果端口一直没收到BPDU,那么BPDU将会老化,设备会重新在端口上选择最优BPDU,也就是重新进行根接口的选举。

由于时间参数的设计,一个STP接口从阻塞状态进入到转发状态,可能需要30 ~ 50秒的时间,这段时间内,网络无法正常使用。

 

这篇关于Cisco Packet Tracer实验(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068396

相关文章

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

61.以太网数据回环实验(4)以太网数据收发器发送模块

(1)状态转移图: (2)IP数据包格式: (3)UDP数据包格式: (4)以太网发送模块代码: module udp_tx(input wire gmii_txc ,input wire reset_n ,input wire tx_start_en , //以太网开始发送信

LTspice模拟CCM和DCM模式的BUCK电路实验及参数计算

关于BUCK电路的原理可以参考硬件工程师炼成之路写的《 手撕Buck!Buck公式推导过程》.实验内容是将12V~5V的Buck电路仿真,要求纹波电压小于15mv. CCM和DCM的区别: CCM:在一个开关周期内,电感电流从不会到0. DCM:在开关周期内,电感电流总会到0. CCM模式Buck电路仿真: 在用LTspice模拟CCM电路时,MOS管驱动信号频率为100Khz,负载为10R(可自

HCIA--实验十:路由的递归特性

递归路由的理解 一、实验内容 1.需求/要求: 使用4台路由器,在AR1和AR4上分别配置一个LOOPBACK接口,根据路由的递归特性,写一系列的静态路由实现让1.1.1.1和4.4.4.4的双向通信。 二、实验过程 1.拓扑图: 2.步骤: (下列命令行可以直接复制在ensp) 1.如拓扑图所示,配置各路由器的基本信息: 各接口的ip地址及子网掩码,给AR1和AR4分别配置

OpenGL/GLUT实践:流体模拟——数值解法求解Navier-Stokes方程模拟二维流体(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub:A-UESTCer-s-Code 文章目录 1 实现效果2 实现过程2.1 流体模拟实现2.1.1 网格结构2.1.2 数据结构2.1.3 程序结构1) 更新速度场2) 更新密度值 2.1.4 实现效果 2.2 颜色设置2.2.1 颜色绘制2.2.2 颜色交互2.2.3 实现效果 2.3 障碍设置2.3.1 障碍定义2.3.2 障碍边界条件判定2.3.3 障碍实现2.3.

pta-2024年秋面向对象程序设计实验一-java

文章申明:作者也为初学者,解答仅供参考,不一定是最优解; 一:7-1 sdut-sel-2 汽车超速罚款(选择结构) 答案: import java.util.Scanner;         public class Main { public static void main(String[] arg){         Scanner sc=new Scanner(System

如何校准实验中振镜频率的漂移

在实验过程中,使用共振扫描振镜(如Cambridge Technology的8kHz振镜)时,频率漂移是一个常见问题,尤其是在温度变化或长期运行的情况下。为了确保实验的准确性和稳定性,我们需要采取有效的校准措施。本文将介绍如何监测、调节和校准振镜频率,以减少漂移对实验结果的影响。 1. 温度管理和稳定性控制 振镜的频率变化与温度密切相关,温度的升高会导致机械结构的变化,进而影响振镜的共

实验C语言“union”的最基础语法

目标 最近在看Rust的“菜鸟教程”,看到 Rust 枚举类 时我发现它所定义的“枚举类”虽然也能像C语言枚举类那样使用,但是多了些功能:对于某个枚举的成员,还可以附带独特的数据,这让我想起了C语言中的union。 而我事实上对union没有使用经验,我自己写程序的时候不用它,看其他的项目的程序时印象里也没见过它。所以我对union的设计意图理解不深(可能只是为了节省内存?)。本篇的目标是对其