ICMP 工作原理

ICMP(Internet 控制消息协议)是一种网络层协议,主要用于在 IP 主机、路由器之间传递控制消息。它的主要作用如下:

ICMP 工作原理_错误报告

错误报告

ICMP 协议为用户提供了一种简单易懂的错误报告机制。当发送设备发送的 IP 数据包在传输过程中出现错误时,接收设备会生成相应的 ICMP 错误报文,并将其返回给发送设备。发送设备根据 ICMP 报文中的错误类型和代码,可以确定发生错误的具体原因,从而采取相应的措施(如重新发送数据包等)。

ICMP 工作原理_诊断功能

诊断功能

ICMP 协议提供了一些诊断工具,如 Ping 和 Traceroute 命令。Ping 命令利用 ICMP 回显请求和回显应答报文来检测网络连通性。Traceroute 命令则利用 ICMP 超时报文来跟踪数据包从源主机到目的主机的路径。

ICMP 工作原理_控制消息

控制消息

ICMP 协议还定义了一些控制消息,如重定向消息、时间超过消息等。这些消息用于通知源主机或路由器采取适当的动作,以提高网络性能。

ICMP 协议是 IP 协议的补充,它为 IP 协议提供了一些必要的功能支持。尽管 ICMP 报文不能直接传输用户数据,但它在网络故障诊断、路由选择等方面发挥着重要作用,是保证 IP 网络正常运行的重要协议。


ICMP 功能

01

响应请求

在日常应用中,ICMP(Internet 控制消息协议)最常用于响应请求和应答。例如,当一台主机向另一个节点发送 ICMP 报文时,如果中途没有被路由器丢弃、目标没有回应 ICMP 或发生传输失败等异常情况,则目标节点会返回对应的 ICMP 报文。通过分析这些 ICMP 报文的响应时间和路径信息,我们可以进一步确定主机与接收对象之间的网络距离和连通性。ICMP 响应请求和应答是网络诊断和故障排除的重要工具。

03

时间戳

ICMP 还定义了时间戳请求报文和时间戳应答报文,用于测试两台主机之间一次数据报来回传输所需的时间。发送方在发送时间戳请求报文时会填充原始时间戳,接收方收到后会填充接收时间戳,然后以 Type=14 的 ICMP 报文格式返回时间戳应答报文。发送方通过计算时间差,可以了解数据报在网络中的传输时间,从而评估网络性能。时间戳请求和应答是 ICMP 协议中一项重要的网络测量功能。

02

目标不可到达、源抑制和超时报文

ICMP 还定义了三种不同格式的报文:目标不可达报文、源抑制报文和超时报文。目标不可达报文在路由器或主机无法正常传递数据报时使用,通知发送方目标不可达的原因。源抑制报文则主要用于控制流量,当主机发送的流量过大时,接收方可以通过发送源抑制报文要求发送方减少数据流量。超时报文一般会在无连接网络或数据报长时间在网络中游荡而找不到目标等情况下出现,通知发送方数据传输超时。这些 ICMP 报文有助于网络故障诊断和流量控制。


ICMP 攻击与抵御方法

01

ICMP 攻击

ICMP(Internet 控制消息协议)是 TCP/IP 协议族中的一种网络层协议,用于在 IP 主机、路由器之间传递控制消息。ICMP 协议对于网络通信和故障排查非常重要,但其本身的特点也容易被攻击者用来攻击网络主机和路由器。例如,攻击者可以利用 ICMP 数据包尺寸不超过 64K 这一规定,发送超过规定尺寸的数据包,导致目标主机出现内存分配错误,进而引发 TCP/IP 堆栈崩溃甚至死机。这种利用 ICMP 协议漏洞进行攻击的行为被称为 ICMP 攻击。

02

抵御方法

为了避免 ICMP 攻击的发生,用户可以在日常网络管理中采取以下防范措施:

  • 在路由器上对 ICMP 数据包进行带宽限制,将 ICMP 占用的带宽控制在一定范围内,从而有效降低对网络的影响。
  • 在主机上设置 ICMP 数据包处理规则,过滤掉恶意的 ICMP 数据包。通过配置合理的规则,可以有效阻挡 ICMP 攻击。
03

选择合适防火墙,抵御攻击

除了在路由器和主机上采取防御措施外,选择合适的防火墙也是抵御 ICMP 攻击的关键。合适的防火墙应该具备以下功能:

  • 状态监测功能,能够跟踪网络连接状态,检测异常连接行为。
  • 检测数据包完整性功能,能够识别被篡改的数据包。
  • 过滤规则控制功能,允许管理员自定义过滤规则,对 ICMP 数据包进行精细化控制。

通过有效的数据分析和过滤,防火墙可以防止未知的 ICMP 攻击发生。选择合适的防火墙后,网络管理员还需要配置合理的安全策略,对 ICMP 进行更细致的控制,从而充分保障网络的安全性。


