【计算机网络】实验3:集线器和交换器的区别及交换器的自学习算法

实验 3:集线器和交换器的区别及交换器的自学习算法

一、 实验目的

  1. 加深对集线器和交换器的区别的理解。

  2. 了解交换器的自学习算法。

二、 实验环境

• Cisco Packet Tracer 模拟器

三、 实验内容

1、熟悉集线器和交换器的区别

(1) 第一步:构建网络拓扑:构建四个以太网,上面两个以太网使用的网络互联设备为集线器,下面两个使用的网络互联设备为交换机,并分别设置好IP地址。如图1所示。

img

图 1 构建网络拓扑

(2) 第二步:为了防止ARP广播请求对本次实验的影响,需要在实时模式下,让各以太网的主机之间相互发送数据包,发送完数据包之后,删除刚才的场景。如图2****,****3所示。

img

图2 主机之间相互发送数据包

img

图3 删除场景

(3) 第三步:切换到仿真模式下,然后过滤协议,只选择ICMP协议,如图4所示。

img

图4 只保留ICMP协议

(4) 第四步:让个人电脑0给个人电脑2发送一个ICMP的报文,如图5所示。

img

图5 发送数据包

(5) 第五步:点击捕获前进之后,ICMP报文通过了集线器广播之后,上面的个人电脑1发现报文的目的MAC地址和自己的网卡的MAC地址是不相同的,所以个人电脑1拒绝接收此报文,而个人电脑2发现地址一样,选择接收。如图6所示。

img

图6 集线器广播数据包

(6) 第六步:点击捕获前进,个人电脑2发现报文是发送给自己的,所以还需要发送回去一个响应,响应经过集线器之后被广播出去,同理,上面的个人电脑1是不会接收的,而个人电脑0就接收到了响应。如图7所示

img

图7 集线器广播响应

(7) 第七步:在网络互联设备使用的交换机上,让个人电脑6给个人电脑7发送一个报文,并点击捕获前进。发现交换机会明确的转发给目的计算机,而不是向集线器那样广播出去。如图8所示。

img

图8 交换机明确转发报文

(8) 第八步:发回响应,同样经过交换机之后,会明确转发出去给目的计算机,而不是广播出来。如图9所示。这表明交换机对数据帧有过滤功能,可以明确的转发数据帧,或者不转发这个数据帧,而集线器收到数据帧之后,都会将其广播出去。

img

图9 交换机明确转发响应

(9) 第九步:将上面两个使用集线器作为网络互联设备的集线器连接起来,同理让下面的两个交换机连接起来,构建成更大的网络,如图10所示

img

图10 集线器互联,交换机互联

(10) 第十步:让个人电脑0给个人电脑2发送一个ICMP数据包,并点击捕获前进,发现集线器将收到的数据包广播出去,但是只有网卡的MAC地址与数据包携带的MAC地址一样,才会接受,剩下的都不会接收。如图11,12所示

img

图11 集线器的广播

img

图12 MAC地址不一样,拒绝接受

(11) 第十一步:目的计算机收到数据包之后,发回去一个响应,同理集线器收到相应之后,广播出去,经过MAC地址的比对,最终成功发回目的计算机。如图13所示

img

图13 个人电脑0成功收到响应

(12) 第十二步:在下面使用交换机的网络上,重复刚才的操作。如图14所示。发现交换机并不会广播出去,而是明确的将数据包发给了目的计算机,并将响应明确的发送了回去。

img

图14 使用交换机发送数据包

(13) 第十三步:让个人电脑0给个人电脑2发送一个数据包,并让个人电脑5给个人电脑4发送一个数据包,点击捕获前进,发现集线器发生碰撞如图15所示,并且,之后,碰撞信号会传遍整个网络,如图16所示。

img

图15 集线器的碰撞

img

图16 全部检测到碰撞信号

(14) 第十四步:在下面的交换机上重复刚才的操作,发现并没有碰撞,而是明确的发送给了目的计算机,并成功的接收到了响应。如图17所示。

img

图17 交换机并没有产生碰撞

(15) 第十五步:给下面的个人电脑6添加一个复杂的PDU,并设置好目的IP地址:255.255.255.255,以及源IP地址(即设置的IP地址),序号填1,单次时间1秒。如图18所示。

img

图18 添加复杂的PDU

(16) 第十六步:点击捕获前进,发现交换机会将广播帧转发(输入接口除外)出去。如图19所示。

img

