眾山GPRS DTU數(shù)傳終端流量控制策略
眾山GPRS DTU數(shù)傳終端流量控制策略
1) 移動對GPRS流量的收費(fèi)方式
目前移動公司對GPRS是按照流量計費(fèi)方式計算的,但是實(shí)際上也實(shí)行了一些限制,主要有兩個方面,一個方面是對空閑時間做了一定的限制,當(dāng)長時間沒有數(shù)據(jù)通信時,移動網(wǎng)關(guān)會自動斷開通信連接(對于TCP協(xié)議,是直接斷開鏈路,對于UDP協(xié)議,則是收回分配的NAT端口號). 對于這個斷開時間,TCP協(xié)議比UDP協(xié)議大得多。一般很多地方,TCP協(xié)議允許空閑幾分鐘,而UDP協(xié)議僅允許空閑幾十秒。
另外,移動公司在計算流量的時候,不一定按照真實(shí)的字節(jié)計算,而是規(guī)定一個最小流量,當(dāng)一個時間段內(nèi),如果只發(fā)了一個包,那么不管這個包實(shí)際大小是多少,都按最小流量計算,比如1K字節(jié)。
即便按照這種方式計算下來,實(shí)際上每個月心跳方面的流量需要占用10M字節(jié)左右.
移動目前有20元、50元包月的小流量套餐,允許用戶每月使用20M字節(jié)-50M字節(jié)流量,按道理,在很多GPRS行業(yè)應(yīng)用中也應(yīng)該是夠用了.
但是實(shí)際情況中, 經(jīng)常存在流量失控, 超過預(yù)期的現(xiàn)象!
2) GPRS DTU流量失控原因分析
實(shí)際GPRS應(yīng)用系統(tǒng)中,用戶可能經(jīng)常發(fā)現(xiàn)移動公司統(tǒng)計出的GPRS流量經(jīng)常超過自己的預(yù)期,甚至現(xiàn)"費(fèi)用爆炸"的現(xiàn)象.
這個情況主要是由于用戶使用的GPRS DTU終端產(chǎn)品沒有進(jìn)行徹底的流量控制, 產(chǎn)生大量無效流量所導(dǎo)致的.
總體看來, GPRS DTU流量組成主要包括四個部分:
[建立網(wǎng)絡(luò)連接包], [用戶應(yīng)用層數(shù)據(jù)], [心跳包], [垃圾數(shù)據(jù)]
我們分兩類來說明:
A.流量穩(wěn)定型: [用戶應(yīng)用層數(shù)據(jù)],[心跳包]
當(dāng)用戶系統(tǒng)設(shè)計合理,參數(shù)設(shè)置合理,那么[用戶應(yīng)用層數(shù)據(jù)]和[心跳包]基本上不會導(dǎo)致流量超過預(yù)期的情況.
B.流量不確定型: [建立網(wǎng)絡(luò)連接],[垃圾數(shù)據(jù)]
[建立網(wǎng)絡(luò)連接] 不穩(wěn)定的原因是,當(dāng)數(shù)據(jù)中心關(guān)閉或者因?yàn)槟撤N原因?qū)е翯PRS DTU無法與中心建立連接時,DTU會反復(fù)重試建立連接,這樣會導(dǎo)致很大的流量.
[垃圾數(shù)據(jù)] 是當(dāng)GPRS DTU處于GPRS網(wǎng)絡(luò)內(nèi)時,會受到相當(dāng)一部分都不明內(nèi)容的垃圾信息,這都是要計算流量的,而且可能會占流量中的較大比 例( 目前GPRS網(wǎng)絡(luò)內(nèi)垃圾數(shù)據(jù)的現(xiàn)象廣泛存在,一種解釋是可能是其他接入GPRS網(wǎng)絡(luò)內(nèi)的電腦病毒發(fā)來的攻擊數(shù)據(jù)或探測包)
3) GPRS DTU數(shù)傳終端流量控制策略
在分析了導(dǎo)致流量超過預(yù)期的原因后,我們再來看看眾山科技在GPRS DTU數(shù)傳終端流量控制方面采取的策略:
A.對于 [用戶應(yīng)用層數(shù)據(jù)],[心跳包]部分的控制策略:
眾山GPRS DTU可以分為保持在線方式和喚醒上線方式,當(dāng)用戶應(yīng)用數(shù)據(jù)通信頻繁, 需要經(jīng)常雙向通信時,GPRS DTU一般使用保持在線方式.
當(dāng)用戶應(yīng)用數(shù)據(jù)量極少時,也可以考慮采用喚醒上線方式,喚醒上線方式又細(xì)分為 本地控制命令喚醒, 用戶數(shù)據(jù)包喚醒, 定時自動喚醒, 中心撥號喚醒, 中心短信喚醒幾種方式.采用喚醒方式可以大幅減少GPRS流量.
B.對[建立網(wǎng)絡(luò)連接]的流量控制策略:
眾山GPRS DTU對[建立網(wǎng)絡(luò)連接]的部分實(shí)行了智能判斷的方法,當(dāng)中心無法連接的時候, 避免大量無效連接包的產(chǎn)生, GPRS DTU支持重新嘗試連接的時間間隔設(shè)置, 比如按每隔5分鐘才重新嘗試連接1次,而不是連續(xù)重新嘗試連接, 或者按照時間遞增的方式重新嘗試連接.(比 如按照10秒, 20 秒,40 秒, ...遞增),從而有效避免[建立網(wǎng)絡(luò)連接]部分出現(xiàn)大流量.
C. 對[垃圾數(shù)據(jù)]的流量控制策略:
在許多GPRS DTU廠家對垃圾數(shù)據(jù)的現(xiàn)象束手無策的情況下, 眾山科技獨(dú)家實(shí)現(xiàn)了自動避讓垃圾數(shù)據(jù)的技術(shù). 垃圾數(shù)據(jù)的一個特點(diǎn)是:它并不 是對所有IP都會出現(xiàn),當(dāng)GPRS設(shè)備在某個時間收到垃圾數(shù)據(jù)包時, 如果更換一個IP地址, 那么就可以有效避免繼續(xù)收到更多的垃圾數(shù)據(jù). 其核心思路實(shí)際上是簡單的,很容易理解. 更換IP地址的方法也容易實(shí)現(xiàn),也就是重新快速進(jìn)行一次GPRS撥號,從而分配到一個新的IP地址,并且重新與中心建立握手即可.
但是,判斷GPRS設(shè)備收到垃圾數(shù)據(jù)需要一個必備的條件,就是必須在GPRS DTU內(nèi)部自行實(shí)現(xiàn)完整的PPP協(xié)議及TCP/IP協(xié)議.也就是GPRS DTU具備IP
層數(shù)據(jù)包處理能力,由于GPRS設(shè)備知道合法數(shù)據(jù)中心的IP地址以及DNS服務(wù)器IP地址, 因此可以在IP層對收到的數(shù)據(jù)包進(jìn)行判斷,如果該IP包的來源IP地址即不是來自合法數(shù)據(jù)中心的IP地址,也不是合法DNS服務(wù)器IP地址,即可認(rèn)定為垃圾數(shù)據(jù).順便提一下,目前有的廠家的GPRS DTU設(shè)備使用了GPRS無線模塊內(nèi)置協(xié)議棧, 這種情況下,由于GPRS無線模塊內(nèi)置協(xié)議棧已經(jīng)把IP層封裝了, 對 外開放的只是TCP和UDP通道的數(shù)據(jù), 因此無法判斷垃圾數(shù)據(jù)包存在, 更談不上自動避讓了.眾山使用自行實(shí)現(xiàn)的PPP及TCP/IP協(xié)議棧,可以有效識別垃圾數(shù)據(jù)包, 在保持用戶數(shù)據(jù)不丟失的情況下,自動快速切換IP地址, 避讓垃圾數(shù)據(jù)的攻擊,從而可以有效避免垃圾流量的產(chǎn)生,并且保證了GPRS的有效帶寬和處理器資源不被垃圾流量所消耗,進(jìn)一步增強(qiáng)了GPRS通信的可靠性.
節(jié)選自 <眾山GPRS DTU數(shù)傳應(yīng)用基礎(chǔ)知識> http://www.zstel.com
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。