【计算机网络】实验4:生成树协议STP的功能以及虚拟局域网VLAN

实验 4:生成树协议STP的功能以及虚拟局域网VLAN

一、 实验目的

  1. 加深对生成树协议STP的功能的理解。

  2. 了解虚拟局域网VLAN。

二、 实验环境

• Cisco Packet Tracer 模拟器

三、 实验内容

1、验证交换机生成树协议STP的功能

(1) 第一步:构建网络拓扑:拖动四个交换机,使用自动连接类型将其连成一个环路,并来回切换实时与仿真模式,将黄色的连接线变成绿色的,但是发现左下角的交换机处于阻塞状态,这是因为交换机在后台运行着生成树协议,所以某些交换机会断掉自己的某些接口,也就是端口被阻塞了,此时,物理上的环路依然存在,但是逻辑上的环路已经断开。如图1所示。

img

图 1 构建网络拓扑

(2) 第二步:给刚才的网络拓扑添加两台计算机。并配置好IP地址如图2所示。

img

图2 添加计算机并配置IP

img

图3 删除场景

(3) 第三步:验证一下左下角的计算机是否可以ping得通右下角的计算机,进入左下角计算机的命令提示符下,使用命令ping 192.168.0.2尝试看看可不可以收到响应,如图3所示。

img

图3 左下角计算机成功收到响应

(4) 第四步:再次尝试使用右下角的计算机ping左下角的计算机,同样使用命令ping 192.168.0.1尝试看看可不可以收到响应。如图4所示。

img

图4 右下角计算机成功收到响应

(5) 第五步:这两次的主机之间的相互ping通表明,虽然有交换机的端口堵塞了,但是两个主机之间可以绕一个更大的圈,进而找到一条可行的通路,进而实现两台主机之间的通信。

(6) 第六步:模拟一下通路中有一个点出了故障,即将右上角的交换机的Fa0/2端口给断开,点击右上角的交换机,进入配置选项,点击Fa0/2端口,将端口状态关闭。如图5所示

img

图5 关闭交换机的某个端口

(7) 第七步:再次验证一下左下角的计算机是否可以ping得通右下角的计算机,进入左下角计算机的命令提示符下,使用命令ping 192.168.0.2尝试看看可不可以收到响应。如图6所示。

img

图6 此时计算机之间不能互通

(8) 第八步:等待一段时间之后,可以发现,原来交换机被自己的生成树协议堵塞掉的端口,现在又恢复了正常工作,这是因为我们人为得设置了一个阻塞的端口,然后交换机之间生成树协议会发现这个问题,然后就会将这个原先堵塞的端口给开,进而完成主机之间的通信。此时左下角的计算机再次ping右下角的计算机,发现成功。如图7所示。

img

图7 计算机之间互通成功

(9) 第九步:将原先关闭的端口重新打开,发现刚才阻塞的端口,又重新阻塞了,但是由于交换机的生成树协议是在启动了交换机之后,自动运行的,所以为了不影响后面的实验,将四个交换机的生成树协议给手动关闭掉,点击进入交换机,进入命令行界面,输入指令enable进入特权模式,输入config进入配置,按Enter键,输入no spanning-tree vlan 1指令关闭生成树协议。如图8所示。关闭所有交换机的生成树协议之后,如图9所示。

img

图8 关闭交换机的生成树协议

img

图9 所有的生成树协议都被关闭

(10) 第十步:关闭掉所有交换机的生成树协议之后,发现不仅物理上存在环路,逻辑上也存在环路。通过理论上的学习,可以知道当存在逻辑环路的时候,那么当某个主机发送方一个广播帧的时候,那么这个广播帧就会在这个逻辑环路里面兜圈子,逆时针和顺时针都会兜圈子,这样的话,就会严重的占用网络资源。

(11) 第十一步:切换到仿真模式,模拟一下广播帧兜圈子的情况。选中添加复杂的PDU,让左下角的主机发送一个广播帧,目的IP地址填255.255.255.255,序号填1,单次仿真时间为1秒,如图10所示。

