張涌逸
摘 要:PECR協(xié)議中對下游節(jié)點是否擁塞僅僅是一種預(yù)測,這種預(yù)測有時是不準確的,且在下游節(jié)點沒有滿足條件擁塞度和剩余能量的時候,傳輸層的問題要回到網(wǎng)絡(luò)層去處理。為了解決PECR協(xié)議中存在的這些問題,文章引入了具有發(fā)送優(yōu)先級的兩個隊列,優(yōu)先發(fā)送優(yōu)先級高的數(shù)據(jù),在實際出現(xiàn)擁塞時會通知上游節(jié)點減少發(fā)送速率,并先拋棄掉優(yōu)先級低的數(shù)據(jù)。在擁塞嚴重的時候也會拋棄掉優(yōu)先級高的數(shù)據(jù),但不會再回到網(wǎng)絡(luò)層去處理問題。
關(guān)鍵詞:擁塞控制;可靠性;擁塞度;隊列
無線傳感器網(wǎng)絡(luò)在剛出現(xiàn)的時候由于數(shù)據(jù)傳輸量小,基本不需要傳輸層協(xié)議。無線傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸量的增加,對傳輸層提出了新的要求,人們也提出了各種各樣的傳輸層協(xié)議。這些協(xié)議主要是用來提供可靠性保證和進行擁塞控制的。提供可靠性保證的協(xié)議有速率單調(diào)小任務(wù)(Rate Monotonic Small Task,RMST)、無線承載控制(Radio Bearer Control,RBC)、協(xié)議地極方向(Conventional Terrestrial Pole,CTP)、保留和終止計劃的執(zhí)行(Executive Retention and Termination Plan,ERTP)和慢存入快取出(Pump Slowly Fetch Quickly,PSFQ)等,進行擁塞控制的有CODE,CCF,PCCP和基于能量優(yōu)先的阻塞緩解機制(Priority of Energy Congestion Relief,PECR)等。PECR協(xié)議也能提供一定的可靠性。利用緩存來進行擁塞檢測,通過對過去緩存的變化來預(yù)測下一次的變化,進而確定是否出現(xiàn)了擁塞。由于使用前一次的變化值來預(yù)測下一單位時間間隔的變化值,這會發(fā)生沒有擁塞而預(yù)測出現(xiàn)擁塞的情況,也會在有擁塞出現(xiàn)而預(yù)測到?jīng)]有擁塞的情況。PECR協(xié)議在出現(xiàn)擁塞的時候沒有任何的處理方法,甚至在出現(xiàn)擁塞度和剩余能量不能滿足選擇下一跳的時候還要把任務(wù)交到網(wǎng)絡(luò)層去處理,這是不合實際的[1-3]。因為網(wǎng)絡(luò)層實際上已把最合理的下一跳路由傳達給節(jié)點了。為了解決上述的問題,文章在傳輸層引入了數(shù)據(jù)傳輸?shù)膬?yōu)先級,通過傳輸?shù)膬?yōu)先等級在出現(xiàn)擁塞的時候能把實時信息及時地傳輸出去,對于那些不是實時的信息可拋棄掉,不需要再把任務(wù)交給網(wǎng)絡(luò)層來處理。
1 PECR協(xié)議的改進
PECR協(xié)議通過對過去數(shù)據(jù)增量[1]:
C(k)=b(k)-b(k-1),b(k)表示在時刻k緩存占用大小)的考察,來推測過一個單位時間間隔緩存數(shù)據(jù)增量仍為C(k)。利用C(k)可預(yù)測出在下一個單位時間間隔緩存的擁塞度:
CGT=(b(k)+ C(k))/B (B為緩存大?。?/p>
當(dāng)CGT>a認為出現(xiàn)了擁塞(a擁塞的閾值) 。
既然是預(yù)測就會和實際情況有出入。為了解決PECR協(xié)議預(yù)測時出現(xiàn)的問題我們提出了利用數(shù)據(jù)發(fā)送的優(yōu)先級來解決此問題。實時信號的優(yōu)先級較高,非實時信號的優(yōu)先級較低。為此,在傳輸層建立了兩個隊列用來存放數(shù)據(jù),每個隊列的大小為B。優(yōu)先級高(比如實時信號)的數(shù)據(jù)放在一個隊列中,優(yōu)先級低(比如非實時信號)的放在一個隊列中。節(jié)點對接收到的數(shù)據(jù)根據(jù)包頭中的優(yōu)先級位(可設(shè)為0,1,為1時數(shù)據(jù)優(yōu)先級較高)進行劃分,把數(shù)據(jù)分配給兩個隊列。在發(fā)送的時候優(yōu)先發(fā)送優(yōu)先級高的數(shù)據(jù)。具體在實現(xiàn)的時候如果可能采取每發(fā)送n個優(yōu)先級高的數(shù)據(jù)后才發(fā)送一個優(yōu)先級低的數(shù)據(jù);如果出現(xiàn)有一個隊列為空,則只發(fā)送另一個隊列的數(shù)據(jù)。仍利用PECR協(xié)議來預(yù)測擁塞度。利用預(yù)測的擁塞度來進行分流。在擁塞真的發(fā)生的時候,先拋棄掉優(yōu)先級低的數(shù)據(jù),也就是不發(fā)送低優(yōu)先級的數(shù)據(jù)。當(dāng)然,如果只發(fā)送優(yōu)先級高的數(shù)據(jù),優(yōu)先級高的隊列如果仍舊擁塞,優(yōu)先級高的隊列中的數(shù)據(jù)也會被拋棄。
2 改進的BPEC協(xié)議流程
改進的BPEC協(xié)議在預(yù)測到擁塞的時候會采取分流、減少數(shù)據(jù)傳輸?shù)乃俾实却胧T趯嶋H出現(xiàn)擁塞的時候會拋棄掉優(yōu)先級低的數(shù)據(jù),在擁塞嚴重的時候優(yōu)先級高的數(shù)據(jù)也會被拋棄。為了適應(yīng)無線傳感器網(wǎng)絡(luò)計算能力簡單的特點,在計算擁塞度、在考察節(jié)點是否實際出現(xiàn)擁塞,只以優(yōu)先級高的隊列作為預(yù)測出現(xiàn)擁塞和實際出現(xiàn)擁塞的判斷依據(jù)。當(dāng)節(jié)點優(yōu)先級高的隊列數(shù)據(jù)超過一半的時候,看作節(jié)點實際出現(xiàn)了擁塞[2];擁塞度仍采用BPEC協(xié)議的計算方法。
(1)節(jié)點根據(jù)路由表(由網(wǎng)絡(luò)層提供)信息確定自己的下一跳信息;(2)節(jié)點建立兩個緩存隊列,一個隊列是優(yōu)先級高的隊列,一個隊列是優(yōu)先級低的隊列;(3)節(jié)點對接收到的數(shù)據(jù)根據(jù)包頭中的優(yōu)先級位(可設(shè)為0,1,為1時數(shù)據(jù)優(yōu)先級較高)進行劃分,分別把收到的數(shù)據(jù)按優(yōu)先級放入兩個隊列。優(yōu)先級高的隊列數(shù)據(jù)超過緩存的1/2,不再接收數(shù)據(jù)(也即把接收的數(shù)據(jù)拋棄);優(yōu)先級低的隊列數(shù)據(jù)超過緩存的1/2,不再接收數(shù)據(jù)。(4)每個節(jié)點確定自己的C(k),CGT、剩余能量等信息,然后周期性地向其鄰居節(jié)點進行廣播。(5)根據(jù)自己的下游節(jié)點C(k),CGT、剩余能量等信息確定是否需要分流。如果現(xiàn)在的下一跳節(jié)點的剩余能量及預(yù)測的擁塞值不超過a,仍選擇此節(jié)點作為下一跳節(jié)點;否則,要重新確定下一跳節(jié)點。(6)除去(5)中的下一跳節(jié)點,在自己的其余的下游節(jié)點中,選擇一個節(jié)點,使得剩余能量>p(p為可做路由節(jié)點剩余能量的閾值),并且取這些節(jié)點中擁塞度CGT最小的節(jié)點作為自己的下一跳節(jié)點。(7)如果優(yōu)先級高的隊列數(shù)據(jù)超過緩存的1/2,向其鄰居節(jié)點通報出現(xiàn)了擁塞,上游節(jié)點的發(fā)送速率減半。此時,向下一跳節(jié)點不再發(fā)送低優(yōu)先級隊列中的數(shù)據(jù),只發(fā)送高優(yōu)先級隊列中的數(shù)據(jù)。如果沒出現(xiàn)擁塞,向下一跳節(jié)點每發(fā)送n個優(yōu)先級高的數(shù)據(jù)包才發(fā)送一個優(yōu)先級低的數(shù)據(jù)包,如果有一個隊列為空,只發(fā)送另一個隊列中的數(shù)據(jù)。
3 結(jié)語
隨著無線傳感器網(wǎng)絡(luò)數(shù)據(jù)通信量的增加,人們對傳輸層的研究越來越多。PECR協(xié)議是一種較早提出的傳輸層協(xié)議,能自適應(yīng)地進行擁塞控制,也能有一定可靠性保證,還能節(jié)約能量。但PECR協(xié)議進行擁塞控制時采用的是根據(jù)現(xiàn)在緩存的情況來預(yù)測下一單位時間間隔緩存情況的方法。僅用這種方法會帶來預(yù)測不準確的問題,并在實際出現(xiàn)擁塞時PECR協(xié)議也不會采取任何措施,有時還需要回到網(wǎng)絡(luò)層去處理。本文在PECR協(xié)議的基礎(chǔ)上引入了兩個隊列,采用優(yōu)先發(fā)送實時信息的方式來發(fā)送優(yōu)先級高的信息,在實際發(fā)生擁塞的時候先拋棄優(yōu)先級低的信息,并通知上游節(jié)點減小發(fā)送速率的方法來解決這些問題,且不再需要網(wǎng)絡(luò)層的參與。
[參考文獻]
[1]蔣禧,齊建東,曹永潔,等.能量優(yōu)先的無線傳感器網(wǎng)絡(luò)擁塞緩解機制[J].計算機工程與設(shè)計,2011(2):416-419.
[2]卜長清.無線傳感器網(wǎng)絡(luò)實時傳輸協(xié)議的研究和實現(xiàn)[D].重慶:重慶大學(xué),2009.
[3]劉偉榮,何云.物聯(lián)網(wǎng)與無線傳感器網(wǎng)絡(luò)技術(shù)[M].北京:電子工業(yè)出版社,2013.endprint