1 引言:
無線多跳網(wǎng)絡(luò)是無線自組網(wǎng)、無線網(wǎng)狀網(wǎng),、無線傳感器網(wǎng)絡(luò)的總稱,。基于無線多跳網(wǎng)絡(luò)上的視頻傳輸已得到了廣泛關(guān)注和研究,,但所依賴的底層路由協(xié)議基本上是傳統(tǒng)路由協(xié)議(如AODV,,DSDV 等)。近年來底層的路由協(xié)議有了新發(fā)展,,文獻(xiàn)[2]首次提出一種性能更好,、被稱作機(jī)會(huì)路由的協(xié)議ExOR(Extremely OpportuniSTic Routing)。
傳統(tǒng)的無線多跳網(wǎng)絡(luò)路由協(xié)議基本思路沒有脫離有線網(wǎng)絡(luò),,將節(jié)點(diǎn)之間人為地規(guī)定是否存在鏈路,,并根據(jù)某種路由度量準(zhǔn)則,選擇最好的路由,。而機(jī)會(huì)路由協(xié)議認(rèn)為無線電波的本質(zhì)是廣播的,,利用廣播性質(zhì)所帶來的增益,通過節(jié)點(diǎn)間的協(xié)作,,獲得了高于傳統(tǒng)路由的帶寬,。因此,從直觀上,, 利用機(jī)會(huì)路由作為支持視頻傳輸的底層路由協(xié)議會(huì)取得比傳統(tǒng)路由協(xié)議更好的性能,, 但是機(jī)會(huì)路由為了獲得這種增益而采取的調(diào)度機(jī)制在傳輸實(shí)時(shí)視頻時(shí)會(huì)產(chǎn)生丟失部分I 幀的嚴(yán)重問題, 使得視頻傳輸?shù)姆€(wěn)定性受到嚴(yán)重影響,。
針對(duì)此問題,, 筆者提出一種綜合利用傳統(tǒng)路由和機(jī)會(huì)路由進(jìn)行實(shí)時(shí)視頻傳輸的跨層設(shè)計(jì)方法。
2 機(jī)會(huì)路由簡(jiǎn)介:
傳統(tǒng)的無線多跳網(wǎng)絡(luò)的路由協(xié)議和有線網(wǎng)絡(luò)中的路由協(xié)議十分相似,, 即在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間尋找1 組點(diǎn)形成1 條最優(yōu)的路由,,然后各節(jié)點(diǎn)依次轉(zhuǎn)發(fā)數(shù)據(jù)。路由上各個(gè)節(jié)點(diǎn)之間被人為地認(rèn)為有1 條鏈路存在,, 因此并未有效利用無線電波的廣播特性,。