ICMP 应用

ICMP(Internet 控制消息协议)是一种网络层协议,主要用于网络诊断和错误报告。ICMP 协议在许多网络管理命令中发挥着重要作用,其中最常见的是 ping 和 tracert 命令。

Ping 命令

Ping 命令用于测试网络连通性,它利用 ICMP 回送请求和回送应答报文来检查目标主机是否可达。当源主机发送 ICMP 回送请求报文时,目标主机会立即回送 ICMP 回送应答报文。如果源主机能够收到回送应答报文,则表明网络状态正常,可以与目标主机进行通信。

Tracert 命令

Tracert 命令主要用于跟踪数据包从源主机到目标主机所经过的路径,并显示每个路径节点的详细信息和响应时间。它通过发送 ICMP 回送请求报文并记录每个路由器的响应时间来实现路径跟踪。Tracert 命令可以帮助网络管理员诊断网络故障,确定网络延迟的原因,并优化网络路径。

其他网络管理工具应用

  • 网络映射工具使用 ICMP 报文来探测网络拓扑结构
  • 路由器使用 ICMP 报文来通知源主机网络故障或路由更改
  • 网络监控工具使用 ICMP 报文来检测网络设备的可用性和响应时间

总之,ICMP 协议在网络管理和故障诊断中扮演着不可或缺的角色,为网络管理员提供了有效的网络诊断和维护工具。


亚马逊云科技分发网络与 ICMP 协议相比的优势

亚马逊云科技分发网络与 ICMP 协议相比的优势_快速全球覆盖

快速,全球覆盖

Amazon CloudFront 内容分发网络 (CDN)  是一个大规模的全球分布式网络,覆盖 47 个国家/地区的 90 多个城市。它拥有超过 310 个入网点,包括 300 多个边缘站点和 13 个区域边缘缓存。这种广泛的全球覆盖使 CloudFront 能够利用高度弹性的私有骨干网络,为最终用户提供极佳的性能和可用性。无论用户位于何处,CloudFront 都能通过就近的边缘站点快速响应请求,从而缩短内容传输距离,减少延迟,提高网站或应用程序的加载速度。CloudFront 的全球覆盖范围和分布式架构确保了内容分发的高效性和可靠性,为用户提供流畅的在线体验。

亚马逊云科技分发网络与 ICMP 协议相比的优势_边缘站点安全性

边缘站点安全性

Amazon CloudFront 是一种高度安全的内容分发网络  (CDN),能够提供网络和应用程序级别的保护。用户的流量和应用程序可以免费受益于各种内置的安全保护措施,例如 Amazon Shield Standard。Shield Standard 是一种托管服务,可以保护 CloudFront 分发的应用程序免受常见的网络和传输层 DDoS 攻击。它通过检测和缓解恶意流量,确保应用程序的高可用性和可靠性。除了 Shield Standard 之外,CloudFront 还提供了其他安全功能,如 SSL/TLS 加密、地理限制、Web 应用程序防火墙等,帮助用户构建安全可靠的在线服务。

亚马逊云科技分发网络与 ICMP 协议相比的优势_与亚马逊云科技深度集成

与亚马逊云科技深度集成

Amazon CloudFront 与亚马逊云科技的其他服务深度集成,为用户提供了一站式的云服务体验。通过同一个控制台,用户可以轻松访问和管理亚马逊云科技的多项服务,如 Amazon S3、Amazon EC2 等。CloudFront 与 S3 的集成使得用户可以直接从 S3 存储桶分发静态和流式内容。与 EC2 的集成则允许用户从 EC2 实例分发动态内容。所有 CloudFront 的功能都可以通过软件控制台或亚马逊云科技管理控制台以编程方式进行控制和自动化。这种深度集成简化了云服务的管理和操作,提高了效率和灵活性,使用户能够充分利用亚马逊云科技生态系统的强大功能。


ICMP 的组成部分

ICMP 头部

包含 ICMP 消息类型、代码、校验和和标识符等字段,用于标识 ICMP 消息的类型和目的。

ICMP 类型和代码

ICMP 消息根据类型和代码字段的不同值,可分为不同的消息类型,如目标不可达(类型 3)、重定向(类型 5)等。

基于 ICMP 的工具

许多常用网络工具如 ping 和 traceroute 都是基于 ICMP 消息实现的。

ICMP 数据部分

包含目标 IP 地址、错误原因等信息,以及数字编码的错误代码,用于说明 ICMP 消息的具体内容。

ICMP 消息用途

ICMP 消息通常用于诊断和控制目的,或者在 IP 操作出错时生成,如 TTL 值为 0 时发送超时消息。

ICMP 在网络层

ICMP 是网络层协议,在 OSI 模型中属于第3层,在 TCP/IP 模型中属于第 2 层。


