ICMP:Internet控制报文协议

2019-05-13  本文已影响0人  食梦狸猫

ICMP是IP层的一个组成部分,用于传递差错报文和一些其他需要注意的信息。


屏幕快照 2019-05-13 上午11.34.56.png

ICMP报文的格式

屏幕快照 2019-05-13 上午11.36.10.png

不会产生ICMP差错报文的情况:

ICMP地址掩码请求与回答

ICMP地址掩码请求用于无盘系统在引导过程中获取自己的子网掩码。

屏幕快照 2019-05-13 上午11.52.41.png

标识符和序列号字段由发送端任意选择设定,这些值在应答中被返回。这样发送端就可以把应答和请求匹配了。
系统广播ICMP请求报文,应答是单播。通常,除非系统是地址掩码的授权代理,否则不能发送地址掩码应答。

如果向本机IP地址和换回地址发送地址掩码请求,得到的地址掩码对应的都是环回地址,也就是ff000000

ICMP时间戳请求与应答

ICMP时间戳请求允许系统向另一个系统查询当前时间,这提供了毫秒级的分辨率。


屏幕快照 2019-05-13 下午12.04.41.png

请求端在发送ICMP请求时发起时间戳,然后发送报文,应答端在收到报文时填写接受时间戳,在发送应答时填写传送时间戳。

ICMP端口不可达错误

端口不可达报文是ICMP目的不可达报文中的一种。在UDP的规则中,如果收到一份UDP数据报而目的端口和其正在使用的进程不相符的话,UDP立即返回一个ICMP不可达报文。

ICMP报文的处理

屏幕快照 2019-05-13 下午12.23.27.png

如果ICMP报文的处理方法是内核,那就由系统内核来处理收到的ICMP请求报文。如果处理方法是用户进程,那么需要报文传送给在内核中登记了的用户进程,如果不存在这样的用户进程,那么ICMP报文就会被丢弃。如果处理方法是一串字符,那么对应的就是unix差错。

上一篇 下一篇

猜你喜欢

热点阅读