圖1 機(jī)會(huì)路由原理演示圖
如圖1,假設(shè)源節(jié)點(diǎn)到4 個(gè)中間節(jié)點(diǎn)n1,,n2,,n3,n4 的鏈路質(zhì)量較差,, 且都是數(shù)據(jù)包發(fā)送1 次只有25%的概率可以收到,, 節(jié)點(diǎn)n1,,n2,n3,,n4 到目的節(jié)點(diǎn)的鏈路質(zhì)量很好,,且都是數(shù)據(jù)包發(fā)送1 次100%的概率可以收到。那么,,按照傳統(tǒng)的路由機(jī)制,, 會(huì)從4 個(gè)中間節(jié)點(diǎn)選擇1 個(gè)最優(yōu)的作為中繼節(jié)點(diǎn),由于4 個(gè)中間節(jié)點(diǎn)鏈路狀況一樣,,則會(huì)隨機(jī)選1 個(gè)節(jié)點(diǎn)作為路由轉(zhuǎn)發(fā)節(jié)點(diǎn),,比如n2。這樣,,數(shù)據(jù)包會(huì)沿著源節(jié)點(diǎn),、n2、目的節(jié)點(diǎn)這條路由進(jìn)行轉(zhuǎn)發(fā),,那么1個(gè)數(shù)據(jù)包通過這條路由平均傳送次數(shù)期望ETX(ExpectedTransmissiON Count)為1/0.25+1=5,。而由于無線電波的廣播特性, 源節(jié)點(diǎn)向n2 發(fā)送數(shù)據(jù)時(shí),,n1,,n3,n4 也會(huì)收到一部分包,。有些數(shù)據(jù)包n2 沒有收到,,但n1 可能恰好收到。有些數(shù)據(jù)包n1,,n2 都沒有收到,,但n3 可能收到了??梢圆槐卮_定哪個(gè)節(jié)點(diǎn)是中繼節(jié)點(diǎn),, 只要目的節(jié)點(diǎn)有數(shù)據(jù)包沒有收到,那么任何1 個(gè)中繼節(jié)點(diǎn)只要有這個(gè)包,,都可以傳給目的節(jié)點(diǎn),。假設(shè)n1,n2,,n3,,n4 收到包的概率相互獨(dú)立, 經(jīng)過計(jì)算1 個(gè)數(shù)據(jù)包的平均傳送次數(shù)期望為1/(1-(1-0.25)4)+1≈2.5,。這里,,充分利用無線電波的廣播特性可以獲得1 倍的增益。隨著網(wǎng)絡(luò)拓?fù)涞牟煌珽xOR 所獲得的增益也不同,,文獻(xiàn)[2]實(shí)驗(yàn)結(jié)果表明ExOR 端到端的平均吞吐量是傳統(tǒng)路由協(xié)議(AODV)的3 倍。
雖然ExOR 帶寬利用效率和端到端吞吐量?jī)?yōu)勢(shì)明顯,,但也存在不足之處,,尤其在支持實(shí)時(shí)視頻傳輸時(shí)顯得更加明顯,主要體現(xiàn)在以下3 點(diǎn):
1) ExOR 路由算法內(nèi)在地利用了無線通信的隨機(jī)性,,因此其傳輸調(diào)度算法對(duì)每個(gè)數(shù)據(jù)包都是公平的,,而視頻傳輸?shù)奶攸c(diǎn)就是不同數(shù)據(jù)包重要性不同, 因此兩者存在一定的矛盾,。
2) ExOR 成批發(fā)送,,會(huì)造成一定程度的延遲。
3) ExOR 沒有鏈路級(jí)的差錯(cuò)重傳機(jī)制,,最后幾個(gè)數(shù)據(jù)包所需傳輸時(shí)間較長(zhǎng),,在實(shí)時(shí)視頻傳輸中,會(huì)導(dǎo)致部分關(guān)鍵幀數(shù)據(jù)包的丟失,。
3 混合路由視頻傳輸:
對(duì)于某些實(shí)時(shí)視頻傳輸,, 例如視頻轉(zhuǎn)播, 有如下特點(diǎn):對(duì)實(shí)時(shí)性要求較高,,系統(tǒng)可以允許一定的延時(shí),,但希望視頻盡量是連續(xù)的,抖動(dòng)較小,,同時(shí)在保證傳輸?shù)那闆r下視頻質(zhì)量盡量高,。由于機(jī)會(huì)路由在端到端吞吐量上與傳統(tǒng)路由相比, 有著明顯的優(yōu)勢(shì),, 因此,, 可以期望利用ExOR 進(jìn)行實(shí)時(shí)視頻傳輸取得比傳統(tǒng)路由更優(yōu)的性能。
在設(shè)計(jì)具體方案時(shí),,以下幾點(diǎn)是必須予以考慮:
1) 由于ExOR 需要將數(shù)據(jù)包成批發(fā)送,,因此視頻的延遲將直接和數(shù)據(jù)包數(shù)量的多少相關(guān)。每批次的數(shù)據(jù)包越多,,延遲越大;數(shù)據(jù)包越少,,延遲越小。
2) ExOR 的性能和每批包的數(shù)量相關(guān),,文獻(xiàn)[3]研究結(jié)果表明,,每批包的數(shù)量越多,ExOR 的平均端到端吞吐量越高,,但數(shù)量高于20 個(gè)后,,數(shù)量增加對(duì)端到端吞吐量提升效果不明顯。
3) 視頻的參數(shù)選擇需要考慮到I 幀的數(shù)量,如果I幀過多,,會(huì)影響壓縮效率,,如果I 幀過少,會(huì)影響視頻解碼質(zhì)量,。
4) 視頻播放時(shí),,I 幀的丟失是不可容忍的,因此要盡量保證播放時(shí)I 幀的數(shù)據(jù)已收到,。
綜合以上幾點(diǎn),,選擇1 個(gè)合適的編碼參數(shù),若每T s1 個(gè)I 幀,,則將每T s 的數(shù)據(jù)作為一個(gè)批次發(fā)送,。若傳輸延遲為t s,則初始延遲為(T+t) s,。此后為保證視頻播放的實(shí)時(shí)性和流暢性,,無論每批次在T s 內(nèi)是否傳送完畢,都應(yīng)停止當(dāng)前批次的發(fā)送,,及時(shí)啟動(dòng)下一批次的發(fā)送,。在每批次中,視頻幀的打包應(yīng)遵循IETF 相關(guān)標(biāo)準(zhǔn)[4]規(guī)定,。即每一個(gè)數(shù)據(jù)包的長(zhǎng)度應(yīng)滿足不超過MTU (Maximum TransmissionUnit,,最大傳輸單元,一般為1 500 byte)的條件,每個(gè)P 幀單獨(dú)組成1 個(gè)數(shù)據(jù)包,,I 幀在每個(gè)限制長(zhǎng)度內(nèi)組成1 個(gè)包,, 不足的部分單獨(dú)組成1 個(gè)包。如果只利用ExOR 傳輸數(shù)據(jù),,由于無線多跳網(wǎng)絡(luò)本身的隨機(jī)性和不穩(wěn)定性以及ExOR 最后幾個(gè)包的傳輸延遲較大,, 并不一定能保證每T s 的數(shù)據(jù)都能在T s 內(nèi)傳輸完畢。這樣就會(huì)造成某些批次最后幾個(gè)數(shù)據(jù)包的丟失,。而ExOR 調(diào)度機(jī)制本身決定了這最后幾個(gè)數(shù)據(jù)包是隨機(jī)的,, 如果丟掉的恰好是I 幀的數(shù)據(jù)包,造成I 幀的丟失,,就會(huì)導(dǎo)致這T s 的視頻無法播放,, 從而造成視頻觀看的不連續(xù)性和主觀收看質(zhì)量的下降。因此,,不能簡(jiǎn)單地將ExOR 直接用于視頻傳輸,,必須根據(jù)視頻傳輸?shù)奶厥庑宰鱿鄳?yīng)地調(diào)整。
視頻傳輸與一般數(shù)據(jù)傳輸所不同,, 其特殊性之一就在于視頻傳輸中數(shù)據(jù)包的重要性是不同的[5],。關(guān)鍵幀I 幀是重要的,,一般要盡量保證I 幀傳輸?shù)目煽啃浴R驗(yàn)? 個(gè)I 幀將影響并決定其后數(shù)個(gè)P 幀的解碼,,1 個(gè)I 幀的丟失將導(dǎo)致2 個(gè)I 幀之間的視頻無法播放或視頻質(zhì)量急劇下降,。而P 幀是非關(guān)鍵幀,丟失個(gè)別P 幀對(duì)視頻質(zhì)量影響不大,,一般來說,,P 幀只是盡量傳輸,并不進(jìn)行差錯(cuò)重傳,。因此,必須根據(jù)數(shù)據(jù)包重要性的不同進(jìn)行相應(yīng)處理,。對(duì)于I幀,,應(yīng)保證無差錯(cuò)地傳輸,而對(duì)于P 幀,,盡力保證一定時(shí)間內(nèi)盡量多的傳送,。同時(shí),傳統(tǒng)路由雖然傳輸速率不如機(jī)會(huì)路由,, 但是傳統(tǒng)路由網(wǎng)絡(luò)結(jié)構(gòu)清晰,, 并且無須成批發(fā)送,配合差錯(cuò)重傳會(huì)使得某些特定數(shù)據(jù)傳輸更有保障,。所以,,對(duì)于實(shí)時(shí)視頻傳輸,可以利用傳統(tǒng)路由對(duì)I 幀的數(shù)據(jù)包進(jìn)行差錯(cuò)重傳,, 而對(duì)P 幀的數(shù)據(jù)包用機(jī)會(huì)路由進(jìn)行盡力傳輸,。這樣,就同時(shí)利用了2 種路由的優(yōu)點(diǎn)根據(jù)不同數(shù)據(jù)包的性質(zhì)選擇相應(yīng)合適的路由協(xié)議進(jìn)行傳輸,, 并且解決了I 幀丟失的問題,。
4 實(shí)驗(yàn)結(jié)果分析:
為了對(duì)算法進(jìn)行驗(yàn)證, 在Windows 平臺(tái)下利用C/C++語言編寫了無線多跳網(wǎng)絡(luò)仿真程序,,實(shí) 現(xiàn)了傳統(tǒng)路由(AODV)[6],、機(jī)會(huì)路由(ExOR)、混合路由3 種協(xié)議,。無線網(wǎng)絡(luò)參數(shù)基于802.11 b,,網(wǎng)絡(luò)拓?fù)淙鐖D2 所示,A 為源節(jié)點(diǎn),,E 為目標(biāo)節(jié)點(diǎn),。視頻采用MPEG-4 標(biāo)準(zhǔn),每秒25 幀,,其中有1 幀為I 幀,,視頻碼率為220 Kbit/s。為了對(duì)3 種方法進(jìn)行公平的比較,采用以下方法:1)傳統(tǒng)路由對(duì)I 幀進(jìn)行差錯(cuò)重傳,。2)每1 s 的視頻作為一個(gè)批次發(fā)送,,為了保證視頻的連續(xù)性,每1 s 時(shí)間到時(shí),無論當(dāng)前批次的數(shù)據(jù)包是否傳送完畢,,都開始下個(gè)批次的傳送,。3)用報(bào)文投遞率(PDR)來衡量效果,考慮到視頻數(shù)據(jù)的特殊性,,規(guī)定若I幀沒有收到,,由于其他P 幀無法解碼,則報(bào)文投遞率為0,,即當(dāng)前1 s 的數(shù)據(jù)丟失;若I 幀收到,,報(bào)文投遞率為收到幀數(shù)/總幀數(shù)。

