以太网ICMP协议(九)

news2024/11/28 22:43:47

目录

一、概述

二、ICMP消息类型

2.1 ICMP类型0和类型8:Ping功能

2.2 ICMP类型3:目标不可达

2.3 ICMP类型5:重定向

2.4 ICMP类型11:超时

三、报文格式


一、概述

        由于IP协议是不可靠的通信协议,需要有其他协议的辅助进行网络上的问题诊断,由此引入了ICMP协议。

        ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等。

        ICMP的消息大致可以分为两类:

    • 一类是通知出错原因的错误消息
    • 另一类是用于诊断的查询消息

二、ICMP消息类型

类型(十进制数)

内容

0

回送应答,ping功能使用

3

目标不可达

4

原点抑制

5

重定向或改变路由

8

会送请求,ping功能使用

9

路由器公告

10

路由器请求

11

超时

17

地址子网请求

18

地址子网应答

2.1 ICMP类型0和类型8:Ping功能

        用于进行通信的主机或路由器之间,判断所发送的数据包是否已经 成功到达对端的一种消息。常用的ping命令就是利用这个消息实现的。

        ping的过程如下图:

2.2 ICMP类型3:目标不可达

        IP路由器无法将IP数据包发送给目标地址时,会给发送端主机返回一个目标不可达的ICMP消息,并在这个消息中显示不可达的具体原因。

        其细分类型如下:

2.3 ICMP类型5:重定向

        如果路由器发现发送端主机使用了次优的路径发送数据,那么它会 返回一个ICMP重定向的消息给这个主机。通知主机最优的路由信息和源数据。

2.4 ICMP类型11:超时

        IP包中有一个字段叫做TTL(Time To Live,生存周期),它的值随着每经过一次路由器就会减1,直到减到0时该IP包会被丢弃。当IP报文被舍弃的时候,IP路由器将会发送一个ICMP超时的消息给发送端主机以通信该报已被舍弃。

        备注:TTL是为了预防IP报文在路由控制出问题的时候被无止境的转发,有时也会被设置为一个较小的值用于控制包的到达范围。

三、报文格式

(1)类型:ICMP消息类型大约有10多种,常用的类型有,8 = Echo Request(ping请求),0 = Echo Reply(ping应答),13 = 时间戳请求,14 = 时间戳应答;3 = 目标不可达

(2)代码:ICMP消息类型下得进一步细分,用于进一步分析错误的原因,代码值不同对应错误也不同

(3)校验和:对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错

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

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

相关文章

线程池的使用案例一

一、配置线程池 1、不推荐的方式 ExecutorService executorService Executors.newFixedThreadPool(); // 创建⼀个固定⼤⼩的线程池,可控制并发的线程数,超出的线程会在队列中等待; ExecutorService executorService Executors.newCache…

无监督SLAM框架

因为之前做过双目立体匹配相关项目,当时就了解到有一些无监督方法。最近涉及到SLAM相关项目,想到理论上可以用photo loss无监督学习光流和pose,因此查看了有没有SLAM无监督的相关论文。发现确实有几篇论文。但总感觉设计的不是很好&#xff0…

【计算机视觉|风格迁移】PP-GAN:使用GAN的地标提取器将韩国人像的风格转化为身份证照片

本系列博文为深度学习/计算机视觉论文笔记,转载请注明出处 标题:PP-GAN : Style Transfer from Korean Portraits to ID Photos Using Landmark Extractor with GAN 链接:[2306.13418] PP-GAN : Style Transfer from Korean Portraits to ID…

单元测试、接口测试、功能测试的区别

单元测试、接口测试、功能测试的区别 自动化测试分为单元自动化测试、接口自动化测试和功能自动化测试 功能测试的进行:首先编写测试用例,测试用例中最主要的是测试步骤和预期结果;测试人员根据测试用例执行操作步骤,然后通过眼睛…

想知道程序员工资最高的城市吗?来看看这10个城市排名吧

大家好,这里是程序员晚枫。 在下班回家的路上,又和同事聊起重庆工资不高的问题,那么国内哪些城市程序员工资最高呢?今天我们一起来看一下:我国程序员工资最高的前10个城市。 以下是我国程序员工资最高的前10个城市&a…

使用 POI 在 Word 中重新开始编号、自定义标题格式

效果图 引入依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><!-- https…

刷题笔记 day8

1004 最大连续1的个数 III 这道题要求将原数组中的0翻转成1&#xff0c;求出最大元素全是1的子数组长度&#xff0c;看这道题第一感觉还要将里面的0变成1&#xff0c;感觉这道题解决起来很麻烦&#xff0c;但是我们可以转变思路&#xff0c;找出其最大子数组&#xff0c;使得子…

git 版本管理工具 学习笔记

git 学习笔记 目录 一、git是什么 二、创建仓库 三、工作区域和文件状态 四、添加和提交文件 五、回退版本 &#xff08;了解&#xff09; 六、查看差异 七、删除文件 八、.gitignore文件&#xff08;了解&#xff09; 九、github ssh-key配置 十、本地仓库和远程仓库内…

