基于Tilera多核板卡网络数据流高速捕获重组技术

时间:2022-09-25 02:31:58

基于Tilera多核板卡网络数据流高速捕获重组技术

摘 要:网络数据处理技术中对于数据流的重组是后续数据还原应用的基础,本文不同于一般采用硬件网卡收包策略,选用tilera多核板卡平台的高速收包引擎,重构libnids中流重组结构,对接Tilera多核板卡mpipe收包引擎,实现高速网络数据包流重组。

关键词:网络数据包;libnids;Tilera;数据流重组

中图分类号:TP393.08 文献标识码:A 文章编号:1671-2064(2017)09-0020-01

目前网络安全越来越受到人们的关注,在网络安全审计系统中网络数据包流捕捉重组是后续数据还原安全审计的基础,随着互联网的普及,大数据时代到来,对网络数据包的高速处理提出了要求,Tilera多核板卡不但具有多核并行处理的高性能,还带有高速捕获数据包引擎,解决了以往采用libpcap等从网卡中收包瓶颈,同时重构libnids数据流重组源码结构,对接Tilera的mpipe收包引擎接口,实现网络数据流的高速捕获重组功能。

1 Tilera多核板卡高速收包引擎mPIPE

通常网络收包接口采用libpcap、pf_ring等开源库来实现从网卡中将网络数据包进行多次拷贝到用户空间来实现收包环节,虽然pf_ring也推出了零拷贝技术,但是Tilera多核板卡的高速收包引擎mPIPE不但具备直接从硬件层面获取数据包,无中间环节,而且具备众核并行处理的高速性能,能达到对数据包的高速捕获。mPIPE收包引擎工作原理如下图1。

工作原理包括以下6个步骤:

(1)包收集存入iPkt Buffer;

(2)Packet分类,产生包描述符;

(3)负载均衡根据哈希流ID选择工作tile;

(4)包数据写入被选择的内存池;

(5)写描述符到ring;

(6)通知工作tile有一个有效的新包。

其中mPIPE还具有可选的负载均衡模式、用艨缮PacketBuffer内存大小、封装的peek和get收包接口、用户C语言可编程应用、一个mPIPE线速性能达到40Gbps等特性。

2 重构libnids数据流重组源码结构

Libnids是用于网络数据包处理的开源库,其中数据流重组功能可以用来与mPIPE引擎接口进行对接,由于libnids原处理结构是结合libpcap的网络收包接口,为了能对接mPIPE接口,将libnids中收包衔接代码部分进行修改,增加对接函数代码块nids_next_special_mpipe。同时将libnids中不需要使用的其他功能进行删除屏蔽,简化代码结构,根据需要增加原流结构体中的用户字段。处理流程图如下图2。

3 结语

本文将Tilera多核板卡硬件平台的mPIPE引擎高速收包与重构的libnids的数据流重组功能结合,实现网络数据流的高速捕获重组功能,提高网络数据包的处理性能,为大数据量网络处理方案奠定了强有力的基础。

参考文献

[1]刘文涛.网络安全开发包详解[M].北京:电子工业出版社,2005.

[2]KOZIEROK.TCP/IP指南.北京:人民邮电出版社,2008.

[3]吴勋,刘嘉勇.网络数据包的邮件还原技术研究[J].通讯技术,2011(04):124-126.

上一篇:ACS预处理+CSTR厌氧工艺在常州餐厨垃圾处理工... 下一篇:大数据环境下科技查新服务的多元化发展