计算机网络实验三 集线器、交换机、路由器与ARP

article/2025/10/30 21:28:46
  • 实验目的和要求

1)集线器、交换机和路由器和 ARP 的基本工作原理

2)掌握使用 PacketTracer 模拟网络场景的基本方法,加深对网络环境、网络设备和网 络协议交互过程等方面的理解。

  • 实验环境

1)运行 Windows 2008 Server/XP/7 操作系统的 PC 一台。

2)PacketTracer。

  • 实验内容与过程(实验题目和代码)

1)按要求配置网络拓扑

2)观察集线器、交换机和路由器的处理 ARP 和 IP 报文的过程

3)分析实验现象

1. PacketTracer 模拟器中配置网络拓扑

按下图配置网络拓扑。两个局域网的IP    地址分别为213.1.1.0/24213.1.2.0/24。配置路由器和各PC相关参 数,保证网络和各主机连通(用PING 命令测试)。

2. 根据要求完成实验环境设置

设计实验步骤,使所有交换机的 MAC 地址表为空,主机 PC0 的ARP 表为空,而路由器 Router0 的 ARP 表中有 PC4 的 MAC 地址,主机可以通过手工的方式清除 ARP 表中的内容。在“命令提示符”界面中输入“arp -d”清除本机 ARP 表的内容。

交换机清除MAC 地址表的命令为:

Switch>enable

Switch#clear mac-address-table

