博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LWIP学习笔记4——ICMP协议
阅读量:4092 次
发布时间:2019-05-25

本文共 568 字,大约阅读时间需要 1 分钟。

1 网际控制报文协议 ICMP

ICMP 最典型的用途是差错报告。如果由于网络状况、链路不通等数据报无法到达目标主机,ICMP 就会返回一个差错报文,让源主机知道数据没能正常到达目标主机,接着进行重发或者放弃发送都可以。

ICMP 通常被认为是 IP 的一部分,但从体系结构上讲它是位于 IP 之上的,因为 ICMP报文是承载在 IP 数据报中的。这就是说, ICMP 报文是作为 IP 数据报数据区域的(有一些书籍也称之为有效载荷) ,就像 TCP 与 UDP 报文段作为 IP 数据报数据区域那样。类似地,当一台主机收到一个指明上层协议为 ICMP 的 IP 数据报时,它将分解出该数据报的内容给ICMP,就像分解出一个数据报的内容给 TCP 或 UDP 一样,但与 TCP 或 UDP 协议又有所不同, ICMP 出现的目的不是为上层应用程序提供服务,只是在 IP 层传递差错的报文,依赖于 IP 协议进行传输。

1.2 ICMP 报文结构

在这里插入图片描述

在这里插入图片描述

1.3 ICMP 报文类型

在这里插入图片描述

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

1.4 ICMP 查询报文

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

在这里插入图片描述

转载地址:http://hdnii.baihongyu.com/

你可能感兴趣的文章
No devices detected. Fatal server error: no screens found
查看>>
db db2_monitorTool IBM Rational Performace Tester
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
swift中单例的创建及销毁
查看>>
IE不支持option的display:none属性
查看>>
[分享]mysql内置用于字符串型ip地址和整数型ip地址转换函数
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
移植Vim配色方案到Eclipse
查看>>
谈谈加密和混淆吧[转]
查看>>
乘法逆元
查看>>
Objective-C 基础入门(一)
查看>>
SpringCloud学习之PassCloud——(一)PassCloud源代码下载
查看>>
Nginx篇-springCloud配置Gateway+Nginx进行反向代理和负载均衡
查看>>
缓存篇-Redis缓存失效以及解决方案
查看>>
phpquery抓取网站内容简单介绍
查看>>
找工作准备的方向(4月22日写的)
查看>>
关于fwrite写入文件后打开查看是乱码的问题
查看>>
用结构体指针前必须要用malloc,不然会出现段错误
查看>>
Linux系统中的美
查看>>