Shell - 备份mysql的N种姿势

文章目录 mysqldump --help备份mysql的N种姿势 mysqldump --help mysqldump 是一个常用的命令行工具&#xff0c;用于备份和还原 MySQL 数据库。 [rootVM-24-3-centos blg]# mysqldump --help mysqldump Ver 10.13 Distrib 5.6.50, for Linux (x86_64) Copyright (c) 2000,…

node爬取中国行政区域geo数据

依赖 {"dependencies": {"axios": "^1.4.0","colors": "^1.4.0","express": "^4.18.2","fs": "^0.0.1-security"} }数据来源 https://datav.aliyun.com/portal/school/atlas/are…

数据可视化(八)堆叠图,双y轴,热力图

1.双y轴绘制 #双Y轴可视化数据分析图表 #add_subplot() dfpd.read_excel(mrbook.xlsx) x[i for i in range(1,7)] y1df[销量] y2df[rate] #用来正常显示负号 plt.rcParams[axes.unicode_minus]False figplt.figure() ax1fig.add_subplot(1,1,1)#一行一列&#xff0c;第一个区域…

《Zookeeper》从零开始学Zookeeper源码(二)之数据序列化与通信协议

目录 序列化与反序列化通信协议请求头的数据结构响应头的数据结构 序列化与反序列化 zookeeper的客户端与服务端、服务端与服务端之间会进行一系列的网络通信&#xff0c;在进行数据的传输过程中就涉及到序列化与反序列化&#xff0c;zookeeper使用Jute作为它的序列化组件&…

FreeRTOS的线程间通信

一、分类 FreeRTOS的线程间通信分为这几大类 由于我还在学习中&#xff0c;目前显从信号开始记录学习 二、逐块讲解 1、信号&#xff08;osSignalWait osSignalSet&#xff09; FreeRTOS从V8.2.0版本开始提供任务通知这个功能&#xff0c;每个任务多有一个32位的通知值&am…

OLAP ModelKit Crack,ADO.NET和IList

OLAP ModelKit Crack,ADO.NET和IList OLAP ModelKit是一个多功能的.NET OLAP组件&#xff0c;用C#编写&#xff0c;只包含100%托管代码。它具有XP主题的外观&#xff0c;并能够使用任何.NET数据源(ADO.NET和IList)。借助任何第三方组件(尤其是图表组件)呈现数据的能力扩展了产品…

flink kafka消费者如何处理kafka主题的rebalance

背景&#xff1a; 我们日常使用kafka客户端消费kafka主题的消息时&#xff0c;当消费者退出/加入消费者组&#xff0c;kafka主题分区数有变等事件发生时&#xff0c;都会导致rebalance的发生&#xff0c;此时一般情况下&#xff0c;如果我们不自己处理offset&#xff0c;我们不…

那些被忽视的Python核心功能...

最实用、最简单、最优美……近些年&#xff0c;大家学习Python的热潮从未消退&#xff1b;无论是数据分析还是科学计算都少不了Python的身影。 Python也没有让人失望&#xff0c;Java用100行代码写出的程序&#xff0c;用Python十行就能搞定&#xff01; 当你要说Hello World…

银河麒麟QT连接DM8数据库

1. 安装达梦8 官网下载, 按照官方文档进行安装即可. 2. 安装unixodbc 1> 下载odbc安装包 unixODBC-2.3.7pre.tar.gz 2> 解压 tar -xvf unixODBC-2.3.7pre.tar.gz3> 编译 ./configure -prefix /usr/local make && make install4> 查找配置 odbcinst -j5…

Redis集群部署(docker-compose)

更多更新信息请关注“技术客格”公众号 使用3主+3从的部署方式 一、服务器规划 序号 服务器 端口 节点名称 备注 1 192.168.1.120 6179 redis-1 2 192.168.1.1206279 redis-2 3 192.168.1.1206379 redis-3 4 192.168.1.1206479 redis-4 5 192.168.1.1206579 redis-5 6 192.…

多线程的创建,复习匿名内部类,Thread的一些方法,以及lambda的变量捕捉,join用法

一、&#x1f49b; Java的Thread类表示线程 1.创建类&#xff0c;继承Thread重写run方法 2.创建类&#xff0c;实现Runnable重写run方法 3.可以继承Thread重写run基于匿名内部类 4.实现Runnable重写run基于匿名内部类 5.lamdba表达式表示run方法的内容&#xff08;推荐&#x…

一、安全世界观

文章目录 1、 Web安全简史1.1 中国黑客简史1.2 黑客技术的发展历程1.3 web安全的兴起 2、黑帽子、白帽子3、安全的本质4、安全三要素5、如何实施安全评估5.1 资产等级划分5.2 威胁分析5.3 风险分析5.4 设计安全方案 6、白帽子兵法6.1 Secure By Default6.2 纵深防御原则6.3 数据…