一种基于FPGA的网络流量预处理方法技术

技术编号:18950807 阅读:31 留言:0更新日期:2018-09-15 13:20
本发明专利技术特别涉及一种基于FPGA的网络流量预处理方法。该基于FPGA的网络流量预处理方法,构建基于FPGA的网络流量预处理系统,包括流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块。该基于FPGA的网络流量预处理方法,后台服务器进行流量分析前衰减掉无效的流量,将采集的相关有效数据供后台服务器使用,有效降低了后台服务器处理压力,从而减少了部署服务器数量,达到了降低成本的目的。

A network traffic preprocessing method based on FPGA

The invention particularly relates to a network traffic preprocessing method based on FPGA. The network traffic pretreatment system based on FPGA is constructed, including traffic aggregation module, multi-group analysis module, multi-group replication module, multi-group matching module, matching result buffer module, custom domain update module and traffic distribution module. The pre-processing method of network traffic based on FPGA attenuates the invalid traffic before the back-end server carries on the traffic analysis, and supplies the relevant valid data for the back-end server to use, thus effectively reducing the processing pressure of the back-end server, thus reducing the number of deployed servers and reducing the cost.

【技术实现步骤摘要】
一种基于FPGA的网络流量预处理方法
本专利技术涉及数字通信
,特别涉及一种基于FPGA的网络流量预处理方法。
技术介绍
随着移动4G和电信网络的高速发展,数据流量的激增对运营商网络稳定性带来了巨大的挑战。但是为了保持良好健康的网络环境,运营商必须在网络监控和分析上加大基础设施投入,对不良信息进行检测、过滤处理。同时网络流量的加大必将导致后台分析的设备投入加大,导致投入成本增多。因此,对前期网络数据进行过滤处理显得尤为必要。基于上述情况,本专利技术提出了一种基于FPGA的网络流量预处理方法。
技术实现思路
本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的基于FPGA的网络流量预处理方法。本专利技术是通过如下技术方案实现的:一种基于FPGA的网络流量预处理方法,其特征在于:构建基于FPGA的网络流量预处理系统,包括流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块;所述流量汇聚模块接收来自多个输入接口流量并做汇聚处理,汇聚后的流量经过多元组解析模块解析剥离扩展层后获取其多元组信息,多元组复制模块将获取的多元组信息复制到多元组匹配模块,多元组匹配模块将多元组信息与自身配置规则索引进行匹配,匹配完返回的匹配结果将缓冲至匹配结果缓冲模块,自定义域更新模块则根据匹配结果更新报文自定义域字段,流量分发模块则根据自定义域内容转发流量至相应输出接口。所述流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块通过Verilog语言进行行为级描述,编译综合映射形成网表文件下载至FPGA芯片中,通过FPGA芯片的形式实现逻辑控制。一种基于FPGA的网络流量预处理方法,实现过程如下:(1)系统初始化,将预先定义的匹配规则通过控制通路下发至多元组匹配模块;(2)流量接入后首先经FPGA高速接口进入芯片内部,解码后的多路流量分别做非以太报文、超短包、超长包识别并丢弃,剩余的流量在流量汇聚模块进行汇聚处理;(3)汇聚后的流量送多元组解析模块,前期首先将报文扩展层MPLS和VLAN逐层剥离,如果是隧道报文将剥离外层封装保留内层IP报文,前期处理完成后根据标准以太报文格式提取出多元组信息;多元组复制模块将获取的多元组信息和前期处理后的报文复制到多元组匹配模块;(4)多元组匹配模块收到多元组信息后进行索引匹配,根据初始下发的规则进行匹配,无论是否匹配到对应的结果,多元组匹配模块均输出一个对应的匹配结果,并与多元组信息缓冲至匹配结果缓冲模块;(5)匹配结果缓冲模块接收多元组信息和匹配结果,首先根据匹配结果和多元组信息,判断是否保留该报文,将判断结果标记封装后传输给自定义域更新模块,判断结果主要有对报文作保留、丢弃和指定接口输出;(6)自定义域更新模块接收匹配结果缓冲模块转发的报文和判断结果后,根据判断结果标记的输出接口,更新报文自定义字段后送至流量分发模块,或者丢弃报文;(7)流量分发模块接收自定义域更新模块报文后根据标记的输出接口将流量转发输出至外部设备,该处输出接口可以是背板接口或面板接口。所述匹配结果缓冲模块除了缓冲多元组匹配结果,还将缓冲多元组信息和对应的源报文分片,同时对齐该三者数据。所述自定义域更新模块报文输出接口标记在源MAC字段,按照固定格式更新目的MAC字段作为背板交换的路由信息。所述流量汇聚模块和流量分发模块分别负责流量接入和输出,接入和输出接口支持千兆和万兆接口。所述流量分发模块根据报文自定义域字段标记输出接口转发报文,转发报文的输出接口支持流量接入接口或其它接口输出。本专利技术的有益效果是:该基于FPGA的网络流量预处理方法,后台服务器进行流量分析前衰减掉无效的流量,将采集的相关有效数据供后台服务器使用,有效降低了后台服务器处理压力,从而减少了部署服务器数量,达到了降低成本的目的。附图说明附图1为本专利技术基于FPGA的网络流量预处理方法示意图。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本专利技术进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。该基于FPGA的网络流量预处理方法,构建基于FPGA的网络流量预处理系统,包括流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块;所述流量汇聚模块接收来自多个输入接口流量并做汇聚处理,汇聚后的流量经过多元组解析模块解析剥离扩展层后获取其多元组信息,多元组复制模块将获取的多元组信息复制到多元组匹配模块,多元组匹配模块将多元组信息与自身配置规则索引进行匹配,匹配完返回的匹配结果将缓冲至匹配结果缓冲模块,自定义域更新模块则根据匹配结果更新报文自定义域字段,流量分发模块则根据自定义域内容转发流量至相应输出接口。所述流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块通过Verilog语言进行行为级描述,编译综合映射形成网表文件下载至FPGA芯片中,通过FPGA芯片的形式实现逻辑控制。一种基于FPGA的网络流量预处理方法,实现过程如下:(1)系统初始化,将预先定义的匹配规则通过控制通路下发至多元组匹配模块;(2)流量接入后首先经FPGA高速接口进入芯片内部,解码后的多路流量分别做非以太报文、超短包、超长包识别并丢弃,剩余的流量在流量汇聚模块进行汇聚处理;(3)汇聚后的流量送多元组解析模块,前期首先将报文扩展层MPLS和VLAN逐层剥离,如果是隧道报文将剥离外层封装保留内层IP报文,前期处理完成后根据标准以太报文格式提取出多元组信息;多元组复制模块将获取的多元组信息和前期处理后的报文复制到多元组匹配模块;(4)多元组匹配模块收到多元组信息后进行索引匹配,根据初始下发的规则进行匹配,无论是否匹配到对应的结果,多元组匹配模块均输出一个对应的匹配结果,并与多元组信息缓冲至匹配结果缓冲模块;(5)匹配结果缓冲模块接收多元组信息和匹配结果,首先根据匹配结果和多元组信息,判断是否保留该报文,将判断结果标记封装后传输给自定义域更新模块,判断结果主要有对报文作保留、丢弃和指定接口输出;(6)自定义域更新模块接收匹配结果缓冲模块转发的报文和判断结果后,根据判断结果标记的输出接口,更新报文自定义字段后送至流量分发模块,或者丢弃报文;(7)流量分发模块接收自定义域更新模块报文后根据标记的输出接口将流量转发输出至外部设备,该处输出接口可以是背板接口或面板接口。所述匹配结果缓冲模块除了缓冲多元组匹配结果,还将缓冲多元组信息和对应的源报文分片,同时对齐该三者数据。所述自定义域更新模块报文输出接口标记在源MAC字段,按照固定格式更新目的MAC字段作为背板交换的路由信息。所述流量汇聚模块和流量分发模块分别负责流量接入和输出,接入和输出接口支持千兆和万兆接口。所述流量分发模块根据报文自定义域字段标记输出接口转发报文,转发报文的输出接口支持流量接入接口或其它接口输出。实施例1输入输出接口万兆以太接口采用XAUI协议,接口密度为8个,FPGA芯片采用Altera的型号为EP2AGX125EF29I3芯片本文档来自技高网...

