icmp协议是什么有什么用?保证数据完整性。在以前的IP通信之中经常发生数据传送不到目标的情况,这是因为路由器处理能力的不行,将数据包丢失或者是将端口搞错,这个时候icmp协议就应运而生了,目的就是为了保证数据包的完整性,并且辅助IP协议,进行各种信息之间的交换。

一、ICMP的协议的工作原理

image

1、给发消息者的错误通知

在数据包在被对方的计算机使用的过程之中,数据包中的错误也因此被使用,icmp协议就会向着发消息主机传送数据错误的消息,并且发送哪里的消息错误,消息错误的原因。

2、消息查询

这个主要是针对数据的完整性进行查询,查询关于对方自己的发送数据的多少,并且询问对方计算机的信息,确保是一个网络通道之中的机器,而不是黑客的来套用信息。

二、icmp协议与IP协议的区别

    image

虽然是icmp协议是通过IP数据包来进行消息的传输的,但是它与IP的报文格式却不是一样的,并且是IP协议的上层协议,用来分担IP的一部分功能所诞生的。

三、ICMP协议的作用

image

1、探索MTU

icmp协议是什么有什么用?首先第一个功能就是探索长度。MTU是数据能够发送的最大的长度,在这个途径之中一旦是超过自身大小的数据就会被分片丢失一部分,但是使用icmp协议之后,在进行mtu探索之时,自身超过了mtu的大小,但是icmp协议阻止分片,但又想通过,就在这样的情况下,最终送到windows之中,收到了即使是不分片也能够传送数据的大小,就可以改变mtu的值,然后继续通信,直到mtu被明确了之后才会停下该来。

2、改变路由

这个值得是发送方在想目的主机发送的时候,找不到目标,嘴中发送给默认网关,当发现局域网之中的某个路由比较快的时候,默认网关就将这个信息通过icmp发送给发消息者,并带上它的IP地址,这样当widows执行命令的时候,就会重写路由表,朝着目标IP发送信息。

3、源点抑制

当发送的信息因为来不及处理将要被丢失之前,icmp协议就会对发送方进行源点抑制,降低发送方发送消息的速度,防止消息被丢失。

4、首先ping命令

我们平时测试网络通路的ping命令也是由icmp协议实现的,通过这种方法,能够确定网络是否通路。