摘要 | 第5-6页 |
Abstract | 第6页 |
第1章 绪论 | 第13-16页 |
1.1 研究背景及意义 | 第13页 |
1.2 数据包分类概述 | 第13-15页 |
1.2.1 传统数据包分类问题 | 第13-14页 |
1.2.2 OpenFlow流表查询问题 | 第14-15页 |
1.3 本文的组织结构 | 第15-16页 |
第2章 包分类技术国内外研究现状 | 第16-27页 |
2.1 基于通用CPU平台的解决方案 | 第16-19页 |
2.1.1 基于树形结构的多维规则匹配算法 | 第16-17页 |
2.1.2 RFC算法 | 第17-18页 |
2.1.3 基于布鲁姆过滤器的包分类算法 | 第18页 |
2.1.4 元组空间算法 | 第18-19页 |
2.2 基于硬件的解决方案 | 第19-21页 |
2.2.1 基于FPGA的解决方案 | 第19-20页 |
2.2.2 基于TCAM的解决方案 | 第20-21页 |
2.3 基于GPU的解决方案 | 第21-23页 |
2.4 OpenFlow中的包分类方案 | 第23-25页 |
2.4.1 多核CPU的解决方案 | 第23-24页 |
2.4.2 GFlow | 第24-25页 |
2.4.3 Bloom Search | 第25页 |
2.5 本章小结 | 第25-27页 |
第3章 GPU加速HiCuts算法 | 第27-38页 |
3.1 背景知识 | 第27-31页 |
3.1.1 HiCuts算法 | 第27-28页 |
3.1.2 Netmap | 第28-29页 |
3.1.3 CUDA | 第29-31页 |
3.1.4 ClassBench | 第31页 |
3.2 在GPU上执行HiCuts | 第31-33页 |
3.3 平台部署 | 第33-35页 |
3.4 实验评估 | 第35-37页 |
3.4.1 数据集 | 第35页 |
3.4.2 CPU和GPU执行HiCuts的性能对比 | 第35-36页 |
3.4.3 不同的CUDA配置下的吞吐率 | 第36-37页 |
3.4.4 存储空间的使用量 | 第37页 |
3.5 本章小结 | 第37-38页 |
第4章 比特位图合并算法 | 第38-49页 |
4.1 GPU的硬件特点及优化 | 第38-40页 |
4.1.1 全局存储器的合并访存 | 第38-39页 |
4.1.2 常量存储器 | 第39页 |
4.1.3 简化线程逻辑 | 第39页 |
4.1.4 多流优化 | 第39-40页 |
4.2 算法思想 | 第40-46页 |
4.2.1 CPU预处理操作 | 第40-44页 |
4.2.2 GPU执行包分类操作 | 第44-45页 |
4.2.3 GPU线程并行处理策略 | 第45-46页 |
4.3 实验验证 | 第46-48页 |
4.3.1 预处理时间 | 第46-47页 |
4.3.2 与HiCuts的性能对比 | 第47-48页 |
4.4 本章小结 | 第48-49页 |
第5章 基于比特划分树的包分类算法 | 第49-56页 |
5.1 比特划分树 | 第49-50页 |
5.2 流表查询操作 | 第50页 |
5.3 更新操作 | 第50-52页 |
5.3.1 插入规则 | 第50-51页 |
5.3.2 删除规则 | 第51-52页 |
5.4 在GPU上实现BSTree | 第52-53页 |
5.5 实验验证 | 第53-54页 |
5.5.1 查询性能 | 第53-54页 |
5.5.2 更新性能 | 第54页 |
5.6 本章小结 | 第54-56页 |
结论 | 第56-58页 |
参考文献 | 第58-62页 |
致谢 | 第62-63页 |
附录A 发表论文和参加科研情况说明 | 第63页 |