構(gòu)建Ad Hoc網(wǎng)絡(luò)跨層協(xié)議交互機(jī)制

相關(guān)專題: 無線
  摘要:Ad Hoc網(wǎng)絡(luò)中無線信道的時變特性和網(wǎng)絡(luò)拓?fù)涞牟粩嘧兓瘜?dǎo)致了鏈路的頻繁斷續(xù),使得數(shù)據(jù)包大量丟失。這就要求高層應(yīng)用協(xié)議能夠快速訪問底層傳輸協(xié)議甚至信道的狀態(tài)信息,各層協(xié)議之間能夠根據(jù)需要互相交換信息,迅速作出決策,提高分組接收成功率。本文基于QualNet網(wǎng)絡(luò)仿真器設(shè)計(jì)并實(shí)現(xiàn)了一種網(wǎng)絡(luò)協(xié)議棧跨層交互的機(jī)制。結(jié)果表明,利用該機(jī)制,能夠快速建立跨層協(xié)議的交互,使得高層協(xié)議及時獲取低層協(xié)議的有用信息,從而可根據(jù)信道的狀況動態(tài)調(diào)節(jié)網(wǎng)絡(luò)協(xié)議設(shè)置,提高分組發(fā)送成功率,優(yōu)化網(wǎng)絡(luò)傳輸?shù)男阅堋?br />
  關(guān)鍵詞:無線,網(wǎng)絡(luò),跨層,自組織,仿真

1.引言

  傳統(tǒng)的基于TCP/IP的網(wǎng)絡(luò)協(xié)議棧將各個協(xié)議層獨(dú)立開來,相鄰層之間通過良好的層間接口進(jìn)行直接通信,而非相鄰層之間不允許進(jìn)行直接通信。每個協(xié)議層專注于完成本層內(nèi)部的全部功能,而不必去關(guān)心其它層的功能實(shí)現(xiàn)。這樣做的好處在于,設(shè)備廠商內(nèi)能夠?qū)W⒂谀骋粎f(xié)議層的網(wǎng)絡(luò)設(shè)備的開發(fā),進(jìn)行功能優(yōu)化與添加,只要保證層間接口的標(biāo)準(zhǔn)化,就不會影響到整個網(wǎng)絡(luò)的互通。這一理念鼓勵了設(shè)備廠商的技術(shù)創(chuàng)新,使得市場上不斷出現(xiàn)質(zhì)優(yōu)價廉的產(chǎn)品和服務(wù),促成了全球互聯(lián)網(wǎng)Internet的飛速發(fā)展。但是,對于無線動態(tài)網(wǎng)絡(luò)和有線、無線混合異構(gòu)網(wǎng)絡(luò)來說,嚴(yán)格的分層限制了信息獲取的靈活性,使得網(wǎng)絡(luò)設(shè)計(jì)者無法根據(jù)無線網(wǎng)絡(luò)的動態(tài)特性做出自適應(yīng)優(yōu)化,導(dǎo)致傳統(tǒng)用于有線網(wǎng)絡(luò)的嚴(yán)格分層的協(xié)議棧在上述網(wǎng)絡(luò)中無法高效運(yùn)行[1]。

  在一個典型的無線移動自組織網(wǎng)絡(luò)(MANET)中,由于無線信道的時變性和節(jié)點(diǎn)的移動性,使得鏈路的斷開、路由的改變頻繁發(fā)生,要維護(hù)網(wǎng)絡(luò)的正常運(yùn)行,就要及時發(fā)送網(wǎng)絡(luò)控制信息,這就會給目前低帶寬的無線鏈路帶來很大的開銷。在某一層次的性能優(yōu)化也許還會導(dǎo)致全局協(xié)議棧的性能的降低[2]。同時,基于嚴(yán)格分層的協(xié)議棧使得高層協(xié)議希望直接得到的網(wǎng)絡(luò)底層信息需要經(jīng)歷幾個中間協(xié)議層才能得到,信息的更新帶有明顯的遲滯性[3]。針對無線網(wǎng)絡(luò)的特點(diǎn)及問題,許多研究人員提出,打破基于TCP/IP協(xié)議棧的嚴(yán)格分層限制,使得相關(guān)協(xié)議層次能夠直接進(jìn)行信息的交互,從而極大提高網(wǎng)絡(luò)的傳輸性能。Vineet Srivastava等人綜述了跨層設(shè)計(jì)的現(xiàn)狀和發(fā)展方向,將跨層定義為違反參考協(xié)議棧構(gòu)架的協(xié)議設(shè)計(jì),并將跨層分類為創(chuàng)建新接口、合并相鄰層、無新接口的耦合設(shè)計(jì)和全局垂直信息交互四種[4]。Taesang Yoo等人利用NS-2網(wǎng)絡(luò)仿真器構(gòu)建了一個跨層設(shè)計(jì)框架用以研究Ad Hoc網(wǎng)絡(luò)上的視頻傳輸性能[5]。XinSheng Xia和Qilian Liang利用OPNET建立了一個MAC層和物理層耦合的跨層機(jī)制[6]。Ning Yang等人基于NS-2建立了物理層和介質(zhì)訪問控制(MAC)層、網(wǎng)絡(luò)層和MAC層之間的信息交互[7]。

  目前的跨層協(xié)議研究大多是基于網(wǎng)絡(luò)仿真器軟件實(shí)現(xiàn)的,跨層協(xié)議交互的研究主要針對于有延時限制的多媒體信息傳輸,而仿真軟件的仿真速度及實(shí)時性影響著許多研究的順利開展,例如我們建立的Ad Hoc網(wǎng)絡(luò)實(shí)時視頻傳輸實(shí)驗(yàn)平臺就必須要依托于高速的網(wǎng)絡(luò)仿真引擎[8]。同時,仿真工具的易用性也影響著我們的研究進(jìn)度;谏鲜鲈,我們選擇QualNet作為我們的網(wǎng)絡(luò)仿真工具,取得了良好的效果。

  本文首先介紹了QualNet網(wǎng)絡(luò)仿真器及與我們跨層協(xié)議實(shí)現(xiàn)相關(guān)的消息處理機(jī)制,接著以應(yīng)用層和網(wǎng)絡(luò)層跨層交互為例,講解了如何在QualNet里面實(shí)現(xiàn)跨層協(xié)議設(shè)計(jì),然后給出了不同節(jié)點(diǎn)、不同應(yīng)用之間跨層協(xié)議交互的設(shè)計(jì)實(shí)現(xiàn)。最后總結(jié)全文并指出下一步的工作方向。

