摘要 | 第3-4页 |
ABSTRACT | 第4-5页 |
第一章 绪论 | 第9-13页 |
1.1 研究背景 | 第9页 |
1.2 国内外研究现状 | 第9-12页 |
1.3 主要研究内容 | 第12页 |
1.4 本文的组织结构及章节编排 | 第12-13页 |
第二章 Linux 网络处理架构分析 | 第13-26页 |
2.1 Linux 网络处理架构 | 第13-15页 |
2.1.1 系统组件 | 第13-14页 |
2.1.2 数据包接收操作 | 第14-15页 |
2.1.3 系统网络模块结构 | 第15页 |
2.2 接收性能的限制和因素 | 第15-23页 |
2.2.1 影响响应时间的因素 | 第16-19页 |
2.2.2 降低网络性能的因素 | 第19-23页 |
2.3 可能的解决方案及问题 | 第23-24页 |
2.3.1 均衡任务负载 | 第23-24页 |
2.3.2 增加缓存大小 | 第24页 |
2.4 小结 | 第24-26页 |
第三章 现有软硬件解决方案及分析 | 第26-46页 |
3.1 操作系统改进 | 第26-29页 |
3.1.1 避免数据拷贝操作 | 第26-27页 |
3.1.2 减小调度延迟 | 第27-28页 |
3.1.3 减小系统调用的代价 | 第28-29页 |
3.2 中断响应及实时化 | 第29-32页 |
3.2.1 中断延迟和 ISR 响应的抖动 | 第29-30页 |
3.2.2 实时化 Linux | 第30-32页 |
3.3 其他方案 | 第32-41页 |
3.3.1 NAPI 技术和减少中断服务开销 | 第32-37页 |
3.3.2 PFRING 实现原理 | 第37-40页 |
3.3.3 DPDK 技术原理 | 第40-41页 |
3.4 硬件特性的原理及应用 | 第41-45页 |
3.4.1 多核处理器 | 第41-42页 |
3.4.2 PCI/PCIe 总线和 MSI/MSI-X 中断机制 | 第42-43页 |
3.4.3 I/O 加速(IOAT) | 第43-45页 |
3.5 小结 | 第45-46页 |
第四章 系统设计与实现 | 第46-64页 |
4.1 设计的基本原则 | 第46-47页 |
4.2 硬件和操作系统选择 | 第47页 |
4.3 系统设计 | 第47-49页 |
4.3.1 硬件结构 | 第47-48页 |
4.3.2 软件结构 | 第48-49页 |
4.4 实现细节 | 第49-56页 |
4.4.1 RSS 原理及哈希改进 | 第49-52页 |
4.4.2 Netmap 原理及数据结构改进 | 第52-55页 |
4.4.3 网卡驱动分析及修改 | 第55-56页 |
4.5 数据包捕获程序设计 | 第56-62页 |
4.5.1 程序逻辑流程图 | 第56-58页 |
4.5.2 程序详细设计 | 第58-62页 |
4.6 本章小结 | 第62-64页 |
第五章 系统测试与分析 | 第64-68页 |
5.1 测试环境配置 | 第64-66页 |
5.1.1 硬件配置 | 第64页 |
5.1.2 优化内核配置 | 第64-65页 |
5.1.3 优化系统配置 | 第65-66页 |
5.1.4 发送端配置 | 第66页 |
5.2 系统测试 | 第66-67页 |
5.3 测试分析 | 第67页 |
5.4 本章小结 | 第67-68页 |
第六章 总结与展望 | 第68-69页 |
参考文献 | 第69-73页 |
致谢 | 第73-74页 |
攻读学位期间发表的论文 | 第74-75页 |
上海交通大学硕士学位论文答辩决议书 | 第75-77页 |