ICMP协议

2018-07-14  本文已影响0人  9ce066a9bfb3

概述:

当网络或者路由出现问题时,IP层可以处理的问题:

1.     因路由配置导致的路由回路,可通过设置TTL(Time To Live,目前一般该数值设置为跳转的路由个数)防止循环路由

2.     P数据报分片重组时,信宿机会为数据报设置缓冲区,但是当某个分片丢失时,该存储区不会被清楚。因此设置超时机制,防止因上述情况导致的存储区浪费

3.     当信宿机不可达或者关机,或者信宿机无法识别IP首部协议字段时,数据报被丢失

除去上述情况,仍有其他网络或路由问题需要解决。而这些问题正是I CMP(Internet Control Message Protocol)需要解决的。

1.     拥塞控制:路由器处理能力有限,在短时间收到大量IP数据报时,路由器需要通知源端减缓IP数据报发送;

2.     最优路由路径选择

3.     判断信宿机是否可达

4.     同步路由器时钟

报文格式

由首部与数据组成,首部包含类型。

报文封装:

报文类型:

其中需要测试网络联通性时,可以使用回送请求和回送应答报文

ICMP应用

ping程序

ping程序即是基于ICMP回送请求和回送应答,来检测目的站是否可达。

ping还可以制定TTL,超时时间等参数

tracert程序

目前是同的traceroute,利用了IP首部的TTL字段以及ICMP超时报文。将IP数据报首部的TTL字段设置为1时,该数据报经过第一个路由器后TTL字段递减为0,这个路由器会返回一个ICMP超时报文。这个报文封装在IP数据报中,源端可以提取获得源IP地址。只有,TTL以1为单位递增,最终获取路由中所有IP地址。

tracert针对每一跳都侦测三次

当然这种方案,在目标屏蔽了ICMP回送请求报文时,将无法收到ICMP回送应答报文。

上一篇下一篇

猜你喜欢

热点阅读