1、前言
在工業(yè)應(yīng)用中,低速率,大規(guī)模和長距離的無線自組織網(wǎng)絡(luò)一直沒有得到廣泛的部署,根本原因在于其穩(wěn)定性,可靠性和實(shí)時(shí)性一直無法得到良好的保證。在這種自組織網(wǎng)絡(luò)中,節(jié)點(diǎn)之間的跳轉(zhuǎn)關(guān)系大多是根據(jù)其相對位置和信號(hào)強(qiáng)度來決定的;由于安裝位置,部署密度,啟動(dòng)時(shí)間等差異,其網(wǎng)絡(luò)拓?fù)?/a>往往會(huì)有比較明顯的不同,在網(wǎng)絡(luò)的某些分支,其跳數(shù)可能會(huì)比較淺,比如1-2跳,而有些分支則比較深,比如6-8跳。在這些網(wǎng)絡(luò)跳數(shù)比較淺的區(qū)域,其丟包率比較小,通訊延遲比較小,可靠性和實(shí)時(shí)性也比較好;而在那些網(wǎng)絡(luò)跳數(shù)比較深的區(qū)域,其丟包率也比較高,通訊延遲比較大,可靠性和實(shí)時(shí)性自然也就比較差。
2、業(yè)內(nèi)問題
作為一個(gè)上層的應(yīng)用系統(tǒng),用戶在設(shè)定數(shù)據(jù)傳輸頻率(是每秒給目標(biāo)節(jié)點(diǎn)發(fā)出去多少個(gè)應(yīng)用層的數(shù)據(jù)包,不是網(wǎng)絡(luò)本身的無線通訊速率)的時(shí)候,往往是不太關(guān)心網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的;實(shí)際上這個(gè)也沒辦法關(guān)心,因?yàn)樗旧砭筒惶潭?,因此在設(shè)定重傳的時(shí)間門限的時(shí)候,往往不能充分地考慮到不同的網(wǎng)絡(luò)跳數(shù)所導(dǎo)致的通訊延遲和丟包率。一旦設(shè)置不合理,就會(huì)形成嚴(yán)重的應(yīng)答超時(shí)和通訊失敗;即便設(shè)置了正確的時(shí)間參數(shù),由于開放的無線信道經(jīng)常會(huì)受到外界的擾動(dòng),這個(gè)網(wǎng)絡(luò)拓?fù)淇赡苓€會(huì)發(fā)生變動(dòng),更別說因?yàn)橛脩艉笃谧芳釉O(shè)備或者臨時(shí)對某些設(shè)備二次上電所導(dǎo)致的拓?fù)浣Y(jié)構(gòu)發(fā)生改變了。
從自組織網(wǎng)絡(luò)的基本工作原理,我們可以看出,網(wǎng)絡(luò)跳數(shù)的深淺是由部署環(huán)境和一些其他因素綜合決定的,存在較大的偶然性和不確定性。在網(wǎng)絡(luò)的某些物理分支,其網(wǎng)絡(luò)跳數(shù)必定比其他區(qū)域更深,這個(gè)區(qū)域的丟包率,通訊延遲也必然比其他的區(qū)域更大,帶來的可靠性和實(shí)時(shí)性也自然更差。這一點(diǎn)我們可以通過數(shù)學(xué)上的概率論予以解釋。
3、概率分析
在特定的電磁環(huán)境中,每種配置參數(shù)的無線通訊系統(tǒng)有一個(gè)大致確定的比特誤碼率 BER(Bit Error Rate) 和包誤碼率PER(Packet Error Rate),二者之間有下述關(guān)系:
PER=1 - ( 1 – BER )n
? ? ? 其中n 是這個(gè)數(shù)據(jù)包的長度,也就是總的比特?cái)?shù)量。
考慮到無線自組網(wǎng)系統(tǒng)都是基于數(shù)據(jù)包作為基本的收發(fā)單元,因此本文選定 PER 作為分析的依據(jù)。為了敘述方便,我們假定丟包率PER為p,那么通訊成功的概率P1,也就是不丟包概率為100% - p,也就是 1-p;對于一個(gè)兩跳的無線網(wǎng)絡(luò),要想實(shí)現(xiàn)端到端的成功傳輸,那么這連續(xù)兩跳都必須傳輸成功,依據(jù)概率論的知識(shí),其成功的概率P2應(yīng)該等于兩跳成功概率的乘積,也就是
P2? = P1 * P1 = P12 = ( 1 – p )2
? ? ? 同理,對于一個(gè)由n+1個(gè)節(jié)點(diǎn)組成 n 跳的多跳無線鏈路,最終的目標(biāo)節(jié)點(diǎn)要想正確地接收到源節(jié)點(diǎn)發(fā)出來的數(shù)據(jù),要求從2號(hào)節(jié)點(diǎn)到n+1號(hào)節(jié)點(diǎn)的每一個(gè)中間節(jié)點(diǎn)都必須正確地收到上一跳發(fā)過來的數(shù)據(jù),只要有一個(gè)環(huán)節(jié)失敗了,最終的目標(biāo)節(jié)點(diǎn)就無法正確地收到源節(jié)點(diǎn)發(fā)出來的數(shù)據(jù),因此其總的通訊成功率Pn,按照概率論的知識(shí)應(yīng)該有下述關(guān)系:
Pn = ( P1 * P1 …. * P1 ) = P1n = ( 1 – p )n
? ? ? 為了更加直觀的說明真實(shí)的通訊效果,我們以包誤碼率 PER為10%,也就是 p=0.1 的電磁環(huán)境為例,計(jì)算出不同網(wǎng)絡(luò)跳數(shù)下的鏈路通訊成功率,具體如下表所示:
從上表我們看出,隨著網(wǎng)絡(luò)的跳數(shù)逐步增加,通訊成功率是明顯逐步降低的,到了第五跳 n=5,也就是第六個(gè)鏈路節(jié)點(diǎn)的時(shí)候,其成功率已經(jīng)低于人們的心理“及格線”60%了。很多人在這種情況已經(jīng)判定鏈路不穩(wěn)定了。事實(shí)上有不少的工程師朋友在現(xiàn)場調(diào)試ZigBee網(wǎng)絡(luò)的時(shí)候,就發(fā)現(xiàn)了這個(gè)現(xiàn)象,但很少有人思考其背后的數(shù)學(xué)原理。
4、總結(jié)
通過上文的分析,我們可以看出,在室外長距離的無線自組織網(wǎng)絡(luò)中,由于節(jié)點(diǎn)之間的鏈路損耗較大,其鏈路預(yù)算相對不足,因此其包誤碼率PER會(huì)相應(yīng)升高,也就是丟包概率 p 會(huì)比較大;而在一個(gè)大規(guī)模網(wǎng)絡(luò)中,某些分支節(jié)點(diǎn)的通訊鏈路又會(huì)比較深,也就是網(wǎng)絡(luò)跳數(shù) n 比較大,在這種情況下其通訊成功率Pn自然也就顯著下降了,人們的切身感受就是這個(gè)鏈路不太穩(wěn)定。
說到這里,有的讀者朋友心里可能會(huì)想,這還不簡單,給我上 TCP 算法!加入端到端的數(shù)據(jù)重傳機(jī)制,那問題還不是立馬搞定?效果果真如此么?請看后續(xù)文章分解!