CN108540350A - 一种基于fpga的网络流量预处理方法 - Google Patents
一种基于fpga的网络流量预处理方法 Download PDFInfo
- Publication number
- CN108540350A CN108540350A CN201810360997.XA CN201810360997A CN108540350A CN 108540350 A CN108540350 A CN 108540350A CN 201810360997 A CN201810360997 A CN 201810360997A CN 108540350 A CN108540350 A CN 108540350A
- Authority
- CN
- China
- Prior art keywords
- module
- component system
- fpga
- matching
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明特别涉及一种基于FPGA的网络流量预处理方法。该基于FPGA的网络流量预处理方法,构建基于FPGA的网络流量预处理系统,包括流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块。该基于FPGA的网络流量预处理方法,后台服务器进行流量分析前衰减掉无效的流量,将采集的相关有效数据供后台服务器使用,有效降低了后台服务器处理压力,从而减少了部署服务器数量,达到了降低成本的目的。
Description
技术领域
本发明涉及数字通信技术领域,特别涉及一种基于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芯片,多元组匹配模块才有专用TCAM匹配芯片。
1)首先将编译综合完的逻辑镜像下载至FPGA芯片中;
2)系统初始化,将预先定义的匹配规则通过控制通路下发至多元组匹配模块;
3)流量接入后首先经FPGA高速接口进入芯片内部,经接口解码逻辑解码后的8路流量分别做非以太报文、超短包(小于48字节)、超长包(大于1518字节)识别并丢弃,剩余的以太流量在该模块作二路合一路处理后得到4路流量分别送至4个多元组解析模块,并标记输入接口信息;
4)多元组解析模块前期将报文扩展层MPLS、VLAN逐层剥离,如果是隧道报文将剥离外层封装保留内层IP报文,前期处理完成后根据标准以太报文格式提取出多元组信息,并将标记的输入接口信息添加至多元组信息序列;多元组复制模块将4路多元组信息进行四路合一路后送至多元组匹配逻辑,前期处理后的报文将缓冲至自定义域更新模块;
5)多元组匹配模块收到多元组信息后进行索引匹配,根据初始下发的规则进行匹配,无论是否匹配到对应的结果,该模块均输出一个对应的匹配结果,并与多元组信息缓冲至匹配结果缓冲模块;
6)匹配结果缓冲模块接收多元组信息、匹配结果,首先根据匹配结果和多元组信息,判断是否保留该报文,将判断结果标记封装后传输给自定义域更新模块,判断结果主要有对报文作保留、丢弃和指定接口输出;
7)自定义域更新模块接收匹配结果缓冲模块转发多元组信息和判断结果后,首先识别并根据其输入接口,并对齐到相应的源报文,根据判断结果标记的输出接口,更新报文自定义字段后送至流量分发模块,或者丢弃报文;
8)流量分发模块接收自定义域更新模块报文后根据标记的输出接口将流量转发输出至外部设备,该处输出接口可以是背板接口或面板接口。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (7)
1.一种基于FPGA的网络流量预处理方法,其特征在于:构建基于FPGA的网络流量预处理系统,包括流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块;
所述流量汇聚模块接收来自多个输入接口流量并做汇聚处理,汇聚后的流量经过多元组解析模块解析剥离扩展层后获取其多元组信息,多元组复制模块将获取的多元组信息复制到多元组匹配模块,多元组匹配模块将多元组信息与自身配置规则索引进行匹配,匹配完返回的匹配结果将缓冲至匹配结果缓冲模块,自定义域更新模块则根据匹配结果更新报文自定义域字段,流量分发模块则根据自定义域内容转发流量至相应输出接口。
2.根据权利要求1所述的基于FPGA的网络流量预处理方法,其特征在于:所述流量汇聚模块,多元组解析模块,多元组复制模块,多元组匹配模块,匹配结果缓冲模块,自定义域更新模块和流量分发模块通过Verilog语言进行行为级描述,编译综合映射形成网表文件下载至FPGA芯片中,通过FPGA芯片的形式实现逻辑控制。
3.根据权利要求1或2所述的基于FPGA的网络流量预处理方法,其特征在于,实现过程如下:
(1)系统初始化,将预先定义的匹配规则通过控制通路下发至多元组匹配模块;
(2)流量接入后首先经FPGA高速接口进入芯片内部,解码后的多路流量分别做非以太报文、超短包、超长包识别并丢弃,剩余的流量在流量汇聚模块进行汇聚处理;
(3)汇聚后的流量送多元组解析模块,前期首先将报文扩展层MPLS和VLAN逐层剥离,如果是隧道报文将剥离外层封装保留内层IP报文,前期处理完成后根据标准以太报文格式提取出多元组信息;多元组复制模块将获取的多元组信息和前期处理后的报文复制到多元组匹配模块;
(4)多元组匹配模块收到多元组信息后进行索引匹配,根据初始下发的规则进行匹配,无论是否匹配到对应的结果,多元组匹配模块均输出一个对应的匹配结果,并与多元组信息缓冲至匹配结果缓冲模块;
(5)匹配结果缓冲模块接收多元组信息和匹配结果,首先根据匹配结果和多元组信息,判断是否保留该报文,将判断结果标记封装后传输给自定义域更新模块,判断结果主要有对报文作保留、丢弃和指定接口输出;
(6)自定义域更新模块接收匹配结果缓冲模块转发的报文和判断结果后,根据判断结果标记的输出接口,更新报文自定义字段后送至流量分发模块,或者丢弃报文;
(7)流量分发模块接收自定义域更新模块报文后根据标记的输出接口将流量转发输出至外部设备,该处输出接口可以是背板接口或面板接口。
4.根据权利要求3所述的基于FPGA的网络流量预处理方法,其特征在于:所述匹配结果缓冲模块除了缓冲多元组匹配结果,还将缓冲多元组信息和对应的源报文分片,同时对齐该三者数据。
5.根据权利要求3所述的基于FPGA的网络流量预处理方法,其特征在于:所述自定义域更新模块报文输出接口标记在源MAC字段,按照固定格式更新目的MAC字段作为背板交换的路由信息。
6.根据权利要求3所述的基于FPGA的网络流量预处理方法,其特征在于:所述流量汇聚模块和流量分发模块分别负责流量接入和输出,接入和输出接口支持千兆和万兆接口。
7.根据权利要求6所述的基于FPGA的网络流量预处理方法,其特征在于:所述流量分发模块根据报文自定义域字段标记输出接口转发报文,转发报文的输出接口支持流量接入接口或其它接口输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810360997.XA CN108540350A (zh) | 2018-04-20 | 2018-04-20 | 一种基于fpga的网络流量预处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810360997.XA CN108540350A (zh) | 2018-04-20 | 2018-04-20 | 一种基于fpga的网络流量预处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108540350A true CN108540350A (zh) | 2018-09-14 |
Family
ID=63477927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810360997.XA Pending CN108540350A (zh) | 2018-04-20 | 2018-04-20 | 一种基于fpga的网络流量预处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108540350A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450940A (zh) * | 2018-12-25 | 2019-03-08 | 南京中新赛克科技有限责任公司 | 一种实现网络流量封堵的装置和方法 |
CN110995546A (zh) * | 2019-12-23 | 2020-04-10 | 锐捷网络股份有限公司 | 报文采样方法及装置 |
CN113691585A (zh) * | 2021-07-16 | 2021-11-23 | 曙光网络科技有限公司 | 数据录制和回放的系统 |
CN114827034A (zh) * | 2022-04-27 | 2022-07-29 | 杭州迪普信息技术有限公司 | 基于fpga和交换芯片的流量复制方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015176212A1 (zh) * | 2014-05-19 | 2015-11-26 | 北京东土科技股份有限公司 | 一种基于tcam和fpga的报文处理方法及装置 |
CN107317761A (zh) * | 2017-06-29 | 2017-11-03 | 济南浪潮高新科技投资发展有限公司 | 基于fpga的100g以太分流方法及系统 |
CN107454008A (zh) * | 2017-08-22 | 2017-12-08 | 济南浪潮高新科技投资发展有限公司 | 一种千兆万兆以太互通系统及方法 |
-
2018
- 2018-04-20 CN CN201810360997.XA patent/CN108540350A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015176212A1 (zh) * | 2014-05-19 | 2015-11-26 | 北京东土科技股份有限公司 | 一种基于tcam和fpga的报文处理方法及装置 |
CN107317761A (zh) * | 2017-06-29 | 2017-11-03 | 济南浪潮高新科技投资发展有限公司 | 基于fpga的100g以太分流方法及系统 |
CN107454008A (zh) * | 2017-08-22 | 2017-12-08 | 济南浪潮高新科技投资发展有限公司 | 一种千兆万兆以太互通系统及方法 |
Non-Patent Citations (1)
Title |
---|
汪明: "基于FPGA的高速网络流量采集系统设计", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109450940A (zh) * | 2018-12-25 | 2019-03-08 | 南京中新赛克科技有限责任公司 | 一种实现网络流量封堵的装置和方法 |
CN109450940B (zh) * | 2018-12-25 | 2021-04-02 | 南京中新赛克科技有限责任公司 | 一种实现网络流量封堵的装置和方法 |
CN110995546A (zh) * | 2019-12-23 | 2020-04-10 | 锐捷网络股份有限公司 | 报文采样方法及装置 |
CN110995546B (zh) * | 2019-12-23 | 2022-02-25 | 锐捷网络股份有限公司 | 报文采样方法及装置 |
CN113691585A (zh) * | 2021-07-16 | 2021-11-23 | 曙光网络科技有限公司 | 数据录制和回放的系统 |
CN113691585B (zh) * | 2021-07-16 | 2024-02-02 | 曙光网络科技有限公司 | 数据录制和回放的系统 |
CN114827034A (zh) * | 2022-04-27 | 2022-07-29 | 杭州迪普信息技术有限公司 | 基于fpga和交换芯片的流量复制方法和装置 |
CN114827034B (zh) * | 2022-04-27 | 2023-08-22 | 杭州迪普信息技术有限公司 | 基于fpga和交换芯片的流量复制方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108540350A (zh) | 一种基于fpga的网络流量预处理方法 | |
CN104410541B (zh) | Vxlan内层虚拟机流量在中间交换机上进行统计的方法及装置 | |
CN102238083B (zh) | 用于适配分组处理流水线的系统和方法 | |
CN106850466A (zh) | 一种时间触发网络中数据包的转发方法及装置 | |
CN107181663A (zh) | 一种报文处理方法、相关设备及计算机可读存储介质 | |
CN106254381A (zh) | 协议解析方法、装置及包含协议解析装置的二层交换系统 | |
CN107342926A (zh) | 一种多业务快速匹配分发的方法 | |
ES2191053T3 (es) | Mediacion de trafico en una red inteligente avanzada. | |
CN108566342A (zh) | 基于sdn架构的多业务流量分流系统及分流数据处理方法 | |
CN104065571B (zh) | 一种广播报文处理方法、装置及系统 | |
CN101895427A (zh) | 一种基于流的虚拟局域网处理方法及系统 | |
CN105915428B (zh) | 基于open_flow协议的sdn网络l2vpn实现方法及系统 | |
CN108260032A (zh) | Gpon-olt系统中实现业务虚端口的方法 | |
EP2897328B1 (en) | Method, system and apparatus for establishing communication link | |
CN108040135A (zh) | 一种vpws报文穿越三层ip网络的方法及装置 | |
RU2623897C2 (ru) | Способ и устройство для управления пакетами | |
CN108075949A (zh) | 一种vpws环境实现rfc2544的方法及设备 | |
CN105337884A (zh) | 基于逻辑端口实现多级报文编辑业务控制的方法及装置 | |
CN107579898A (zh) | 一种多种容器间互联通信的方法及其装置 | |
CN104378257A (zh) | 智能变电站过程层网络交换时延告知的实现系统和方法 | |
CN109587060A (zh) | 一种vpws报文穿越三层ip网络的方法及设备 | |
CN106330499A (zh) | 一种时分复用数据的传输方法、装置及网络侧边缘设备 | |
CN107454008A (zh) | 一种千兆万兆以太互通系统及方法 | |
CN108616450B (zh) | 一种基于sdn的ip网络实现约束路径转发的方法 | |
CN104202229B (zh) | 一种无源光网络olt设备qinq报文处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180914 |