CISCO交换机STP实验(生成树协议)
目录
一、前言:生成树协议(STP)
计算机网络中,我们为了减少网络故障导致无法正常通信的问题,通常会增加冗余设备作为备用,形成冗余拓扑。但是也增加了冗余链路,这样却会引起交换环路,造成通信消息循环发送。交换环路会带来三个问题:广播风暴、同一帧的多个拷贝、交换机 CAM 表不稳定。
所以,STP(生成树协议,Spanning Tree Protocol)就是解决冗余拓扑出现的问题。STP 基本思路是阻断一些交换机接口,构建一棵没有环路的转发树,让具有冗余结构的网络在故障时自动调整网络的数据转发路径。STP 利用 BPDU(Bridge Protocol Data Unit)和其他交换机进行通信,从而确定哪个交换机该阻断哪个接口。

为了在网络中形成一个没有环路的拓扑,网络中的交换机要进行以下三个步骤,BPDU 中的几个关键字段:选举根桥、选取根口、选取指定口。这些步骤中,作为根桥的交换机取决于以下因素(按顺序进行):
(1) 最低的根桥 ID;
(2) 最低的根路径代价;
(3) 最低发送者桥 ID;
(4) 最低发送者端口 ID。
现在了解基本的STP知识之后,下面将开始通过实验感受STP的实际应用场景。
软件平台:Cisco Packet Tracer
综合实践题目:STP.pka已经上传到CSDN,可下载实践练习。
二、CISCO交换机STP命令汇总
| 命令 | 作用 |
| show spanning-tree | 查看 STP 树信息 |
| spanning-tree vlan 1 priority 4096 | 配置 VLAN1 的桥优先级 |
| spanning-tree portfast | 配置接口为 portfast,当有设备接入时立即进入转发状态 |
| spanning-tree uplinkfast | 配置 uplinkfast 特性 |
| spanning-tree backbonefast | 配置 backbonefast 特性 |
| spanning-tree mode rapid-pvst | 把 STP 的运行模式设为 RSTP+PVST |
| spanning-tree link-type point-to-point | 把接口的链路类型改为点对点 |
| spanning-tree mode mst | 把生成树的模式改为 MST |
| spanning-tree mst configuration | 进入 MST 的配置模式 |
| name TEST-MST | 命名 MST 的名字 |
| revision 1 | 配置 MST 的 revision 号 |
| instance 1 vlan 1-2 | 把 VLAN 1 和 VLAN 2 的生成树映射到实例 1 |
| spanning-tree guard root | 在接口上配置 root guard 特性 |
| spanning-tree bpduguard enable | 在接口上配置 bpduguard 特性 |
第一条命令在特权模式(enable)下执行,其他都是在配置模式(configure terminal)下。
这次实验只涉及到第1、2条命令,为基础运用。
show spanning-tree
如下,可以看到交换机生成树具体信息,分为两部分:根ID 和 桥ID.
Priority:优先级(参数范围:<0-61440>)
Address:交换机的Mac地址
Hello Time:发送消息时间间隔

三、运用STP搭建简单拓扑
下面是一个最简单的冗余拓扑,可以看到,箭头所指位置是不通的,这就是生成树协议的作用,它阻塞了一条链路,避免形成交换环路。

现在我们看一下Switch0的STP情况:

Switch1的STP情况:

Switch0的f0/2接口阻塞,Switch0不是作为根桥。未进行配置默认情况下,结果如图所示。

那么,现在要将S0设置为根桥了,手动进行配置。操作就是将Priority设置为4096,前面提到BPDU决定根桥的因素之一。
命令:
spanning-tree vlan 1 priority 4096

将S0优先级设置之后,根桥变为S0,这时以S0向网络发送数据包。

四、实战:STP综合实验
综合实践题目:STP.pka已经上传到CSDN,可下载实践练习。


这道题目上来就是IP地址分配,也许这是一个难点,而生成树协议我们前面看到的只需一行配置搞定,相对简单。
题目只给出IP地址空间为:10.1.1.0/24 ,这是关键突破口!

VLAN名称、vlan号和所需主机IP地址对应如下:
| VLAN号 | 名称 | 所需IP地址数 |
| vlan 5 | Management&Native | 10 |
| vlan 15 | Production | 100 |
| vlan 25 | Staff | 50 |
| vlan 35 | Guest | 20 |
给定地址空间10.1.1.0/24,根据IP地址数量,从多到少进行分配。
| IP地址数 | 主机位数 | 可用IP地址数 | 分配网段(子网掩码) |
| 100 | 7位 | 126 | 10.1.1.128/25 |
| 50 | 6位 | 62 | 10.1.1.192/26 |
| 20 | 5位 | 30 | 10.1.1.224/27 |
| 10 | 4位 | 14 | 10.1.1.240/28 |
问题来了,虽然得到了VLAN的网段,满足IP地址数量要求,但是题目完全没给出具体IP配置说明!
经过一段时间的探索,终于找到完全正确的地址分配,为每个设备配置IP、默认网关、子网掩码。具体配置就是,默认网关为取各自网段的可用IP第一个,PC、交换机Vlan的IP地址取可用IP地址的第二个。
如果理解还是不清楚,直接用下面我配置好的各设备地址表。

现在解决了题目关键部分,后续就简单了,直接按任务配置就可以。
其中,遇到一个任务:配置Vlan的默认网关,之前没配置过,所以学习了一条配置命令。
交换机配置默认网关命令:
ip default-gateway 10.1.1.255
完成任务过程,可以边查看进度情况,这是Cisco实验练习题目的一个优点,可以实时检查完成进度。完成率应该为 100%。若不是,则单击 Check Results(检查结果),了解哪些必需的组件尚未完成。

