TCPIP以太网数据包格式解析及LWIP架构图解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以太网数据包分类及格式解析

1、以太网数据链路层帧格式(MAC 帧)——即CPU 通过MII/RMII 接口发给PHY 芯片的数据

2、ARP (Address Resolution Protocol ——地址解析协议)协议数据包格式

硬件类型:一般为0x0001:表示MAC 帧中“目的地址”的类型为以太网MAC

地址。

协议类型:表示要映射的协议地址类型。0x0800表示映射为IP 地址。 硬件地址长度:表示“目的地址”的长度,MAC 地址为0x06。 协议地址长度:表示IP 地址长度,为0x04。

OP :表示操作类型。ARP 请求:0x01;ARP 应答:

0x02;RARP 请求:0x03;RARP

应答:0x04。

发送端以太网地址:同“源地址”。

发送端IP 地址:即“源地址”对应的IP 地址。

目的以太网地址:同“目的地址”,对ARP 请求来说,为0。 目的IP 地址:ARP 包要发往的对象IP 地址。

3、IP 数据包格式

4位版本:对于IPv4,该值为4;对于IPv6,该值为6。

4位首部长度:记录首部长度,以字为单位。对于不含选项的IP报头,该值为5。

8位服务类型:用来描述IP数据包急需的服务类型,如最小延时、最大吞吐量等。本字段在LWIP中没用。

16位总长度:描述了整个IP数据报包括IP报头的总字节数。

16位标识:用来标识IP层发送出去的每一份IP数据报,每发送一份报文,该值加1。

3位标志和13位偏移:用于IP数据包分片时使用。

8位生存时间(TTL):描述了该IP数据包最多能被转发的次数,每经过一次转发,该值减1,当该值为0时,一个ICMP报文会被返回至源主机。

8位协议:用来描述该IP数据包是来自于上层的哪个协议。1:ICMP;2:IGMP;

6:TCP;17:UDP。

16位首部校验和:针对IP首部的校验和,并不包括数据部分。数据部分的校验是由上层协议负责的。

32位源IP地址:发送该IP包的主机IP地址。

32位目的IP地址:该包欲到达的目的主机IP地址。

选项和数据:上层协议数据。有ICMP、TCP、UDP等。

4、ICMP(Internet Control Message Protocol—控制报文协议)包格式(ping命令

是其中一种)。

类型:回显请求:8;回显应答:0。

代码:请求和应答代码均为0。

标识符:Unix系统在实现Ping命令时,把ICMP报文中的该字段置为发送进程的ID号。

序号:序号从0开始,每发送一次新的回显请求就加1。

5、LWIP协议栈主要函数架构和调用关系图

相关文档
最新文档