周小宇,張佳杰,袁 亮
(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 并行處理模塊
本文采用的TILERA-GX36 眾核處理器芯片上集成了36個同構的處理器核心。另外為了提高數據包處理能力,該芯片上還集成了一個協處理器—多核可編程智能分組引擎(Multicore Programmable Intelligent Packet Engine,MPIPE),它主要完成高速的數據包捕獲、分類、負載均衡以及緩沖管理的功能。并行模塊的流程如圖1所示。

圖1 并行模塊流程
網絡流量從網口進入MPIPE,MPIPE根據程序定義的分發模式將流量分發到核心上,每個核心上綁定有數據包處理線程,線程主要完成數據包接收,包檢驗,協議解析,數據合成等功能。合成的數據將由一個獨立的核心完成輸出。
1.2 協議解析模塊
本文主要針對TCP數據流量進行識別解析,協議識別流程如圖2所示。

圖2 協議識別流程
系統使用了半流思想,即將每個方向上的TCP數據流以半流的形式保存,這樣使得程序結構清晰,并且利于后期整個TCP信息的合成。系統對應用層的解析現主要針對http協議。
實驗使用的眾核平臺為一個獨立的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中眾核平臺優勢明顯,隨著線程數的增加,眾核的吞吐量開始基本呈線性上升的趨勢,后來增速放緩。原因是眾核各處理線程之間都獨立運行,互相之間沒有競爭。但隨著線程增多系統的內存占用和二級緩存的失效率都隨之增長。由于處理器的運算速度遠大于內存的訪問速度,大量的緩存失效會顯著降低處理器的處理能力。
本文提出了一種基于眾核的高速流量解析系統,它充分利用了眾核芯片的高速數據包捕獲以及處理能力,獲得了較高的性能。系統未來將增加應用層協議解析種類,進一步擴展系統的功能與性能。系統的輸出將來會直接與大數據平臺相連,借助大數據平臺對輸出信息進行實時的分析,再結合爬蟲分析出熱點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— ),男,河南周口,碩士研究生;研究方向:網絡數據分析。