【技术保护点】
1.一种基于FPGA的网络流量预处理方法,其特征在于:构建基于FPGA的网络流量预处理系统,包括流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块;所述流量汇聚模块接收来自多个输入接口流量并做汇聚处理,汇聚后的流量经过多元组解析模块解析剥离扩展层后获取其多元组信息,多元组复制模块将获取的多元组信息复制到多元组匹配模块,多元组匹配模块将多元组信息与自身配置规则索引进行匹配,匹配完返回的匹配结果将缓冲至匹配结果缓冲模块,自定义域更新模块则根据匹配结果更新报文自定义域字段,流量分发模块则根据自定义域内容转发流量至相应输出接口。

【技术特征摘要】
1.一种基于FPGA的网络流量预处理方法,其特征在于:构建基于FPGA的网络流量预处理系统,包括流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块;所述流量汇聚模块接收来自多个输入接口流量并做汇聚处理,汇聚后的流量经过多元组解析模块解析剥离扩展层后获取其多元组信息,多元组复制模块将获取的多元组信息复制到多元组匹配模块,多元组匹配模块将多元组信息与自身配置规则索引进行匹配,匹配完返回的匹配结果将缓冲至匹配结果缓冲模块,自定义域更新模块则根据匹配结果更新报文自定义域字段,流量分发模块则根据自定义域内容转发流量至相应输出接口。2.根据权利要求1所述的基于FPGA的网络流量预处理方法,其特征在于:所述流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块通过Verilog语言进行行为级描述,编译综合映射形成网表文件下载至FPGA芯片中,通过FPGA芯片的形式实现逻辑控制。3.根据权利要求1或2所述的基于FPGA的网络流量预处理方法,其特征在于,实现过程如下:(1)系统初始化,将预先定义的匹配规则通过控制通路下发至多元组匹配模块;(2)流量接入后首先经FPGA高速接口进入芯片内部,解码后的多路流量分别做非以太报文、超短包、超长包识别并丢弃,剩余的流量在流量汇聚模块进行汇聚处理;(3)汇聚后的流量送多元组解析模块,前期首先将报文扩展层MPLS和VLAN逐层剥离,如果是隧道报文将剥离外层封装保留内层IP报文,前期处理完成后根据标准以太报文格式提取出多元组信息;多元组复...

【专利技术属性】
技术研发人员:聂林川姜凯王子彤
申请(专利权)人:济南浪潮高新科技投资发展有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1