首页 > 其他分享 >ICMP 协议的差错报告报文解读

ICMP 协议的差错报告报文解读

时间:2024-11-14 13:14:39浏览次数:3  
标签:请求 主机 报文 差错 IP 类型 ICMP 代码

ICMP 协议的差错报告报文主要用于在 IP 网络中通知源主机有关数据报传输过程中出现的错误情况,以便源主机能够采取相应的措施。

目的不可达报文

  • 类型和代码:类型值为 3,代码则有多种取值,用于更详细地说明不可达的原因。
    • 代码 0:表示网络不可达,通常是由于路由器在其路由表中找不到到达目标网络的路径。
    • 代码 1:代表主机不可达,即目标主机在网络中不存在或者无法访问。
    • 代码 2:表示协议不可达,意味着目标主机上的协议栈不支持数据报中所使用的协议。
    • 代码 3:端口不可达,一般是指目标主机上的目标端口没有进程在监听。
  • 报文内容:除了包含常规的 ICMP 头部信息外,目的不可达报文的数据部分通常会包含导致错误的原始 IP 数据报的首部及部分数据,以便源主机能够确定是哪个数据报出现了问题。

超时报文

  • 类型和代码:类型为 11,有两种常见的代码值。
    • 代码 0:生存时间超时,当 IP 数据报中的 TTL 字段值减为 0 时,路由器会丢弃该数据报,并向源主机发送此超时报文。这主要是为了防止数据报在网络中无限循环。
    • 代码 1:分片重组超时,如果在分片重组过程中,接收方在规定时间内没有收到所有的分片,就会发送此超时报文,通知源主机重组超时。
  • 报文内容:同样会包含部分原始 IP 数据报的信息,帮助源主机识别对应的数据包。

参数问题报文

  • 类型和代码:类型为 12,代码值可以进一步细分不同的参数错误情况。
    • 代码 0:表示 IP 首部中的某个字段有问题,如错误的 IP 版本号、错误的首部长度等。
    • 代码 1:表示缺少必需的选项字段等。
  • 报文内容:该报文的数据部分会指出哪个参数出现了问题以及问题的具体位置,同时也会包含部分原始 IP 数据报的内容。

源抑制报文

  • 类型和代码:类型为 4,代码为 0。源抑制报文主要用于流量控制,当接收方的缓存即将溢出时,会向源主机发送此报文,请求源主机降低数据报的发送速率。
  • 报文内容:一般会包含一些与流量控制相关的信息,如接收方当前的缓存状态等,以便源主机能够合理地调整发送速率。

重定向报文

  • 类型和代码:类型为 5,代码有不同取值以表示不同的重定向类型。
    • 代码 0:对网络的重定向,表示去往目标网络的最佳路径发生了变化,需要通过指定的路由器转发。
    • 代码 1:对主机的重定向,指示到达目标主机的更好路径。
    • 代码 2:对服务类型和网络的重定向,基于服务类型的路由选择发生变化。
    • 代码 3:对服务类型和主机的重定向。
  • 报文内容:重定向报文中包含了正确的下一跳路由器的 IP 地址等信息,源主机收到此报文后,会更新其路由缓存,以便后续的数据报能够按照新的路径进行转发。

时间戳请求与应答报文

  • 类型和代码:类型为 13 表示时间戳请求,类型为 14 表示时间戳应答。代码均为 0。
  • 报文内容:时间戳请求报文中包含一个初始时间戳,由发送方填写。接收方在收到请求后,会在时间戳应答报文中返回三个时间戳,分别是接收请求时的时间戳、发送应答时的时间戳以及接收方的时钟与发送方时钟的差值估计,通过这些时间戳可以计算网络延迟、进行时钟同步等。

信息请求与应答报文

  • 类型和代码:类型为 15 表示信息请求,类型为 16 表示信息应答,代码均为 0。不过,这两种报文目前已很少使用,在现代网络中基本被其他协议和机制所替代。
  • 报文内容:信息请求报文中主要包含一些请求信息的标识等,信息应答报文则根据请求返回相应的信息,如网络配置等,但由于其功能的局限性和安全性等问题,逐渐被弃用。

标签:请求,主机,报文,差错,IP,类型,ICMP,代码
From: https://blog.csdn.net/2402_86034383/article/details/143717771

