当前位置: 首页 > news >正文

【计算机网络】实验12:网际控制报文协议ICMP的应用

实验12 网际控制报文协议ICMP的应用

一、实验目的

验证ping命令和tracert命令的工作原理。

二、实验环境

·Cisco Packet Tracer模拟器

三、实验过程

1.构建网络拓扑并进行信息标注,将所需要配置的IP地址写在对应的主机或者路由器旁边,如图1所示。

img

图1 网络拓扑

2.配置主机H1,H2的IP地址、路由器的IP地址、子网掩码、静态路由,如图2,3,4所示。 在这里插入图片描述

图2 主机IP地址以及子网掩码配置

img

图3 路由器端口IP地址配置

img

图4 路由器静态路由配置

3.观察主机H1-H2是否能正常通信,判断拓扑是否建立成功,配置正确,让主机H1使用ping 192.168.1.1与主机H2通信,结果如图5所示。经过两次超时,是因为经过了两个路由器,有两次ARP的影响。

img

图5 H1与H2之间的通信

4.跟踪数据报从H1到达H2经过了哪些路由器,通过命令tracter 192.168.1.1来查看,结果如图6所示。图中给出了经过各个路由器的相关端口。

img

图6 数据包到达H2经过的路径

5.切换到仿真模式下H2 pingH1,如图7所示,观察ping命令是如何通过ICMP实现的,并且过滤协议,只保留ICMP协议,主机H2的封装细节如图8所示,PING进程创建了一个ICMP“回送请求”报文并将其传送给下层进程。

img

图7 让主机H2ping主机H1

img

图8 在主机H2上的PDU信息

6.点击捕获前进,当数据包到达主机H1时,查看封装的PDU细节,如图

9所示。此时ICMP收到的数据包是一个ICMP数据包,此时ICMP进程将会对其处理,ICMP进程收到一个“回送请求”报文,

img

图9 主机H1上的PDU信息

7.点击捕获前进,当主机H2收到响应报文之后,第一次ICMP请求就结束了,如图10所示。

img

图10 第一次ICMP请求报文结束

8.仿真模式下H1tracertH2,如图11所示,观察tracert命令是如何通过ICMP实现的,再查看主机H1上的PDU信息,如图12所示。Trace route进程启动下一个追踪,Trace route进程创建一个ICMP“回送请求”报文并将其发送给下一层进程。

img

图11 仿真模式下H1tracertH2

img

图12 查看主机H1的PDU信息

9.再次查看主机H1上的出站PDU详情,发现TTL字段被设置成为了1,如图13所示。这说明当转发到下一个路由器的时候,就会将TTL减1,也就是置为0,那么此时路由器就会丢弃这个ICMP报文,如图14所示,并给源主机H1发送一个ICMP差错报告(类型是时间超过),此时查看路由器上的PDU信息,如图15所示。设备发送一个ICMP“时间超过”报文。

img

图13 出站PDU中的TTL被设置成1

img

图14 路由器丢弃这个ICMP报文

img

图15 路由器上的PDU信息

10.主机H1获取路径上的第一个路由器需要发送三个ICMP报文,并且也要收到三个ICMP响应报文才算找到第一个路由器,如下图所示,第一个路由器的IP地址为192.168.0.254,如图16所示。

img

图16 主机H1找到第一个路由器

11.同理,主机H1要找到第二个路由器,就需要将TTL的值设置为2,然后就去找找到的话,也是需要进行三次ICMP报文的传送以及收到三个ICMP报文的响应,才算找到第二个路由器,如图17所示。同理找到第三个路由器,主机H1将TTL字段设置为3,找到第三个路由器如图18所示。

img

图17 主机H1找到第二个路由器

img

图18 主机H1找到第三个路由器

四、实验小结

  1. Ping命令和tracert命令都是基于网际控制报文协议(ICMP)实现的。Ping命令用于测试主机之间、主机与路由器之间以及路由器与路由器之间的连通性。而tracert命令则用于探测从源主机到目的主机之间经过的路由器路径。

  2. Ping命令利用ICMP中的询问报文机制,源主机发送ICMP请求报文,目的主机则返回相应的应答报文,以确认连通性。

  3. 使用tracert命令时,发出的数据包的生存时间(TTL)初始值为1。当数据包经过第一个路由器时,TTL值减1,变为0,此时数据包会被丢弃,并向源主机发送一个ICMP差错报告(“时间超过”报文),从而告知源主机该数据包未能成功到达目的地。

  4. tracert命令不仅依赖于询问报文,还利用差错报文来获取路径信息,从而逐步确定源主机到目的主机之间的路由路径。

相关文章:

【计算机网络】实验12:网际控制报文协议ICMP的应用

实验12 网际控制报文协议ICMP的应用 一、实验目的 验证ping命令和tracert命令的工作原理。 二、实验环境 Cisco Packet Tracer模拟器 三、实验过程 1.构建网络拓扑并进行信息标注,将所需要配置的IP地址写在对应的主机或者路由器旁边,如图1所示。 图…...