Switch#clear arp-cache

 

  • 实验结果与分析(实验结果截图)
  1. 在模拟方式下用 “Add simple PDU”方式 PC0发送一个报文 给 PC4。观察整个通信过程( 设置 过滤器,仅显示 ICMP和 ARP报文 )。
  2. 在实验报告中描述通信过程并按时间顺序,写出 PC1,PC2,PC3,PC4分别都收到了哪些报文:报文类型(ARP请求 /ARP响应 /IP报文?源 MAC地址(哪个PC的MAC地址)?目的 MAC地址(哪个PC的MAC地址)?IP报文 的源 IP地址 或 ARP报文 的源 IP地址(哪个 PC的 IP地址 )?IP报文 的目的 IP地址 或 ARP报文 的目标 IP地址(哪个 PC的 IP地址 )?

    通信过程描述:

    PC0 发送一个 IP 报文给 PC4,目的 IP 地址为 PC4 的 IP 地址,源 IP 地址为 PC0 的 IP 地址。

    PC0 发送 ARP 请求广播,询问 PC4 的 MAC 地址。

    HUB1 广播 ARP 请求,PC1、PC2、PC3、PC4 都收到了 ARP 请求报文。

    PC4 收到 ARP 请求报文,向 PC0 发送 ARP 响应报文,告知自己的 MAC 地址。

    PC0 收到 ARP 响应报文,得到 PC4 的 MAC 地址,然后构造 IP 报文,将报文发送给 PC4。

    PC4 收到 IP 报文,完成通信。

    PC1、PC2、PC3、PC4 收到的报文如下:

    PC1:

    时间:2

    报文类型:ARP 请求

    源 MAC 地址:PC0 的 MAC 地址

    目的 MAC 地址:广播地址

    ARP 报文的源 IP 地址:PC0 的 IP 地址

    ARP 报文的目标 IP 地址:PC4 的 IP 地址

    PC2:

    时间:2

    报文类型:ARP 请求

    源 MAC 地址:PC0 的 MAC 地址

    目的 MAC 地址:广播地址

    ARP 报文的源 IP 地址:PC0 的 IP 地址

    ARP 报文的目标 IP 地址:PC4 的 IP 地址

    PC3:

    时间:2

    报文类型:ARP 请求

    源 MAC 地址:PC0 的 MAC 地址

    目的 MAC 地址:广播地址

    ARP 报文的源 IP 地址:PC0 的 IP 地址

    ARP 报文的目标 IP 地址:PC4 的 IP 地址

    PC4:

    时间:4

    报文类型:ARP 响应

    源 MAC 地址:PC4 的 MAC 地址

    目的 MAC 地址:PC0 的 MAC 地址

    ARP 报文的源 IP 地址:PC4 的 IP 地址

    ARP 报文的目标 IP 地址:PC0 的 IP 地址

    PC4:

    时间:5

    报文类型:IP 报文

    源 MAC 地址:PC0 的 MAC 地址

    目的 MAC 地址:PC4 的 MAC 地址

    IP 报文的源 IP 地址:PC0 的 IP 地址

    IP 报文的目的 IP 地址:PC4 的 IP 地址

  3. 分析在上述过程中交换机是如何学习MAC地址表的 。

    在上述过程中,交换机会通过学习 MAC 地址表来实现转发。具体过程如下:

    当 PC0 发送 ARP 请求时,HUB1 广播了这个 ARP 请求报文,交换机 switch1 和 switch2 都收到了这个广播报文。

    由于 switch1 上没有 PC0 的 MAC 地址信息,所以 switch1 会将 ARP 请求报文向除了源端口(即连接 PC0 的端口)之外的所有端口广播。

    switch2 同样没有 PC0 的 MAC 地址信息,所以它也会将 ARP 请求报文向除了源端口(即连接 switch1 的端口)之外的所有端口广播。

    当 PC4 收到 ARP 请求报文后,它会向 PC0 发送 ARP 响应报文,告知自己的 MAC 地址。这个 ARP 响应报文会被 switch2 转发到 switch1,然后被 switch1 转发到 PC0。

    在转发 ARP 响应报文的过程中,switch1 和 switch2 都会学习到 PC0 和 PC4 的 MAC 地址,并将这些信息记录在它们的 MAC 地址表中。

    当 PC0 向 PC4 发送 IP 报文时,switch1 会根据它的 MAC 地址表将这个报文转发到与 PC4 相连的端口;而 switch2 也会根据它的 MAC 地址表将这个报文转发到与 PC4 相连的端口。

    通过这样的学习过程,交换机可以建立起 MAC 地址表,从而实现对报文的转发。当交换机收到一个报文时,它会查找 MAC 地址表,找到目标 MAC 地址对应的端口,然后将报文转发到该端口。如果 MAC 地址表中没有目标 MAC 地址的记录,交换机会将报文广播到除了源端口之外的所有端口,以便学习到目标 MAC 地址的信息。

  4. 请解释该过程 ,即 PC1,PC2,PC3,PC4为什么会收到这些报文。 

    在该过程中,PC1、PC2、PC3、PC4 都会收到 ARP 请求报文,因为 ARP 请求报文是一个广播报文,它会被交换机广播到所有的端口,包括连接 PC1、PC2、PC3、PC4 的端口。因此,所有的计算机都可以收到这个报文。

    PC4 会收到 ARP 请求报文并且回复 ARP 响应报文,这是因为 ARP 请求报文中包含了 PC4 的 IP 地址,所以 PC4 能够收到这个报文并且知道自己被询问了。PC4 回复 ARP 响应报文后,PC0 就知道了 PC4 的 MAC 地址,从而能够向 PC4 发送 IP 报文。

    PC1、PC2、PC3 并不会收到 IP 报文,因为 IP 报文是一个单播报文,它只会被交换机转发到目标 MAC 地址对应的端口。在这个过程中,PC0 发送的 IP 报文的目标 MAC 地址是 PC4 的 MAC 地址,因此只有连接 PC4 的端口才会收到这个报文。

  5. PC0发送的 ARP请求 的目标是不是PC4,为什么?

    是的,PC0 发送的 ARP 请求的目标是 PC4。因为在这个网络中,PC0 要向 PC4 发送 IP 报文,而在发送 IP 报文之前,PC0 需要知道 PC4 的 MAC 地址,才能将 IP 报文封装成帧并发送到网络上。因此,PC0 发送 ARP 请求的目的是查询 PC4 的 MAC 地址。在 ARP 请求报文中,PC0 会将自己的 IP 地址作为查询目标,这样 PC4 收到 ARP 请求报文后就能够回复 ARP 响应报文,并将自己的 MAC 地址发送给 PC0,从而使 PC0 能够向 PC4 发送 IP 报文。

  6. 分析集线器、交换机和路由器的转发分组方式有何不同 。

    线器、交换机和路由器都是网络设备,但它们的转发分组方式有所不同:

    集线器:集线器是物理层设备,它只是简单地将收到的数据包广播到所有连接的端口上,没有任何过滤和处理。因此,所有连接到集线器的设备都能收到所有数据包,包括不需要的数据包。集线器的转发分组方式是广播。

    交换机:交换机是数据链路层设备,它会在收到数据包时,根据目的MAC地址进行过滤和处理,只将数据包转发给目标设备,而不是广播到所有端口上。因此,交换机的转发分组方式是根据MAC地址进行转发。

    路由器:路由器是网络层设备,它会在收到数据包时,根据目的IP进行过滤和处理,将数据包转发到正确的网络中。路由器能够识别不同的网络,并且可以通过路由表选择最佳路径进行转发。因此,路由器的转发分组方式是根据IP地址进行转发。

  • 实验心得

在进行计算机网络实验的过程中,我使用PacketTracer模拟工具模拟了一个局域网网络场景,并加深了对网络环境、网络设备和网络协议交互过程等方面的理解。通过观察数据包的传输和设备的交互情况,我掌握了局域网中的数据传输和协议交互过程,并且学会了使用PacketTracer模拟网络场景的基本方法。这个实验为我今后的学习和工作打下了良好的基础。 


http://chatgpt.dhexx.cn/article/sp25fM4W.shtml

相关文章

集线器、交换机、路由器

文章目录 1.集线器Hub [ 物理层 ]2.交换机 Switch [ 数据链路层 ]交换机自学习算法以太网交换机的2种交换模式:直通式、存储转发式3.路由器 Router [ 网络层 ]1.集线器Hub [ 物理层 ] 物理层设备:中继器、集线器既不能隔离冲突域,更不能隔离广播域2.交换机 Switch [ 数据链路…

集线器、路由器与交换机

1. 集线器、交换机与路由器的区别 1.1. 集线器、交换机和路由器的定义 集线器(HUB)属于数据通信系统中的基础设备,它和双绞线等传输介质一样,是一种不需任何软件支持或只需很少管理软件管理的硬件设备。 它被广泛应用到各种场合…

集线器、网桥、交换机简介

一.集线器 集线器(HUB),它是工作在物理层的设备, 由于它只是工作在物理层的设备,所以它并不关心也不可能关心OSI上面几层所涉及的,它的工作机制流程是:从一个端口接收到数据包时,会…

集线器与交换机

文章目录 集线器与交换机集线器交换机集线器与交换机的区别单播帧广播帧多主机同时发送单播帧扩展以太网 总结 以太网交换机自学习 集线器与交换机 集线器 使用集线器的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用的还是CSMA/CD协议;集线器只…

集线器

集线器(HUB)属于数据通信系统中的基础设备,它和双绞线等传输介质一样,是一种不需任何软件支持或只需很少管理软件管理的硬件设备。它被广泛应用到各种场合。集线器工作在局域网(LAN)环境,像网卡一样,应用于…

集线器、交换机、网桥区别

最近一直在看网络方面的东东,先把基础的东西总结一下,注意:以下的概念现在已经不一定准确了,因为硬件发展相当迅速,集成电路的集成度越来越多高,拿交换机为例,现在俗称交换机的东西已经具有一定…

集线器(hub),交换机以及路由器异同;冲突域和广播域详解

目录 冲突域和广播域联网中继设备 集线器(hub)交换机(switch)路由器(route)三者的异同 1)工作层次不同2)数据转发依据对象不同3)分割冲突域,广播域4)防火墙功能 参考文献 冲突域和广播域 在介…

