【计算机网络】实验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.mzph.cn/pingmian/62736.shtml

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

相关文章

【技巧】Mac上如何显示键盘和鼠标操作

在制作视频教程时,将键盘和鼠标的操作在屏幕上显示出来,会帮助观众更容易地理解。 推荐Mac上两款开源的小软件。 1. KeyCastr 这款工具从2009年至今一直在更新中。 https://github.com/keycastr/keycastr 安装的话,可以从Github上下载最…

洛谷P1075

[NOIP2012 普及组] 质因数分解 - 洛谷 [NOIP2012 普及组] 质因数分解 题目描述 已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数。 输入格式 输入一个正整数 n。 输出格式 输出一个正整数p,即较大的那个质数。 样例 #1 样例输…

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

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

PHP爬虫性能优化:从多线程到连接池的实现

背景介绍 随着网络数据的爆炸式增长,爬虫技术成为数据获取的重要工具。从市场调研到用户行为分析,爬虫的应用无处不在。然而,在实际应用中,我们常常遇到爬虫性能不足的问题:单线程处理效率低下、请求超时、数据采集量…

《现代网络技术》读书笔记:网络虚拟化

本文部分内容来源于《现代网络技术:SDN,NFV,QoE、物联网和云计算:SDN,NFV,QoE,IoT,andcloud》 虚拟局域网 图9-1显示了一个比较常见的层次化局域网场景,在这个例子中,局域网中的设备分为四个部分,每个部分都通过以太网…

在c#控制台中使用Raylib-cs库,绘制控制小球和插入音频(附带c++中小球的控制代码)

下载网址 GitHub - chrisdill/raylib-cs: C# bindings for raylib, a simple and easy-to-use library to learn videogames programming 克隆库 克隆GitHub仓库-CSDN博客 1 .制作dll 点击 生成之后就会多出这些东西 2.在项目中添加dll 然后就导进来了 测试一下用例代码 …

「Mac畅玩鸿蒙与硬件40」UI互动应用篇17 - 照片墙布局

本篇将带你实现一个简单的照片墙布局应用,通过展示多张图片组成照片墙效果,用户可以点击图片查看其状态变化。 关键词 UI互动应用照片墙布局Grid 布局动态图片加载用户交互 一、功能说明 照片墙布局应用的特点: 动态加载多张图片组成网格布…

数字图像处理(12):灰度二值化

灰度像素:在 RGB 颜色模型下,图像中每个像素颜色的 R、G、B 三种基色的分量值相等的像素。由灰度像素组成的灰度图像只能表现256中颜色(或亮度),通常把灰度图像中像素的亮度称为灰度值。灰度化处理:是指把彩…

【已解决】git push需要输入用户名和密码问题

解决方法: 1)查看使用的clone方式: git remote -v 2)若为HTTPS,删除原clone方式: git remote rm origin 3)添加新的clone方式: git remote add origin gitgithub.com:zludon/git_test.git …

Springfox迁移到 Springdoc OpenAPI 3

将项目从 Springfox 迁移到 Springdoc OpenAPI 3 时,主要的工作是将原先使用的 Springfox 注解替换为 Springdoc OpenAPI 3 中的对应注解。虽然 Springdoc OpenAPI 3 基于 OpenAPI 3 规范,并且有一些不同的命名方式和设计理念,但大部分注解的…

服务器处理HTTP

在服务器处理HTTP请求时,确实常常采用多线程或异步处理的模式来确保能够高效地处理多个客户端请求。以下是关于服务器如何处理请求的一些关键点: 多线程模型: 在多线程模型中,服务器会为每个新的客户端请求分配一个新的线程&#…

华为新手机和支付宝碰一下 带来更便捷支付体验

支付正在变的更简单。 11月26日,华为新品发布会引起众多关注。发布会上,华为常务董事余承东专门提到,华为Mate 70和Mate X6折叠屏手机的“独门支付秘技”——“碰一下”,并且表示经过华为和支付宝的共同优化,使用“碰…

Redis开发05:使用stackexchange.redis库对redis进行增删改查

一、安装第三方库 二、官网 StackExchange.Redis |通用型 redis 客户端 三、连接示例 private static string redisConnectionString "localhost:6379,passwordyourpassword,defaultDatabase0,allowAdmintrue,asyncTimeout10000";private static string redisConn…

Electron + vue3 打包之后不能跳转路由

路由不跳转问题原因: 是因为electron需要将vue-router的mode调整为hash模式(两种写法) export default new Router({mode: hash, //这里history修改为hashscrollBehavior: () > ({y: 0}),routes: constantRouterMap, }) export default new createRouter({his…

git push使用

推送指定分支 将当前分支推送远程 git push origin HEAD:<branch-name> 这里的 HEAD 是一个特殊的指针&#xff0c;它指向当前分支的最新提交。这条命令会将当前分支的更改推送到远程的 master 分支。 示例 git push origin HEAD:main 当前分支是test&#xff0c;远…

android-studio 下载并安装

在 Ubuntu 22.04 上安装和配置 Android Studio&#xff0c;按照以下步骤操作&#xff1a; 1. 安装 Java 环境 Android Studio 需要 Java 运行环境&#xff0c;通常使用 OpenJDK 11 或更高版本。 sudo apt update sudo apt install openjdk-11-jdk2. 下载 Android Studio 从…

React第十节组件之间传值之context

1、Context 使用creatContext() 和 useContext() Hook 实现多层级传值 概述&#xff1a; 在我们想要每个层级都需要某一属性&#xff0c;或者祖孙之间需要传值时&#xff0c;我们可以使用 props 一层一层的向下传递&#xff0c;或者我们使用更便捷的方案&#xff0c;用 creatC…

基于群晖搭建个人图书架-TaleBook based on Docker

前言 在群晖Container Manager中部署失败&#xff0c;转通过ssh部署。 一、准备工作 名称备注群晖SSH“终端机和SNMP”中启用SSH软件secureCRT等docker-compose.ymlGithub下载并修改 二、过程 2.1 创建本地文件夹 本地路径为&#xff1a; /docker/Calibre/data 2.2 下载d…

【JavaEE】JavaEE、web 开发、框架(Spring) 、Maven

文章目录 一、JavaEE 发展历程二、什么是 web 开发1、什么是 web 开发&#xff1f;2、web 网站的工作流程 三、框架1、什么是框架&#xff1f;2、为什么要学框架&#xff1f;3、框架的优点&#xff08;Spring Boot VS Servlet&#xff09; 四、Maven 一、JavaEE 发展历程 Java…

vue3项目中使用星火API

在node环境epxress中使用讯飞ai接口进行二次封装&#xff0c;通过ai对话回复提取&#xff0c;获得ai提取的文章摘要 本文章只是简单使用&#xff0c;更复杂功能比如调用星火API制作对话机器人可以查看文档&#xff0c;对于初次使用星火AI接口或许有帮助 讯飞星火大模型API-大模…