img

图10 为计算机创建复杂的PDU

(12) 第十二步:点击捕获前进,发现广播帧在进入这个逻辑环路之后,开始无止境的兜圈子,此时严重地占用了网络资源。如图11所示。

img

图11 广播帧开始兜圈子

(13) 第十三步:切换到实时模式,再让左下角的计算机ping一下右边的计算机,如图12所示。

img

图12 计算机之间通信失败

(14) 第十四步:发现请求超时,反过来使用右下角的计算机ping左下角的计算机,结果也是一样请求超市,这是因为有一个广播帧在逻辑环路里一直兜圈子,导致占用了大量的网络资源,进而原先的两个主机之间没法正常通信。

2、虚拟局域网VLAN

(1) 第一步:构建网络拓扑:在逻辑工作空间上,拖动六个普通计算机和一个交换机,选择自动连接把设备连接起来,并设置好IP,并在计算机旁边写好IP注释。并写好端口注释。如图13所示。

img

图 13 构建网络拓扑

(2) 第二步:点击交换机,查看端口状态汇总表。可以发现所有端口号都是默认属于VLAN1的,后面给出的是每个端口的MAC地址。如图14所示。由于交换机上电启动之后,所有的端口都默认为VALN1,所以上述的网络拓扑中所有的主机应该也是属于VLAN1的,所以它们应该属于同一个广播域。

img

图 14 查看交换机的端口状态汇总表

(3) 第三步:验证这六台属于VLAN1的主机,是属于同一个广播域的,切换到仿真模式,过滤协议,只保留ICMP协议。如图15所示。

img

图15 切换仿真,并过滤协议

(4) 第四步:为IP地址为192.168.0.1的主机创建一个复杂的PDU,目的IP地址填255.255.255.255,序号填1,单次仿真时间1秒。如图16所示。

img

图16 创建一个复杂的PDU

(5) 第五步:点击捕获前进,广播信号到达交换机之后,交换机会将这个广播信号转发出去(除了输入端口以外)。并且这个广播是属于在VLAN上的广播,而且所有的主机都连接在VLAN的端口上,所以各个主机都会收到广播信号。如图17所示。

img

图17 主机都收到了广播信号

(6) 第六步:开始划分VLAN,将左边的三台主机划分到VLAN2,将右边的三台主机划分到VLAN3,划分VLAN实际上是在交换机上进行的,也就是将交换机的1,2,3端口划分到VLAN2,将4,5,6端口划分到VLAN3。点击交换机,点击配置,点击VLAN数据库。创建新VLAN。如图18所示。

img

图 18 在交换机中添加新VLAN

(7) 第七步:新VLAN创建好了之后,将其对应的端口划分到这个新VLAN中。点击Fa0/1将VLAN的端口号改成2,其余的端口也是如此。如图19所示。

img

图 19 将端口划分到对应的VLAN中

(8) 第八步:划分好端口之后,应该可以看出左边的三个主机属于VLAN2,但是右边的三台主机属于默认的VLAN1,也就是它们属于不同的广播域。也就是说,左上角的主机发送一个广播帧,右边的三个主机是不能收到的,只有左边另外两个主机可以收到,下面来验证一下。

(9) 第九步:为IP地址为192.168.0.1的主机创建一个复杂的PDU,目的IP地址为255.255.255.255,序号填1,单次仿真时间1秒,如图20所示。

img

图 20 创建一个复杂的PDU

(10) 第十步:点击捕获前进,发现广播帧通过交换机之后,只发给了左边的另外的两台主机,并没有发给右边的三台主机,这样我们就验证了不同的VLAN是属于不同的广播域。如图21所示。

img

图 21 左边两台主机收到信号

