ICMP是哪层协议?在了解ICMP是哪层协议之前,思博先来跟大家聊一聊ICMP协议。

ICMP是哪层协议?

ICMP协议是什么?

ICMP的全称是Internet Control Message Protocol,翻译过来也就是Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。它是一种面向无连接的协议,传递的控制消息指的是网络通不通、主机是否可达、路由是否可用等网络本身的消,包括报告错误、交换受限控制和状态信息等。也就是说,当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用,对网络安全也具有极其重要的意义。

ICMP是哪层协议?

了解了ICMP协议是什么之后,关于ICMP是哪层协议相信大家也心里有数了。
在TCP/IP 模型中I,ICMP协议属于网络层协议,是网络层的重要成员,它与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。ping 和 tracert是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。

ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。

ICMP协议的作用

一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。 所以我们就需要一种协议来完成这样的功能,而完成这个功能的协议就是ICMP。

从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性。当路由器在处理一个数据包的过程中发生了意外,可以通过ICMP向数据包的源端报告有关事件。

这么看来,ICMP协议的功能主要有:侦测远端主机是否存在,建立及维护路由资料,重导资料传送路径(ICMP重定向),资料流量控制。ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连线状况。

ICMP协议的报文格式

ICMP报文包含在IP数据报中,属于IP的一个用户,IP头部就在ICMP报文的前面,所以一个ICMP报文包括IP头部、ICMP头部和ICMP报文,IP头部的Protocol值为1就说明这是一个ICMP报文,ICMP头部中的类型(Type)域用于说明ICMP报文的作用及格式,此外还有一个代码(Code)域用于详细说明某种ICMP报文的类型,所有数据都在ICMP头部后面。

经过这篇文章,相信大家对ICMP是哪层协议以及ICMP协议都有一定了解了吧。有问题欢迎咨询!