hub设备_「网络安全」网络设备篇(9)——集线器Hub

什么是集线器? 集线器(HUB)是计算机网络中连接多个计算机或其他设备的连接设备,是对网络进行集中管理的最小单元。 英文Hub就是中心的意思,像树的主干一样,它是各分支的汇集点。HUB是一个共享设备,主要提供信号放大和中转的功能,它把一个端口接收的所有信号向所有端口分发…

集线器、交换机和路由器(图解)

一、物理层:使用 MAC 解决设备的身份证问题 1、通信的原始时代 很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。 直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根网线连接了…

AXI之deadlock分析

AXI协议相对之前的APB和AHB来说,总线性能得到了极大的提升,主要得益于outstanding这一新特性的加入,有了outstanding的支持,master可以不用等待上一笔transaction结束,就直接连续发送多笔请求,使得发送的transaction可以流水起来。但outstanding的使用也引入了一些别的传…

重复插入相同数据导致deadlock问题:Deadlock found when trying to get lock; try restarting transaction

场景: 业务逻辑:第三方登录情况下,获取到用户的实名信息。之后判断该用户在用户表中是否存在,如果不存在或非实名,那么将其实名;如果已经实名,那么不做处理,直接登录。ORM使用的是s…

fatal error: all goroutines are asleep - deadlock