图19 交换机转发广播帧

(17) 第十七步:将上面的集线器之间的连线断开,并在它们中间设置一个交换机,此时通信范围变大了,但是并不会合成一个更大的冲突域,还是两个个小的冲突域,此时再让个人电脑0给个人电脑2发送一个数据包。先转发一次,让交换机自学习一下,然后再转发一次,发现交换机具有隔离冲突域的作用。如图20所示。

img

图20 交换机具有隔离冲突域的作用

2、交换机的自学习算法

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

img

图 21 构建网络拓扑并写好IP注释

(2) 第二步:写好IP注释以后,点击个人电脑,点击配置,点击FastEthernet0,查看当前计算机的MAC地址,复制MAC地址,写好MAC地址注释,如图22,23所示。

img

图 22 查看当前计算机的MAC地址

img

图 23 标注好MAC地址注释

(3) 第三步:切换到仿真模式,过滤协议,只保留ARP和ICMP协议。如图24所示。

img

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

(4) 第四步:让下方的计算机给右上角的计算机发送一个简单的PDU,如图25所示。可以看到有两个数据包,一个是ICMP,另一个是ARP,之所以会有两个数据包,是因为下方的计算机首先并不知道目的计算机的IP地址和MAC地址的对应关系,所以不能发送ICMP数据包,所以先发送一个ARP的数据包,去询问IP地址为192.168.0.2的主机的MAC地址是什么,知道MAC地址之后,才能在数据链路层封装的时候,填上目的计算机的MAC地址,之后才可以成功地发送ICMP数据包。

img

图 25 发送一个简单的PDU

(5) 第五步:查看交换机的真转发表(即MAC地址表)。如图26所示**。**由于个主机之间还没有相互传送数据,所以真转发表此时是空的。

img

图 26 查看交换机的真转发表

(6) 第六步:点击捕获前进,再次查看交换机的真转发表,发现交换机登记了传送过来的数据的相关信息(也就是交换机的自学习),如图27所示。

img

图 27 再次查看交换机的真转发表

(7) 第七步:交换机的转发,转发是根据数据帧的目的MAC地址来操作的,查看交换机上的PDU信息,发现是一个广播帧。如图28所示。

img

图 28 查看交换机的PDU信息

(8) 第八步:点击捕获前进,交换机会将此广播帧进行转发除了输入端口的其余端口,如图29所示。然后根据IP地址以及MAC地址的对应关系来选择是否接收。

img

图 29 交换机转发广播帧

(9) 第九步:点击捕获前进,目的计算机收到数据包之后,将自身的IP地址以及MAC地址,封装成一个单波响应,再发送回交换机。如图30所示。此时再查看交换机上的PDU信息,发现真转发表上多出来了一条记录。记录了发送出去的端口号以及MAC地址。如图31所示。

img

图 30 交换机收到单波响应

img

图 31 查看交换机上的PDU信息

(10) 第十步:点击捕获前进,此时由于交换机的真转发表里面记录了下方的主机的MAC地址,所以就不会将收到的单波响应转发给所有的端口,而是按照真转发表里面的MAC地址,正确的转发给下方的主机,从而下方的主机受到了来自目的计算机的单波响应(即是ARP的响应报文),如图32所示。

img

图 32 主机收到目的主机的ARP响应报文

(11) 第十一步:点击捕获前进,经过上述的操作之后,ARP报文发送出去了,此时就可以发送真正的ICMP报文了,到达交换机之后,进行同样的登记,转发这两个操作,如图33所示。目的计算机收到报文之后,发回去一个响应,经过交换机,原主机收到目的计算机发回来的响应。如图34所示。

img

图 33交换机收到ICMP报文

img

图34原主机收到目的主机的响应

(12) 第十二步:拓建网络拓扑(五个主机,一个交换机,一个集线器),并配置好IP地址,以及写好IP注释以及MAC注释,以及使用自动连线连好设备,并重启各个设备。如图35所示。

img

图 35 拓建网络拓扑

(13) 第十三步:在实时模式下,让右上角的计算机发送一个简单的PDU给右下角的计算机,目的其一是为了让这两个计算机之间知道对方的IP地址和MAC地址的对应关系,以免ARP的广播请求影响对实验效果的观察;其二是为了让交换机登记两个计算机的MAC地址(也就是自学习了两次),第一次自学习是原主机发送的PDU通过集线器广播出去了,所以交换机就记录了第一台主机的MAC地址以及端口,第二次学习是目的计算机发回的响应同样通过集线器广播出去了,所以交换机就记录了第二台主机的MAC地址以及端口。如图36所示。查看交换机的真转发表。如图37所示。