2.QualNet及其消息處理機(jī)制

  2.1QualNet網(wǎng)絡(luò)仿真器

  QualNet是一種應(yīng)用于無線、有線以及混合動態(tài)網(wǎng)絡(luò)的快速而且精確的開發(fā)、仿真系統(tǒng)。Scalable Network Technologies Inc.公司將美國加州大學(xué)洛杉磯分校(UCLA)開發(fā)的開放源代碼的GloMoSim成功地轉(zhuǎn)化為了商業(yè)版本——QualNet。目前已經(jīng)在世界范圍內(nèi)50多個國家和地區(qū)得到了推廣應(yīng)用,它的客戶主要是美國的大的軍方項(xiàng)目承包商,包括DARPA、微軟、NASA、雷神、美國空軍等,目前已經(jīng)成為美國軍方網(wǎng)絡(luò)中心戰(zhàn)及未來作戰(zhàn)系統(tǒng)(FCS)的主要仿真平臺。

  2.2QualNet協(xié)議棧構(gòu)架

  QualNet協(xié)議棧的設(shè)計(jì)遵循著TCP/IP網(wǎng)絡(luò)協(xié)議棧分層結(jié)構(gòu),如圖1所示。但是,QualNet還提供了一套完整的消息傳遞機(jī)制,使得我們能夠進(jìn)行類似圖2所示的跨層協(xié)議開發(fā)。



圖1 QualNet分層協(xié)議棧 圖2 跨層協(xié)議示例


  2.3QualNet消息處理流程

  以應(yīng)用層恒定比特率(CBR)協(xié)議為例,QualNet標(biāo)準(zhǔn)協(xié)議棧的內(nèi)部消息處理流程如圖3所示。


