网际控制报文协议ICMP

ICMP协议(网络层的)支持主机或路由器:

差错或异常报告:ICMP差错报文

网络探询:ICMP询问报文


ICMP差错报告报文(5种):

1.终点不可达:当路由器或主机不能交付数据报时就向源点发送终点不可达报文。

无法交付

2.源点抑制(已经废弃了):当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。

拥塞丢数据

3.时间超过:当路由器收到生存时间TTL=0的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文。当终点在预先规定的时间内不能收到一-个数据报的全部数据报片时,就把已收到的数据报片都丢弃,并向源点发送时间超过报文。

TTL=0

4.参数问题:当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文。

首部字段有问题

5.改变路由(重定向):路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器(可通过更好的路由)。

值得更好的路由

ICMP差错报告报文数据字段

不应发送ICMP差错报文的情况:

1.对ICMP差错报告报文不再发送ICMP差错报告报文。

2.对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。

3.对具有组播地址的数据报都不发送ICMP差错报告报文。

4.对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。


ICMP询问报文:

1.回送请求和回答报文

主机或路由器向特定目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。测试目的站是否可达以及了解其相关状态。

2.时间戳请求和回答报文请某个主机或路由器回答当前的日期和时间。用来进行时钟同步和测量时间。

3.掩码地址请求和回答报文(废弃)

4.路由器询问和通告报文(废弃)


ICMP的应用

1.PING——测试两个主机之间的连通性,使用了icmp回送请求和回答报文。

2.TRACEROUTE——测试一个分组从原点到终点的路径,使用了ICMP时间超过差错报告报文。

 traceroute命令和tracert命令的工作原理是一样的,只是前者用于unix和linux系统中,而后者用于windows系统中。

 

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。