幸娟+張曉峰+高海源
摘 要:網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù)中對(duì)于數(shù)據(jù)流的重組是后續(xù)數(shù)據(jù)還原應(yīng)用的基礎(chǔ),本文不同于一般采用硬件網(wǎng)卡收包策略,選用Tilera多核板卡平臺(tái)的高速收包引擎,重構(gòu)libnids中流重組結(jié)構(gòu),對(duì)接Tilera多核板卡mpipe收包引擎,實(shí)現(xiàn)高速網(wǎng)絡(luò)數(shù)據(jù)包流重組。
關(guān)鍵詞:網(wǎng)絡(luò)數(shù)據(jù)包;libnids;Tilera;數(shù)據(jù)流重組
中圖分類號(hào):TP393.08 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2017)09-0020-01
目前網(wǎng)絡(luò)安全越來越受到人們的關(guān)注,在網(wǎng)絡(luò)安全審計(jì)系統(tǒng)中網(wǎng)絡(luò)數(shù)據(jù)包流捕捉重組是后續(xù)數(shù)據(jù)還原安全審計(jì)的基礎(chǔ),隨著互聯(lián)網(wǎng)的普及,大數(shù)據(jù)時(shí)代到來,對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的高速處理提出了要求,Tilera多核板卡不但具有多核并行處理的高性能,還帶有高速捕獲數(shù)據(jù)包引擎,解決了以往采用libpcap等從網(wǎng)卡中收包瓶頸,同時(shí)重構(gòu)libnids數(shù)據(jù)流重組源碼結(jié)構(gòu),對(duì)接Tilera的mpipe收包引擎接口,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)流的高速捕獲重組功能。
1 Tilera多核板卡高速收包引擎mPIPE
通常網(wǎng)絡(luò)收包接口采用libpcap、pf_ring等開源庫來實(shí)現(xiàn)從網(wǎng)卡中將網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行多次拷貝到用戶空間來實(shí)現(xiàn)收包環(huán)節(jié),雖然pf_ring也推出了零拷貝技術(shù),但是Tilera多核板卡的高速收包引擎mPIPE不但具備直接從硬件層面獲取數(shù)據(jù)包,無中間環(huán)節(jié),而且具備眾核并行處理的高速性能,能達(dá)到對(duì)數(shù)據(jù)包的高速捕獲。mPIPE收包引擎工作原理如下圖1。
工作原理包括以下6個(gè)步驟:
(1)包收集存入iPkt Buffer;
(2)Packet分類,產(chǎn)生包描述符;
(3)負(fù)載均衡根據(jù)哈希流ID選擇工作tile;
(4)包數(shù)據(jù)寫入被選擇的內(nèi)存池;
(5)寫描述符到ring;
(6)通知工作tile有一個(gè)有效的新包。
其中mPIPE還具有可選的負(fù)載均衡模式、用戶可設(shè)PacketBuffer內(nèi)存大小、封裝的peek和get收包接口、用戶C語言可編程應(yīng)用、一個(gè)mPIPE線速性能達(dá)到40Gbps等特性。
2 重構(gòu)libnids數(shù)據(jù)流重組源碼結(jié)構(gòu)
Libnids是用于網(wǎng)絡(luò)數(shù)據(jù)包處理的開源庫,其中數(shù)據(jù)流重組功能可以用來與mPIPE引擎接口進(jìn)行對(duì)接,由于libnids原處理結(jié)構(gòu)是結(jié)合libpcap的網(wǎng)絡(luò)收包接口,為了能對(duì)接mPIPE接口,將libnids中收包銜接代碼部分進(jìn)行修改,增加對(duì)接函數(shù)代碼塊nids_next_special_mpipe。同時(shí)將libnids中不需要使用的其他功能進(jìn)行刪除屏蔽,簡(jiǎn)化代碼結(jié)構(gòu),根據(jù)需要增加原流結(jié)構(gòu)體中的用戶字段。處理流程圖如下圖2。
3 結(jié)語
本文將Tilera多核板卡硬件平臺(tái)的mPIPE引擎高速收包與重構(gòu)的libnids的數(shù)據(jù)流重組功能結(jié)合,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)流的高速捕獲重組功能,提高網(wǎng)絡(luò)數(shù)據(jù)包的處理性能,為大數(shù)據(jù)量網(wǎng)絡(luò)處理方案奠定了強(qiáng)有力的基礎(chǔ)。
參考文獻(xiàn)
[1]劉文濤.網(wǎng)絡(luò)安全開發(fā)包詳解[M].北京:電子工業(yè)出版社,2005.
[2]KOZIEROK.TCP/IP指南.北京:人民郵電出版社,2008.
[3]吳勛,劉嘉勇.網(wǎng)絡(luò)數(shù)據(jù)包的郵件還原技術(shù)研究[J].通訊技術(shù),2011(04):124-126.