下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

认识Internet控制报文协议ICMP

作者:课课家教育     来源: http://www.kokojia.com点击数:1185发布时间: 2019-02-27 15:41:42

标签: 网络安全Internet协议ICMPTCP/IP协议

软考,您想通过吗?一次通过才是硬道理

      在众多的Internet协议当中ICMP协议是一种面向无连接的协议,它属于网络层协议中的一种。ICMP对于网络有着重要的作用,是一个非常重要的协议,主要用于传输出错报告控制信息。接下来,我们就从ICMP协议的各个方面来揭开它的面纱吧。

  1.概述

  ICMP是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

  ICMP主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。

  2.ICMP报文的格式与结构

  ICMP协议允许路由器报告差错情况和提供有关异常情况的报告。当数据报不能正确到达目的站点,或者当路由器没有足够的缓存空间,又或者当路由器能够向主机提供更短的路由时, ICMP 协议会及时将这些信息发送出去。

ICMP报文格式及它与IP的关系如图1所示。

 认识Internet控制报文协议ICMP_网络安全_Internet协议_ICMP_TCP/IP协议_课课家

图1 ICMP报文格式及它与IP的关系

  ICMP报文的数据结构

  类型:一个8位类型字段,表示ICMP数据包类型;

  代码:一个8位代码域,表示指定类型中的一个功能,如果一个类型中只有一种功能,代码域置为0;

检验和:数据包中ICMP部分上的一个16位检验和;

ICMP报文的数据结构 

图2 ICMP报文的数据结构

  3.ICMP报文的类型

      ICMP报文有ICMP差错报文和ICMP询问报文两种。常用的类型以及它们的功能如表3所示。

几种ICMP报文及功能 

      值得注意的是,如果是一下的几种情况,那么就不应发送ICMP差错报文

  (1)对第一个分片的数据报片的所有后续数据报片都不发送ICMP 差错报告报文;

  (2)多播地址的数据报都不发送ICMP差错报告报文;

  (3)特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP差错报告报文。

  4.ICMP的作用

      ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。比如,可以利用操作系统规定的ICMP数据包尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。 此外,向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。

  5.ICMP的功能

  从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性﹐其功能主要有:

  ·侦测远端主机是否存在。

  ·建立及维护路由资料。

  ·重导资料传送路径。

  ·资料流量控制。

  6.ICMP协议的应用

  要使用该协议,我们可以进行相应的ICMP设置,比如在Windows XP中,首先打开“网络连接”,右键单击启用Internet连接防火墙的“网络连接”,选择“属性”打开属性窗口。接着,选择“高级”选项卡,单击右下角“设置”按钮。然后,在高级设置窗口中选择“ICMP”选项卡,在其中可以进行相应的设置,包括允许传入的回显请求等。

      也许我们在日常当中觉察不到有使用ICMP协议,但其实在网络中我们经常会使用到它。例如用于检查网络通不通的Ping命令,我们就经常有使用,这个“Ping”的过程实际上是ICMP协议工作的过程。还有跟踪路由的Tracert命令等一些其他的网络命令也是基与ICMP协议所进行的。

      ICMP的主要目的是为了提高数据报交付成功的机会,它不是高层协议,而是IP层的协议。相信通过以上的讲解大家应该都清楚其在网络安全当中的地位,也应该粗略了解了这一个协议的相关内容啦。如果喜欢,还请大家多多关注课课家教育,我们将会为您提供专业的网络课程教学视频哦。

赞(0)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程