基于FPGA的高性能应用层协议识别方法研究
发布时间:2017-06-07 02:08
本文关键词:基于FPGA的高性能应用层协议识别方法研究,由笔耕文化传播整理发布。
【摘要】:随着用户规模不断增大和网络应用日益丰富,互联网运行状况变得异常复杂。为了提高互联网的安全性与可管理性,应用层协议识别成为网络安全、管理设备的重要基础,我国下一代网络防火墙标准中已经将应用层协议识别列为核心要素之一。然而,随着互联网接入带宽的快速增长,40Gbps及更高性能网络已经逐渐开始部署,现有协议识别方法由于计算复杂度高、存储消耗大等原因导致处理能力不足,无法适应高速网络环境。为了解决上述问题,本文从未来互联网发展的实际需求出发,以高性能为主要目标,研究基于FPGA的应用层协议识别方法,以满足未来产业界对相关技术的需求。本文的主要贡献如下:提出了一个基于FPGA芯片的高性能应用层协议识别框架,通过基于简单字符串特征的协议识别方法降低协议识别的计算复杂度,并使用高效流管理进一步降低匹配引擎的工作负载。具体来说,该方法针对FPGA的硬件特性对流表数据结构、流表条目索引策略、表项过期管理机制、协议识别方法、并行引擎流水线、子系统协同机制等进行优化以达到协议识别的高性能。在Net FPGA10G开源硬件平台上的实验证明,原型系统能够支持百万级流条目过滤,针对128个协议进行检测,数据处理能力超过36 Gbps,识别准确率约为92%。为了进一步提高协议识别能力,提出一个基于正则表达式的协议识别引擎自动生成方法,通过适合FPGA硬件特性的数据结构、匹配方法等以提高协议识别性能。具体来说,该方法基于正则表达式协议特征对协议特征进行识别,主要包括一个多字符输入非确定状态机的转换算法以及一个FPGA识别引擎生成架构。前者允许协议识别状态机每周期处理多个字符;后者针对硬件特性进行优化以提高正则表达式匹配的性能。实验证明,该方法生成的协议识别引擎不仅可以达到与L7-filter相同的协议识别能力,而且数据处理能力超过10Gbps。同现有基于多字符输入状态机方法相比,性能提高约62%。提出一个面向100Gbps网络的协议识别加速方法以进一步提高识别引擎的处理性能。该方法首先对L7-filter规则集进行分析,总结正则表达式协议特征中广泛存在的模式;然后针对现有多字符状态机在输入字符宽度较大时产生状态机规模膨胀的问题进行研究;最后使用分而治之的策略,通过有针对性的数据模型、算法优化和匹配架构设计等研究以达到提高处理能力的目的。基于Virtex6 FPGA的实验表明,原型系统在保证识别准确率的前提下能够提供约115Gbps吞吐率,最多可以识别约850个互联网应用协议。
【关键词】:应用层协议识别 FPGA 专用体系结构 高性能 正则表达式匹配
【学位授予单位】:北京理工大学
【学位级别】:博士
【学位授予年份】:2015
【分类号】:TP393.08
【目录】:
- 摘要5-7
- ABSTRACT7-15
- 第1章 绪论15-23
- 1.1 研究目的和意义15-17
- 1.2 研究内容17-18
- 1.3 评价方法18-20
- 1.4 论文结构20-23
- 第2章 国内外研究现状及发展趋势23-39
- 2.1 引言23-24
- 2.2 应用层协议识别相关研究24-36
- 2.2.1 基于端口号的识别方法24-25
- 2.2.2 基于字符串特征的识别方法25-33
- 2.2.3 基于主机行为的识别方法33-34
- 2.2.4 基于机器学习的识别方法34-35
- 2.2.5 网络流管理方法35-36
- 2.3 应用层协议识别技术发展趋势36-39
- 第3章 一个基于FPGA的应用层协议识别框架39-57
- 3.1 引言39-40
- 3.2 基于FPGA的协议识别架构40-41
- 3.3 高速流管理设计41-45
- 3.3.1 流表检索与更新41-43
- 3.3.2 流信息有效性计算43-45
- 3.4 流识别引擎阵列45-50
- 3.4.1 简单字符串特征识别方法46-47
- 3.4.2 协议识别单元47-49
- 3.4.3 动态可重构49-50
- 3.5 评估50-54
- 3.5.1 性能指标50-51
- 3.5.2 芯片硬件资源使用率和处理能力51-52
- 3.5.3 包处理延迟52
- 3.5.4 识别率和识别准确率52-54
- 3.6 本章小结54-57
- 第4章 基于FPGA的应用层协议识别引擎生成方法57-77
- 4.1 引言57-60
- 4.2 匹配引擎生成架构60-66
- 4.2.1 正则解析器61-62
- 4.2.2 多字符输入状态机转换算法62-65
- 4.2.3 匹配引擎生成器65-66
- 4.3 评估66-74
- 4.3.1 实验设置67-68
- 4.3.2 状态机转换效率68-70
- 4.3.3 硬件资源使用率70-71
- 4.3.4 处理能力71-74
- 4.3.5 包处理延迟74
- 4.4 本章小结74-77
- 第5章 一种面向 100GBPS网络的应用层协议识别加速方法77-97
- 5.1 引言77-78
- 5.2 L7-filter规则集分析78-82
- 5.2.1 特征起始位置78-79
- 5.2.2 重复元字符79-81
- 5.2.3 集合元字符81-82
- 5.3 基于Link-NFA的硬件加速方法82-90
- 5.3.1 Link-NFA82-85
- 5.3.2 Link-NFA构造方法85-88
- 5.3.3 基于Bitmap的优化方法88-89
- 5.3.4 基于Link-NFA的协议识别引擎架构89-90
- 5.4 评估90-94
- 5.4.1 跳转数量90-91
- 5.4.2 硬件资源使用率91-92
- 5.4.3 处理能力92-94
- 5.4.4 处理延迟94
- 5.5 本章小结94-97
- 第6章 结论与展望97-99
- 6.1 全文工作总结97-98
- 6.2 未来工作展望98-99
- 参考文献99-115
- 攻读学位期间发表论文与研究成果清单115-117
- 攻读博士学位期间参加的科研项目117-119
- 致谢119-121
- 作者简介121
【参考文献】
中国期刊全文数据库 前1条
1 徐鹏;刘琼;林森;;基于支持向量机的Internet流量分类研究[J];计算机研究与发展;2009年03期
本文关键词:基于FPGA的高性能应用层协议识别方法研究,,由笔耕文化传播整理发布。
本文编号:427967
本文链接:https://www.wllwen.com/shoufeilunwen/xxkjbs/427967.html