圖2 實(shí)驗(yàn)仿真網(wǎng)絡(luò)拓?fù)鋱D(直線上的數(shù)字是鏈路分組傳遞率)
實(shí)驗(yàn)結(jié)果如圖3 所示,, 傳統(tǒng)路由雖然可以保障I 幀的傳送,,但由于端到端吞吐量較差,因此總的報(bào)文投遞率較低,,影響視頻收看質(zhì)量,。機(jī)會(huì)路由端到端吞吐量高,報(bào)文平均投遞率高,,但由于內(nèi)在的調(diào)度機(jī)制使得某些時(shí)間I幀丟失,,導(dǎo)致視頻無法播放,影響了視頻播放的連續(xù)性,。


圖3 3 種方式傳輸視頻結(jié)果比較
而混合路由的平均報(bào)文投遞率遠(yuǎn)高于傳統(tǒng)路由,, 與機(jī)會(huì)路由相差不多,但可以有效減少I 幀的丟失,,保障了視頻播放的連續(xù)性,。
5 小結(jié):
無線多跳網(wǎng)絡(luò)中機(jī)會(huì)路由的端到端吞吐量遠(yuǎn)高于傳統(tǒng)路由,但由于機(jī)會(huì)路由內(nèi)在的調(diào)度機(jī)制,,單獨(dú)利用機(jī)會(huì)路由傳輸視頻會(huì)產(chǎn)生I 幀丟失的問題,, 并嚴(yán)重影響視頻傳輸質(zhì)量。筆者提出了一種將I 幀和P 幀分別利用傳統(tǒng)路由和機(jī)會(huì)路由傳輸?shù)姆椒ǎ?獲得較高的報(bào)文投遞率并降低了I 幀的丟失率,, 取得了比單獨(dú)利用傳統(tǒng)路由或機(jī)會(huì)路由更好的性能,。