网络层(二)
ICMP协议
- 因特网控制报文协议,被主机和路由器用来彼此沟通网络层的信息,最典型的用途是差错报告。
- ICMP报文是作为IP有效荷载承载的。当主机收到一个指明上层协议为ICMP的IP数据报时(上层协议编码为1),它分解出该数据报的内容给ICMP,就像分解出一个数据报内容给TCP和UDP一样
ICMP报文格式
- ICMP有一个类型字段和编码字段,且包含引起该ICMP报文首次生成的IP数据报的首部和前8个字节
ICMP的分类
ICMP分为差错报告报文和询问报文
关于ICMP报文的常见问题
ICMP 的主机不可达报文是在什么情况下发出的?
- 路由器给该主机寻路时,没有找到相应路径,向源 IP 发回 ICMP 主机不可达
ICMP 重定向差错报文是怎么来的,在何种场合出现?
- 主机发送 IP 数据报给 R1,因为主机的默认路由指向的下一跳是 R1。
- R1 收到数据报并且检查它的路由表,发现 R2 是发送该数据报的下一跳。当他将数 据报发送给 R2 的时候,发现发送的接口与接受的端口是一样的,因此同时发送一个 ICMP 重定向报文给主机。
- P1 接受到 ICMP 重定向报文后,接下来的数据报就发送给 R2,而不再发送给 R1。
重定向报文有什么规则?
- 重定向报文只能有路由器生成。
- 重定向报文是为主机而不是为路由器使用的。
ping的实现
问题 7:Ping 命令的具体过程是怎么样的?
参考文章:《对于 Ping 的过程,你真的了解吗?》
https://mp.weixin.qq.com/s/DfQT3Vw2xaq60YIil-7Yxw