ICMP 与其他协议的区别

ICMP 与传输层协议的区别

ICMP 与传输层协议如 TCP 和 UDP 的主要区别在于,ICMP 通常不用于在系统之间交换数据,也不常被终端用户网络应用程序使用(除了一些诊断工具如 ping 和 traceroute)。ICMP 是一种网络层协议,在七层 OSI 模型中属于第三层协议,而在 TCP/IP 四层模型中属于第二层协议。相比之下,TCP 和 UDP 是传输层协议。此外,ICMP 数据包没有与之关联的 TCP 或 UDP 端口号,因为这些端口号与更高层的传输层相关联。

无连接与可靠性的区别

ICMP 是一种无连接协议,不保证消息传递,与面向连接的 TCP 协议形成对比,后者能保证可靠的、经过错误检查的数据传递。ICMP 消息通常比 TCP 数据包的大小更小。

用途的区别

ICMP 主要用于错误报告,如通知发送方目的地不可达、超时或分片问题。相比之下,TCP 通常用于 Web 浏览、电子邮件、远程登录和文件传输等应用程序。ICMP 和 TCP 经常一起使用,ICMP 有助于确定 TCP 传递失败的原因。防火墙和网络管理员还使用 ICMP 进行监控和检测未经授权的网络活动。


ICMP 的发展历史

互联网控制报文协议 (ICMP) 是一种辅助协议,最初由 DARPA 于 1981 年为 IPv4 开发。ICMP 被网络设备(如路由器)用于在与另一 IP 地址通信时发送错误消息和操作信息,表明指示成功或失败。与 TCP 和 UDP 等传输协议不同,ICMP 通常不用于在系统之间交换数据,也不常被终端用户网络应用程序使用(除了一些诊断工具如 ping 和 traceroute)。IPv4 的 ICMP 在 RFC 792 中定义,而 IPv6 使用单独的 ICMPv6,在 RFC 4443 中定义。ICMP 在网络通信中发挥着重要作用,为 IP 数据包传输提供支持和反馈。


欢迎加入亚马逊云科技培训中心

欢迎加入亚马逊云科技培训中心

从 0 到 1 轻松上手云服务,获取更多官方开发资源及培训教程
从 0 到 1 轻松上手云服务,获取更多官方开发资源及培训教程
  • 快速上手训练营
  • 第一课:亚马逊云科技简介

    本课程帮助您初步了解云平台与本地环境的差异,以及亚马逊云科技平台的基础设施和部分核心服务,包括亚马逊云科技平台上的弹性高可用架构,架构设计准则和本地架构迁移上云的基本知识。

    亚马逊云科技技术讲师:李锦鸿

    第二课:存储与数据库服务

    您将在本课程中学习到亚马逊云科技上的三个存储服务分别是什么。我们也将在这个模块中为您介绍亚马逊云科技上的关系型数据库服务 Amazon Relational Database Service (RDS)。

    亚马逊云科技资深技术讲师:周一川

    第三课:安全、身份和访问管理

    在这个模块,您将学习到保护您在亚马逊云科技上构建的应用的安全相关知识,责任共担模型以及身份和访问管理服务, Identity and Access Management (IAM) 。同时,通过讲师演示,您将学会如何授权给 EC2 实例,允许其访问 S3 上的资源。

    亚马逊云科技技术讲师:马仲凯
  • 账单设置与查看
  • 视频:快速完成税务设置

    部署时间:5 分钟

    视频:账户账单信息

    部署时间:3 分钟

    视频:如何支付账单

    部署时间:3 分钟

  • 动手实操
  • 快速上手云上无服务器化的 MySQL 数据库

    本教程将引导您创建一个Aurora Serverless 数据库并且连接上它。

    部署时间:10 分钟

    启动一台基于 Graviton2 的 EC2 实例


    本教程将为您讲解如何在云控制台上启动一台基于 Graviton2 的 EC2 实例。

    部署时间:5 分钟

    使用 Amazon Systems Manager 进行云资源统一跟踪和管理

    在这个快速上手教程中,您将学会如何使用 Amazon Systems Manager 在 Amazon EC2 实例上远程运行命令。

    部署时间:10 分钟

准备好体验亚马逊云科技提供的云服务了吗?

新用户享受中国区域 12 个月免费套餐

快速注册账号 享用免费套餐

快速注册账号 享用免费套餐

跟随注册步骤详解,三分钟快速创建账号,领取免费权益   立即注册 »

