【lwIP(第五章)】网络数据包

lwIP是一种轻量级的TCP/IP协议栈,与标准协议栈不同,它采用模糊分层并优化数据包处理,减少了数据拷贝,提高了效率。pbuf是lwIP中用于数据传递的结构,具有链式结构和引用计数等特性,允许灵活处理和减少内存开销。pbufAlloc()是用于分配pbuf的函数。
摘要由CSDN通过智能技术生成

一、网络数据包简介

TCP/IP是一种数据通信机制,因此,协议栈的实现本质上就是对数据包进行处理,为了实现高效的效率,lwIP数据包管理要提供一种高效处理的机制。协议栈各层能对数据包进行灵活的处理,同时减少数据在各层间传递时的时间与空间开销,这是提高协议栈工作效率的关键点。在lwIP中它称之为pbuf。

在这里插入图片描述

pbuf用于lwIP各层间的数据传递,避免了各层间拷贝数据


二、lwIP与标准TCP/IP协议栈区别

标准TCP/IP协议lwIP协议栈
严格分层模糊分层
数据传输层层拷贝对数据直接操作
数据包私有数据包共享
效率低效率高
数据处理要求低数据处理要求高
完整的TCP/IP协议栈较完整的TCP/IP协议栈

lwIP是一种模糊分层的TCP/IP协议栈,数据传递大大提高


三、lwIP网络数据包结构

/* pbuf.h */
struct pbuf 
{ 
	struct pbuf *next; 		/* 指向下一个节点 */ 
	void *payload; 		/* 指向数据区域 */ 
	u16_t tot_len; 		/* 总长度 */ 
	u16_t len; 			/* 当前pbuf数据区域大小 */
	u8_t type_internal; 	/* pbuf的类型 */
	LWIP_PBUF_REF_T ref; 	/* 引用计数 */ 
	/* .............. */ 
}; 

在这里插入图片描述

四、lwIP网络数据包类型

在这里插入图片描述
注意:这些pbuf可以多种类型的组合分配


五、lwIP网络数据包函数

在这里插入图片描述


pbuf_alloc()函数
在这里插入图片描述


在这里插入图片描述


## 3.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eiker_3169

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值