| 摘要 | 第1-5页 |
| Abstract | 第5-9页 |
| 第1章 绪论 | 第9-15页 |
| ·背景分析 | 第9-10页 |
| ·国内外研究现状 | 第10-12页 |
| ·TOE卸载引擎 | 第10-11页 |
| ·应用层直接访问网卡接口 | 第11页 |
| ·高速网络下数据包的捕获方法 | 第11-12页 |
| ·P2P技术介绍 | 第12-13页 |
| ·本文的研究内容 | 第13页 |
| ·本文的组织结构 | 第13-15页 |
| 第2章 Linux 网络协议栈实现原理 | 第15-39页 |
| ·标准 TCP/IP 参考模型与 Linux 网络协议栈 | 第15-28页 |
| ·标准TCP/IP参考模型 | 第16-17页 |
| ·Linux网络协议栈的实现特点 | 第17-28页 |
| ·Linux 网络协议栈的初始化 | 第28-32页 |
| ·概述 | 第28-29页 |
| ·Linux协议栈的初始化过程 | 第29-32页 |
| ·网卡驱动程序 | 第32-35页 |
| ·概述 | 第32页 |
| ·初始化 | 第32-33页 |
| ·中断处理 | 第33-34页 |
| ·接收数据包 | 第34页 |
| ·发送数据包 | 第34-35页 |
| ·RTL8139 网卡驱动程序分析 | 第35-39页 |
| ·入口函数 | 第35-36页 |
| ·rtl8139_init_one 函数 | 第36-37页 |
| ·rtl8139_open 函数 | 第37页 |
| ·rtl8139_close 函数 | 第37页 |
| ·数据发送过程 | 第37-38页 |
| ·数据接收过程 | 第38-39页 |
| 第3章 ONPK方案基本思想与实现 | 第39-56页 |
| ·ONPK方案的基本原理 | 第39-47页 |
| ·概述 | 第39页 |
| ·用户空间和内核空间 | 第39-41页 |
| ·原始数据发送模型 | 第41-43页 |
| ·改进后的数据发送模型 | 第43-44页 |
| ·再次改进的数据发送模型 | 第44-46页 |
| ·本文提出的数据发送模型 | 第46-47页 |
| ·ONPK方案的实现步骤 | 第47-56页 |
| ·概述 | 第47页 |
| ·步骤1: 驱动程序开辟内存 | 第47-48页 |
| ·步骤2: 映射已开辟内存为字符设备文件 | 第48-52页 |
| ·步骤3: 网卡驱动程序主动查询已经开辟的内存 | 第52页 |
| ·步骤4: 应用程序调用接口 | 第52-55页 |
| ·实验结果 | 第55-56页 |
| 第4章 数据访问子系统的设计与实现 | 第56-65页 |
| ·子系统设计 | 第56-58页 |
| ·认证模块 | 第56-57页 |
| ·断点续传模块 | 第57页 |
| ·连接模块 | 第57页 |
| ·数据发送模块 | 第57-58页 |
| ·多点传送模块 | 第58页 |
| ·存储节点速度测量模块 | 第58页 |
| ·子系统实现 | 第58-65页 |
| ·服务器端 | 第58-61页 |
| ·客户端 | 第61-63页 |
| ·客户端和具体服务器交互流程图 | 第63-65页 |
| 第5章 ONPK方案验证及测试结果 | 第65-68页 |
| ·实验设计 | 第65-66页 |
| ·实验结果及分析 | 第66-68页 |
| 第6章总结与展望 | 第68-69页 |
| ·总结 | 第68页 |
| ·展望 | 第68-69页 |
| 参考文献 | 第69-72页 |
| 致谢 | 第72-73页 |
| 在读期间发表的学术论文与取得的研究成果 | 第73页 |