什么是 ICMP ?ping和ICMP之间有啥关系?

举报
wljslmz 发表于 2022/09/13 16:52:55 2022/09/13
【摘要】 你好,这里是网络技术联盟站。今天应粉丝要求约稿讲一下ICMP,说起ICMP,咋一看,很熟悉,但是仔细想想又讲不出来啥,所以这就是本文的目的。让我们直接开始吧! 什么是ICMP?英文全称:Internet Control Message Protocol中文名称:互联网控制报文协议工作在 OSI 模型的网络层和 TCP/IP 模型的 Internet 层ICMP 消息不直接传递到数据链路层在 ...

你好,这里是网络技术联盟站。

今天应粉丝要求约稿讲一下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,主要用于测试设备之间的通信。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。