(11) 第十一步:使用交换机的命令行形式,创建一个VLAN3,并将端口4,5,6划分到VLAN3,点击交换机,进入命令行界面,输入end指令,在输入exit来初始化界面,输入enable进入特权命令,输入config terminal,然后输入vlan 3来创建一个新vlan。创建好了新vlan之后输入interface range fastethernet 0/4-6指令来划分端口,使用指令switchport mode access来指定为access模式,使用指令switchport access vlan 3将4,5,6端口成功地划分到了VLAN3中。如图22,23所示。

img

图 22执行指令来划分端口

img

图23 端口划分成功

(12) 第十二步:此时左边的三台主机属于VLAN2,而右边的三台主机属于VLAN3,也就是说它们属于不同的广播域。为IP地址为192.168.0.1的主机创建一个复杂的PDU,目的IP地址为255.255.255.255,序号填1,单次仿真时间1秒,如图24所示。

img

图 24 添加一个复杂的PDU

(13) 第十三步:点击捕获前进,发现广播请求通过交换机之后,只发给了左边的另外的两台主机,而给右边的一台主机也添加一个复杂的PDU,并点击捕获前进,发现还是一样的结果。这也就验证了不同的VLAN是不同的广播域。如图25所示。

img

图25 只有两台主机收到信号

(14) 第十四步:切换到实时模式下,尝试使用左边的计算机来ping一下右边的某一台主机,如IP地址为192.168.0.2的主机去ping一下IP地址为192.168.0.4的主机。如图26所示。Ping不通说明,处于不同广播域的主机之间也是不可以进行单波通信的。

img

图26 主机之间也不可以通信

(15) 第十五步:拓建网络拓扑。如图27所示。并且需要同时写好IP和端口注释,以及让左边的三个主机属于VLAN2,让右边的三个主机属于VLAN3。

img

图 27 拓建网络拓扑

(16) 第十六步:完成上述的操作之后,左边的六台主机都属于VLAN2,而右边的六台主机都属于VLAN3,为IP地址为192.168.0.1的主机创建一个复杂的PDU,目的IP地址为255.255.255.255,序号填1,单次仿真时间1秒。并点击捕获前进。如图28所示。

img

图28 ICMP广播请求并没有通过端口7

(17) 第十七步:发现广播请求并没有通过端口7广播出去,这是因为我们没有对两台交换机的端口7进行过设置,所以它们属于默认的VLAN1,它们和左边的六台主机不属于同一个VLAN,所以不可以通过端口7进行广播转发。

(18) 交换机在互联的时候,它们的这个端口的类型一般是设置成Trunk类型的。下面修改两个交换机的端口7的类型,将其改为Trunk,如图29所示。

img

图29 将端口类型改为Trunk

(19) Trunk类型的端口可以转发所有VLAN上的数据帧,分为两种情况,一种是数据帧首部的VLAN的id和这个端口的VLAN的id一样的话,那么端口就会将这个数据帧的首部的VLAN的id去掉,也就是去标签,另一种情况就是当端口号不一致时,这个端口就会直接将数据帧发送出去,而不会去掉标签。

(20) 为IP地址为192.168.0.1的主机创建一个复杂的PDU,目的IP地址为255.255.255.255,序号填1,单次仿真时间1秒。并点击捕获前进。发现此时,同属于一个VLAN的另外五个主机可以收到广播请求。如图30所示。同样,右边的某个主机发送广播请求之后,其余的五个同属于一个VLAN的主机也是可以收到这个广播请求的。

img

图30 另外五个主机收到广播请求

四、 实验体会

**1. 这两个实验的步骤都遵循构建网络拓扑、配置网络环境、跟踪数据包和查看数据包这四个规则。

**2. Cisco Packet Tracer 模拟器可以清晰地展示 PDU 在传送过程,设备是如何处理 PDU 的。通过仿真传送过程,有助于我们理解有关的知识。

