📜  互联网控制消息协议 (ICMP)

📅  最后修改于: 2022-05-13 01:57:02.142000             🧑  作者: Mango

互联网控制消息协议 (ICMP)

由于 IP 没有用于发送错误和控制消息的内置机制。它依赖于 Internet 控制消息协议 (ICMP) 来提供错误控制。它用于报告错误和管理查询。它是一种支持协议,被路由器等网络设备用于发送错误消息和操作信息。例如,请求的服务不可用或无法访问主机或路由器。

ICMPv4 数据包格式:

源淬火消息:
源淬火消息是降低发送到主机(目标)的消息的流量速率的请求。或者我们可以说,当接收主机检测到向它发送数据包的速率(流量速率)太快时,它会向源发送源猝灭消息以减慢速度,这样就不会丢失数据包。

ICMP 将从丢弃的数据包中获取源 IP,并通过发送源淬火消息通知源。

然后源将降低传输速度,使路由器免于拥塞。

当拥塞路由器远离源时,ICMP 会逐跳发送源猝灭消息,这样每个路由器都会降低传输速度。

参数问题:
每当数据包到达路由器时,计算的标头校验和应该等于接收到的标头校验和,然后只有数据包被路由器接受。

如果有不匹配的数据包将被路由器丢弃。

ICMP 将从丢弃的数据包中获取源 IP,并通过发送参数问题消息通知源。

超时消息:

当一些片段在网络中丢失时,路由器持有的片段将被丢弃,然后 ICMP 将从丢弃的数据包中获取源 IP 并通知源,丢弃的数据报由于生存时间字段达到零,通过发送时间超过信息。

目的地无法到达:
目的地不可达是由主机或其入站网关生成的,以通知客户端目的地由于某种原因不可达。

当网络中发生任何类型的故障(链路故障、硬件故障、端口故障等)时,没有必要条件是只有路由器在某个时候目标主机发送 ICMP 错误消息时才给出 ICMP 错误消息。

重定向消息:
重定向请求数据包在备用路由上发送。该消息通知主机更新其路由信息(以在备用路由上发送数据包)。

前任。如果主机尝试通过路由器 R1 发送数据,而 R1 在路由器 R2 上发送数据,则主机到 R2 有一条直接路径。然后 R1 会发送重定向消息,通知主机有直接通过 R2 到达目的地的最佳方式可用。然后主机将目的地的数据包直接发送到 R2。
路由器 R2 将原始数据报发送到预定目的地。
但是,如果数据报包含路由信息,那么即使有更好的路由可用,也不会发送此消息,因为重定向只能由网关发送,而不应由 Internet 主机发送。

每当一个数据包被转发到错误的方向后,它就会被重定向到当前方向,然后 ICMP 将发送一个重定向的消息。