- 7
- 0
- 约1.54万字
- 约 19页
- 2016-11-03 发布于贵州
- 举报
linux tcip协议栈分析
sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在include/linux/skbuff.h中定义,并包含很多成员变量供网络代码中的各子系统使用。
这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的成员变量以使得成员变量的布局更加清晰。它的成员变量可以大致分为以下几类:
Layout 布局
General 通用
Feature-specific功能相关
Management functions管理函数
这个结构被不同的网络层(MAC或者其他二层链路协议,三层的IP,四层的TCP或UDP等)使用,并且其中的成员变量在结构从一层向另一层传递时改变。L4向L3传递前会添加一个L4的头部,同样,L3向L2传递前,会添加一个L3的头部。添加头部比在不同层之间拷贝数据的效率更高。由于在缓冲区的头部添加数据意味着要修改指向缓冲区的指针,这是个复杂的操作,所以内核提供了一个函数skb_reserve(在后面的章节中描述)来完成这个功能。协议栈中的每一层在往下一层传递缓冲区前,第一件事就是调用skb_reserve在缓冲区的头部给协议头预留一定的空间。
skb_reserve同样被设备驱动使用来对齐接收到包的包头。如果缓冲区向上层协议传递,旧的协议层的头部信息就没什么用了。例如,L2的头部只有在网络
您可能关注的文档
- HTC One 内置程序可精简列表.doc
- HTC_One_(S720e)建议可删除系统自带程序列表.doc
- HTML、SQLC++及C#综合测试十六(含答案).doc
- HTML基础入门列教程(一)之HTML初识.doc
- HTML与Scrpt基础文档.doc
- httpwwwlzxorgschoolDocumentssyxkg丽水中学校本课程开发实施方案doc.doc
- HttpWatc HTTP协议分析指南(详解).doc
- httpwwwxwgovcnlawhtml租赁合同范本doc.doc
- HTTP协议(RC2616)的响应模型.doc
- HVS时频特性的频质量评价方法.doc
- 糕点馅料生产线项目可行性研究报告模板-拿地备案.doc
- 固体废物处理及资源化利用项目可行性研究报告模板-备案审批.doc
- 分装碳酸氢钠和偶氮二甲酰胺项目可行性研究报告模板-立项备案.doc
- 建设卡丝化妆品研发生产基地项目可行性研究报告模板-备案审批.doc
- 发展生态圈暨无人机全产业链创新示范基地项目可行性研究报告模板立项申批备案.doc
- 航空产业产教融合实训基地项目可行性研究报告模板-备案审批.doc
- 加油加气站(母、子站)新建项目可行性研究报告模板-立项拿地.doc
- 改建600td油脂精炼车间项目可行性研究报告模板拿地备案立项.doc
- 陈祖维二试几何.pdf
- 2026-2027新人教版小学数学3三年级上册(全册)优秀课件.ppt
最近下载
- 河北省中医经典之温病学知识竞赛理论考试题库(附答案).docx VIP
- 2024年湖北省中医经典之温病学知识竞赛理论考试题库(附答案).docx VIP
- EP3与信捷触摸屏的使用说明.pdf VIP
- 全省中医经典《温病学》知识竞赛考试题库(含答案).docx VIP
- 中医经典(温病学题库).pdf VIP
- 第1-13届北方数学奥林匹克数学试题及解答.pdf VIP
- 中医经典“温病学”知识竞赛决赛备考试题库500题(含答案).pdf VIP
- 呼吸操锻炼主题讲座.pptx VIP
- 给排水国标图集-04S520:埋地塑料排水管道施工.pdf VIP
- 尿素水解制氨系统中防结垢装置及尿素水解制氨系统.pdf VIP
原创力文档

文档评论(0)