五、结语
STP(生成树协议,Spanning Tree Protocol)就是解决冗余拓扑出现的问题。STP 基本思路是阻断一些交换机接口,构建一棵没有环路的转发树,让具有冗余结构的网络在故障时自动调整网络的数据转发路径。本篇记录学习计算机网络重点知识:生成树协议(STP),详细步骤将从认识到实践,使用Cisco Packet Tracer 完成STP综合练习。同时,也更实际地学习IP地址分配,加深对IP地址的理解和应用。
我的博客园:https://www.cnblogs.com/chenzhenhong/p/13776360.html
我的CSDN博客:https://blog.csdn.net/Charzous/article/details/108926031
CISCO交换机STP实验(生成树协议)的更多相关文章
- STP:生成树协议解决网络冗余问题
STP(Spanning Tree Protocol)是生成树协议的英文缩写,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作.但某些特定因素会导致STP失败,要排 ...
- 生成树协议(STP)
首先了解一下环路问题: 两个交换机将两个局域网同时连接起来的时候,不幸地出现了环路: 这两个交换机还是都能够收到广播包的.交换机 A 一开始是不知道机器 2 在哪个局域网的,所以它会把广播消息放到局域 ...
- Cisco交换机堆叠与HSRP之间的区别
随着Internet的日益普及,人们对网络的依赖性也越来越强.这同时对网络的稳定性提出了更高的要求,人们自然想到了基于设备的备份结构,就像在服务器中为提高数据的安全性而采用双硬盘结构一样.核心交换机是 ...
- 交换机广播风暴,STP生成树协议,端口聚合
交换机(工作在数据链路层)具有学习功能: 一台刚重启的交换机上的mac地址表为空,根据数据包的来源,目的地来学习MAC地址与端口的映射关系映射关系,对于MAC地址表之中已有的就不管了,对未知端 ...
- STP生成树协议在二层环境中的应用
一 STP简介 1.单词: rstp快速生成树协议 filter过滤 protection保护 2.作用: 通过阻塞特定接口来防止二层交换环路,从而做到既可以提高网络可靠性的同时又能避免环路带来的问题 ...
- [转载]交换机STP协议
注:之前做一个项目,测试部使用2个公司的交换机,H3C和H公司的,H公司的交换机是OEM H3C的交换机,正常来说两者使用没有区别. 但是使用中发现,如果设备的多个对外业务网口连接的交换机的聚合网口, ...
- Huawei-R&S-网络工程师实验笔记20190607-STP生成树协议(基本配置、桥优先级、根桥选举、根端口、路径开销、边缘端口)
>Huawei-R&S-网络工程师实验笔记20190607-STP生成树协议(基本配置.桥优先级.根桥选举.根端口.路径开销.边缘端口) >>实验开始,先上拓扑图参考: &l ...
- STP 生成树协议 RSTP 快速生成树
STP(Spanning Tree Protocol)是生成树协议的英文缩写 该协议可应用于在网络中建立树形拓扑,消除网络中的环路,并且可以通过一定的方法实现路径冗余,但不是一定可以实现路径冗余.生成 ...
- 第2层交换和生成树协议(STP)__第2层的3种交换功能
地址学习(Address Learning):第2层交换机和网桥能够记住在一个接口上所收到的每个帧的源设备硬件地址,而且它们会将这个硬件地址信息输入到被称为转发/过滤表的MAC数据库中. 转发/过滤决 ...
随机推荐
- 力扣Leetcode 572. 另一个树的子树
另一个树的子树 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树.s 的一个子树包括 s 的一个节点和这个节点的所有子孙.s 也可以看做它自身的一棵子树. 示例 ...
- 超全Python IDE武器库大总结,优缺点一目了然!
本文介绍了多个 Python IDE,并评价其优缺点.读者可以参考此文列举的 Python IDE 列表,选择适合自己的编辑器. 写 Python 代码最好的方式莫过于使用集成开发环境(IDE)了.它 ...
- spring-boot如何生成元数据与javaBean进行关联用作配置文件提示
spring-boot如何生成元数据与javaBean进行关联用作配置文件提示 首先需要引入一个jar依赖包,以及一个maven plugin如下所示 <dependency> <g ...
- Java进阶专题(十三) 从电商系统角度研究多线程(上)
前言 本章节主要分享下,多线程并发在电商系统下的应用.主要从以下几个方面深入:线程相关的基础理论和工具.多线程程序下的性能调优和电商场景下多线程的使用. 多线程J·U·C 线程池 概念 回顾线程创 ...
- 阿里云体验实验室 体验教程《Linux指令入门-系统管理》
体验平台简介 阿里云开发者实验室提供免费云资源和丰富的场景化实践,旨在帮助开发者在学习应用技术,了解阿里云产品的特性. 阿里云体验实验室地址:https://developer.aliyun.com/ ...
- pycharm可以运行但无法debug的解决方法
错误信息:pydev debugger: process 4588 is connecting 如果您尝试了网上的很多方法如防火墙设置,去掉 ".idea"文件,甚至重装pycha ...
- [Java]取得当前代码所在函数的函数名
要取得当前运行代码的函数名,可以用: Thread.currentThread().getStackTrace()[1].getMethodName(); 但是,这行代码有些过长,嵌入业务代码稍显突兀 ...
- HKDAS产品技术架构图
- Repeater每行绑定事件代码
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Repea ...
- 常用Linux Shell命令,了解一下!
目录 1 前言 2 正文 2.1 关机/重启 2.2 echo 2.3 vim文本编辑器 2.3.1 最基本用法 2.3.2 常用快捷键 2.3.3 查找/替换 2.4 拷贝/删除/移动/重命名 2. ...