《深入理解Linux网络技术内幕》阅读笔记(二)
2015-09-25 15:19
615 查看
数据结构
sk_buff和sk_buff_head的前两个元素是相同的:next和prev指针。尽管sk_buff_head与sk_buff相比实在太小,但还是允许两个结构共同存在于同一个表中。另外,同样的函数也可用于操作sk_buff和sk_buff_head二者。
每个sk_buff结构都包含一个指针,指向专一的sk_buff_head结构,增加了其复杂性。这个指针的字段名称为list。
看图:
数据结构关系图:
191 struct sk_buff_head { 192 /* These two members must be first. */ 193 struct sk_buff *next; 194 struct sk_buff *prev; 195 196 __u32 qlen; 197 spinlock_t lock; 198 };
sk_buff和sk_buff_head的前两个元素是相同的:next和prev指针。尽管sk_buff_head与sk_buff相比实在太小,但还是允许两个结构共同存在于同一个表中。另外,同样的函数也可用于操作sk_buff和sk_buff_head二者。
每个sk_buff结构都包含一个指针,指向专一的sk_buff_head结构,增加了其复杂性。这个指针的字段名称为list。
看图:
数据结构关系图:
相关文章推荐
- TCP/IP数据报格式分析
- iOS安全系列之二:HTTPS进阶
- 解决DataSnap支持的Tcp长连接数受限的两种方法
- 关于httpclient使用https提交参数
- iOS安全系列之一:HTTPS
- 网络扫描技术揭秘
- 找呀志_java网络编程(5)TCP和udp差额
- 2015北京网络赛 D-The Celebration of Rabbits 动归+FWT
- Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport Security policy requir
- [原] 利用 OVS 建立 VxLAN 虚拟网络实验
- C# 热敏打印机 Socket 网络链接 打印 图片 (一)
- tcprstat分析服务的响应速度
- DataSnap如何监控Tcp/IP客户端的连接情况
- 第1章 网络基础知识
- boost asio网络编程
- C# 使用IP端口网络打印图片
- python--httplib模块使用
- python案例学习——http服务器
- 移动端网络游戏服务器架构
- loopj.android.http.AsyncHttpClient 400