img

图 36 主机之间发送简单的PDU

img

图 37 交换机的真转发表

(14) 第十四步:切换到仿真模式下,让右上角的计算机给右下角的计算机再发送一个简单的PDU,并点击捕获前进,通过集线器的广播,这个PDU会到达交换机,但是会被交换机给丢弃。如图38所示。这是因为交换机在查看了自己的真转发表之后,发现再转发出去没有必要了,因为数据已经到达目的计算机了,所以交换器选择丢掉此数据包。这就是交换机可以对帧进行过滤的特性。

img

图38 交换机丢掉不必要的数据包

(15) 第十五步:删除刚才的场景,点击交换机,再点击命令行界面,点击回车,输入enable,进入特权模式,输入show mac-a指令,查看交换机的MAC地址表,如图39所示。

img

图 39 查看交换机的MAC地址表

(16) 第十六步:使用命令clear mac-a清除MAC地址表里面的内容。如图40所示。

img

图 40 清除交换机的MAC地址表

(17) 第十七步:清除了交换机里面的MAC地址表之后,再次切换到仿真模式,再次让右上角的计算机给右下角的计算机发送一个简单的PDU,此时经过集线器的广播之后,到达交换机,但是交换机里面的MAC地址表是空的,所以它只能向外转发(输入端口除外),这就是交换机的洪泛。如图41所示。

img

图 41交换机的洪泛

四、 实验体会

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

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

3.了解了集线器和交换机的区别,集线器是会将传过来的数据进行广播出去,但是交换机是会明确的转发出去,不是广播,有的时候,集线器会存在碰撞的情况,并且交换机也具有隔离冲突域的作用,交换机还具有过滤数据帧的作用。

4.了解了交换机的自学习算法,从主机传送过来的数据包,经过交换机之后,交换机会登记并转发,若此时交换机的MAC地址表是空的,那么交换机就会洪泛的转发出去,但是转发过后,就会在MAC地址表里面留下记录,下次转发的时候,就不是洪泛的转发了,而是根据MAC地址表里存储的信息来具体的操作。

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

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

相关文章

UICollectionView在xcode16编译闪退问题

使用xcode15运行工程,控制台会出现如下提示: Expected dequeued view to be returned to the collection view in preparation for display. When the collection views data source is asked to provide a view for a given index path, ensure that a …

Proteus8.17下载安装教程

Proteus是一款嵌入式系统仿真开发软件,实现了从原理图设计、单片机编程、系统仿真到PCB设计,真正实现了从概念到产品的完整设计,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,能够帮助用…

Vue教程|搭建vue项目|Vue-CLI2.x 模板脚手架

一、项目构建环境准备 在构建Vue项目之前,需要搭建Node环境以及Vue-CLI脚手架,由于本篇文章为上一篇文章的补充,也是为了给大家分享更为完整的搭建vue项目方式,所以环境准备部分采用Vue教程|搭建vue项目|V…

一款支持80+语言,包括:拉丁文、中文、阿拉伯文、梵文等开源OCR库

大家好,今天给大家分享一个基于PyTorch的OCR库EasyOCR,它允许开发者通过简单的API调用来读取图片中的文本,无需复杂的模型训练过程。 项目介绍 EasyOCR 是一个基于Python的开源项目,它提供了一个简单易用的光学字符识别&#xff…

cocotb pytest

打印python中的print , 应该使用 pytest -s

【C++】STL——map和set

目录 1、序列式容器和关联式容器前 2、set 2.1 set类的介绍 2.2 set的构造和迭代器 2.3 set的增删查 set 的插入 set的查找 set的删除 2.4 multiset和set的差异 3、map 3 .1 pair类型 3.2 map的构造 3.3 map的增删查 map的构造遍历 map的插入 map的删除 map的查…

java基础概念46-数据结构1

一、引入 List集合的三种实现类使用了不同的数据结构! 二、数据结构的定义 三、常见的数据结构 3-1、栈 特点:先进后出,后进先出。 java内存容器: 3-2、队列 特点:先进先出、后进后出。 栈VS队列-小结 3-3、数组 3-…

Docker:在 ubuntu 系统上生成和加载 Docker 镜像