圖3 QualNet內(nèi)部消息處理流程


  首先,應(yīng)用層對CBR分組使用MESSAGE_Alloc( )函數(shù)分配內(nèi)存空間,并利用MESSAGE_PacketAlloc( )函數(shù)將用戶載荷拷貝到packet結(jié)構(gòu)體指針,通過MESSAGE_Send( )遞交給傳輸層,傳輸層利用MESSAGE_AddHeader( )函數(shù)增加一個TCP或者UDP頭,通過MESSAGE_Send( )函數(shù)遞交給網(wǎng)絡(luò)層,網(wǎng)絡(luò)層通過路由尋徑,增加了IP頭以后遞交給MAC子層,MAC子層增加MAC幀頭后遞交給物理層,經(jīng)過相應(yīng)的編碼、調(diào)制、天線發(fā)射出去,經(jīng)過無線信道的模擬傳輸,歷經(jīng)了衰落、多徑、損耗,到達(dá)接收端,如果發(fā)生差錯就要根據(jù)MAC層設(shè)置進(jìn)行相應(yīng)的處理,如重傳。接收端的處理過程與發(fā)送端相反,經(jīng)過MESSAGE_RemoveHeader( )函數(shù)層層剝離協(xié)議頭,將消息遞交給上層進(jìn)行相應(yīng)的處理,最終到達(dá)目的應(yīng)用協(xié)議,利用MESSAGE_Free( )函數(shù)釋放掉由發(fā)送端使用的MESSAGE_Alloc( )函數(shù)和MESSAGE_PacketAlloc( )函數(shù)分配的內(nèi)存空間。

  可見,如果要想實(shí)現(xiàn)跨層信息交互,就要在執(zhí)行MESSAGE_Send( )函數(shù)的時候,將原來的消息參數(shù)進(jìn)行相應(yīng)的更改,使得仿真器經(jīng)過事件調(diào)度以后能夠?qū)⒋讼⑦f交給期望的處理函數(shù)。下面,我們就將CBR協(xié)議進(jìn)行修改,實(shí)現(xiàn)如圖2所示的繞過UDP傳輸協(xié)議直接將CBR分組遞交給IP層的跨層協(xié)議交互功能。

3基于QualNet的跨層交互機(jī)制

  如圖2所示,跨層協(xié)議交互分為兩個部分,一部分是應(yīng)用層直接將數(shù)據(jù)遞交給IP層處理,另一部分是IP層將數(shù)據(jù)繞過UDP協(xié)議傳送到CBR處理函數(shù)入口。

  3.1應(yīng)用層到網(wǎng)絡(luò)層的通信

  常規(guī)協(xié)議棧中,基于UDP的應(yīng)用層協(xié)議將用戶數(shù)據(jù)發(fā)送到UDP,添加UDP頭后發(fā)送到IP。為了使得CBR能直接將用戶數(shù)據(jù)發(fā)送到IP,我們就要首先確定UDP使用了哪些接口來和網(wǎng)絡(luò)層進(jìn)行通信,然后在CBR和IP之間使用相同的接口。

  圖4所示為分層的協(xié)議棧接口,可以看到,CBR調(diào)用接口函數(shù)APP_UdpSendNewHeaderVirtualDataWithPriority( )將CBR數(shù)據(jù)發(fā)送給UDP協(xié)議,UDP協(xié)議調(diào)用接口函數(shù)NetworkIpReceivePacketFromTransportLayer( )將數(shù)據(jù)發(fā)送給IP,接著IP進(jìn)行相應(yīng)的處理并調(diào)用函數(shù)RoutePacketAndSendToMac( )將數(shù)據(jù)包發(fā)送到MAC層。我們所需要做的,就是要將原來的數(shù)據(jù)通路打斷,讓CBR協(xié)議直接調(diào)用接口函數(shù)NetworkIpReceivePacketFromTransportLayer( ),并傳遞相應(yīng)的參數(shù)。