如题,近两天遇到此类错误,发现goroutine以及channel的基础仍需巩固。由该错误牵引出go相关并发操作的问题,下面做一些简单的tips操作和记录。 func hello() {fmt.Println("Hello Goroutine!") } func main() {go hello() // 启动另…

死锁问题(Deadlock)

4.8 死锁问题(Deadlock) 各进程在使用系统资源时,应注意系统产生死锁问题。下面先介绍什么是死锁。 4.8.1 死锁的概念  1. 死锁的定义 所谓死锁,是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释…

SQL Server DeadLock 分析

1. 设置 XEvents 会话以收集死锁 1.1 扩展事件-会话-右键新建会话向导 1.2 设置会话名称 1.3 选择要捕获的事件 database_xml_deadlock_report 1.4 捕获全局字段 1.5 指定会话存储 1.6 结束 1.7 确保启动会话 2. 制造死锁 2.1 准备数据表及数据 2.1.1 准备数据库 TestBu…

MYSQL报错:MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting tr

mysql报错:MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction 报错情况:并发量大的情况对表的修改发生死锁 原因:查看了该更新语句的sql,没有设置主键,而mysq…

Deadlock的一些总结(死锁分析及处理)

1.1.1 摘要 在系统设计过程中,系统的稳定性、响应速度和读写速度至关重要,就像12306.cn那样,当然我们可以通过提高系统并发能力来提高系统性能总体性能,但在并发作用下也会出现一些问题,例如死锁。 今天的博文将着重介…

Deadlock found when trying to get lock; try restarting transaction 【MySQL死锁问题解决】

视频地址: https://www.bilibili.com/video/bv1zY411N7tB 最近在调试接口的时候遇到了MySQL死锁问题,我自己测试的时候一切都好好的,但在并发下,就死锁了 其实死锁问题,并没有一个类似“万金油”的解决办法&#xff0…

【死锁~】

死锁 死锁 死锁 1.死锁是什么? 当线程想要获取锁,但是获取失败,此时,线程进入阻塞状态,等待锁释放之后,线程获取锁。如果锁一直没有被释放,线程就一直处于阻塞状态。 2.死锁的条件 1.互斥作用:一个线程获…

Mysql报Deadlock found when trying to get lock; try restarting transaction问题解决

Mysql报Deadlock found when trying to get lock; try restarting transaction问题解决!! 文章目录 问题发生场景Mysql锁类型分析死锁原理问题排查过程问题原因解决方法经验教训查看mysql死锁日志 问题发生场景 今天记录一下最近项目中遇到的一个问题,前几天在部署项目后,在线…

死锁(Deadlock)

什么是死锁 死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象。若无外力作用,它们都将无法推进下去。 产生死锁的四个必要条件得烂熟于心 互斥条件:进程要求对所分配的资源进行排他性控制,即在一段…