張雪松 薄雯


摘 ? 要:基于IPv6網絡BT數據流識別與統計系統應用于下一代互聯網的網絡關鍵節點上,可實現對IPv6流量的實時監測與分析,對于掌握IPv6網絡的實時運行狀態具有至關重要的作用。實現有效控制IPv6網絡環境下的BT應用流量,要首先掌握IPv6網絡中BT數據流行為特征,這也需要網絡包捕獲系統能夠捕獲分析高層的P2P協議。文章對此進行了分析。
關鍵詞:Linux內核;互聯網協議第6版;比特數據流;下一代互聯網
至今,移動通信技術已經發展到5代,5G是為了滿足智能終端的快速普及和移動互聯網的高速發展,為滿足未來萬物互聯的應用需求而產生的。由于物聯網、工業互聯網等領域的快速發展,原來的互聯網通信協議第4版(Internet Protocol version 4,IPv4)已無法滿足海量的5G設備,需要新一代的互聯網協議第6版(Internet Protocol version 6,IPv6)來支持[1],IPv6在設計之初就充分考慮了移動設備的需求,還考慮了網絡側和應用側的需求,可以保證物聯網的安全性、可靠性和服務質量。但IPv4網絡中各類應用帶來帶寬管理的難題必然會也延伸到IPv6網絡中。基于IPv6網絡的比特流(Bit Torrent,BT)數據流量識別統計系統應用于下一代互聯網的網絡關鍵節點上,可實現對IPv6網絡中BT流量的實時監測與分析,對于掌握IPv6網絡的實時運行狀態具有至關重要的作用。
1 ? ?系統總體設計方案
在Linux系統下運用libpcap函數捕獲數據包,根據傳輸控制協議/互聯協議(Transmission Control Protocol/Internet Protocol,TCP/IP)對數據包解析,再通過BM算法匹配BT協議的中的特征值,從而來實現對BT協議的識別,進行識別的同時提取數據包的五元組來作為BT流的唯一標識,建立新的記錄,并插入到由五元組對應的哈希表相應的節點中[2]。之后獲取到的所有相同五元組的數據包都更新到該數據流中,最終形成BT數據流信息的記錄表。
1.1 ?系統架構
BT數據流識別與統計系統由3個模塊構成:(1)數據包解析模塊。(2)BT識別模塊。(3)統計分析模塊。系統架構如圖1所示。
1.2 ?數據識別過程
利用Libpcap函數庫中的函數捕獲數據包,然后對該數據包進行解包處理,獲取到應用層的數據。之后將該數據交給應用層BT識別模塊進行解析,BT識別模塊通過調用BM匹配算法識別是否為BT數據包。最后將該數據包信息交給統計分析模塊進行統計分析。
2 ? ?BT流量識別統計系統設計
2.1 ?數據包解析模塊
在linux系統下,運用網絡捕獲數據包函數-Libpcap,將原始數據包內容復制給數據包解析模塊。IPv6數據包解析工作開始由鏈路層進行解析,再到網絡層和傳輸層,最后到應用層完成整個解析過程,以上便是根據TCP/IP協議棧[3]中數據包的分層封裝原理執行的。按照原始網絡數據包各層協議的頭部定義以及數據實際載荷內容,分層逐個Bit的進行數據包的解析工作[4-5]。分別截取各協議層的頭部數據流,分析各頭部字段內容,通過每層協議中的類型字段值來確定上層的協議類型,根據頭部字段來觸發相應的分層解析模塊,并對特殊內容進行處理。
鏈路層判斷網絡層協議類型基于TYPE字段信息,當且僅當其值等于0x86dd(IPv6協議),鏈路層解析模塊才會觸發IP層解析模塊,其結構如圖2所示。
IP層解析工作根據其頭部的協議類型,提取protocol字段,根據不同的協議類型,觸發TCP或UDP解析模塊,其結構如圖3所示,同時提取源和目的IP,作為會話跟蹤的重依據。
傳輸層解析是針對TCP,UDP協議進行提取源端口、目的端口、首部長度和標識字段的值,其結構如圖4所示。為查詢、插入、更新HASH表提供重要依據,并觸發應用層解析模塊。
2.2 ?識別模塊
本模塊是BT流量統計分析系統的核心模塊,通過傳輸層解析的數據作為識別模塊的輸入,首先,查找該五元組對應的會話在HASH表中是否存在,若不存在則調用匹配模塊標識為“BT”或“other”,若存在則先判斷該會話流類型是否為“BT流”,若為“BT流”則直接更新該會話信息;若為“other”則調用匹配模塊,匹配成功則更新會話類型和信息,匹配失敗則只更新會話信息。其次,通過以上的第二步可實現會話跟蹤,盡管數據不具備特征碼,也能實現識別[6],其中匹配模塊主要應用BM模式匹配算法來實現。
2.3 ?統計分析模塊
本系統的統計分析模塊,是通過維護一張HASH表,統計記錄所有捕獲到的傳輸會話信息,本模塊由程序設定的定時器觸發,當測量時間到達初始設定的時間后,統計分析模塊將對哈希表[7]中的所有數據節點信息進行遍歷讀取并輸出。
3 ? ?結語
本文對IPv6下P2P技術的發展和研究現狀進行了闡述,結合BT數據包特征和工作原理,提出了BitTorrent流量分析統計技術,即特征碼匹配技術和會話跟蹤技術,并提出了解決方案。
由于客觀因素,測試規模與實際使用有差距,而且測試時間并不夠長。BT數據流識別與統計系統有待繼續改進和完善,還有可以擴展的空間。
[參考文獻]
[1]李淼,楊家海,王會.IPv6過渡技術分析與評述[J].廣西大學學報(自然科學版),2011(S1):55-56.
[2]巫喜紅,凌捷.BM模式匹配算法剖析[J].計算機工程與設計,2007(1):29-31.
[3]CHUANXIONG G,SHAOREN Z.Analysis and evaluation of the TCP/IP protocol stack[C].Beijing:International Conference on Communication Technology Proceedings,2000.
[4]小高知宏,葉明.TCP/IP數據包分析程序篇[M].北京:科學出版社,2003.
[5]劉朝輝,張磊,白宗元,等.一種基于IP報文五元組過濾策略的系統和方法.中國:CN 102387160A[P].2012.
[6]李明偉,張大方,曾彬,等.基于有效載荷分析的BT流量識別技術[J].計算機應用,2007(9):2230-2232.
[7]馬如林,蔣華,張慶霞.一種哈希表快速查找的改進方法[J].計算機工程與科學,2008(9):66-68.