ICMP(Internet Control Message Protocol)网际控制报文协议初识

标签: 路由器 网络 ICMP
7人阅读 评论(0) 收藏 举报
分类:

什么是ICMP协议

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

它工作在OSI七层模型的中的第三层——网络层。

ICMP报文的结构

每一个ICMP消息都将包含引发这条ICMP消息的数据包的完全IP包头,这样,端点系统就会知道实际上哪一个数据包没有发送到目的地.另外引发此ICMP消息的数据包的前8个字节也将包括在内,这通常是TCP或者UDP包头.
ICMP报文的结构如下图所示:

ICMP

其中类型(TYPE)和代码(CODE)共同确定了ICMP传输的消息。而检验和则用于验证ICMP的完整性。TYPE和CODE的对应表如下:

ICMP对应表

ICMP的特点

  • 面向无连接
  • 是TCP/IP协议族的一个子协议,属于网络层协议
  • 传递的是控制信息
  • PING和Tracert等命令就是基于ICMP协议
  • ICMP就是一个“错误侦测与回报机制”

ICMP的主要功能

  • 侦测远端主机是否存在
  • 建立及维护路由资料
  • 重导资料传送路径(ICMP重定向:在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。)

ICMP协议实例

当我们使用PING命令进行主机探测时,使用的就是ICMP协议。

ICMP带来的问题

ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。

  • “Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。(操作系统已经取消了发送ICMP数据包的大小的限制,解决了这个漏洞)
  • 向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。

问题的解决方案

对于“ICMP风暴”问题,解决方案1是在路由器上对ICMP数据包进行带宽限制,将ICMP占用的带宽控制在一定的范围内,这样即使有ICMP攻击,它所占用的带宽也是非常有限的,对整个网络的影响非常少

解决方案2是设置一个防火墙,过滤ICMP包。一些现有的防火墙就会屏蔽ICMP包。


参考文章:https://baike.baidu.com/item/ICMP/572452?fr=aladdin

http://network.51cto.com/art/201007/214708.htm

查看评论

网际控制报文协议ICMP

网际控制报文协议ICMP1. 网际控制报文协议ICMP(Internet Control Message Protocol) ICMP:是因特网的标准协议,但不是高层协议,而是IP层的协议。 ICMP...
  • cainv89
  • cainv89
  • 2017-04-10 23:38:31
  • 685

RFC792中文版(介绍ICMP的哦)

  • 2009年10月11日 11:14
  • 108KB
  • 下载

TCP-IP详解卷1-06:ICMP:Internet控制报文协议(Internet Control Message Protocol)

ICMP
  • chpdirector84
  • chpdirector84
  • 2010-11-24 23:06:00
  • 3064

ICMP(Internet Control Message Protocol)协议[总]

  ICMP协议总述,包含实现的icmp协议应用集合程序icmpy;在以后各篇将讲解每种协议及其应用程序的实现   ICMP协议是一种发送各种消息报告状态的协态,与IP协议一样属于网络层  报文格式:...
  • qy532846454
  • qy532846454
  • 2010-03-16 09:21:00
  • 3029

tcp/ip协议学习笔记(5)Internet Control Message Protocol(ICMP)

ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网...
  • wangpeihuixyz
  • wangpeihuixyz
  • 2014-01-18 11:43:03
  • 1702

Internet Control Message Protocol ( ICMP )

  • 2010年12月20日 11:25
  • 2.41MB
  • 下载

网际协议IP(3)之网际控制报文协议ICMP(Internet Control Message Protocol)

ICMP协议 为了更有效的转发IP数据报和提高交付成功的机会,在网络层使用了网际控制报文协议ICMP。因为ICMP报文是装在IP数据报中,作为其中的数据部分,因此它是IP层的协议。ICMP报文作为I...
  • baidu_32134295
  • baidu_32134295
  • 2017-05-10 19:33:11
  • 351

转帖只为记录经典之<IP协议号大全(网络协议号) >

IP协议号大全(网络协议号)      1     ICMP        Internet Control Message           [RFC792]      2     IG...
  • jeffreyst
  • jeffreyst
  • 2012-03-08 14:07:20
  • 715

ICMP (网际控制报文协议)

曾经看过这样的一道面试题,icmp报文是基于什么传输层协议进行传输的?顺着他的思路传输层的两个主要协议tcp和udp,区别也就是在于是否保障可靠性的传输。当时还没有系统的学习过ICMP的报文结构和组成...
  • wswit
  • wswit
  • 2015-07-09 10:33:16
  • 1441

ICMP详解.rar

  • 2012年07月25日 17:17
  • 184KB
  • 下载
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 33万+
    积分: 3585
    排名: 1万+
    博客专栏
    最新评论