Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1297379
  • 博文数量: 196
  • 博客积分: 4141
  • 博客等级: 中将
  • 技术积分: 2253
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-21 20:04
文章存档

2019年(31)

2016年(1)

2014年(16)

2011年(8)

2010年(25)

2009年(115)

分类: 系统运维

2010-10-16 17:11:24

主要的数据结构

4.4BSD-Lite中的tcp/ip协议中,主要有四种数据结构:

1.      一条mbuf链表

2.      如下图所示:多条mbuf链表再次组合成二维链表

3.      如下图所示:多条mbuf链表再次组合成二维链表

4.      双向链表

Mbuf机制

四种mbuf结构

1.      0<=数据长度<=64

我们会遇到两个函数: i c m p _ r e f l e c tt c p _ r e s p o n d,它们通过把接收到的 m b u f作为输出m b u f来产生一个应答。

2.      85<=数据长度<=100

3.      101~207

 

第一个mbuf最多放100字节,但是由于有些数据域在两个mbuf公用就行了,所以第二个mbuf可以最多放8个数据

4.      数据长度>=2048,需要一个或者多个外部簇

Mbuf使用案例

Mbuf使用了共享簇的机制,避免了数据从一个mbuf复制到另外一个mbuf的过程

阅读(2859) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~