ICMP协议 详解,ICMP协议的功能及实现原理,ICMP协议报文类型。

ICMP协议 详解,ICMP协议的功能及实现原理,ICMP协议报文类型。ICMP 协议的功能及实现原理 ICMP 协议报文类型 ICMP 协议类型有哪些 ICMP 协议的作用

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》

ICMP协议是IP的一个组成部分,负责传递 「控制信息」

一、工作原理

ICMP的功能是检错而不是纠错;

它将出错的报文返回给发送方的设备,发送方根据ICMP报文确定「错误类型」,从而更好的重发错误的数据包。

我们用来测试网络连通性的 ping 命令,就是ICMP的工作过程。

二、数据报格式

2)代码(Code):4位,标明报文的类型。

3)校验和:8位,检验报文是否有误。

三、报文类型

ICMP协议主要通过 Type Code 的组合,来标明报文的类型,常见的有三种:

1)请求响应

发送方发送一个 Type =8 的报文,途中没有异常,接收方就会返回一个 Type=0 的报文;

比如下面这一对请求和响应,注意看我圈中的地方:

在这里插入图片描述
2)网络、主机、协议、端口不可达

这几种情况的报文类型都是一样的,接收方返回一个 Type = 3 Code=3 的报文,意思就是端口不可达(访问了一个不存在的端口),比如下面这个响应,重点看我圈中的地方:

在这里插入图片描述
常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2)。

完整的ICMP报文类型如下:

TYPE CODE Description
0 0 Echo Reply——回显应答(Ping应答)
3 0 Network Unreachable——网络不可达
3 1 Host Unreachable——主机不可达
3 2 Protocol Unreachable——协议不可达
3 3 Port Unreachable——端口不可达
3 4 Fragmentation needed but no frag. bit set——需要进行分片但设置不分片比特
3 5 Source routing failed——源站选路失败
3 6 Destination network unknown——目的网络未知
3 7 Destination host unknown——目的主机未知
3 8 Source host isolated (obsolete)——源主机被隔离(作废不用)
3 9 Destination network administratively prohibited——目的网络被强制禁止
3 10 Destination host administratively prohibited——目的主机被强制禁止
3 11 Network unreachable for TOS——由于服务类型TOS,网络不可达
3 12 Host unreachable for TOS——由于服务类型TOS,主机不可达
3 13 Communication administratively prohibited by filtering——由于过滤,通信被强制禁止
3 14 Host precedence violation——主机越权
3 15 Precedence cutoff in effect——优先中止生效
4 0 Source quench——源端被关闭(基本流控制)
5 0 Redirect for network——对网络重定向
5 1 Redirect for host——对主机重定向
5 2 Redirect for TOS and network——对服务类型和网络重定向
5 3 Redirect for TOS and host——对服务类型和主机重定向
8 0 Echo request——回显请求(Ping请求)
9 0 Router advertisement——路由器通告
10 0 Route solicitation——路由器请求
11 0 TTL equals 0 during transit——传输期间生存时间为0
11 1 TTL equals 0 during reassembly——在数据报组装期间生存时间为0
12 0 IP header bad (catchall error)——坏的IP首部(包括各种差错)
12 1 Required options missing——缺少必需的选项
13 0 Timestamp request (obsolete)——时间戳请求(作废不用)
14 Timestamp reply (obsolete)——时间戳应答(作废不用)
15 0 Information request (obsolete)——信息请求(作废不用)
16 0 Information reply (obsolete)——信息应答(作废不用)
17 0 Address mask request——地址掩码请求
18 0 Address mask reply——地址掩码应答


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/207378.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午1:58
下一篇 2026年3月19日 下午1:58


相关推荐

  • 获取计算机用户名,java获取计算机用户名

    获取计算机用户名,java获取计算机用户名NetworkInfo()Dimwshnetwork,infoAsStringSetwshnetwork=CreateObject(“WScript.Network”)’获取当前电脑用户信息一、用户名命名规范:总纲:用户名规范包括通用规范和特殊原则。A.通用规范:a.用户名只能由字母、数字和下划线组成,且必须以字母开头。不得出…1、“姓”的全拼+“ZhongS”…

    2022年10月15日
    6
  • Kimi K2新模型来了!多项测试超Claude、审美超前代,免费可用

    Kimi K2新模型来了!多项测试超Claude、审美超前代,免费可用

    2026年3月12日
    3
  • 转换Cifar10数据集

    转换Cifar10数据集Cifar10数据集不讲了吧,入门必备,下载地址:https://www.cs.toronto.edu/~kriz/cifar.html官方提供三种形式的下载:可以看出是不提供图片形式的下载的,需要进行数据转换,虽然可以直接读成ndarray,但是对于初学者可能读图更直观点自己写了个转换程序(将bytes形式的文件转换为图片并分类存储):defrecover_cifar10(cifar10_

    2022年6月22日
    38
  • apache做负载均衡_apache负载均衡配置

    apache做负载均衡_apache负载均衡配置测试都是在本地环境进行的。1、安装Apache服务下载:https://www.apachehaus.com/cgi-bin/download.plx?dli=hBjUYRWeZVjTEt2LOhlTykkVOpkVFd1aVpXQw0UU2、解压解压目录:E:\dev\Apache24。3、配置环境变量把路径【E:\dev\Apache24\bin】追加到环境变量PATH。4、配置Apache用文本编辑器配置文件:E:\dev\Apache24\conf\httpd.c

    2025年8月31日
    13
  • idea如何创建一个javaweb项目_Java创建一个新项目

    idea如何创建一个javaweb项目_Java创建一个新项目Idea创建JavaWeb项目步骤:1、打开IntellijIdeaIDE,然后点击CreateNewProject2、左侧选择JavaEnterprise,右侧选择WebApplication3、这里输入项目名字为firstdemo,然后点击Finish完成。生成如下的项目结构:项目配置:1、在web/WEB-INF下创建两个文件夹classes和lib,classes用来存放编译后输出的classes文件,lib用于存放第三方jar包。..

    2022年8月29日
    7
  • oracle12c如何完全卸载_如何卸载oracle12c

    oracle12c如何完全卸载_如何卸载oracle12c2014 03 20 回答 1 如果数据库配置了自动存储管理 asm 应该先删除聚集同步服务 css clustersynch 删除 css 服务的方法是在 dos 命令行中执行如下命令 localconfigd 在 服务 窗口中停止 oracle 的所有服务 3 在 开始 菜单中依次选择 程序 oracle oradb12c home1

    2026年3月26日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号