- 12
- 0
- 约1.4万字
- 约 26页
- 2017-06-14 发布于贵州
- 举报
linux协议栈定时发送
篇一:linux tcpip协议栈分析
sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在lt;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同样被设备驱动使用来对齐接收
您可能关注的文档
- [《建设工程施工合同》2]建设工程施工合同.doc
- 《国际工程承包合同》(2).doc
- 485控制总线协议.doc
- 2008年元月,甲乙丙共同设立一合伙企业,合伙协议约定,甲以现金.doc
- 2013年委托融资租赁合同.doc
- 2014技术开发合作合同范本.doc
- 2015年3月技术许可合同范文:计算机软件许可合同.doc
- [劳动合同0.0]劳动合同法.doc
- 2017年最新版劳动合同范本-2017年最新版劳动合同.doc
- 7360,fx,支持的双上联协议?.doc
- 2024-2025学年湖南省邵阳市新宁县回龙寺镇人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市平原县王杲铺中小、王凤楼中小、腰站镇中小青岛版一年级下册3月月考数学试卷.docx
- 第四单元 课题3 物质组成的表示-初中化学新教材预习学案(人教版2024九年级上册).docx
- 2024-2025学年山东省济宁市梁山县人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市德州经济技术开发区长河小学等校青岛版一年级下册期中考试数学试卷.docx
- 2026《基于国产开源单片机GD32VF103的输变电设备物联网传感器设计》8300字.docx
- 2024年中考道德与法治真题完全解读(北京卷).docx
- 2026《基于机器视觉识别的工件边缘曲线重构方法分析》9000字.docx
- 课时9.4 物体的浮与沉【一大题型】八年级全一册物理(沪科版2024).docx
- 2024-2025学年广东省江门市开平市人教版一年级下册期中综合素养评价数学试卷.docx
原创力文档

文档评论(0)