圖4 CBR協(xié)議層間接口(左:分層;右:跨層)


  3.2網(wǎng)絡(luò)層到應(yīng)用層的通信

  對于網(wǎng)絡(luò)層到應(yīng)用層的跨層通信,首先要確定傳輸層和應(yīng)用層之間使用的是什么接口函數(shù),然后使得網(wǎng)絡(luò)層使用相同的接口將數(shù)據(jù)傳遞給應(yīng)用層。網(wǎng)絡(luò)層函數(shù)DeliverPacket( )從接收到的IP包的頭內(nèi)讀取接收端協(xié)議編號ipProtocolNumber,將數(shù)據(jù)包傳遞給目的協(xié)議。對于一個基于UDP的應(yīng)用程序,DeliverPacket( )使用函數(shù)SendToUdp( )發(fā)送接收到的數(shù)據(jù)包給UDP,因而,將數(shù)據(jù)包傳遞給應(yīng)用層就要使用UDP函數(shù)TransportUdpSendToApp( )。為了使得IP能夠直接向CBR發(fā)送數(shù)據(jù),編寫一個函數(shù)SendToCbr( )并修改DeliverPacket( )使之調(diào)用SendToCbr( )向CBR發(fā)送數(shù)據(jù)包,該修改過程的偽代碼如圖5所示。

4跨層仿真實(shí)例

  我們針對上述的CBR跨層協(xié)議交互,進(jìn)行了無線移動Ad Hoc網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)姆抡鎸?shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,即使是經(jīng)過簡單的跨層交互(只是跨過了傳輸層),較之嚴(yán)格分層的協(xié)議棧,分組投送成功數(shù)量提高了33%。

  4.1實(shí)驗(yàn)設(shè)置

  我們選取了1000M×1000M見方的場景,上面均勻放置著50個無線通信節(jié)點(diǎn),都運(yùn)行802.11b的MAC協(xié)議和物理層協(xié)議,移動模型是Random Waypoint,暫停時間0S,最小移動速度10M/S,最大移動速度20M/S,都運(yùn)行AODV路由協(xié)議。業(yè)務(wù)流量配置如下:每隔10MS發(fā)送一個長度為1240字節(jié)的CBR包,直到仿真結(jié)束,仿真時間2000S。


圖5 IP函數(shù)DeliverPacket( )的修改


  實(shí)驗(yàn)分為兩種情況進(jìn)行對比:一種是TCP/IP標(biāo)準(zhǔn)分層協(xié)議棧,一種是繞過UDP傳輸層協(xié)議的跨層協(xié)議棧。

  4.2實(shí)驗(yàn)結(jié)果

  我們主要考察了延時、抖動、分組投送成功數(shù)量、網(wǎng)絡(luò)吞吐量四種網(wǎng)絡(luò)性能參數(shù)指標(biāo),進(jìn)行了多次實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果取平均值列于表1當(dāng)中。

延時 抖動 接收量 吞吐量
分層 1.283S 0.246S 8572.8 42623.8bps
跨層 1.368S 0.231S 11410.4 56721.0bps
性能變化 增大6.58% 減少6.28% 增大33.1% 增大33.07%

表1 跨層交互與分層協(xié)議的網(wǎng)絡(luò)性能對比

  4.3實(shí)驗(yàn)結(jié)論

  從表1當(dāng)中可以看出,經(jīng)過跨層,減少了UDP傳輸層的處理流程,在延時和抖動變化不大(±6.5%左右)的情況下,極大地提高了網(wǎng)絡(luò)吞吐量和成功接收應(yīng)用層分組的數(shù)量(提高了約33%),降低了丟包率,對于數(shù)字通信網(wǎng)絡(luò)的多媒體視頻傳輸質(zhì)量而言是至關(guān)重要的。

5結(jié)語

  我們設(shè)計(jì)并實(shí)現(xiàn)了基于QualNet的跨層協(xié)議的交互機(jī)制,仿真結(jié)果表明,跨層協(xié)議信息交互在Ad Hoc網(wǎng)絡(luò)中能明顯地改善多媒體傳輸?shù)男阅堋?br />
  下一步我們要基于這個實(shí)驗(yàn)平臺,針對不同的路由協(xié)議、MAC協(xié)議和應(yīng)用層協(xié)議進(jìn)行跨層優(yōu)化,以改善Ad Hoc網(wǎng)絡(luò)視頻傳輸?shù)男阅堋?/div> 作者:趙玉亭   來源:北京華儀盛科科技有限公司供稿

微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號,免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息

    最新論壇貼子