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