0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ICMPv4协议—互联网控制报文协议

北汇信息POLELINK 2024-07-25 08:25 次阅读


作者 | 向闲


小编 | 不吃猪头肉



6f98f94c-4a1c-11ef-817b-92fbcf53809c.png 引言
在车载以太网测试中,因为IP协议本身提供的是不可靠传输,所以如果网络出现丢包、网络错误等问题就需要及时向管理者报告错误和状态信息,此时就需要借助ICMP协议来实现这一功能。

什么是ICMPv4协议

ICMP协议全称是Internet Control Message Protocol,即互联网控制报文协议。其中,ICMPv4和ICMPv6分别指用于IPv4和IPv6的ICMP版本。目前在车载以太网里常用到的IP协议是IPv4,所以本文着重介绍ICMPv4,ICMPv6不涉及。
ICMPv4协议是TCP/IP协议簇的一个子协议,封装在IPv4报文中,主要用于在IPv4主机、路由器之间传递控制消息,用于报告网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于收集各种网络信息、诊断和排除各种网络故障以及用户数据的传递起着重要的作用。

6fa0ae8a-4a1c-11ef-817b-92fbcf53809c.pngICMPv4报文格式
ICMPv4报文封装在IPv4数据报里,所以一个ICMPv4报文会包括IPv4头部、ICMPv4头部和ICMPv4 Payload。当IPv4头部的Protocol值为1时,表示为一个ICMPv4报文。
ICMPv4报头格式如下图:

6faac5d2-4a1c-11ef-817b-92fbcf53809c.png

ICMP报头格式

类型(Type):ICMPv4报文的类型,如目标不可达报文(Type=3)。代码(Code):ICMPv4报文类型(Type)下细化的子类型,如对于目标不可达报文(Type=3),code=1表示主机不可达,code=2表示协议不可达。校验和(Checksum):ICMPv4报文的校验和,校验方法与IP数据报首部校验和算法相同。
6fb712b0-4a1c-11ef-817b-92fbcf53809c.png报文分类
ICMPv4分为两类报文,1类是查询报文(通过对对端主机发送请求和接收对端主机发送响应的方式去传输消息,可以用来报告网络连通性等消息),1类是差错报文(报告IP数据报在传输过程中出现的错误)。
常见的ICMPv4报文类型

响应请求

平时使用较多的Ping命令就是通过对端主机发送回显请求(Type=8)和接收对端主机发送的回显回答(Type=0)去判断主机之间是否通信连通。

实际测试数据如下:

6fc522e2-4a1c-11ef-817b-92fbcf53809c.png


目标不可达

当路由器无法根据路由表转发IP数据报到指定的目标地址时,会向发送端主机返回一个目标不可达的差错报文,并报告不可达的原因。常见的目标不可达差错报文类型有网络不可达(Code=0)、主机不可达(Code=1)、协议不可达(Code=2)、端口不可达(Code=3)等。


实际测试数据如下:

6fdffffe-4a1c-11ef-817b-92fbcf53809c.png

时间戳

时间戳请求报文(Type=13)和时间戳应答报文(Type=14)用于测试两台主机之间数据报来回一次的传输时间。传输时,主机填充原始时间戳,接收方收到请求后填充接收时间戳后以Type=14的报文格式返回,发送方计算这个时间差。


实际测试数据如下:

6ffba1dc-4a1c-11ef-817b-92fbcf53809c.png

参数错误报文

一旦路由器或主机发现错误的数据报首部和错误的数据报选项参数时,便丢弃该数据报,并向源主机发送参数问题(Parameter Problem)报文(Type=12)。代码Code=0表示数据报首部中的某个字段的值有错或不明确,这时ICMP报文首部的指针指向数据报中有问题的字节。


实际测试数据如下:

7014e160-4a1c-11ef-817b-92fbcf53809c.png

下表是完整的ICMP报文分类:

70444004-4a1c-11ef-817b-92fbcf53809c.jpg



705c75de-4a1c-11ef-817b-92fbcf53809c.png 应用
ICMPv4最常见的用法是对网络进行测试和故障诊断,常用的程序是Ping 和tracert。

1)Ping

使用ping命令确定本地主机是否能与另一台主机成功交换数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等。


2)tracert

tracert 命令主要用来显示数据包到达目的主机所经过的路径。通过执行一个tracert到对方主机的命令,返回数据包到达目的主机所经历的路径详细信息,并显示每个路径所消耗的时间。