本文将介绍在 ubuntu系统上进行 Docker 镜像的生成和加载方法和代码。 文章目录 一、下载和安装 docker二、加载 docker 文件三、保存你的镜像四、将镜像上传到云端并通过连接下载和加载 Docker 镜像五、Docker 容器和本地的文件交互5.1 从容器复制文件到本地宿主机5.1.1 单个文…

《数据挖掘:概念、模型、方法与算法(第三版)》

嘿,数据挖掘的小伙伴们!今天我要给你们介绍一本超级实用的书——《数据挖掘:概念、模型、方法与算法》第三版。这本书是数据挖掘领域的经典之作,由该领域的知名专家编写,系统性地介绍了在高维数据空间中分析和提取大量…

做异端中的异端 -- Emacs裸奔之路4: 你不需要IDE

确切地说,你不需要在IDE里面编写或者阅读代码。 IDE用于Render资源文件比较合适,但处理文本,并不划算。 这的文本文件,包括源代码,配置文件,文档等非二进制文件。 先说说IDE带的便利: 函数或者变量的自动…

【C++】编程题目分析与实现回顾:从浮点数运算到整型转换的全面解读

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯题目一:计算成绩问题分析与优化实现优化后的实现优势 💯题目二:浮点数向零舍入不同实现方式的比较1. 使用强制类型转换 (int)2. 使用标准…

时间表格Java

输入:XXX XXX 小时 分钟 输出: XXX:XXX ~ XXX: XXX XXX:XXX ~ XXX: XXX XXX:XXX ~ XXX: XXX 处理:间隔五分钟、区间45分钟 14:15 ~ 15:0 15:5 ~ 15:50 15:55 ~ 16:40 16:45 ~ 17:30 17:35 ~ 18:20…

Spring AOP 的实现和切点表达式的介绍

1. 快速入手 AOP:就是面相切面编程,切面指的就是某一类特定的问题,也可以理解为面相特定方法编程,例如之前使用的拦截器,就是 AOP 思想的一种应用,统一数据返回格式和统一异常处理也是 AOP 思想的实现方式…

shell脚本30个案例(五)

前言: 通过一个多月的shell学习,总共写出30个案例,分批次进行发布,这次总共发布了5个案例,希望能够对大家的学习和使用有所帮助,更多案例会在下期进行发布。 案例二十一、系统内核优化 1.问题&#xff1…

一文解析Kettle开源ETL工具!

ETL(Extract, Transform, Load)工具是用于数据抽取、转换和加载的软件工具,用于支持数据仓库和数据集成过程。Kettle作为传统的ETL工具备受用户推崇。本文就来详细说下Kettle。 一、Kettle是什么? Kettle 是一款开源的 ETL&#x…

IDEA使用HotSwapHelper进行热部署

目录 前言JDK1.8特殊准备DECVM安装插件安装与配置参考文档相关下载 前言 碰到了一个项目,用jrebel启动项目时一直报错,不用jrebel时又没问题,找不到原因,又不想放弃热部署功能 因此思考能否通过其他方式进行热部署,找…

使用无监督机器学习算法进行预测性维护

目录 一、说明 二、主成分分析(PCA) 三、 K-means方法 四、K-最近邻 (KNN) 五、密度的空间聚类 (DBSCAN) 六、更先进的预测性维护算法 6.1 独立成分分析 (ICA) 6.2 PCA 和 ICA 有什么区别? 6.3 OPTICS 聚类 6.4 自组织映射 (SOM) 6.5 局部敏…

Elasticsearch 进阶

核心概念 索引(Index) 一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字来标识(必须全部是小写字母),并且当我们要对这个索…

107.【C语言】数据结构之二叉树求总节点和第K层节点的个数

目录 1.求二叉树总的节点的个数 1.容易想到的方法 代码 缺陷 思考:能否在TreeSize函数内定义静态变量解决size的问题呢? 其他写法 运行结果 2.最好的方法:分而治之 代码 运行结果 2.求二叉树第K层节点的个数 错误代码 运行结果 修正 运行结果 其他写法 1.求二…

vue2 虚拟DOM 和 真实DOM (概念、作用、Diff 算法)

虚拟 DOM 和 真实DOM&#xff08;概念、作用、Diff 算法&#xff09; 1.1 概念 真实 DOM&#xff08;Document Object Model&#xff09;&#xff1a;是浏览器中用于表示文档结构的树形结构。 <h2>你好</h2>虚拟DOM&#xff1a;用 JavaScript 对象来模拟真实 DOM…