收缩 tempdb 数据库

1、 本文内容 注解使用 ALTER DATABASE 命令使用 DBCC SHRINKDATABASE 命令使用 DBCC SHRINKFILE 命令运行收缩操作时出现错误 8909 适用于: SQL ServerAzure SQL 托管实例 本文讨论可用于收缩 SQL Server 中 tempdb 数据库的各种方法。 可以使用下列任一方法来…...

kubesphere搭建 postgres15

创建configMap POSTGRES_PASSWORD数据库密码 PGDATA数据目录 创建【有状态副本集】工作负载 1.创建基本信息 2.容器组设置 配置环境变量 3.存储设置 完成之后点击下一步 配置服务 创建服务 配置基本信息 配置服务信息 外部访问选择nodePort,然后点击…...

解决npm问题用到的资源,错误原因和方法

资源: 1.node版本管理工具nvm: 下载地址:https://nvm.uihtm.com/nvm-1.1.12-setup.zip 使用方法:https://nvm.uihtm.com/ 2.node各版本: https://nodejs.org/en/about/previous-releases 3.nodejs: 下载地址:https://…...

【uni-app 微信小程序】新版本发布提示用户进行更新

知识准备 uni.getUpdateManager文档介绍 不支持APP与H5,所以在使用的时候要做好平台类型的判断,如何判断,参考条件编译处理多端差异 代码参考 export const updateApp () > {const updateManager uni.getUpdateManager()updateManag…...

Redis性能优化18招

Redis性能优化的18招 目录 前言选择合适的数据结构避免使用过大的key和value[使用Redis Pipeline](#使用Redis Pipeline)控制连接数量合理使用过期策略使用Redis集群充分利用内存优化使用Lua脚本监控与调优避免热点key使用压缩使用Geo位置功能控制数据的持久化尽量减少事务使…...

ElasticSearch 与向量数据库的结合实践:突破亿级大表查询瓶颈20241204

💡 ElasticSearch 与向量数据库的结合实践:突破亿级大表查询瓶颈 📚 引言 随着业务规模的不断扩大,传统关系型数据库在处理 亿级大表 时,性能瓶颈愈加凸显。关键词检索、模糊查询、多条件筛选等需求逐步升级&#xff…...

C#实现一个HttpClient集成通义千问-流式输出内容提取

返回对象处理 返回对象分析 根据流式返回的数据处理 内容对象 {"choices": [{"delta": { "content": "", "role": "assistant" },"index": 0,"logprobs": null,"finish_reason"…...

微信小程序后台搭建—node+mysql

想必大家都有一个困扰,想要用微信小程序作为前端,但是后端不知道如何用node连接微信小程序,我最近也一直困扰许久,所以我就想用node写后端接口在连接微信小程序,记录一下学习笔记 前言 前端:微信小程序 后端:nodeexp…...

断点续传+测试方法完整示例

因为看不懂网上的断点续传案例,而且又不能直接复制使用,干脆自己想想写了一个。 上传入参类: import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProp…...

C# 中的静态构造函数和实例构造函数的区别

在C#中,静态构造函数和实例构造函数在类的初始化过程中扮演着不同的角色。下面我将详细介绍这两种构造函数的区别: 实例构造函数(Instance Constructor): 实例构造函数用于初始化类的实例(对象)…...

如何在UI自动化测试中创建稳定的定位器?

如何在UI自动化测试中创建稳定的定位器? 前言1. 避免使用绝对路径2. 避免在定位器中使用索引3. 避免多个类名的定位器4. 避免动态和自动生成的ID5. 确保定位器唯一6. 处理隐藏元素的策略7. 谨慎使用基于文本的定位器8. 使用AI创建稳定的定位器 总结 前言 在自动化测…...

【5G】5G技术组件 5G Technology Components

5G的目标设置非常高,不仅在数据速率上要求达到20Gbps,在容量提升上要达到1000倍,还要为诸如大规模物联网(IoT, Internet of Things)和关键通信等新服务提供灵活的平台。这些高目标要求5G网络采用多种新技术…...

四十一:Web传递消息时的编码格式

在现代Web应用中,数据在客户端和服务器之间的传递往往需要经过特定的编码方式。不同类型的数据(如文本、图像、文件等)需要用不同的编码格式进行表示,以确保信息的准确性与安全性。本文将介绍Web传递消息时常用的几种编码格式&…...

【细如狗】记录一次使用MySQL的Binlog进行数据回滚的完整流程

文章目录 1 事情起因2 解决思路3 利用binlog进行数据回滚 3.1 确认是否启用Binlog日志3.2 确认是否有binlog文件3.3 找到误操作的时间范围3.4 登录MySQL服务器查找binlog文件 3.4.1 查询binlog文件路径3.4.2 找到binlog文件3.4.3 确认误操作被存储在哪一份binlog文件中 3.5 查…...

什么是云原生数据库 PolarDB?

云原生数据库 PolarDB 是阿里云推出的一款高性能、兼容性强、弹性灵活的关系型数据库产品。它基于云原生架构设计,结合分布式存储和计算分离的技术优势,为用户提供强大的计算能力、卓越的可靠性以及高性价比的数据库解决方案。PolarDB 适合各种业务场景&…...

Kafka Stream实战教程

Kafka Stream实战教程 1. Kafka Streams 基础入门 1.1 什么是 Kafka Streams Kafka Streams 是 Kafka 生态中用于 处理实时流数据 的一款轻量级流处理库。它利用 Kafka 作为数据来源和数据输出,可以让开发者轻松地对实时数据进行处理,比如计数、聚合、…...

BEPUphysicsint定点数3D物理引擎使用

原文:BEPUphysicsint定点数3D物理引擎使用 - 哔哩哔哩 上一节給大家介绍了BEPUphysicsint的一些基本的情况,这节课我们来介绍它的基本使用,本节主要从以下5个方面来介绍: (1) 创建一个物理世界Space,并开启模拟迭代; (2) 添加一个物理物体…...

Splatter Image运行笔记

文章标题:Splatter Image: Ultra-Fast Single-View 3D Reconstruction 1. 环境配置 下载Splatter Image代码 git clone https://github.com/szymanowiczs/splatter-image.git 创建环境 conda create --name splatter-image python3.8 激活环境 conda activat…...

python爬虫--某房源网站验证码破解

文章目录 使用模块爬取目标验证码技术细节实现成果代码实现使用模块 requests请求模块 lxml数据解析模块 ddddocr光学识别 爬取目标 网站验证码破解思路是统一的,本文以城市列表为例 目标获取城市名以及城市连接,之后获取城市房源信息技术直接替换地址即可 验证码 技术…...

在Node.js后端服务中集成Taotoken调用多模型API实战

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Node.js后端服务中集成Taotoken调用多模型API实战 构建需要AI能力的Web服务时,后端开发者常面临模型选型、API接入复…...

告别I帧卡顿!用H.264帧内刷新(Intra Refresh)让你的直播码率稳如老狗

告别I帧卡顿!用H.264帧内刷新(Intra Refresh)让你的直播码率稳如老狗 直播技术发展到今天,画面流畅度已经成为用户体验的核心指标之一。但许多开发者在实际推流中常遇到一个棘手问题:明明网络带宽充足,却在…...

3分钟掌握Krita AI抠图:点一下就能完成的智能选区革命

3分钟掌握Krita AI抠图:点一下就能完成的智能选区革命 【免费下载链接】krita-vision-tools Krita plugin which adds selection tools to mask objects with a single click, or by drawing a bounding box. 项目地址: https://gitcode.com/gh_mirrors/kr/krita-…...

视频对象移除与背景修复:时空联合建模实战指南

1. 项目概述:让AI“脑补”被遮挡的画面,不是魔法,是空间-时间联合建模的落地“This AI takes a video and fills the missing pixels behind an object!”——这句话乍看像科幻预告片里的旁白,但其实它精准指向一个正在快速成熟的…...

Mac用户的跨平台文件交换终极解决方案:免费NTFS读写工具Nigate完整指南

Mac用户的跨平台文件交换终极解决方案:免费NTFS读写工具Nigate完整指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, a…...

管式土壤墒情监测站:深埋地下测湿度,云端上报助灌溉

管式土壤墒情监测站采用土壤介电常数检测原理,结合专业数学模型算法,搭配独创螺旋式测量电极结构开展高精度土壤含水率监测。土壤介电常数与土壤含水量存在稳定且精准的对应关系,设备通过传感器高频感知土层介电参数变化,经内置算…...

2026 AI大模型API加速网站推荐

在AI开发领域,一个现实问题始终困扰着开发者:如何接入模型厂商的官方API?在海外,注册、绑卡、调用这三个步骤就能轻松解决。然而,国内开发者面临着跨境网络波动、外币支付门槛、发票合规需求以及多厂商Key碎片化管理等…...

Windows升级Node版本指南

在 Windows 上升级 Node.js,主要有四种方法,各有侧重。对于大多数开发者,使用版本管理工具 nvm-windows 是最灵活高效的选择。 Windows安装Node.js: 步骤1:访问 Node.js 官方网站 官方网站,下载适用于 Wind…...

居家办公网络优化指南:从Wi-Fi原理到实战部署

1. 居家隔离如何压垮了我们的家庭Wi-Fi网络如果你在2020年初也经历过居家办公或学习,大概率会对某个场景记忆犹新:视频会议卡成PPT、在线课程频繁掉线、追剧时那个转不完的缓冲圈。这不是你一个人的问题,而是全球无数家庭网络在特定时期承受的…...

如何在Windows电脑上轻松安装安卓应用:5步完成轻量级跨平台部署

如何在Windows电脑上轻松安装安卓应用:5步完成轻量级跨平台部署 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否想在Windows电脑上运行安卓应用&…...