什么是 ICMP?

互联网控制消息协议 (ICMP) 是一组通信规则,设备使用这些规则在网络中传达数据传输错误。在发送方和接收方之间的消息交换中,可能会出现某些意外错误。例如,消息可能太长,或者数据包可能无法按顺序到达,因此接收方无法汇编。在这种情况下,接收方使用 ICMP 向发送方发送错误消息并请求重新发送消息。

ICMP 的应用场景是什么?

互联网控制消息协议 (ICMP) 是计算机网络中重要的网络层协议。它为网络设备提供了一种标准化机制,用于传送连接和网络状态等重要信息。所有连接到网络的设备,包括路由器和端点设备,都可以处理 ICMP 消息。ICMP 已经过调整,可以同时使用 IPv4 和 IPv6。

了解计算机联网 »

接下来,我们讨论一些常见的 ICMP 应用场景。

错误报告

ICMP 错误消息报告网络错误,例如目的地不可达、超时或分段问题。这些消息对于具有无连接通信模型的用户数据报协议 (UDP) 尤其重要。

UDP 不提供可靠、有序的数据包传输。发送 UDP 数据包时,数据包可能会丢失,也可能在传送时出现校验和错误等故障。如果发生这种情况,接收方会将 ICMP 错误报告消息发回给发送方,以通知该问题。

诊断

您可以使用 ICMP 进行网络诊断。它最常用于 ping 和 traceroute 命令。

ping 命令通过向目标设备发送 ICMP 回显请求数据包来测试网络设备的可访问性。如果设备可以访问,则会返回 ICMP 回显回复。它可以可靠地检查网络延迟并确保设备可用。

traceroute 命令跟踪数据包从源到目的地所采用的路径。为此,该命令将回显请求和回显回复消息发送到预定目的地。

回显请求包含一个生存时间 (TTL) 值,数据包每通过一个路由器,该值就会减 1。当数据包到达 TTL 为零的路由器时,路由器会向源端发送一条 ICMP 消息。

该消息包含有关数据包所采用路由的信息。Traceroute 会显示数据包的确切路径,可以为您提供网络性能详情。

网络安全

您可以使用 ICMP 检测未经授权的网络流量,并仅允许通过网络传输合法流量。防火墙使用 ICMP 来允许或阻止某些类型的流量。网络管理员还使用 ICMP 监控工具来跟踪网络设备的状态和连接,并检测未知设备。

您还可以使用它来发现可能表明未经授权活动的异常流量模式。

ICMP 的工作原理

互联网控制消息协议 (ICMP) 通常与其他网络协议(如 TCP/IP 或用户数据报协议 (UDP))一起使用。发生某些网络事件时,主机和路由器会交换 ICMP 消息或 ICMP 数据包。

ICMP 数据包包括 ICMP 数据包标头和 ICMP 数据部分。

ICMP 数据包标头

ICMP 标头包含有关数据包类型、数据包代码、校验和和标识符的信息。ICMP 数据包发送后,消息接收方将读取标头信息。它将根据数据包的类型采取适当的操作。

例如,如果类型为回显请求,则接收方将发送包含相同数据的回显回复。如果收到“目的地不可达”类型的数据包,则接收方会回复一个类似类型的数据包。

ICMP 数据部分

ICMP 消息中的数据部分包括目的地的 IP 地址或故障原因等信息。它还包含用于识别错误的错误代码或数字代码。

下面是一些示例:

  • 目的地不可达(类型 3)代码表示网络上不存在该接收方设备
  • 重定向(类型 5)代码会向另一台路由器发送一条消息,表明有更好的到达目的地的路由
  • 回显请求和回显回复(类型 8 和 10)代码测试设备之间的连接性
  • 超时消息显示数据包已超过到达目的地的最大时间
  • 参数问题消息指示路由器何时遇到 IP 字段标头问题
  • 当路由器遇到拥塞并且需要限制其接收的数据包数量时,会发送“源点抑制”消息

ICMP 与 TCP 之间有什么区别?

TCP 是一种面向连接的协议,用于进行可靠的、经过错误检查的数据传输。它通常用于网页浏览、电子邮件、远程登录和文件传输应用程序。TCP 需要握手,即在发送方和接收方之间建立信任和身份验证的一系列消息。TCP 可保证消息送达。 

相比之下,互联网控制消息协议 (ICMP) 是一种无连接协议。它不保证消息送达。由于 ICMP 仅用于错误报告,因此 ICMP 消息也比 TCP 数据包小。

ICMP 和 TCP 结合使用,以确定 TCP 传输失败的原因。

什么是 ICMP ping 泛洪攻击?

互联网控制消息协议 (ICMP) ping 泛洪攻击是拒绝服务 (DoS) 事件,即未经授权的用户在短时间内发送多个 ICMP 回显请求。每个 ICMP 请求都包含一个唯一的标识符和数据负载,要求接收方做出唯一的响应。接收服务器尝试响应每个未经授权的请求,这会延迟或减慢对授权来源的响应。 

为了防止 ICMP ping 泛洪攻击,您应确保对网络设备进行配置,以限制其愿意接受的 ICMP 流量。监控网络中是否存在未经授权的活动并采取必要的安全措施,防火墙和入侵检测系统 (IDS) 等,这一点也很重要。

AWS 如何加强对 DDoS 事件的防护?

Amazon Web Services (AWS) 提供 AWS Shield,帮助您更好地防范分布式拒绝服务 (DDoS) 事件。

AWS Shield 是一种托管式 DDoS 保护服务,可以保护在 AWS 上运行的应用程序。它支持持续检测和自动内联缓解功能,可以最大限度地缩短应用程序停机时间和延迟。AWS Shield 包含自动缓解技术,可防范所有类型的网络安全事件。

您可以从 AWS Shield 的许多功能中受益:

  • 在特定层自动清理未经授权的流量
  • 最大限度地减少应用程序停机时间和延迟
  • 监控和保护多达 1000 种资源类型
  • 基于应用程序流量模式的定制检测

立即创建账户,开始使用 DDoS 防护。

AWS 上的后续步骤

查看其他与产品相关的资源
查看内容分发服务 
注册免费账户

立即享受 AWS 免费套餐。

注册 
开始在控制台中构建

在 AWS 管理控制台中开始构建。

登录