致谢 | 第5-6页 |
摘要 | 第6-7页 |
ABSTRACT | 第7-8页 |
目录 | 第9-12页 |
1 引言 | 第12-18页 |
1.1 本文研究的背景和意义 | 第12-14页 |
1.2 包分类算法研究现状 | 第14-15页 |
1.3 相关技术背景 | 第15-16页 |
1.4 本文组织结构 | 第16-17页 |
1.5 本章总结 | 第17-18页 |
2 包分类算法概述 | 第18-34页 |
2.1 包分类算法性能的衡量标准 | 第18-19页 |
2.1.1 时间复杂度 | 第18页 |
2.1.2 空间复杂度 | 第18-19页 |
2.1.3 更新复杂度 | 第19页 |
2.1.4 可扩展性 | 第19页 |
2.1.5 规则的任意性 | 第19页 |
2.2 基于存储器查找的算法 | 第19-21页 |
2.2.1 顺序查找算法 | 第20页 |
2.2.2 TCAM算法 | 第20-21页 |
2.3 基于数据结构的算法 | 第21-24页 |
2.3.1 Hierarchical Tries算法 | 第21-22页 |
2.3.2 Set-pruning Trie算法 | 第22-23页 |
2.3.3 Grid of Trie算法 | 第23-24页 |
2.4 启发式算法 | 第24-26页 |
2.4.1 RFC算法 | 第24-26页 |
2.4.2 BV算法和ABV算法 | 第26页 |
2.5 区域分割算法 | 第26-32页 |
2.5.1 Hicuts算法 | 第26-28页 |
2.5.2 Hypercuts算法 | 第28-32页 |
2.6 各种算法性能比较 | 第32-33页 |
2.7 本章小结 | 第33-34页 |
3 Hiercuts算法的设计 | 第34-39页 |
3.1 设计思想 | 第34页 |
3.2 算法设计 | 第34-37页 |
3.3 重复存储问题解决方案 | 第37-38页 |
3.4 本章总结 | 第38-39页 |
4 包分类算法的软件测试 | 第39-60页 |
4.1 PALAC简介 | 第39-47页 |
4.1.1 PALAC工作原理及模块简介 | 第39-41页 |
4.1.2 PALAC文件结构分析 | 第41页 |
4.1.3 主要类的关系及分析 | 第41-43页 |
4.1.5 PALAC主要模块功能及用法 | 第43-47页 |
4.2 新算法的添加和设计方法 | 第47-49页 |
4.2.1 添加新算法的实现过程 | 第47-48页 |
4.2.2 设计新算法的过程 | 第48-49页 |
4.2.3 Liner和Trie算法分析 | 第49页 |
4.3 Classbench介绍 | 第49-51页 |
4.4 算法的实现 | 第51-59页 |
4.4.1 Hicuts算法的实现 | 第51-54页 |
4.4.2 Hypercuts算法的实现 | 第54-55页 |
4.4.3 RFC算法的实现 | 第55-56页 |
4.4.4 Hiercuts算法的实现 | 第56-59页 |
4.5 本章小结 | 第59-60页 |
5 算法的硬件功能性验证 | 第60-69页 |
5.1 FPGA简介 | 第60-62页 |
5.1.1 FPGA技术 | 第60-61页 |
5.1.2 FPGA中的硬核、软核和固核 | 第61-62页 |
5.2 包分类算法在FPGA上面的实现 | 第62-68页 |
5.2.1 LwIP协议栈 | 第62-64页 |
5.2.2 包分类算法在FPGA上面的实现 | 第64-68页 |
5.3 验证结果 | 第68页 |
5.4 本章总结 | 第68-69页 |
6 总结与展望 | 第69-71页 |
6.1 本文总结 | 第69页 |
6.2 未来技术展望 | 第69-71页 |
参考文献 | 第71-73页 |
作者简历及攻读硕士学位期间取得的研究成果 | 第73-75页 |
学位论文数据集 | 第75页 |