許石多
【摘 要】智能終端,尤其是智能手機(jī)近些年的快速普及和廣泛應(yīng)用,促使大量PC 端應(yīng)用軟件逐步向智能終端轉(zhuǎn)移。智能終端新出現(xiàn)的大量應(yīng)用需要傳統(tǒng)互聯(lián)網(wǎng)的支持。其中需要通過(guò)向服務(wù)器發(fā)送心跳包,并以此維護(hù)自身在線狀態(tài)的永久在線應(yīng)用,會(huì)占用大量的信令資源對(duì)傳統(tǒng)移動(dòng)互聯(lián)網(wǎng)運(yùn)營(yíng)造成了巨大的壓力。為了解決這個(gè)問(wèn)題,作者從永久在線應(yīng)用對(duì)傳統(tǒng)互聯(lián)網(wǎng)影響的原因探索出發(fā),對(duì)目前傳統(tǒng)移動(dòng)互聯(lián)網(wǎng)信令風(fēng)暴的解決方案進(jìn)行深入調(diào)研,重點(diǎn)研究了解決信令風(fēng)暴中的幾項(xiàng)關(guān)鍵技術(shù):對(duì)傳統(tǒng)移動(dòng)互聯(lián)網(wǎng)基站的改造,以及與改造相對(duì)應(yīng)的永久在線應(yīng)用識(shí)別技術(shù)的研究。
【關(guān)鍵詞】永久在線;智能終端;信令風(fēng)暴
1.研究背景
隨著智能終端的快速普及,以及無(wú)線通信技術(shù)的快速發(fā)展,使得移動(dòng)互聯(lián)網(wǎng)隨之快速興起,據(jù)Gartner 公司的數(shù)據(jù),2011年全球智能手機(jī)終端用戶銷量達(dá)到4.72億部,在所有移動(dòng)設(shè)備銷量中占比為31%,同比增長(zhǎng)58%。然而跟隨終端出現(xiàn)的大量移動(dòng)應(yīng)用對(duì)網(wǎng)絡(luò)的信令處理能力產(chǎn)生了巨大挑戰(zhàn)。
根據(jù)SRG2011 年數(shù)據(jù),信令流量目前已經(jīng)超過(guò)數(shù)據(jù)流量的30% 到50%,而信令流量逐年的增速在70% 遠(yuǎn)大于數(shù)據(jù)流量逐年增速的20%[1],這意味著移動(dòng)網(wǎng)絡(luò)運(yùn)營(yíng)商在提供相同的數(shù)據(jù)接入能力時(shí),需要付出更多的信令網(wǎng)絡(luò)資源,而信令資源的消耗并不能為移動(dòng)網(wǎng)絡(luò)運(yùn)營(yíng)商帶來(lái)收益。心跳包對(duì)信令資源的大量占用已經(jīng)威脅到了網(wǎng)絡(luò)的安全穩(wěn)定運(yùn)行。
心跳包對(duì)網(wǎng)絡(luò)資源的占用主要包括無(wú)線接入承載(RAB)、用戶承載上下文(PDP),以及長(zhǎng)期占用公網(wǎng)IP 地址等。主要由于以下兩方面的原因加劇了信令資源的大量占用和浪費(fèi)。
1.1大量永久在線應(yīng)用
永久在線應(yīng)用(Long-term online application, LOA)是指那些長(zhǎng)時(shí)在線,并通過(guò)心跳包來(lái)維持連接的應(yīng)用。這些應(yīng)用有非常長(zhǎng)的連接時(shí)間,但是平均流量非常少。
1.2終端快速休眠
當(dāng)移動(dòng)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行傳輸時(shí),手機(jī)終端的電量會(huì)大量被消耗,而LOA每隔較短時(shí)間會(huì)向服務(wù)器發(fā)送“心跳包”以維護(hù)在線狀態(tài),目前大多移動(dòng)智能終端為了提供更長(zhǎng)時(shí)間的待機(jī)時(shí)間,智能終端在短時(shí)間內(nèi)沒(méi)有數(shù)據(jù)傳輸時(shí)釋放連接,當(dāng)后續(xù)再次有數(shù)據(jù)發(fā)送時(shí)再次建立連接。[2]這種“心跳包機(jī)制”和“快速休眠機(jī)制”導(dǎo)致無(wú)線連接反復(fù)建立釋放,占用了大量移動(dòng)網(wǎng)絡(luò)信令資源,產(chǎn)生信令風(fēng)暴。
本文將基于識(shí)別LOA技術(shù),發(fā)現(xiàn)網(wǎng)絡(luò)中的LOA和其心跳包,從而為解決信令風(fēng)暴提供有效的數(shù)據(jù)依據(jù)。
2.解決方案
對(duì)LOA的探測(cè)面臨著許多困難,首先,LOA長(zhǎng)時(shí)間在線,意味著對(duì)于其狀態(tài)的監(jiān)測(cè)也需要維持較長(zhǎng)時(shí)間,在當(dāng)前核心網(wǎng)絡(luò)設(shè)備中網(wǎng)絡(luò)流數(shù)目爆炸式增長(zhǎng)的背景下,長(zhǎng)時(shí)間維護(hù)流狀態(tài)是系統(tǒng)不可接受的負(fù)載;其次,使用抽樣方法難以評(píng)估LOA的狀態(tài),由于LOA流量很小,甚至很長(zhǎng)一段時(shí)間內(nèi)沒(méi)有流量產(chǎn)生,使用抽樣方法無(wú)法確認(rèn)該流的狀態(tài),從而也無(wú)法探測(cè)到LOA;最后,使用統(tǒng)計(jì)方法進(jìn)行流量統(tǒng)計(jì)也會(huì)有較大的誤差問(wèn)題。由于LOA也有突發(fā)流量,統(tǒng)計(jì)方法給出的探測(cè)結(jié)果會(huì)受突發(fā)流量的影響而造成錯(cuò)判。這些特點(diǎn)給LOA的探測(cè)帶來(lái)了巨大的挑戰(zhàn)。
我們使用DPI深度包檢測(cè)技術(shù)進(jìn)行心跳包的檢測(cè)。深度包檢測(cè)(Deep Packet Inspection,DPI)一直是網(wǎng)絡(luò)測(cè)量中非常重要的技術(shù)手段,之前,DPI 技術(shù)較多的應(yīng)用在入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)中,近年來(lái),隨著網(wǎng)絡(luò)服務(wù)提供商逐漸從“銷售帶寬”轉(zhuǎn)向“銷售服務(wù)”,DPI 技術(shù)越來(lái)越多的被應(yīng)用在控制識(shí)別用戶行為中,從而實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)提供商差異化服務(wù)的依據(jù)。DPI 深度包檢測(cè)技術(shù)需要維護(hù)一個(gè)應(yīng)用特征數(shù)據(jù)庫(kù),當(dāng)有數(shù)據(jù)包到來(lái)時(shí),需要解包之后將包信息與后臺(tái)特征數(shù)據(jù)庫(kù)來(lái)進(jìn)行對(duì)比從而確定應(yīng)用的類型,因此需要根據(jù)新協(xié)議與新應(yīng)用的產(chǎn)生而不斷更新維護(hù)后臺(tái)特征數(shù)據(jù)庫(kù)。
2.1數(shù)據(jù)包采集
在對(duì)現(xiàn)有智能終端數(shù)據(jù)包采集文獻(xiàn)的調(diào)研中,發(fā)現(xiàn)大多數(shù)文獻(xiàn)中分析采用的智能終端數(shù)據(jù)包通過(guò)兩種方法得到。第一種是通過(guò)在電腦端模擬智能終端客戶端,然后使用Wireshark 等數(shù)據(jù)包截取軟件獲得虛擬終端的數(shù)據(jù)包。第二種是使用計(jì)算機(jī)網(wǎng)卡建立無(wú)線網(wǎng)絡(luò)鏈接,將智能終端連接到計(jì)算機(jī)網(wǎng)卡架設(shè)的無(wú)線網(wǎng)絡(luò)上,再使用Wireshark在計(jì)算機(jī)上直接截取計(jì)算機(jī)與智能終端的通信數(shù)據(jù)包。這兩種方法采集到的數(shù)據(jù)包均混雜有智能終端與計(jì)算機(jī)之間通信的數(shù)據(jù),并且在模擬條件下智能終端行為與實(shí)際智能終端應(yīng)用數(shù)據(jù)行為有偏差。因此,本文采用直接在智能終端上采集數(shù)據(jù)包的方法來(lái)避免上述偏差的產(chǎn)生。
2.2對(duì)心跳包進(jìn)行初步分析
在使用Wireshark 對(duì)LOA數(shù)據(jù)包進(jìn)行分析的時(shí)候,我們發(fā)現(xiàn),永久在線發(fā)送的心跳包一般會(huì)在比較固定的時(shí)間間隔內(nèi)發(fā)送數(shù)據(jù)。正如之前我們看到的那樣,Android 下QQ 約每隔300s 向服務(wù)器發(fā)送一次心跳包,MSN 大約150s 向服務(wù)器發(fā)送一次心跳包,摩托羅拉系統(tǒng)應(yīng)用大約每隔240s 向服務(wù)器發(fā)送一次心跳包。
因此我們可以簡(jiǎn)單的通過(guò)對(duì)數(shù)據(jù)包到來(lái)時(shí)間間隔的統(tǒng)計(jì)來(lái)判定智能終端是否開(kāi)啟了LOA。在判斷之前,我們首先需要得到數(shù)據(jù)到來(lái)的特征時(shí)間間隔。
我們通過(guò)算法,讓程序自動(dòng)探測(cè)數(shù)據(jù)包中存在的特征時(shí)間間隔。并將以特征時(shí)間間隔到來(lái)的數(shù)據(jù)包進(jìn)行統(tǒng)計(jì),以此判定LOA的狀態(tài)。我們將每一條流中的前兩次數(shù)據(jù)包到來(lái)的時(shí)間間隔作為第一個(gè)特征時(shí)間間隔。并以此來(lái)判定之后的數(shù)據(jù)包是否按照此時(shí)間間隔到來(lái)。若不按照此時(shí)間間隔,那么我們繼續(xù)通過(guò)一定算法擴(kuò)充時(shí)間間隔數(shù)據(jù)庫(kù)。特征時(shí)間間隔法適用于LOA以固定時(shí)間間隔發(fā)送心跳包數(shù)據(jù)的情況。
在隨后的實(shí)驗(yàn)中我們對(duì)兩種方法進(jìn)行了測(cè)試,對(duì)LOA的心跳包與非LOA的數(shù)據(jù)包到來(lái)的時(shí)間間隔進(jìn)行了統(tǒng)計(jì)分析。在對(duì)msn,qq 等LOA進(jìn)行分析之后,我們發(fā)現(xiàn)在類似的LOA中固定的時(shí)間間隔十分明顯,因此我們采用特征時(shí)間間隔的方法來(lái)對(duì)LOA進(jìn)行探測(cè)是可行的。
3.系統(tǒng)驗(yàn)證與結(jié)論
對(duì)包含心跳包的LOA探測(cè)程序的輸入為離線數(shù)據(jù)包,輸出為此數(shù)據(jù)包中包含心跳包的流信息(包括數(shù)據(jù)包時(shí)間間隔,以及特征時(shí)間間隔,特征時(shí)間間隔到達(dá)次數(shù),流中是否為心跳包流),和對(duì)數(shù)據(jù)包中是否存在包含心跳包的LOA的判別。輸出結(jié)果儲(chǔ)存在與離線數(shù)據(jù)包同名的txt 文件中。
我們使用對(duì)采集到的共285MB,617 種不同應(yīng)用的不同行為數(shù)據(jù)包進(jìn)行分析,LOA探測(cè)程序的探測(cè)結(jié)果進(jìn)行分析。由于測(cè)試環(huán)境為L(zhǎng)inux,使用了Shell 編程對(duì)617 種數(shù)據(jù)包進(jìn)行一次性處理。
結(jié)果表明該系統(tǒng)可準(zhǔn)確的判定包含心跳包的LOA,通過(guò)特征時(shí)間間間隔法,對(duì)每條流的時(shí)間間隔進(jìn)行統(tǒng)計(jì)識(shí)別,最后達(dá)到了對(duì)包含心跳包的LOA的識(shí)別目的。測(cè)試的結(jié)果顯示了高識(shí)別率和高正確率。 [科]
【參考文獻(xiàn)】
[1]The Impact of Smartphones on 3G Network Performance[Z/OL].Signals Research Group,2010.
[2]Behavior Analysis of Smartphone[R/OL].HUAWEI,2011.www.huawei.com/ilink/en/download/HW_001545.