美文网首页
ICMP 网络控制消息协议

ICMP 网络控制消息协议

作者: 采风JS | 来源:发表于2017-09-11 17:00 被阅读0次

ICMP,用于IP主机、路由器直接传递控制信息,主要分为查询和差错报文,并不传输用户数据;

- 协议字段

图1:协议字段

ICMP的类型由类型字段解释,代码字段用于标示发送错误的原因。下面介绍常用的ICMP报文:

- 目的不可达

当路由器收到一个无法传递下去的IP报文时,会发送ICMP目的不可达报文(Type3给IP报文的源发送方;

- 超时

图2:超时报文

网络在传送IP报文时,其TTL在不断减小,为0时路由器将其丢弃,并且向源发送方发送超时报文,类型为11,代码未0,即传输期间生存时间为0;

如果目的主机在收端重组分片时,迟迟未收到所有的分片,向源发送方发送超时报文,类型为11,代码为1,即数据报组装期间生存时间为0;

注:TTL的计算本质上基于时间的,所以繁忙的路由器可能减少的值不止为1,但是可以大约认为是1;TTL的使用,是为了防止数据报在网络中循环传输,直至产生拒绝服务的情况;

- 参数错误报文

当路由器或主机处理数据报时,发现因为报文头的参数错误而不得不丢弃报文时,需要向源发送方发送参数错误报文(Type12)。当Code为0时,报文中的Pointer表示错误的字节位置;

- 重定向

当路由收到IP数据报,发现数据报的目的地址在路由表上没有,它就会发ICMP重定向报文(Type5)给源发送方,提醒它想要发送的地址不在;

- 请求回显或回显应答

图3:请求回显或回显应答

ICMP是基于IP进行传输的,协议类型为1,对于网络安全具有重要的意义:

(1)Ping of Death攻击,就是当ICMP数据包的尺寸大于64KB时,主机出现内存分配错误,导致TCP/IP崩溃,主机死机;

(2)"ICMP风暴",是由于网络中充斥着大量ICMP报文,致使目标主机消耗大量CPU,疲于奔命;

相关文章

网友评论

      本文标题:ICMP 网络控制消息协议

      本文链接:https://www.haomeiwen.com/subject/snefsxtx.html