【计算机网络】实验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上下载最…

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中颜色(或亮度),通常把灰度图像中像素的亮度称为灰度值。灰度化处理:是指把彩…

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

支付正在变的更简单。 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…

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

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

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

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

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

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

vue3项目中使用星火API

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

基于centos7.9容器编排Jumpserver堡垒机

Jum 基础环境容器化部署MySQL容器化部署Redis容器化部署Nginx容器化部署Koko容器化部署Guacamole容器化部署Core编排compose文件 基础环境 基于centos7.9容器化部署jumpserver tar -xf JumpServer.tar.gz导入centos7.9 docker镜像 docker load -i images/centos_7.9.2009.ta…

5G学习笔记之PRACH

即使是阴天,也要记得出门晒太阳哦 目录 1. 概述 2. PRACH Preamble 3. PRACH Preamble 类型 3.1 长前导码 3.2 短前导码 3.3 前导码格式与小区覆盖 4. PRACH时频资源 4.1 小区所有可用PRACH资源 4.2 SSB和RACH的关系 4.3 PRACH时频资源配置 1. 概述 随机接入…

14 - Java 面向对象(中级)

包(package) 声明 java的包,类似电脑系统中的文件夹,包里存放的是类文件。 当类文件很多的时候,通常会采用多个包进行存放管理,这种方式称为分包管理。 在项目中,我们将相同功能的类放到一个…

「Mac畅玩鸿蒙与硬件34」UI互动应用篇11 - 颜色选择器

本篇将带你实现一个颜色选择器应用。用户可以从预设颜色中选择,或者通过输入颜色代码自定义颜色来动态更改界面背景。该应用展示了如何结合用户输入、状态管理和界面动态更新的功能。 关键词 UI互动应用颜色选择器状态管理用户输入界面动态更新 一、功能说明 颜色…

【Maven】依赖冲突如何解决?

准备工作 1、创建一个空工程 maven_dependency_conflict_demo,在 maven_dependency_conflict_demo 创建不同的 Maven 工程模块,用于演示本文的一些点。 什么是依赖冲突? 当引入同一个依赖的多个不同版本时,就会发生依赖冲突。…

【Vue3】从零开始创建一个VUE项目

【Vue3】从零开始创建一个VUE项目 手动创建VUE项目附录 package.json文件报错处理: Failed to get response from https://registry.npmjs.org/vue-cli-version-marker 相关链接: 【VUE3】【Naive UI】<NCard> 标签 【VUE3】【Naive UI】&…