李汝南 劉元安 劉凱明 唐碧華
(北京郵電大學(xué) 電子工程學(xué)院 無(wú)線電與電磁兼容實(shí)驗(yàn)室 北京 100876)
VoIP業(yè)務(wù)在無(wú)線Mesh網(wǎng)絡(luò)中的應(yīng)用
李汝南 劉元安 劉凱明 唐碧華
(北京郵電大學(xué) 電子工程學(xué)院 無(wú)線電與電磁兼容實(shí)驗(yàn)室 北京 100876)
將VoIP應(yīng)用于在無(wú)線Mesh網(wǎng)中,必須考慮時(shí)延、時(shí)延抖動(dòng)、丟包率等因素。本文設(shè)計(jì)了一種新型的度量值Metric,將影響VoIP的主要因素時(shí)延與時(shí)延抖動(dòng)充分考慮在內(nèi),使這種度量值更適用于傳輸VoIP類(lèi)強(qiáng)實(shí)時(shí)性業(yè)務(wù)。此外,本文設(shè)計(jì)出基于HWMP協(xié)議改進(jìn)的EHWMP協(xié)議,大大減小了路由維護(hù)階段的時(shí)延與開(kāi)銷(xiāo),并使協(xié)議更加適用于無(wú)線Mesh網(wǎng)絡(luò)。
VoIP(Voice over IP)近年來(lái)發(fā)展迅猛,各種商業(yè)模式與產(chǎn)品也層出不窮(如Skype、MSN等)。最近,人們?cè)絹?lái)越關(guān)注一個(gè)熱點(diǎn)問(wèn)題,VoIP如何應(yīng)用于無(wú)線Mesh網(wǎng)絡(luò)環(huán)境下。一旦VoIP能夠應(yīng)用于無(wú)線Mesh網(wǎng)絡(luò),就能夠給用戶(hù)提供很大的便利。
本文關(guān)注的是基于802.11s上的無(wú)線Mesh網(wǎng)絡(luò)。研究發(fā)現(xiàn),無(wú)線Mesh網(wǎng)絡(luò)中VoIP傳輸性能不理想。主要原因是802.11s無(wú)法提供嚴(yán)格的QoS保障,時(shí)延、時(shí)延抖動(dòng)等因素對(duì)VoIP影響較大[1]。另外在無(wú)線網(wǎng)絡(luò)中,鏈路出現(xiàn)故障時(shí)增大了路由維護(hù)階段的時(shí)延與開(kāi)銷(xiāo)。為了解決上述問(wèn)題,本文設(shè)計(jì)了一種新型的度量值Metric,將影響VoIP的主要因素時(shí)延與時(shí)延抖動(dòng)充分考慮在Metric內(nèi),使這種度量值更適用于傳輸VoIP。另外本文基于HWMP協(xié)議,設(shè)計(jì)了改進(jìn)型路由協(xié)議EHWMP,大大減小了路由維護(hù)階段的時(shí)延與開(kāi)銷(xiāo),并使協(xié)議更加實(shí)用于無(wú)線Mesh網(wǎng)絡(luò)。
在無(wú)線Mesh中傳輸VoIP,首先需要考慮的QoS因素就是端到端的時(shí)延抖動(dòng)與時(shí)延,此二者能夠在極大程度上影響傳輸性能。傳統(tǒng)的協(xié)議和算法中很少涉及時(shí)延抖動(dòng)對(duì)傳輸性能的影響。故此本文中提出一種將時(shí)延抖動(dòng)與時(shí)延因素綜合考慮的Metric度量值。
傳統(tǒng)的ETT只考慮了數(shù)據(jù)包在MAC層的傳輸時(shí)延,卻沒(méi)有考慮數(shù)據(jù)包在網(wǎng)絡(luò)層時(shí)的時(shí)延。因?yàn)槊總€(gè)節(jié)點(diǎn)的緩存區(qū)內(nèi)都有包在排隊(duì),在緩存區(qū)內(nèi)的排隊(duì)等待時(shí)間也需要被考慮進(jìn)總時(shí)延,才能算出比較準(zhǔn)確的端到端時(shí)延[2]。此外,傳統(tǒng)的ETT默認(rèn)最大重傳限制為無(wú)窮大。對(duì)于VoIP這類(lèi)實(shí)時(shí)性強(qiáng)的業(yè)務(wù),必須規(guī)定一個(gè)最大重傳次數(shù)N。所以,在此基礎(chǔ)上,本文將傳統(tǒng)的傳統(tǒng)的ETT,改進(jìn)成EETTi:
綜合考慮上述的二者時(shí)延抖動(dòng)σDelay和改進(jìn)型期待重傳時(shí)間 EETTi,本文采取一種新的度量判據(jù)Metric,計(jì)算公式(5)如下:
這種新型的度量判據(jù)全面考慮了時(shí)延與時(shí)延抖動(dòng)的影響,使得Mesh網(wǎng)絡(luò)更加符合VoIP的傳輸QoS性能要求。
現(xiàn)有的無(wú)線Mesh網(wǎng)絡(luò)結(jié)構(gòu)如圖1[6]。
圖1 無(wú)線Mesh網(wǎng)絡(luò)結(jié)構(gòu)圖
802.11 s設(shè)備必須默認(rèn)實(shí)現(xiàn)HWMP協(xié)議,以保證其互操作性。下面簡(jiǎn)單介紹一下HWMP協(xié)議,該協(xié)議由兩部分組成。第一部分是類(lèi)似于Ad-hoc網(wǎng)絡(luò)的按需距離矢量路由協(xié)議AODV并對(duì)其進(jìn)行了部分改進(jìn),能夠成一種新的路由協(xié)議RM-AODV;第二部分是基于樹(shù)形的先應(yīng)式路由協(xié)議,該協(xié)議是對(duì)前一部分按需路由協(xié)議的一種補(bǔ)充,其主要思想是讓帶有網(wǎng)絡(luò)出口的Portal節(jié)點(diǎn)作為樹(shù)根(Root),將其他MP連接成一棵邏輯的路由樹(shù),讓所有Mesh節(jié)點(diǎn)都知道去Root的路徑[3][4]。
本文在HWMP基礎(chǔ)之上,提出了一種新型的路由協(xié)議EHWMP,協(xié)議的具體內(nèi)容如下:
路由發(fā)現(xiàn)階段:每個(gè)Mesh節(jié)點(diǎn)維護(hù)三張表格,除了鄰居表和路由表之外,還需單獨(dú)維護(hù)一張“全路由表”。路由表的格式如表1。
表1 路由表格式
其中路徑有效標(biāo)志,存放0和1,0表示該路徑無(wú)效,1表示此路徑有效;單跳Metric表項(xiàng),存放源節(jié)點(diǎn)到下一跳節(jié)點(diǎn)之間的路徑判據(jù)度量值Metric;總Metric表項(xiàng),存放源節(jié)點(diǎn)到目的節(jié)點(diǎn)通過(guò)此下一跳節(jié)點(diǎn)轉(zhuǎn)發(fā)的所有路徑中,路徑判據(jù)度量值Metric最小的一個(gè);優(yōu)先級(jí)表項(xiàng),表示這條路徑的優(yōu)先級(jí),數(shù)字越小優(yōu)先級(jí)越高,0是當(dāng)前路徑,1是備份路由,是通過(guò)比較總Metric表項(xiàng)得到的。
Mesh終端以及MAP節(jié)點(diǎn)以廣播的方式、周期性地向周?chē)囊惶従庸?jié)點(diǎn)發(fā)送hello包,目的在于探測(cè)一跳鄰居節(jié)點(diǎn)。而后向一跳鄰居節(jié)點(diǎn)發(fā)送一組probe包,用于測(cè)算本節(jié)點(diǎn)到一條鄰居的時(shí)延抖動(dòng)與時(shí)延等值,通過(guò)第2節(jié)的公式(5),可以計(jì)算出本節(jié)點(diǎn)到一跳鄰居的鏈路上的Metric值,將上述信息存入路由表中。而后各Mesh終端將一跳鄰居信息和Metric一起發(fā)送至MAP。
MAP將覆蓋范圍內(nèi)所有節(jié)點(diǎn)發(fā)送信息匯集成一張“全路由表”,并將該表廣播給覆蓋范圍內(nèi)所有Mesh終端。同時(shí),每個(gè)MAP節(jié)點(diǎn)將自己通信范圍內(nèi)的所有Mesh終端信息周期性向所有Mesh功能節(jié)點(diǎn)進(jìn)行泛洪(由于Mesh功能節(jié)點(diǎn)移動(dòng)性較低,變化較小,故此更新周期可以長(zhǎng)一些)。使Mesh網(wǎng)絡(luò)中,任意一個(gè)Mesh功能節(jié)點(diǎn)都能了解任意一個(gè)Mesh終端處在哪個(gè)MAP節(jié)點(diǎn)的通信范圍之內(nèi)。
有數(shù)據(jù)需要傳輸時(shí),具體的發(fā)送流程如圖2所示:
圖2 數(shù)據(jù)發(fā)送流程圖
路由維護(hù)階段:當(dāng)Mesh終端有移動(dòng)性的時(shí)候,可能會(huì)有新的Mesh終端移動(dòng)進(jìn)入原MAP的覆蓋范圍。此時(shí)新Mesh終端需向周?chē)惶蛇_(dá)鄰居發(fā)送hello包,探測(cè)一跳鄰居。在收到一跳鄰路由維護(hù)階段:當(dāng)Mesh終端有移動(dòng)性的時(shí)候,可能會(huì)在周期之間有新的Mesh終端移動(dòng)進(jìn)入原MAP的覆蓋范圍。此時(shí)新Mesh終端需向周?chē)粭l鄰居發(fā)送hello包,探測(cè)一跳鄰居,并計(jì)算本節(jié)點(diǎn)到一條鄰居的鏈路上的Metric值。而后向MAP發(fā)送這些信息,表示自己是新加入的Mesh終端,MAP收到后更新自己的“全路由表”,廣播給所有Mesh終端,并向所有MP節(jié)點(diǎn)廣播這一更新。
當(dāng)某一跳鏈路發(fā)生斷裂時(shí),Mesh終端迅速查找自己的路由表,根據(jù)鏈路斷裂的狀況啟動(dòng)相應(yīng)的備份路由。
MAP將“全路由表”廣播給所有Mesh終端,則所有Mesh節(jié)點(diǎn)均可使用路由查找算法,根據(jù)“全路由表”建立自己的路由表。
假設(shè)源節(jié)點(diǎn)為節(jié)點(diǎn)i,目的節(jié)點(diǎn)為節(jié)點(diǎn)j(j≠i)。路由查找算法具體步驟如下:
步驟1:源節(jié)點(diǎn)i首先查找自己的路由表,如果目的節(jié)點(diǎn)j已經(jīng)存在于源節(jié)點(diǎn)i的路由表的目的節(jié)點(diǎn)中,則執(zhí)行步驟2;否則,執(zhí)行步驟3。
步驟2:查看路由表中到達(dá)目的節(jié)點(diǎn)的當(dāng)前路徑,若其路徑有效標(biāo)志置1(置1為有效),則表示當(dāng)前路由有效,將數(shù)據(jù)發(fā)送給相應(yīng)的下一跳節(jié)點(diǎn);若當(dāng)前路由失效,則啟動(dòng)備份路由中優(yōu)先級(jí)最高的有效路徑傳送數(shù)據(jù)。
圖3 全路由表示意圖
步驟11:整理路由表,將所有路徑有效標(biāo)志仍然置0的路徑條目都刪除,而后執(zhí)行步驟12。
步驟12:按照總Metric表項(xiàng)內(nèi)填充的數(shù)值比較大小,來(lái)填充優(yōu)先級(jí)表項(xiàng),總Metric越小對(duì)應(yīng)的優(yōu)先級(jí)就越高。而后執(zhí)行步驟2。
EHWMP協(xié)議對(duì)節(jié)點(diǎn)移動(dòng)性的支持表現(xiàn)在:若某Mesh終端移出了原MAP的覆蓋范圍,則MAP更新自己的“全路由表”。具體做法是:對(duì)于MAP節(jié)點(diǎn)而言,若節(jié)點(diǎn)j移出自身覆蓋范圍,則刪除“全路由表”中的第j行與第j列,而后向覆蓋范圍內(nèi)所有Mesh終端廣播新“全路由表”。對(duì)于其他Mesh終端而言,假如節(jié)點(diǎn)i發(fā)現(xiàn)原本可以到達(dá)的節(jié)點(diǎn)j已經(jīng)移動(dòng)走了,無(wú)法到達(dá),則立刻刪除自己路由表中所有與節(jié)點(diǎn)j有關(guān)的路由,并且馬上啟用備份路由傳輸數(shù)據(jù)。
VoIP在無(wú)線Mesh網(wǎng)絡(luò)上傳輸,由于Mesh終端有移動(dòng)性、網(wǎng)絡(luò)有不穩(wěn)定性,一旦原路由失效,重新進(jìn)行路由發(fā)現(xiàn)會(huì)造成很大的試驗(yàn)和時(shí)延抖動(dòng),這是VoIP所不能容忍的。采用上述改進(jìn)型協(xié)議EHWMP,在每個(gè)節(jié)點(diǎn)的路由表內(nèi)加入備份路由,以便在原路由失效時(shí)啟動(dòng)備份路由。另外MAP進(jìn)行實(shí)時(shí)性地更新“全路由表”,可以進(jìn)一步避免時(shí)延,在最大程度上保證VoIP這類(lèi)實(shí)時(shí)性要求很強(qiáng)的業(yè)務(wù)能夠在無(wú)線Mesh網(wǎng)絡(luò)上進(jìn)行傳輸。
本文采用OPNET仿真工具,在無(wú)線Mesh網(wǎng)絡(luò)的框架之下,分別使用HWMP以及EHWMP路由協(xié)議在隨機(jī)場(chǎng)景下對(duì)網(wǎng)絡(luò)性能的影響進(jìn)項(xiàng)測(cè)試。仿真場(chǎng)景為一個(gè)1000m×1000m的開(kāi)闊環(huán)境,共有50個(gè)經(jīng)過(guò)改進(jìn)的無(wú)線節(jié)點(diǎn)散列在場(chǎng)中,仿真時(shí)間為30分鐘。VoIP業(yè)務(wù)用CBR業(yè)務(wù)進(jìn)行模擬。對(duì)VoIP連接服務(wù)質(zhì)量是否滿(mǎn)足,要看連接的吞吐量,如果吞吐量大于VoIP語(yǔ)音速率的80%,而認(rèn)為這個(gè)業(yè)務(wù)流的QoS需求得到滿(mǎn)足。因?yàn)橹挥性跁r(shí)延小,時(shí)延抖動(dòng)小的情況下,才能達(dá)到這個(gè)吞吐量。
圖4 兩種協(xié)議端到端時(shí)延顯示圖
圖4表示的是兩種協(xié)議的端到端時(shí)延對(duì)比示意圖。EHWMP協(xié)議基于HWMP協(xié)議作出了改進(jìn),將Mesh終端間的尋路方式改進(jìn)成了表驅(qū)動(dòng)型,使得先驗(yàn)式路由協(xié)議在原HWMP中的比重加大,進(jìn)而使得端到端時(shí)延降低了;此外,EHWMP協(xié)議采取新型的Metric作為判據(jù)度量,此度量值綜合考慮了端到端時(shí)延與時(shí)延抖動(dòng)因素,使數(shù)據(jù)包的發(fā)送能夠選擇時(shí)延較低的鏈路;另外EHWMP加入了備份路由機(jī)制,減小了鏈路斷裂時(shí)的路由維護(hù)時(shí)延,從而進(jìn)一步降低了端到端時(shí)延。
圖5支持最大VoIP的連接數(shù)目
圖5 表示的是,在HWMP和EHWMP協(xié)議下運(yùn)行的兩種場(chǎng)景,其單位帶寬所能支持的VoIP最大連接數(shù)量對(duì)比圖。EHWMP協(xié)議對(duì)HWMP協(xié)議做出了有效改進(jìn),采取新型的Metric作為判據(jù)度量值,將時(shí)延與時(shí)延抖動(dòng)等因素考慮在內(nèi),使得網(wǎng)絡(luò)的平均端到端時(shí)延降低了。同時(shí)EHWMP將HWMP的按需式路由協(xié)議RM-AODV加以改進(jìn),改為先驗(yàn)式路由協(xié)議,更加適于VoIP等強(qiáng)實(shí)時(shí)性業(yè)務(wù)的傳輸。另外EHWMP協(xié)議加入了備份路由機(jī)制,在一定程度上支持了VoIP客戶(hù)的移動(dòng)性。從圖4中可以很明顯地看出,經(jīng)改進(jìn)后的EHWMP協(xié)議與HWMP協(xié)議相比,其所支持的VoIP最大連接數(shù)量有了顯著地提升。
本文的研究點(diǎn)立足于將VoIP應(yīng)用于在無(wú)線Mesh網(wǎng)絡(luò)中。鑒于VOIP為實(shí)時(shí)性要求極高的業(yè)務(wù),本文將影響VoIP的主要因素時(shí)延與時(shí)延抖動(dòng)充分考慮在Metric內(nèi),設(shè)計(jì)了一種新型的度量值Metric,使這種度量值更適用于傳輸VoIP,保證其QoS。另外本文基于HWMP協(xié)議進(jìn)行了改進(jìn),改進(jìn)型協(xié)議EHWMP使改進(jìn)后的協(xié)議大大減小了路由維護(hù)階段的時(shí)延與開(kāi)銷(xiāo),增加了單位帶寬上VoIP支持?jǐn)?shù)量,并使協(xié)議更加實(shí)用與無(wú)線Mesh網(wǎng)絡(luò)。本文通過(guò)OPNET的仿真,證明了改進(jìn)后的協(xié)議確實(shí)能夠大幅度提高VoIP在無(wú)線Mesh網(wǎng)中的傳輸性能。
[1] 孫登銀.孫精科.VoIP技術(shù)分析與系統(tǒng)設(shè)計(jì)[M].第1版.北京:人民郵電出版社,2005:1-344.
[2] Samrat Ganguly,Vishnu Navda.Performance Optimizations for Deploying VoIP Services in Mesh Networks[J].IEEE:2006,24(11):2147-2158.
[3] 鐘斌.無(wú)線Mesh網(wǎng)絡(luò)VoIP業(yè)務(wù)聚合技術(shù)研究[D].重慶:西南交通大學(xué).2009
[4] 裴曉萍.HWMP路由協(xié)議的研究與仿真[D].西安:西安電子科技大學(xué),2008
[5] Hongkun Li, Yu Cheng. Minimizing End-to-End Delay: A Novel Routing Metric for Multi-Radio Wireless Mesh Networks[C]// IEEE INFOCOM,2009:46-54
[6] Michael Bahr,Update on the Hybrid Wireless Mesh Protocol of IEEE 802.11s[J].IEEE:2007,24(5):1455-1459.
10.3969/j.issn.1001-8972.2011.02.045
國(guó)家863計(jì)劃項(xiàng)目(2008AA01Z211),國(guó)家自然科學(xué)基金資助項(xiàng)目
李汝南(1986-),男,碩士,主要研究方向無(wú)線Mesh網(wǎng)絡(luò)中的路由協(xié)議。
VoIP;無(wú)線Mesh網(wǎng);路由協(xié)議