3.了解交换机生成树协议STP,STP的主要目的是确保网络中没有环路,从而避免数据包在网络中无限循环,导致网络拥塞和故障,另外,我知道当存在逻辑环路的时候,那么当某个主机发送方一个广播帧的时候,那么这个广播帧就会在这个逻辑环路里面兜圈子,这样的话,就会严重的占用网络资源。

4.了解了VLAN的两种划分方法,一种是使用命令行,另一种是直接进入配置界面,直接修改,并将端口划分到对应的VLAN,以及修改端口的类型(access以及Trunk类型)我还知道了划分VLAN的作用,就是隔离广播域。但是有缺点,虽然VLAN可以减少广播,但如果配置不当,仍可能导致广播风暴。

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

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

相关文章

Linux中的常用基本指令(下)

Linux常用基本指令 Linux中的基本指令12.head指令13.tail指令简单解释重定向与管道(重要) 14.date指令(时间相关的指令)15.cal指令(不重要)16.find指令(灰常重要)17.grep指令(重要)18.which指令和alias指令19.zip/unzip指令:20.tar指令(重要&…

服务器数据恢复—硬盘掉线导致热备盘同步失败的RAID5阵列数据恢复案例

服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障&#…

Vue+vite 组件开发的环境准备

一.nodejs安装 进入Node.js 官网(Node.js — Run JavaScript Everywhere),点击下载。 双击打开,进行安装 双击打开后,点击 next(下一步),后面也是一直点击 next 无其他设置,直到 …

20241129解决在Ubuntu20.04下编译中科创达的CM6125的Android10出现找不到库文件libtinfo.so.5的问题

20241129解决在Ubuntu20.04下编译中科创达的CM6125的Android10出现找不到库文件libtinfo.so.5的问题 2024/11/29 20:41 缘起:中科创达的高通CM6125开发板的Android10的编译环境需要。 [ 11% 15993/135734] target Java source list: vr [ 11% 15994/135734] target …

react 路由鉴权

权限路由一般两种 1中接口中返回菜单 2 接口中返回权限,前端做匹配 一般都是那种结合,react中没有vue那种钩子函数如何做? 在项目中写一个高阶函数,在高阶函数中判断权限、是否登录等操作app.tsx或者man.tsx中使用 《AuthRouter》…

k8s集群中金丝雀发布 + 声明式资源管理yaml

一、K8S常见的发布方式 旨在降低发布风险并提高发布速度 1、蓝绿发布 两套环境(设备)交替升级,旧版本保留一定时间便于回滚 优点:对用户无感,是最安全的发布方式,业务稳定 缺点:需要两套系统&…

openssl的运用

一、概述 Opssl是一个用于TLS/SSL协议的工具包,也是一个通用密码库。 包含了国密sm2 sm3 sm4,包含了对称加密,非对称加密,单项散列,伪随机、签名,密码交换,证书等一些算法库。 为了深层次的学习…

基于SpringBoot+Vue的靓车汽车销售网站-无偿分享 (附源码+LW+调试)

目录 1. 项目技术 2. 功能菜单 3. 部分功能截图 4. 研究背景 5. 研究目的 6. 可行性分析 6.1 技术可行性 6.2 经济可行性 6.3 操作可行性 7. 系统设计 7.1 概述 7.2 系统流程和逻辑 7.3 系统结构 8. 数据库设计 8.1 数据库ER图 (1)材料分…

基于飞腾S2500处理器的全国产加固服务器

近日,西安康德航测电子科技有限公司凭借其深厚的行业底蕴和创新精神,正式推出了基于飞腾S2500处理器的全国产加固服务器。这一产品的问世,不仅标志着我国在信息技术领域的自立自强迈出了坚实的一步,更以其卓越的性能、坚固的设计和…

OpenStack-Glance组件

Glance Glance使用磁盘格式和容器格式基础配置镜像转换 Glance 是 OpenStack 的镜像服务,负责存储、发现和管理虚拟机镜像。它允许用户创建和共享镜像,用于启动虚拟机实例。 Glance 的主要功能 (1)虚拟机镜像的管理 支持镜像的上…

求助——AssertionError: Attribute pipeline is missing from configuration.json.

我在本地运行Sunsimiao大模型的时候遇到了“AssertionError: Attribute pipeline is missing from configuration.json.”的问题。在网上找了很多问题都没有解决,求助一下广大网友。有什么好的解决方法吗? 本地环境如上所示,不知是哪里出…

2024年顶级小型语言模型前15名

本文,我们将深入了解2024年备受瞩目的十五款小型语言模型(SLMs),它们分别是Llama 3.1 8B、Gemma2、Qwen 2、Mistral Nemo、Phi-3.5等。这些SLMs以其精巧的体积和高效率著称,它们不需要依赖庞大的服务器资源&#xff0c…

P3916 图的遍历(Tarjan缩点和反向建边)

P3916 图的遍历 - 洛谷 | 计算机科学教育新生态 写法一:Tarjan 思路:先运用Tarjan算法得到每个连通块中最大的编号,然后对每个连通块进行缩点重新建图,进行dfs,得到缩点后的连通块能够达到的最大编号。 Code: conste…

Android ConstraintLayout 约束布局的使用手册

目录 前言 一、ConstraintLayout基本介绍 二、ConstraintLayout使用步骤 1、引入库 2、基本使用,实现按钮居中。相对于父布局的约束。 3、A Button 居中展示,B Button展示在A Button正下方(距离A 46dp)。相对于兄弟控件的约束…

三步入门Log4J 的使用

本篇基于Maven 的Project项目&#xff0c; 快速演示Log4j 的导入和演示。 第一步&#xff1a; 导入Log4j依赖 <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.24.2</version&…

【强化学习入门笔记】1.5 贝尔曼最优公式

本系列为学习赵世钰老师的《强化学习的数学原理》所作的学习笔记. 课程视频网址&#xff1a;https://space.bilibili.com/2044042934 1.5.1 定义 1.5.1.1 Contraction mapping theorem (收缩映射定理) fixed point(不动点) 如果 x ∗ x^* x∗满足下式, x ∗ x^* x∗称之为…

Nmap脚本使用

Nmap是主机扫描工具&#xff0c;他的图形化界面是Zenmap&#xff0c;分布式框架为Dnamp。 Nmap可以完成以下任务&#xff1a; 主机探测端口扫描版本检测系统检测支持探测脚本的编写 Nmap在实际中应用场合如下&#xff1a;通过对设备或者防火墙的探测来审计它的安全性探测目标主…

python源码实例游戏开发小程序办公自动化网络爬虫项目开发源码(250+个项目、26.6GB)

文章目录 源代码下载地址项目介绍预览 项目备注源代码下载地址 源代码下载地址 点击这里下载源码 项目介绍 python源码实例游戏开发小程序办公自动化网络爬虫项目开发源码(250个项目、26.6GB) 预览 项目备注 1、该资源内项目代码都经过测试运行成功&#xff0c;功能ok的情…

MySql:理解数据库

目录 一、什么是数据库 第一层理解 第二层理解 第三层理解 二、Linux下的数据库 三、基本认识 登录数据库时&#xff0c; mysql -u root -h 127.0.0.1 -P 3306 -p -h指定MySql服务器所在主机&#xff0c;若在本地则为回环地址。-P表示目标主机上MySql服务端口号 一般简单…

BERT模型的输出格式探究以及提取出BERT 模型的CLS表示,last_hidden_state[:, 0, :]用于提取每个句子的CLS向量表示

说在前面 最近使用自己的数据集对bert-base-uncased进行了二次预训练&#xff0c;只使用了MLM任务&#xff0c;发现在加载训练好的模型进行输出CLS表示用于下游任务时&#xff0c;同一个句子的输出CLS表示都不一样&#xff0c;并且控制台输出以下警告信息。说是没有这些权重。…