网络基础-ICMP协议

ICMP(Internet Control Message Protocol, Internet控制消息协议)
ICMP协议是IP协议的辅助协议,用于在IP网络上发送控制消息,它通常被用于诊断网络故障、执行网络管理任务以及提供一些错误报告;对于收集各种网络信息、诊断 和排除各种网络故障等方面起着至关重要的作用。
ICMP协议涉及的一些常见数据包类型:
Echo Request (Type 8): 发送此类型的数据包以请求目标主机响应;通常用于Ping命令。
Echo Reply (Type 0): 响应Echo请求的数据包。包含与Echo请求相同的数据。
Destination Unreachable (Type 3): 当目标主机无法访问时发送的数据包。可能是因为网络不可达、主机不可达或端口不可达等原因。
Source Quench (Type 4): 当路由器或主机希望通知发送方减慢发送速度时发送的数据包。
Redirect (Type 5): 当路由器希望通知发送方通过另一个路由器发送数据时发送的数据包。
Time Exceeded (Type 11): 当数据包在路由器上的生存时间(TTL)过期时发送的数据包。
Parameter Problem (Type 12): 当IP头部中的某些字段有问题时发送的数据包。
Timestamp Request (Type 13): 请求目标主机发送当前时间的数据包。
Timestamp Reply (Type 14): 响应Timestamp请求的数据包,包含发送时间和接收时间。
Address Mask Request (Type 17): 请求目标主机发送子网掩码的数据包。
Address Mask Reply (Type 18): 响应Address Mask请求的数据包,包含子网掩码信息。

常用的基于ICMP协议应用
1.ping:

当你使用命令行工具或者网络诊断工具执行ping时,实际上在使用ICMP协议发送和接收消息来测试你计算机和目标主机之间的连接性和延迟;这个命令通常在Windows、Linux和其他类Unix系统上都是可用的。

ping命令的工作原理:

1.发送Echo请求: 执行ping命令并指定目标主机的地址时,计算机会发送一个ICMP Echo请求消息到目标主机。
2.等待Echo回复: 一旦目标主机收到Echo请求消息,它会生成并发送一个Echo回复消息作为响应;这个回复消息携带着与请求中相同的数据。
3.计算往返时间(Round-Trip Time,RTT): 一旦计算机收到了Echo回复消息,它会记录当前时间,并计算发送Echo请求和接收Echo回复之间的时间差。这个时间差就是往返时间(RTT),它表示了数据从计算机发送到目标主机并返回的时间。
4.显示结果: ping命令会显示每个Echo请求的往返时间,并且通常还会显示每个请求的成功率(通常以百分比形式);此外,一般还会显示有关网络状态的统计信息,如平均往返时间、最小和最大往返时间等。

ping命令的用途:
检测网络连接性: 通过发送Echo请求并接收Echo回复,可以确定目标主机是否可达;如果主机不可达,ping命令会显示请求超时或者目标不可达的消息。
测量延迟: 往返时间(RTT)可以用来评估计算机与目标主机之间的通信延迟;较低的RTT通常表示更快的网络连接。
诊断网络问题: 如果ping命令显示了不寻常的延迟或者丢包率,这可能表明网络中存在问题,如拥塞、路由问题或者网络设备故障等。

2.traceroute (tracert)

Traceroute是一种网络诊断工具,用于确定数据包从源主机到目标主机之间经过的路径;它通过发送一系列的数据包,并记录每个数据包经过的路由器,从而帮助用户了解网络中的延迟和网络拓扑。

traceroute工作原理
1,发送数据包: Traceroute发送一系列的UDP数据包(在Unix/Linux系统上,默认使用UDP,而在Windows系统上则默认使用ICMP)到目标主机,每个数据包的TTL(生存时间)逐渐增加。
2.路由器处理: 当数据包到达网络中的路由器时,路由器会将TTL减1,并检查TTL是否变为0。如果TTL变为0,路由器将丢弃数据包并发送一个ICMP "Time Exceeded"消息给发送主机。
3.记录路由器信息: Traceroute捕获"Time Exceeded"消息,并记录下每个路由器的IP地址和响应时间。
4.重复过程: Traceroute重复发送数据包,每次增加TTL,直到数据包到达目标主机。通过收集每个路由器的响应,Traceroute能够构建出数据包从源主机到目标主机的完整路径。

在思科设备和Linux系统中使用traceroute命令,在华为、华三设备和Windows中使用tracert命令进行使用。

输出解释:

Traceroute的输出通常会显示每个路由器的IP地址、主机名(如果可解析)、每个路由器的响应时间(通常以毫秒为单位),以及整个路径的总响应时间。这些信息可用于诊断网络问题和评估网络性能。

应用用途:
网络故障排除: Traceroute可用于诊断网络连接问题,如确定数据包在网络中的哪个节点丢失或受阻。
网络性能评估: 通过分析Traceroute的输出,可以评估网络中各个节点的延迟,并确定数据包传输的瓶颈所在。
网络拓扑发现: Traceroute可以用来发现网络中的路由器和主机,从而帮助绘制网络拓扑图和理解网络架构。

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

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

相关文章

Linux 文件

文章目录 文件操作回顾(C/C)系统调用接口 管理文件认识一切皆文件C/C的文件操作函数与系统调用接口的关系……重定向与缓冲区 -- 认识重定向与缓冲区 -- 理解使用重定向缓冲区实现一个简单的Shell(加上重定向)标准输出和标准错误(在重定向下的意义) 磁盘文件磁盘存储文件操作系…

Git泄露(续)

接上一篇补充 git config --global user.name " " git config --global user.email 邮箱地址 配置用户名和邮箱 git commit 使其处于交互区,没有使用 -m,默认用vim 来编辑和提交信息 输入要提交的内容,然后按ESC建回到命令…