706e42d2-4a1c-11ef-817b-92fbcf53809c.png

总结
ICMP协议是TCP/IP协议簇中不可或缺的一部分。通过理解和应用ICMP协议,可以更好地帮助管理员去收集各种网络信息、诊断和排除各种网络故障

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 互联网
    +关注

    关注

    54

    文章

    11009

    浏览量

    101994
  • ICMP
    +关注

    关注

    0

    文章

    51

    浏览量

    14864
  • 车载以太网
    +关注

    关注

    18

    文章

    209

    浏览量

    22774
  • 报文
    +关注

    关注

    0

    文章

    33

    浏览量

    4001
收藏 人收藏

    评论

    相关推荐

    基于互联网IPv6协议白皮书

    基于互联网IPv6协议白皮书
    发表于 02-20 17:30

    【MiCOKit申请】基于互联网的远程操控机器人

    的开发板,利用wifi接入互联网,通过互联网远程的连接,实现对家里实时数据的监控,并操控一个有3个舵机的机械手实现远程操控。
    发表于 07-24 08:27

    第24章 RL-TCPnet之网络控制报文协议ICMP

    转最新网络教程本章节为大家讲解ICMP(Internet Control Message Protocol,网络控制报文协议),通过前面章节对TCP和UDP的学习,需要大家对ICMP也有个基础的认识
    发表于 11-16 16:48

    另一个角度看物联网协议

    协议包括:  1)以太网(10,100,1G)  2)WiFi(802.11b,g,n)  3)串行PPP(点对点协议)  4)GSM,3G,LTE,4G2. 网络层网络层是
    发表于 10-12 10:09

    互联网IPv6隧道过渡是什么?

    基于IPv4协议互联网经过20多年的飞速发展,在全球范围内已经取得了巨大的成功。但是,随着互联网规模的持续增长和新需求、新业务的发展,基于IPv4
    发表于 08-13 06:30

    请问移植好LWIP协议栈能通过网线接入路由器和连接互联网吗?

    如题,一直找不到答案。LWIP移植用的是发烧友的代码。移植这个TCP协议栈之后,要怎样才能接入互联网,访问互联网上的服务器呀?因为发烧友的代码是以太网实验(单片机和主机交流),我实在找不到答案。新人
    发表于 03-24 00:55

    介绍一种基于MOST的互联网协议通信标准

    介绍一种基于MOST的互联网协议通信标准
    发表于 05-21 07:10

    高级互联网协议(IP)摄像机与模拟摄像机的应用有何差异?

    本应用笔记介绍了安全视频监控系统中高级互联网协议(IP)摄像机与模拟摄像机的应用差异。
    发表于 06-02 06:36

    工业互联网通信协议相关学习随记资料

    工业互联网通信协议汇总:FOCAS协议:FOCAS1/2 是fanuc公司开发的数据通讯协议。主要是用来专门直接与fanuc的CNC,机器人和通用PLC做数据交换的接口。一般用HSSB或者以太网
    发表于 07-01 07:10

    TCP/IP网络协议简介

    目录1.1 常用网络协议1.2 网络协议的分层模型1.3 协议报文间的封装与拆封1.1 常用网络协议
    发表于 11-26 07:08

    TCP与UDP协议区别

    存储起来以便日后使用。ICMP互联网控制报文协议(Internet Control Message Protocol),它是TCP/IP协议族的一个子
    发表于 03-23 10:12

    移动互联网中SCTP协议的性能优化

    传统互联网和移动互联网的移动致富技术都面临着许多问题,本内容提出饿移动互联网中SCTP协议的性能优化
    发表于 05-26 16:09 22次下载
    移动<b class='flag-5'>互联网</b>中SCTP<b class='flag-5'>协议</b>的性能优化

    ICMP控制报文协议

    TCP-IP详解卷2 ICMP控制报文协议,学习TCP很好的资料。欢迎下载。
    发表于 05-09 14:13 0次下载

    互联网核心协议之一:TCP的基础知识

    TCP 是互联网核心协议之一,本文介绍它的基础知识。 一、TCP 协议的作用 互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工
    的头像 发表于 10-13 11:25 3420次阅读
    <b class='flag-5'>互联网</b>核心<b class='flag-5'>协议</b>之一:TCP的基础知识

    网络传输协议有几种?

    协议)、TCP(传输控制协议)、UDP(用户数据报协议)、ICMP(互联网控制报文
    的头像 发表于 04-02 16:04 748次阅读