基于众核的高速流量解析系统研究

2017-02-23 05:45周小宇张佳杰
无线互联科技 2017年1期
关键词:线程数据包解析

周小宇,张佳杰,袁 亮

(1.重庆邮电大学 电子信息与网络工程研究院,重庆 400065;2.贵州力创科技发展有限公司,贵州 贵阳 550000;3.广元市经济和信息委员会,四川 广元 628000)

基于众核的高速流量解析系统研究

周小宇1,张佳杰2,袁 亮3

(1.重庆邮电大学 电子信息与网络工程研究院,重庆 400065;2.贵州力创科技发展有限公司,贵州 贵阳 550000;3.广元市经济和信息委员会,四川 广元 628000)

互联网的发展导致了互联网流量的高速增长,这给网络运营商运营带来了巨大挑战,传统的流量识别系统的性能已经无法满足运营商的需求。文章提出一种基于众核的高速流量解析系统,系统在平均报文长度为1 000字节时,http协议处理性能达到4.4 Gbps。

众核;高速流量解析;流量识别

随着网络流量的爆炸式增长,如何提升流量识别系统的整体性能是当前面临的严峻挑战,近年来多核众核的引入成为解决该问题的突破点。其中众核具有集成度高,处理能力强等特点,文献[1]利用众核平台大幅提升了网络入侵检测系统的性能;文献[2]在tilera众核平台上实现了高吞吐量低功耗的网络应用识别;文献[3]设计了一个基于tilera众核平台的高强度的流媒体流量发生系统。基于以上研究方法和思路,本文提出了基于众核的高速流量解析系统,它充分利用了众核的高速数据包处理能力,提高了流量解析系统的性能。

1 系统各模块的设计与实现

基于众核的高速流量解析系统主要包括两个模块:并行处理模块,协议解析模块。以下将对两个模块重点分析。

1.1 并行处理模块

本文采用的TILERA-GX36 众核处理器芯片上集成了36个同构的处理器核心。另外为了提高数据包处理能力,该芯片上还集成了一个协处理器—多核可编程智能分组引擎(Multicore Programmable Intelligent Packet Engine,MPIPE),它主要完成高速的数据包捕获、分类、负载均衡以及缓冲管理的功能。并行模块的流程如图1所示。

图1 并行模块流程

网络流量从网口进入MPIPE,MPIPE根据程序定义的分发模式将流量分发到核心上,每个核心上绑定有数据包处理线程,线程主要完成数据包接收,包检验,协议解析,数据合成等功能。合成的数据将由一个独立的核心完成输出。

1.2 协议解析模块

本文主要针对TCP数据流量进行识别解析,协议识别流程如图2所示。

图2 协议识别流程

系统使用了半流思想,即将每个方向上的TCP数据流以半流的形式保存,这样使得程序结构清晰,并且利于后期整个TCP信息的合成。系统对应用层的解析现主要针对http协议。

2 实验分析

实验使用的众核平台为一个独立的ATCA刀片服务器,服务器内部含有两个对称的众核系统,每一个众核系统含有一颗36核处理器,64位指令集,主频1.2 GHz,内存大小为16 G。

系统对Tcp连接的解析内容主要包括:开始时间、结束时间、Vlan端口、源IP、目的IP、源端口、目的端口、第一条Syn包的时间、在SynAck前,最后一条Syn包的时间、第一条SynAck的时间、最后一条SynAck的时间、第三次握手的时间、第一次握手的消息数量、第二次握手的消息数量、第一条Rst的时间、第一条Fin包的时间、第一条RST消息的方向、第一条FIN包的方向、上行RST的数目、下行RST的数目、上行FIN的数目、下行FIN的数目、上行计费流量、下行计费流量、上行TCP净荷的流量、下行TCP净荷的流量、上行总包数、下行总包数、上行有TCP净荷的包的数目、下行有TCP净荷的包的数目、上行重传总包数、下行重传总包数、上行重传的包有TCP净荷的数目、下行重传的包有TCP净荷的数目、上行TCP净荷的实际流量、下行TCP净荷的实际流量。一次TCP会话解析出来的结果如图3所示。

http协议解析结果是在tcp连接的基础上加上了一些http独有的信息,其中主要包括:Http会话的总时长(us)、第一个HttpRequest的Host、第一个HttpResponse的URL、第一个HttpRequest的UserAgent、第一个HttpRequest的Refer。与图3TCP连接对应的http信息如图4所示。

图3 TCP连接解析结果

图4 http连接解析结果

在平均报文长度为1 000字节的情况下,系统对http协议解析的吞吐量与x86平台(Intel Xeon E5410,主频2.33 GHz,内存16 G)进行对比如图5所示。图5中众核平台优势明显,随着线程数的增加,众核的吞吐量开始基本呈线性上升的趋势,后来增速放缓。原因是众核各处理线程之间都独立运行,互相之间没有竞争。但随着线程增多系统的内存占用和二级缓存的失效率都随之增长。由于处理器的运算速度远大于内存的访问速度,大量的缓存失效会显著降低处理器的处理能力。

3 结语

本文提出了一种基于众核的高速流量解析系统,它充分利用了众核芯片的高速数据包捕获以及处理能力,获得了较高的性能。系统未来将增加应用层协议解析种类,进一步扩展系统的功能与性能。系统的输出将来会直接与大数据平台相连,借助大数据平台对输出信息进行实时的分析,再结合爬虫分析出热点url的相关内容,最终借助于数据可视化对大数据平台的分析结果做形象化展示,形成整套的流量监测系统。

图5 众核与x86测试量吞吐对比

[1]JIANG H,ZHANG G,XIE G X,et al. Scalable high-performance parallel design for network intrusion detection systems on many-core processors[C]. Architectures for Networking and Communications Systems,2013:137-146.

[2]吴舜,苏丹,吴佳,等.基于Tilera平台的网络细粒度应用行为识别[J].电信科学,2013(11):94-98.

[3]曾帅,高宗彬,赵国锋.基于Tilera众核平台的流媒体流量发生系统的设计[J].电子技术应用,2016(4):56-59.

Research on high-speed Internet traffc analysis system based on many-core

Zhou Xiaoyu1, Zhang Jiajie2, Yuan Liang3
(1.Electronic Information and Networking Research College of Chongqing University of Posts and Telecommunications, Chongqing 400065, China; 2.Guizhou Lichuang Technology Development Co., Ltd., Guiyang 550000, China;3.Guangyuan Economic and Information Technology Committee, Guangyuan 628000, China)

Development of the Internet has led to the rapid growth of Internet traffc, which poses great challenges for network operators, the performance of traditional Internet traffc analysis system is unable to meet the needs of operators. This paper presents a high-speed Internet traffc analysis system based on the nuclear, When the average packet size is 1 000 bytes, the performance of the HTTP protocol processing is 4.4 Gbps.

many-core; high-speed Internet traffc analysis; traffc identifcation

周小宇(1993— ),男,河南周口,硕士研究生;研究方向:网络数据分析。

猜你喜欢
线程数据包解析
SmartSniff
浅谈linux多线程协作
相机解析
视觉注意的数据包优先级排序策略研究
基于上下文定界的Fork/Join并行性的并发程序可达性分析*
Linux线程实现技术研究
移动IPV6在改进数据包发送路径模型下性能分析
么移动中间件线程池并发机制优化改进