跟随注册步骤详解,三分钟快速创建账号,领取免费权益   立即注册 »

  • 1 进入注册页面
  • 1. 打开中国区

    输入邮箱 - 邮箱验证

    1. 打开中国区 账号注册页面

    输入邮箱 - 邮箱验证
    01
    填写您
    注册账号的邮箱
    点击“继续”
    01
    填写您
    注册账号的邮箱
    点击“继续”
    02
    查看您的
    注册账号邮箱
    02
    查看您的
    注册账号邮箱
    03
    输入
    邮箱中收到的验证码
    点击“继续”
    03
    输入
    邮箱中收到的验证码
    点击“继续”
    注:该链接中的内容显示语言 是与您的网页浏览器设置相一致的,您可以根据需要自行调整语言栏。 *图片点击可放大
  • 2 设置用户名及密码
  • 2. 填写用户名密码

    设置用户名 - 设置密码 - 确认密码

    2. 填写用户名密码

    设置用户名 - 设置密码 - 确认密码
    01
    请设置您的
    账号用户名
    *例如: webchina
    01
    请设置您的
    账号用户名
    *例如: webchina
    02
    为您的帐号
    设置密码
    02
    为您的帐号
    设置密码
    03
    重新
    输入密码
    03
    重新
    输入密码
    *图片可点击放大
  • 3 填写企业信息
  • 3. 填写账号联系人以及公司信息

    3. 填写账号联系人以及公司信息

    填写姓名 - 填写联系电话 - 填写公司名称 - 填写办公地址 - 选择是否需要发票 - 点击查看客户协议
    填写姓名 - 填写联系电话 - 填写公司名称 - 填写办公地址 - 选择是否需要发票 - 点击查看客户协议
    01
    填写公司联系人
    姓名全称
    01
    填写公司联系人
    姓名全称
    02
    填写公司联系人的
    联系电话
    02
    填写公司联系人的
    联系电话
    03
    填写
    公司名称
    *重要! ! !公司名称请务必与您所提供的营业执照公司名称保持一致
    03
    填写
    公司名称
    *重要! ! !公司名称请务必与您所提供的营业执照公司名称保持一致
    04
    填写
    公司办公地址
    省份/自治区/直辖市 - 城市 - 区 - 街道门牌号以及楼层信息 - 邮政编码
    04
    填写
    公司办公地址
    省份/自治区/直辖市 - 城市 - 区 - 街道门牌号以及楼层信息 - 邮政编码
    05
    请选择
    是否需要发票
    05
    请选择
    是否需要发票
    06
    点击查看
    客户协议
    勾选方框表示您已阅读,并同意客户协议的条款
    06
    点击查看
    客户协议
    勾选方框表示您已阅读,并同意客户协议的条款
    *图片可点击放大
  • 4 企业信息验证
  • 4. 企业信息验证

    上传企业执照 - 填写负责人姓名 - 填写联系方式 -上传身份证件

    4. 企业信息验证

    上传企业执照 - 填写负责人姓名 - 填写联系方式 -上传身份证件
    01
    在此上传
    企业注册执照
    01
    在此上传
    企业注册执照
    02
    请填写网络安全负责人的
    姓名

    请注意: 该字段务必与您下方提供的身份证号匹配或与证件上的姓名保持一致

    02
    请填写网络安全负责人的
    姓名

    请注意: 该字段务必与您下方提供的身份证号匹配或与证件上的姓名保持一致

    03
    请填写网络安全负责人的
    联系方式
    有效的电子邮件地址 - 有效的中国内地 手机号码 - 座机号码(如无座机,请填写正确有效的手机号码)
    03
    请填写网络安全负责人的
    联系方式
    有效的电子邮件地址 - 有效的中国内地 手机号码 - 座机号码(如无座机,请填写正确有效的手机号码)
    04
    在此上传网络安全负责人的
    身份证件

    请注意:当您选择证件类型为“身份证”时,您需要填写正确的身份证号码,选择其他证件类型时,您需要上传证件扫描稿

    04
    在此上传网络安全负责人的
    身份证件

    请注意:当您选择证件类型为“身份证”时,您需要填写正确的身份证号码,选择其他证件类型时,您需要上传证件扫描稿

    *图片可点击放大
  • 5 完成手机验证
  • 5. 完成手机验证

    输入手机号 - 输入验证码

    5. 完成手机验证

    输入手机号 - 输入验证码
    01
    在此填写
    手机号
    01
    在此填写
    手机号
    02
    请输入您收到的
    4 位
    验证码
    02
    请输入您收到的 4 位
    验证码
    03
    请点击
    继续
    03
    请点击
    继续
    *图片可点击放大
  • 6 选择支持计划
  • 6. 选择支持计划

    选择一个亚马逊云科技支持计划

    6. 选择支持计划

    选择一个亚马逊云科技支持计划
    请根据需求
    选择一个支持计划
    请根据需求
    选择一个支持计划
    *图片点击可放大
限时钜惠

免费试用 Amazon EC2 T4g 实例

新老用户现可享受每月 750 小时的免费 t4g.small 实例使用时长,优惠期至 2025 年 12 月 31 日!