LWIP学习笔记3——ICMP协议

8 网际控制报文协议 ICMP

ICMP 最典型的用途是差错报告。如果由于网络状况、链路不通等数据报无法到达目标主机,ICMP 就会返回一个差错报文,让源主机知道数据没能正常到达目标主机,接着进行重发或者放弃发送都可以。
ICMP 通常被认为是 IP 的一部分,但从体系结构上讲它是位于 IP 之上的,因为 ICMP报文是承载在 IP 数据报中的。这就是说, ICMP 报文是作为 IP 数据报数据区域的(有一些书籍也称之为有效载荷) ,就像 TCP 与 UDP 报文段作为 IP 数据报数据区域那样。类似地,当一台主机收到一个指明上层协议为 ICMP 的 IP 数据报时,它将分解出该数据报的内容给ICMP,就像分解出一个数据报的内容给 TCP 或 UDP 一样,但与 TCP 或 UDP 协议又有所不同, ICMP 出现的目的不是为上层应用程序提供服务,只是在 IP 层传递差错的报文,依赖于 IP 协议进行传输。

8.1 ICMP 报文结构

在这里插入图片描述
在这里插入图片描述

8.2 ICMP 报文类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.3 ICMP 查询报文

ping 命令使用的就是 ICMP 查询报文,若能 ping 成功,说明网卡、 IP 层、ICMP 层都能通信正常, 所以能证明 LwIP 已经移植成功了,我们一般在移植完成的时候都会测试一下 ping 命令,查看一下是否移植成功。
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章