idea常用插件

1. 设置背景 安装插件:Background Image Plus设置背景图片: 2. Mybatis Log Plugin 详见:IntelliJ Idea 常用12款插件(提高开发效率),附优秀主题插件_idear codota插件 收费吗-CSDN博客 3. MybatisCodeHe…

HarmonyOS NEXT星河版之美团外卖点餐功能实战(下)

文章目录 一、购物车逻辑1.1 购物车及加减菜1.2 菜品的加减---方案一1.3 菜品的加减---方案二1.4 购物车View完善1.5 清空购物车1.5 购物车数量和价格 二、小结 一、购物车逻辑 1.1 购物车及加减菜 在utils目录下新建CartStore.ets文件,如下: import …

开发Web3 ETF的技术难点

开发Web3 ETF(Exchange-Traded Fund,交易所交易基金)软件时,需要注意以下几个关键问题。开发Web3 ETF软件是一个复杂的过程,涉及到金融、法律和技术多个领域的专业知识。开发团队需要综合考虑上述问题,以确…

数据库调优-数据库优化

数据库优化 如何发现复杂的SQL有问题? 一个个去explain吗?你有没有这样的困惑,开发代码运行顺畅丝滑,上生产了却卡的一逼? 哈哈,相信大家都会遇到这样的问题! sql 复制代码 # 举个栗子&…

数据库基础语法二

一、数据库 1、登陆数据库 2、创建数据库zoo 3、修改数据库zoo字符集为gbk 4、选择当前数据库为zoo 5、查看创建数据库zoo信息 6、删除数据库zoo mysql -uroot -p #登陆数据库 create database zoo; #创建数据库zoo alter database zoo character set gbk collate gbk_…

【C++】CentOS环境搭建-快速升级G++版本

【C】CentOS环境搭建-快速升级G版本 1. 安装CentOS的软件集仓库:2. 安装你想要的devtoolset版本,例如devtoolset-9:3. 启用新版本的编译器:4. 检查G版本: 在CentOS系统中升级G编译器通常涉及使用devtoolset或者SCL&…

【typescript测试 - Jest 配置与使用】

安装 npm install --save-dev types/jestnpm install --save-dev ts-jest配置 tsconfig.json {"compilerOptions": {"types": ["jest"]} }jest.config.js module.exports {preset: ts-jest,testEnvironment: node, };使用 // add.js funct…

Java 各类注解、Bean、作用域、生命周期

这里写目录标题 一、注解和Bean创建时机1. Controller:2.RestController:3.Service:4.Repository:5.Component: 二、作用域1.Singleton:2.Prototype:3.Request:4.Session: 一、注解和Bean创建时机 1. Controller: Bean生成时机: 在应用程序启动时由Spring容器创建。作用域: 默…

Dijkstra求最短路 I:图解 详细代码(图解)

文章目录 题目:Dijkstra求最短路思路伪代码:代码优化优化代码:Java代码 总结 题目:Dijkstra求最短路 给定一个 n个点 m条边的有向图,图中可能存在重边和自环,所有边权均为正值。 请你求出 1号点到 n号点的…

FonePaw Data Recovery for Mac:轻松恢复丢失数据

FonePaw Data Recovery for Mac是一款功能强大的数据恢复软件,专为Mac用户设计,帮助用户轻松恢复因各种原因丢失的数据。该软件支持从硬盘驱动器、存储卡、闪存驱动器等存储介质中恢复丢失或删除的文件,包括照片、视频、文档、电子邮件、音频…

基于Springboot的微乐校园管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的微乐校园管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

Secnet-智能路由系统 actpt_5g.data 信息泄露漏洞复现

0x01 产品简介 Secnet安网智能AC管理系统是广州安网通信技术有限公司(简称“安网通信”)的无线AP管理系统。 0x02 漏洞概述 Secnet-智能路由系统 actpt_5g.data 接口存在信息泄露漏洞,未经身份验证的远程攻击者可以利用此漏洞获取系统账户…

地球行星UE5和UE4

地球行星,包含多种地球风格,可蓝图控制自转和停止,可材质自转. 支持版本4.21-5.4版本 下载位置:https://mbd.pub/o/bread/ZpWZm5lv b站工坊:https://gf.bilibili.com/item/detail/1105582041 _______________________…

debian testing (预计13版本)wps字体无法正常显示

背 景 本人使用debian办公,原来使用的是debian 12,由于“生命不息,折腾不止“,终于将稳定版的debian 12升级为testing. 结果发现,debian 12能够正常使用的wps存在部分字体无法正常显示,经研究发现,原来是w…

Yii2 自动生成php代码

文档地址:入门(Getting Started): 用 Gii 生成代码(Generating Code with Gii) - Yii 2.0 权威指南 - 文档 - Yii Framework 中文网 找到配置文件,以我的项目为例: 因为的是开启了路由美化所以访…

【数据结构与算法】常见的排序算法

文章目录 排序的概念冒泡排序(Bubble Sort)插入排序(Insert Sort)选择排序(Select Sort)希尔排序(Shell Sort)写法一写法二 快速排序(Quick Sort)hoare版本&a…

数据挖掘(二)数据预处理

前言 基于国防科技大学 丁兆云老师的《数据挖掘》 数据挖掘 数据挖掘(一)数据类型与统计 2、数据预处理 2.1数据清理 缺失值处理: from sklearn.impute import SimpleImputer# 创建一个SimpleImputer对象,指定缺失值的处理策略…

网络编程——Socket——模拟用户登录

功能一:模拟用户登录 功能二:实现客户发送登录用户信息,服务器端显示登录信息并响应给客户端登录成功 这里设置的用户登录信息为:admin,123456 实现: 1.首先,服务端创建并启动服务器&#x…