摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
缩略词表 | 第14-15页 |
第一章 绪论 | 第15-21页 |
1.1 研究背景 | 第15-17页 |
1.1.1 以太网的快速发展 | 第15页 |
1.1.2 SDN和NFV的快速发展 | 第15-17页 |
1.2 研究问题的提出 | 第17页 |
1.3 国内外研究现状 | 第17-18页 |
1.4 论文的主要工作 | 第18-21页 |
1.4.1 论文内容与意义 | 第18-19页 |
1.4.2 本文的结构 | 第19-21页 |
第二章 协议分析与技术介绍 | 第21-29页 |
2.1 相关的协议简介 | 第21-22页 |
2.1.1 MAC子层协议 | 第21页 |
2.1.2 网络层协议 | 第21-22页 |
2.2 用户空间I/O框架 | 第22-23页 |
2.3 处理器亲和性 | 第23-25页 |
2.4 硬件高速缓存、转址旁路转换、Linux大页面机制 | 第25-27页 |
2.4.1 硬件高速缓存 | 第25-26页 |
2.4.2 转址旁路转换 | 第26页 |
2.4.3 Linux大页面机制 | 第26-27页 |
2.5 对称多处理以及和非对称多处理 | 第27-28页 |
2.6 本章小结 | 第28-29页 |
第三章 数据处理方案的整体架构 | 第29-43页 |
3.1 数据处理方案架构 | 第29-30页 |
3.2 数据处理方案的改进 | 第30-32页 |
3.3 数据处理方案的处理流程 | 第32-34页 |
3.4 数据处理方案带来的有益效果 | 第34页 |
3.5 数据处理方案对软件根本要求 | 第34-36页 |
3.6 数据处理方案数据传输模块总体方案 | 第36-42页 |
3.6.1 Intel DPDK框架 | 第36-39页 |
3.6.1.1 DPDK框架主要组成模块 | 第36-38页 |
3.6.1.2 DPDK框架给数据处理平面带来的有益效果 | 第38-39页 |
3.6.2 环境抽象层(EAL)分析 | 第39-41页 |
3.6.2.1 环境抽象层实现要求 | 第39-41页 |
3.6.2.2 环境抽象层中各个子模块的初始化步骤 | 第41页 |
3.6.3 驱动设计的具体要求分析 | 第41-42页 |
3.7 本章小结 | 第42-43页 |
第四章 环境抽象层各子模块的实现 | 第43-52页 |
4.1 环境抽象层中CPU子模块 | 第43-44页 |
4.2 环境抽象层中PCI子模块 | 第44-47页 |
4.2.1 PCI子模块初始化过程 | 第44-45页 |
4.2.2 PCI子模块探测函数 | 第45-47页 |
4.3 环境抽象层中内存子模块 | 第47-50页 |
4.3.1 环境抽象层中大页内存管理子模块 | 第47-49页 |
4.3.2 环境抽象层中内存区子模块 | 第49-50页 |
4.4 环境抽象层中线程子模块 | 第50-51页 |
4.5 本章小结 | 第51-52页 |
第五章 用户空间驱动的设计与实现 | 第52-72页 |
5.1 驱动实现方案的选择 | 第52-57页 |
5.1.1 中断还是轮询 | 第52-53页 |
5.1.2 传统设备驱动程序还是用户空间I/O | 第53-57页 |
5.1.2.1 传统的Linux网络设备驱动程序 | 第54-55页 |
5.1.2.2 Linux网络设备驱动的中断数据接收和发送过程 | 第55-57页 |
5.1.2.3 传统的网络设备驱动程序中存在的问题 | 第57页 |
5.2 用户空间轮询驱动详细设计与实现 | 第57-71页 |
5.2.1 用户空间轮询驱动的内核模块的设计与实现 | 第59-62页 |
5.2.2 用户空间轮询驱动的用户模块的设计与实现 | 第62-71页 |
5.2.2.1 用户空间轮询驱动的用户模块实现的关键数据结构 | 第62-66页 |
5.2.2.2 用户空间轮询驱动的轮询的实现 | 第66-67页 |
5.2.2.3 用户空间轮询驱动数据收发过程的具体实现 | 第67-70页 |
5.2.2.4 用户空间驱动中批量数据包处理的实现 | 第70-71页 |
5.3 本章小结 | 第71-72页 |
第六章 环境抽象层和用户空间驱动测试与分析 | 第72-89页 |
6.1 测试环境简介 | 第72-73页 |
6.2 简单功能测试 | 第73-79页 |
6.2.1 网卡基本收发功能测试 | 第73-75页 |
6.2.1.1 测试目的 | 第73页 |
6.2.1.2 网卡收发功能测试步骤 | 第73-74页 |
6.2.1.3 网卡收发功能测试结果与分析 | 第74-75页 |
6.2.2 数据卡低延时数据传递软件中环境抽象层测试 | 第75-76页 |
6.2.2.1 测试目的 | 第75页 |
6.2.2.2 环境抽象层测试步骤 | 第75页 |
6.2.2.3 环境抽象层测试与结果分析 | 第75-76页 |
6.2.3 数据卡低延时数据传递软件中用户空间驱动测试 | 第76-79页 |
6.2.3.1 测试目的 | 第76页 |
6.2.3.2 数据卡用户空间驱动测试场景与步骤 | 第76页 |
6.2.3.3 数据卡用户空间驱动测试与结果分析 | 第76-79页 |
6.3 性能测试 | 第79-86页 |
6.3.1 延时测试 | 第79-83页 |
6.3.1.1 测试目的 | 第79页 |
6.3.1.2 延时测试场景与步骤 | 第79-80页 |
6.3.1.3 延时测试与结果分析 | 第80-83页 |
6.3.2 吞吐率测试 | 第83-86页 |
6.3.2.1 测试目的 | 第83页 |
6.3.2.2 吞吐率测试场景和步骤 | 第83页 |
6.3.2.3 数据包关键信息方式转发测试吞吐率结果与分析 | 第83-86页 |
6.4 特殊功能测试-MAC地址替换 | 第86-88页 |
6.4.1 测试目的 | 第86页 |
6.4.2 MAC地址替换测试场景和步骤 | 第86-87页 |
6.4.3 MAC地址替换测试结果与分析 | 第87-88页 |
6.5 本章小结 | 第88-89页 |
第七章 结束语 | 第89-90页 |
7.1 论文总结 | 第89页 |
7.2 下一步研究工作 | 第89-90页 |
致谢 | 第90-91页 |
参考文献 | 第91-93页 |
攻读硕士学位期间的研究成果 | 第93页 |