计算机网络(网络原理与应用)之高级交换实验------冗余环路与生成树协议

一、实验目的

(1)了解生成树协议的作用;

(2)熟悉生成树协议的配置。

二、应用环境

采用生成树协议可以避免环路。

生成树协议的根本目的是将一个存在物理环路的交换网络变成一个没有环路的逻辑树形网络。IEEE802.ID协议通过在交换机上运行一套复杂的算法STA(spanning-tree algorithm), 使冗余端口置于"阻断状态",使得接入网络的计算机在与其他计算机通讯时,只有一条链路生效,而当这个链路出现故障无法使用时,IEEE802.1d协议会重新计算网络链路,将处于"阻断状态"的端口重新打开,从而既保障了网络正常运转,又保证了冗于能力。

三、实验设备

  1. DCS二层交换机2台
  2. PC机2台
  3. 直通网线4-8根

四、实验拓扑

五、实验要求

IP地址设置:

|------|--------------|---------------|
| 设备 | IP | Mask |
| 交换机A | 10.1.157.100 | 255.255.255.0 |
| 交换机B | 10.1.157.101 | 255.255.255.0 |
| PC1 | 10.1.157.113 | 255.255.255.0 |
| PC2 | 10.1.157.114 | 255.255.255.0 |

网线连接:

|-------------|--------------|
| 交换机A e0/0/1 | 交换机B e0/0/3 |
| 交换机A e0/0/2 | 交换机B e0/0/4 |
| PC1 | 交换机A e0/0/24 |
| PC2 | 交换机B e0/0/23 |

如果生成树成功,则PC1无论何时均可以ping 通PC2

六、实验步骤

第一步:正确连接网线,恢复出厂设置之后,做初始配置。(可选配置)

恢复出厂设置

配置交换机 A IP 地址:

结果:

交换机 B IP 地址配置:

结果:

pc1 配置:

结果:

pc2 配置:

第二步:"PC1 ping PC2-t"观察现象

  1. ping 不通;
  2. 所有连接网线的端口的绿灯很频繁的闪烁,表明该端口收发数据量很大,已经在交换机内部形成广播风暴

第三步:在两台交换机中都使用启用生成树协议

switchA (config)#spanning-tree mode stp

MSTPis starting now, please wait........

MSTPis enabled successfully

switchA(Config)#

switchB (Config) #spanning-tree mode stp

MSTPis starting now, please wait.......

MSTPis enabled successfully

switchB(Config)#

验证配置:

switchA#show spanning-tree

--MSTP Bridge Config Info--

Standard :IEEE802.s

Bridge MAC: 00:03:0f:00:5d:50

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

Force Version: 3

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

Self Bridge Id : 32768 - 00:03:0f:00:5d:50

Root Id : this switch

Ext.RootPathCost : 0

Region Root Id : this switch

Int.RootPathCost: 0

Root PortID : 0

Current port list in Instance 0:

Ethernet0/0/2 Ethernet0/0/2(Total 2)

PortName ID xtRPC IntRPC State Role DsgBridge DsgPort

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

Ethernet0/0/1 128.001 0 0 FWD DSGN 32768.0003f005d50 128.001

Ethernet0/0/2128.002 0 0FWD DSGN 32768.0003f005d50 128.002

switchA#

switchB#show spanning-tree

--MSTP Bridge Config Info--

Standard :IEEE802.1s

Bridge MAC: 00:03:0f:01:ec:0a

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

Force Version: 3

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

Self Bridge Id : 32768 - 00:03:0f:01:ec:0a

Root Id : 32768.00:03:0f:00:5d:50

Ext.RootPathCost : 200000

Region Root Id : this switch

Int.RootPathCost: 0

Root PortID : 128.4

Current port list in Instance 0:

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

PortName ID ExtRPC IntRPC tate Role DsgBridge DsgPort

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

Ethernet0/0/3 128.003 0 0 BLK ALTR 32768.00030f005d50 128.002

Ethernet0/0/4 128.004 0 0FWD ROOT 32768.00030f005d50 128.001

switchB#

从show中可以看出,交换机A是根交换机,交换机B的4端口是根端口

第四步:继续使用"PC1 ping PC2-t"观察现象

  1. 拔掉交换机B端口4的网线,观察现象,使用show spanning-tree查看生成树状态,写在下方:

再插上交换机B端口4的网线,观察现象,写在下方:

七、注意事项和排错

在交换机未启动生成树之前尽量不要使两台设备之间形成环路,因为一旦形成环路,交换机性能将遭受很大影响,很可能影响后续设备是否能够写入设备。

八、课后练习

  1. 使用4根网线连接两台交换机,观察端口的选择,观察备分线路启用时候的debug信息
  2. 使用"spanning-tree mode mstp"来进行上面的实验,体验备份分链路启用和断开所需要的时间长短

九、后言

生成树协议(Spanning Tree Protocol,STP)的主要作用是在网络中防止环路(loop)的产生,并确保网络中的数据包能够按照一条确定的路径传输,而不会陷入无限循环。

具体来说,生成树协议实现以下几个作用:

环路消除:

在一个具有冗余链路的网络拓扑中,可能会形成环路,导致数据包在网络中无限循环,造成网络拥堵甚至崩溃。生成树协议通过选举出一条主干路径,关闭其他的冗余路径,从而消除环路。

冗余路径备份:

虽然生成树协议会关闭冗余路径以消除环路,但它同时会保留这些路径作为备份。一旦主干路径中的某个链路失败,生成树协议会自动选择一条备份路径来维持网络的连通性,实现快速的网络恢复。

自动网络拓扑调整:

当网络中的拓扑结构发生变化时(如添加或移除了一个链路或交换机),生成树协议能够自动感知并调整生成树,以适应新的网络拓扑,保持网络的稳定性和高可用性。

提高网络效率:

生成树协议通过关闭冗余路径,避免了数据包的重复传输,从而提高了网络的整体效率和性能。

总的来说,生成树协议在网络中起着至关重要的作用,可以确保网络的稳定运行,防止环路产生,提高网络的可用性和性能

相关推荐
weixin_4426434222 分钟前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
阑梦清川36 分钟前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
幼儿园老大*38 分钟前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
1 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
ctrey_1 小时前
2024-11-4 学习人工智能的Day21 openCV(3)
人工智能·opencv·学习
啦啦右一1 小时前
前端 | MYTED单篇TED词汇学习功能优化
前端·学习
FeelTouch Labs2 小时前
Netty实现WebSocket Server是否开启压缩深度分析
网络·websocket·网络协议
霍格沃兹测试开发学社测试人社区2 小时前
软件测试学习笔记丨Flask操作数据库-数据库和表的管理
软件测试·笔记·测试开发·学习·flask
今天我又学废了2 小时前
Scala学习记录,List
学习
王俊山IT2 小时前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习