段立軍,喬平安,周敏
(西安郵電大學陜西西安710061)
MIMC無線Ad Hoc網(wǎng)絡MAC協(xié)議研究
段立軍,喬平安,周敏
(西安郵電大學陜西西安710061)
在提高網(wǎng)絡容量、帶寬以及吞吐量方面,多網(wǎng)卡多信道技術是目前此領域研究的熱點。由于帶有控制信道的MAC層協(xié)議存在著網(wǎng)絡容量小、信道利用率低等問題。本文研究了無控制信道的多網(wǎng)卡多信道MAC層協(xié)議,對此協(xié)議信道接入控制和數(shù)據(jù)結構進行了研究設計,在此基礎上,針對多網(wǎng)卡多信道的Ad Hoc網(wǎng)絡提出了一種體系結構,此結構能夠適應現(xiàn)有操作系統(tǒng)的需求,對于研究多網(wǎng)卡多信道Ad Hoc網(wǎng)絡提供了新的思路。
多網(wǎng)卡多信道;Ad Hoc;MAC層協(xié)議;信道接入控制;體系結構
移動Ad Hoc網(wǎng)絡是一種多跳的、無中心節(jié)點的自組織網(wǎng)絡,以往的采用單網(wǎng)卡單信道來傳輸數(shù)據(jù),并未達到理想的效果,而且造成了多信道的浪費。目前,由于硬件成本不斷降低,多網(wǎng)卡已經(jīng)成為一種可能,采用多網(wǎng)卡是有效的提高網(wǎng)絡吞吐量的一種主要方法。但是在一個多跳無線網(wǎng)絡的節(jié)點上網(wǎng)卡少信道多的情況下如何有效分配網(wǎng)卡及信道仍然有一些挑戰(zhàn)性的問題。
目前,多網(wǎng)卡多信道Ad Hoc網(wǎng)絡MAC層協(xié)議研究主要分為有控制信道和無控制信道,典型的有控制信道的MAC協(xié)議是動態(tài)信道分配協(xié)議(DCA)[1],DCA協(xié)議采用的是公共控制信道來完成信道預約,通過預約好的信道來完成數(shù)據(jù)傳輸,每個節(jié)點配備兩個半雙工收發(fā)機,一個收發(fā)機一直監(jiān)聽在公共信道上,另外一個收發(fā)機則在其他的信道上切換。這種結構適合小型的網(wǎng)絡,當網(wǎng)絡較大時,公共控制信道可能成為影響網(wǎng)絡性能的一個瓶頸。
這種無控制信道的典型協(xié)議是DIM[2](Dual-interface Management)協(xié)議,下面我們就來分析這種無控制信道的多網(wǎng)卡多信道協(xié)議,以及它的網(wǎng)卡和信道分配策略。
1.1混合式的網(wǎng)卡分配策略
采用固定與動態(tài)相結合的混合信道分配[3]方法,這種方法是將節(jié)點的某些網(wǎng)卡分配一個對應的固定信道,而其他的網(wǎng)卡在信道中切換。這種方法既保持了固定信道分配的簡單性,又具有信道切換的靈活性,DIM協(xié)議就使用這種混合式的方法。
1.2公共信道的協(xié)調策略
在無線網(wǎng)絡傳輸中,如果兩個節(jié)點的網(wǎng)卡都沒有分配到一個公共的信道,就不可能進行通信。如果需要通信,這兩個節(jié)點就必須通過協(xié)調切換到同一個信道上。如何來完成這種接入控制,是個策略問題。
有一種技術就是將每個節(jié)點的一個網(wǎng)卡固定在一個信道上,相鄰的節(jié)點使用的固定信道不同,每個節(jié)點對附近所有的節(jié)點宣布它的固定信道信息,固定網(wǎng)卡主要用來接收消息。每個節(jié)點剩余的網(wǎng)卡在剩余的信道中切換來發(fā)送數(shù)據(jù)。由于發(fā)送節(jié)點知道接收節(jié)點的固定信道,所以它將它的非固定的網(wǎng)卡切換到接收節(jié)點的固定網(wǎng)卡上發(fā)送數(shù)據(jù)。本文協(xié)議就是采用這種固定網(wǎng)卡與非固定網(wǎng)卡相結合的策略。
文獻[4]首先對MIMC網(wǎng)絡進行了研究。MIMC是一種多網(wǎng)卡多信道分配協(xié)議,能應用于現(xiàn)有的IEEE802.11的硬件開發(fā)上的多網(wǎng)卡多信道MAC協(xié)議,協(xié)議主要包括以下幾個方面的內容。
2.1網(wǎng)卡的分配方案
固定網(wǎng)卡:采用混合式的分配方案,假設每個節(jié)點有M個網(wǎng)卡,其中N個網(wǎng)卡以“長時間間隔”分配給N個信道,把這些網(wǎng)卡稱為固定網(wǎng)卡,對應的信道叫做固定信道。(M>=2和m>n>=1)
可切換網(wǎng)卡:稱剩余的M-N個網(wǎng)卡為可切換網(wǎng)卡,它們依據(jù)通信量動態(tài)地以“短時間間隔”分配給剩余的M-N個信道,可切換網(wǎng)卡依據(jù)通信量頻繁地在剩余信道間切換,對應的信道稱為“可切換信道”。網(wǎng)卡的信道分配圖如圖1所示。
圖1 網(wǎng)卡的信道分配Fig.1NIC channel allocation
增加一個廣播網(wǎng)卡[5],專門用來進行廣播消息的發(fā)送和接受。使每一個信道與一個隊列相關聯(lián)。這樣可以減少隱藏終端產(chǎn)生分組碰撞的問題。
2.2協(xié)議操作的實例
為了簡化協(xié)議的描述,假設所有節(jié)點有兩個網(wǎng)卡,指定一個是固定網(wǎng)卡,一個是可切換網(wǎng)卡。每個節(jié)點維持含有鄰居節(jié)點正使用的固定信道的鄰接表(Neighbor Table)。初始化時,節(jié)點隨意選擇一個信道作為固定信道,并通過“hello”廣播分組通知鄰居節(jié)點。每當發(fā)送節(jié)點要發(fā)送數(shù)據(jù)包時,將它的信道切換到接收節(jié)點的固定信道并且發(fā)送數(shù)據(jù)包。
下面用兩個網(wǎng)卡三個信道的鏈路層協(xié)議操作實例圖2說明了節(jié)點間通信協(xié)議的操作過程。假設:節(jié)點A有分組經(jīng)由節(jié)點B送到節(jié)點C。節(jié)點A,B,C在信道3,2,1上分別是他們的固定網(wǎng)卡,在信道1,3,2上分別是他們的可切換網(wǎng)卡。第一步,節(jié)點A將可切換信道從信道1切換到信道2(B的固定信道),節(jié)點B就能夠收到這個分組,因為節(jié)點B的固定網(wǎng)卡總數(shù)正在監(jiān)聽信道2。第二步,節(jié)點B將可切換網(wǎng)卡切換到信道1,并轉發(fā)分組至C節(jié)點,節(jié)點C使用它的固定網(wǎng)卡接收這個分組。
圖2 兩個網(wǎng)卡三個信道的鏈路層協(xié)議操作實例Fig.2Link layer protocol of two cards of the three channels Walkthrough
2.3MIMC協(xié)議需要保存的數(shù)據(jù)表
每個節(jié)點的固定信道的選擇采用一種分布式的方式,初始化時,隨機選擇一個信道作為固定信道。每個節(jié)點維護一個鄰居表(NeighborTable)如表1所示,包含它的鄰居的MAC地址,IP地址以及正在使用的固定信道。節(jié)點的鄰居表是通過鄰居節(jié)點廣播的Hello分組形成的,在第一次初始化完成之后,節(jié)點選擇與它的鄰居節(jié)點不相同的固定信道。此外,節(jié)點還會維持一個信道使用表(Channel Usage List)如表2所示,表中含有節(jié)點兩跳范圍內每個信道作為固定信道的計數(shù)。
表1 鄰居表Tab.1Neighbor table
表2 信道使用表Tab.2Channel usage list
每個節(jié)點定期的通過廣播網(wǎng)卡廣播發(fā)送Hello分組,Hello分組包括節(jié)點目前正在使用的固定信道信息和當前的鄰居表,附近的鄰節(jié)點通過收到的Hello分組來完成鄰居表和信道使用表的更新。這樣節(jié)點的信道使用表就包含二跳節(jié)點內信道的使用信息。
2.4協(xié)議算法流程
當節(jié)點收到來自上層的分組時:
1)判斷是否為廣播消息,是則通過廣播網(wǎng)卡將此消息的拷貝加入到廣播隊列中。否則轉到2)。
2)查找目的地址,通過目的地址的固定信道,將數(shù)據(jù)包插入到此信道隊列[6]中,通過可切換網(wǎng)卡來完成數(shù)據(jù)包的傳輸。
在應用多網(wǎng)卡多信道MAC協(xié)議應用的過程中,網(wǎng)卡的頻繁切換必然影響網(wǎng)絡的性能,網(wǎng)卡的切換時延大小也會影響網(wǎng)絡的性能,通過修改驅動程序,可以使切換時延減少到5 ms之內,如此頻繁的切換則可行。但是要實現(xiàn)頻繁的網(wǎng)卡切換,需要操作系統(tǒng)內核全新的支持。
3.1節(jié)點結構的更改
為了隱藏多網(wǎng)卡的復雜性,虛擬MAC層管理著各個網(wǎng)卡當前的信道、鄰居表以及信道使用表,無論實際網(wǎng)卡是多少或者有多少個,虛擬MAC層只給高層提供一個單一的虛擬網(wǎng)卡,網(wǎng)絡層是不需要知道分組是由哪個網(wǎng)卡轉發(fā)出去的,也不用知道分組是從哪個網(wǎng)卡接收過來的。這樣,現(xiàn)有的高層協(xié)議就不需要修改,減少了不必要的麻煩,如圖3虛擬網(wǎng)絡分層圖所示。
圖3 虛擬網(wǎng)絡分層Fig.3Virtual network stratified
3.2系統(tǒng)的體系結構
圖4 Linux內核Fig.4Linux kernel
以Linux為例,Linux內核的網(wǎng)絡協(xié)議是多層設計的,Linux內核如圖4所示。
圖5 MIMC協(xié)議體系機構Fig.5MIMC protocol architectures
在Linux網(wǎng)絡體系結構下,我們設計了一種新的抽象組件來管理網(wǎng)卡跨多信道切換,在Linux的內核空間中增加此抽象組件,如圖5 MIMC協(xié)議體系結構圖所示。將這個抽象組件放在網(wǎng)絡協(xié)議與設備驅動程序中間。此抽象組件從邏輯上看可以屬于鏈路層,這種方法的好處是可以拋開設備驅動的特殊性,符合上一部分提出的節(jié)點結構[7]。由圖可知,抽象組件的主要優(yōu)勢是屏蔽了高層管理多網(wǎng)卡多信道的復雜性,所以現(xiàn)有的Ad Hoc路由協(xié)議、ARP機制無須進行任何修改即可使用。
本文對基于多網(wǎng)卡多信道的Ad Hoc網(wǎng)絡信道分配協(xié)議和網(wǎng)卡分配進行了研究,通過研究出一種新的抽象層來管理多網(wǎng)卡,并且在現(xiàn)有的操作系統(tǒng)上,支持網(wǎng)卡的切換,最主要的是它隱藏了多網(wǎng)卡的復雜性。文章也對多網(wǎng)卡多信道的MAC層協(xié)議進行了研究,下一步的工作就是通過實驗來證明在這種新的系統(tǒng)體系下,無控制信道的MAC協(xié)議性能更好。
[1]Wu S L,Lin C Y,Tseng Y C,et al.A new multi-channel MAC protocol with on-demand channel assignment for multihop mobile Ad Hoc networks[C]//The 5th Intel Symp.on ParallelArchitectures,Algorithms,andNetworks.Washington,2000:232-237.
[2]趙蘊龍,康世龍,高振國,等.雙網(wǎng)卡多信道無線MAC協(xié)議[J].計算機科學,2012,39(4):79-81. ZHAOYun-long,KANGShi-long,GAOZhen-guo,etal. Practical dual WIFI NIC and Multi-channel MAC protocol[J]. Computer Science,2012,39(4):79-81.
[3]Kyasanur P,Vaidya NH.Routing and Link-layer Protocols for Multi-Channel Multi-Interface Ad Hoc wireless networks[C]. Mobile Computing and Communications Review,2010.
[4]Kyasanur P,Vaidya N H.Routing and Interface Assignment in Multi-channel Multi-interface wireless networks[C]//IEEE Wireless Communications and Networking Conference.USA,2005:2053-2078.
[5]張新剛,李秀芹.多接口多信道MANET下多徑路由及接口分配策略[J].計算機工程與應用,2011,47(28):97-99. ZHANG Xin-gang,LI Xiu-qin.Multi-path routing and interface assignment for multi-interface multi-channel MANETS 2011[J].Computer Engineering and Application,2011,47(28):97-99.
[6]Xiaowei Ni,Chunxiu Xu,Muqing Wu,et al.DNCA:An efficient channel assignment for multi-interface multi-channel Ad Hoc wireless networks 2012[C]//Network Infrastructure and Digital Content(IC-NIDC),2012 3rd IEEE International Conference on,2012:39-43.
[7]施超,梁建峰,燕迎祥,等.電氣設備合并單元通信單元軟件的設計[J].陜西電力,2013(8):41-44. SHI Chao,LIANG Jian-feng,YAN Ying-xiang,et al.Design of software for communication unit in electrical equipment merging unit[J].Shaanxi Electric Power,2013(8):41-44.
Multi-interface multi-channel wireless MAC protocol for Ad Hoc networks
DUAN Li-jun,QIAO Ping-an,ZHOU Min
(Xi'an University of Post and Telecommunications,Xi'an 710061,China)
In terms of increased network capacity,bandwidth,and throughput,multi-interface multi-channel technology is the focus of current research in this area.Having a control channel MAC layer protocol with network capacity and low channel utilization problems exist.This paper studies the multi-interface multi-channel MAC protocol without control channel,this channel access control and data structures are studied.Based on this design,aiming at the multi-interface multi-channel Ad Hoc networks presents a system structure,this structure can adapt to the needs of the existing operating system,and provides a new idea for research on multi card multi channel Ad Hoc networks.
multi-interface multi-channel;Ad Hoc;MAC;channel access control;architecture
TN925+.1
A
1674-6236(2015)20-0089-03
2015-01-07稿件編號:201501049
段立軍(1989—),男,陜西渭南人,碩士研究生。研究方向:物聯(lián)網(wǎng)通信技術。