你好,这里是网络技术联盟站。
今天应粉丝要求约稿讲一下ICMP,说起ICMP,咋一看,很熟悉,但是仔细想想又讲不出来啥,所以这就是本文的目的。
让我们直接开始吧!
什么是ICMP?
-
英文全称: Internet Control Message Protocol
-
中文名称:互联网控制报文协议 -
工作在 OSI 模型的网络层和 TCP/IP 模型的 Internet 层 -
ICMP 消息不直接传递到数据链路层 -
在 RFC 792 中定义
ICMP 通常不被网络上的用户应用程序直接使用,并且与 TCP 和 UDP 的工作方式完全不同。
简而言之,ICMP 的主要用途是发送 Echo ICMP 请求消息的 Ping 或 Trace 工具,以计算和确定网络上的计算机是否可用、数据包往返这台计算机所需的时间以及它们经过的计算机数量。
ICMP历史
ICMP 属于 TCP/IP 协议栈,互联网的先驱之一 Jon Postel 撰写了 ICMP 的原始概念,1981 年 4 月,在 RFC 777 中,编写了第一个标准,RFC 792 也是由 Postel 编写并于 1981 年 9 月由 Internet Engineering Community 发布的。
ICMP 的结构
-
类型Type:ICMP 中的每条消息都包含唯一的类型并放置在此字段中,其中一个常见的字段称为 echo request,类型为 8,此字段为 8 位,因此共有 256 种消息类型。 -
代码Code:ICMP 为每种类型的消息提供了带有Code字段的附加信息,代码字段为 8 位,有 256 个可能的值。 -
校验和Checksum:该字段为 16 位,计算方式与 IPv4 类似,用于为整个 ICMP 消息提供消息的错误检测。
ICMP的功能
ICMP 主要设计用于在将发送设备连接到接收设备的路径中工作的设备,在路径中间工作的最常见设备是路由器,ICMP 不限于路由器,网络中的任何设备都可以使用 ICMP 并向另一台设备发送消息,ICMP 为所有控制和信息消息提供单一机制。
ICMP的主要功能如下。
-
当源发送的 IP 数据包无法传递时,允许路由器通知源。 -
允许源发现到目标设备的所有可用路径。 -
允许源检查目标设备是否在线和启动。 -
允许管理员测试连接和调试与连接相关的问题。
ICMP 消息
ICMP主要有以下消息:
Echo Request / Echo Reply
中文名称:回声请求/回声回复 Echo Reply:ICMP Type 0 Echo Request:ICMP Type 8
回声消息可用于确定网络上的设备是否正在工作。
本地计算机向目标计算机发送 ICMP Echo Request 消息,接收计算机使用 Echo Replymessage 进行响应。
Destination Unreachable
-
中文名称:目的地不可达 -
ICMP Type 3
表示无法到达目标网络、主机或端口
Redirect
-
中文名称:重定向 -
ICMP Type 5
用于将主机重定向到不同的网络路径。
Source Quench
-
中文名称:源抑制 -
ICMP type 4
用于实现一个基本的流量控制机制,并通知源端停止发送数据包一段时间。
此消息通知数据报包在网络上快速传输,如果资源繁忙,则减慢到源设备的数据包传输速度。
Time Exceeded
-
中文名称:超市 -
ICMP Type 11
表示由于跳数过多,已超过生存时间 ( TTL )。
消息类型汇总:
总结
Internet 控制消息协议 (ICMP) 是 TCP/IP 的实用协议,负责提供有关 TCP/IP 网络上的设备、服务或路由的可用性的信息,大多数网络故障排除技术和工具都以常见的 ICMP 消息类型为中心,最著名的就是ping,主要用于测试设备之间的通信。
原创文章,作者:网络技术联盟站,如若转载,请注明出处:https://www.sudun.com/ask/34981.html