相关文章

  • zuul 验证,重写返回报文,解析gzip压缩response,使用案例
    业务是调用另一个平台API,用他们的接口能力实现一些功能。真正请求前的filter,我把一些请求前的验证和日志入库放在了这里。importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importcom.alibaba.fastjson2.util.DateUtils;importcom.iMagine.iMagi......
  • arping——通过发送ARP协议报文测试网络
    转自于:https://github.com/jaywcjlove/linux-command,后不赘述arping通过发送ARP协议报文测试网络补充说明arping命令是用于发送arp请求到一个相邻主机的工具,arping使用arp数据包,通过ping命令检查设备上的硬件地址。能够测试一个ip地址是否是在网络上已经被使用,并能够获取更......
  • CJ/T188-2004 报文举例
    REDISANT提供互联网与物联网开发测试套件 #互联网与中间件:RedisAssistantZooKeeperAssistantKafkaAssistantRocketMQAssistantRabbitMQAssistantPulsarAssistantHBaseAssistantNoSqlAssistantEtcdAssistantGarnetAssistant工业与物联网:MQTTAssi......
  • IEC104规约的秘密之二十----扩展报文之变电文件传输
    变电运维班辅助设备全面监控系统建设技术规范中有文件传输协议的定义。具体可以见:B.1.1.5文件传输扩展协议在这份协议中,定义的文件传输和6号文的基本一样,只不过TI从210换成了116。6号文的文件传输可以参考我之前写的文件传输:6号文文件传输还有一个地方不同,就是......
  • 美畅物联丨掌握Wireshark:GB28181协议报文分析实战指南
    Wireshark,一款在网络安全与协议分析领域享有盛誉的网络嗅探器,凭借其强大的功能集、直观的图形用户界面以及广泛的跨平台兼容性,已成为众多开发者不可或缺的得力助手。其开源特性吸引了大量开发者的积极参与,不断推动其功能的完善与升级。在GB/T28181协议(专为视频监控系统设......
  • 华为OD机试 E卷|响应报文时间
    华为OD机试E卷|响应报文时间0、关于本专栏&刷题交流群本文收录于专栏【2024华为OD机试真题】,专栏共有上千道OD机试真题,包含详细解答思路、与四种代码实现(Python、Java、C++、JavaScript)。点击文末链接加入【华为OD机试交流群】,和群友一起刷题备考。刷的越多,考试中遇到原题的......
  • day02|计算机网络重难点之HTTP请求报文和响应报文、HTTP的请求方式(方法字段)、GET请求
    day02|计算机网络重难点之HTTP请求报文和响应报文、HTTP的请求方式(方法字段)、GET请求和POST请求的区别3.HTTP请求报文和响应报文是怎样的,有哪些常见的字段?4.HTTP有哪些请求方式?(即方法字段的不同取值)5.GET请求和POST请求的区别3.HTTP请求报文和响应报文是怎样的,有哪......
  • CANOpen协议SDO中止报文(内存不足的解决方法)
    今天在开发过程中,使用SDO进行字符串传输的时候出现了错误,检查到SDO服务器返回的报文帧是一个中止帧,中止代码为0x05040005这时候去翻CIA301的手册查中止代码的含义为内存不足经过断点调试跟踪,发现在config.h中是一个配置宏设置的是32,而我的字符串的长度为50,所以就中止了,更改后......
  • TCP和UDP的报文格式
    TCP和UDP的报文格式  概要 了解TCP和UDP的报文格式对于网络通信、系统设计、故障排查和安全性等多个方面都非常重要。 一、TCP报文格式(TransmissionControlProtocol) TCP是面向连接、可靠的传输协议,其报文格式较复杂。TCP报文的格式如下:  上图简化如下:|......
  • 【CANoe】智能座舱、使用Capl脚本自动化发送报文
    使用Capl脚本发送报文:CAPL脚本是CANoe中一种类C的语言,需要与网络节点关联,也可以利用其加强测量分析功能,以及搭建高效的自动化测试模块。1.定时器比如我们需要周期性的发送CAN报文,或者周期性的检测某个系统变量的变化时就需要用到定时器。#使用定时器的第一步就是申明定时......