王永達(dá),王兆偉,彭 益,劉春旭
(中國(guó)電子科學(xué)研究院,北京 100041)
空基網(wǎng)絡(luò),是指通過(guò)至少一個(gè)具有飛行能力的網(wǎng)絡(luò)節(jié)點(diǎn),提供通信傳輸服務(wù)的一種網(wǎng)絡(luò)[1]。空基網(wǎng)絡(luò)與天基、地/?;W(wǎng)絡(luò)互聯(lián)互通,是實(shí)現(xiàn)天地一體化網(wǎng)絡(luò)各層次之間資源共享、通信交換、信息協(xié)同的重要一環(huán),由于空基網(wǎng)絡(luò)的組成節(jié)點(diǎn)類(lèi)型多樣,節(jié)點(diǎn)具有實(shí)時(shí)、高速移動(dòng)特點(diǎn)[2],網(wǎng)絡(luò)拓?fù)渥兓l繁,網(wǎng)絡(luò)業(yè)務(wù)具有較高的突發(fā)性和多樣性,因此,要求空基網(wǎng)絡(luò)信道分配算法能夠合理調(diào)度網(wǎng)絡(luò)數(shù)據(jù),滿(mǎn)足業(yè)務(wù)傳輸需求的高效實(shí)現(xiàn)。
基于TDMA的信道分配方式具有良好的抗干擾能力,被廣泛應(yīng)用于空基網(wǎng)絡(luò)的數(shù)據(jù)傳輸[3]。目前,TDMA技術(shù)的研究主要集中于提高信道利用率、改進(jìn)同步方式或降低傳輸時(shí)延等方面,基于TDMA的固定信道分配算法[3]適用于網(wǎng)絡(luò)節(jié)點(diǎn)業(yè)務(wù)量恒定的場(chǎng)景,各網(wǎng)絡(luò)節(jié)點(diǎn)獲得的信道來(lái)自于固定分配,對(duì)于傳輸突發(fā)網(wǎng)絡(luò)流量,該方案不能靈活調(diào)整信道分配,信道利用率低[4-5]?;诟?jìng)爭(zhēng)思想的TDMA分配算法一般使用在節(jié)點(diǎn)網(wǎng)絡(luò)功能對(duì)等的場(chǎng)景中[6],節(jié)點(diǎn)在有數(shù)據(jù)傳輸時(shí),立即或者偵聽(tīng)信道一段時(shí)間后,采取一定的概率接入信道,如純ALOHA、時(shí)隙ALOHA等,但ALOHA算法的信道利用率較低,即使使用改進(jìn)算法,其系統(tǒng)效率也不會(huì)超過(guò)37%[7],且競(jìng)爭(zhēng)類(lèi)算法無(wú)法完全避免碰撞發(fā)生,算法設(shè)計(jì)復(fù)雜,增加網(wǎng)絡(luò)開(kāi)銷(xiāo)。文獻(xiàn)[5]設(shè)計(jì)了一種TDMA和CSMA的混合分配算法,網(wǎng)絡(luò)節(jié)點(diǎn)固定占有一個(gè)時(shí)隙,每個(gè)時(shí)隙分為Notice和Data兩個(gè)子時(shí)隙,節(jié)點(diǎn)通過(guò)在Notice時(shí)隙向全網(wǎng)廣播自己是否有數(shù)據(jù)發(fā)送,若無(wú)數(shù)據(jù)發(fā)送,則其余網(wǎng)絡(luò)成員將以CSMA的方式競(jìng)爭(zhēng)此時(shí)隙信道,并在Data子時(shí)隙中傳輸數(shù)據(jù),仿真結(jié)果驗(yàn)證了算法在吞吐量和傳輸時(shí)延上的優(yōu)勢(shì),但該算法沒(méi)有考慮對(duì)傳輸效率產(chǎn)生的影響??偨Y(jié)上述信道分配算法特點(diǎn),可以發(fā)現(xiàn),網(wǎng)絡(luò)節(jié)點(diǎn)在發(fā)送數(shù)據(jù)前,一般通過(guò)固定分配或競(jìng)爭(zhēng)的方式擁有網(wǎng)絡(luò)的控制權(quán),之后,根據(jù)節(jié)點(diǎn)自身的轉(zhuǎn)發(fā)策略完成數(shù)據(jù)交換,隨后,網(wǎng)絡(luò)的控制權(quán)被輪流占有,或通過(guò)競(jìng)爭(zhēng)被隨機(jī)分配給某一節(jié)點(diǎn),在這種運(yùn)行方式下,網(wǎng)絡(luò)的控制功能與轉(zhuǎn)發(fā)策略被禁錮于網(wǎng)絡(luò)設(shè)備中,網(wǎng)絡(luò)管控能力分散,難以實(shí)現(xiàn)網(wǎng)絡(luò)資源的靈活調(diào)度。
軟件定義網(wǎng)絡(luò)(SDN)將整個(gè)網(wǎng)絡(luò)抽象成為一個(gè)由應(yīng)用層、控制層和基礎(chǔ)設(shè)施層組成的三層網(wǎng)絡(luò)架構(gòu),打破了傳統(tǒng)網(wǎng)絡(luò)的水平標(biāo)準(zhǔn)化結(jié)構(gòu),使得網(wǎng)絡(luò)在垂直方向上具有開(kāi)放性和可編程性,并通過(guò)解耦數(shù)據(jù)面與控制面,解決了傳統(tǒng)網(wǎng)絡(luò)在控制與策略部署方面的缺陷[8]。谷歌在B4項(xiàng)目上,將軟件定義與Openflow協(xié)議結(jié)合,并部署在廣域網(wǎng)絡(luò)中,使得鏈路的利用率從30%~40%提升到70%,某些鏈路甚至達(dá)到了100%的利用率[9],基于上述背景,本文將軟件定義網(wǎng)絡(luò)思想應(yīng)用于空基網(wǎng)絡(luò)信道分配,提出了一種基于SDN架構(gòu)的動(dòng)態(tài)TDMA信道分配算法——DCA(Dynamic Channel Allocation)。
基于固定TDMA的信道分配算法[5]是無(wú)線(xiàn)網(wǎng)絡(luò)信道分配算法中的較為常見(jiàn)的一種類(lèi)型,首先將一天的時(shí)間平均劃分為N個(gè)時(shí)幀,再分別將每個(gè)時(shí)幀均分為T(mén)個(gè)時(shí)隙,如圖1所示,在網(wǎng)絡(luò)運(yùn)行之前,使用算法將一個(gè)時(shí)幀內(nèi)的時(shí)隙信道分配給每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)及其功能。每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)在組成一個(gè)時(shí)幀的T個(gè)時(shí)隙中獲得若干個(gè)時(shí)隙,作為消息的傳輸信道,網(wǎng)絡(luò)運(yùn)行過(guò)程中,按照時(shí)隙分配方案,持續(xù)運(yùn)行,分配方案不再發(fā)生變化,網(wǎng)絡(luò)節(jié)點(diǎn)無(wú)業(yè)務(wù)發(fā)送或者節(jié)點(diǎn)退出網(wǎng)絡(luò),分配給該節(jié)點(diǎn)的時(shí)隙信道則處于空閑狀態(tài)。
圖1 幀結(jié)構(gòu)
根據(jù)文獻(xiàn)[6]中對(duì)網(wǎng)絡(luò)設(shè)計(jì)的描述,網(wǎng)絡(luò)的初始化操作須根據(jù)新的網(wǎng)絡(luò)需求,依據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量、類(lèi)型以及一系列信息傳輸需求來(lái)進(jìn)行,將網(wǎng)絡(luò)容量依次分配給網(wǎng)絡(luò)節(jié)點(diǎn)及其網(wǎng)絡(luò)功能。在網(wǎng)絡(luò)運(yùn)行之初,對(duì)一個(gè)時(shí)幀內(nèi)的若干個(gè)時(shí)隙按照網(wǎng)絡(luò)功能進(jìn)行劃分,分配過(guò)程如圖2所示,在這些時(shí)隙中,網(wǎng)絡(luò)節(jié)點(diǎn)被指定處于接收或發(fā)送狀態(tài),時(shí)隙既被指定分配它們所支持的功能,用來(lái)傳輸某一類(lèi)消息,也被固定分配給某個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),例如,某個(gè)無(wú)人機(jī)節(jié)點(diǎn),網(wǎng)絡(luò)以時(shí)幀為重復(fù)周期,持續(xù)運(yùn)行。
圖2 固定信道分配流程
由于算法提前對(duì)信道進(jìn)行了劃分,固定TDMA信道分配算法不存在數(shù)據(jù)沖突和信道搶占,當(dāng)網(wǎng)絡(luò)流量分布變化不大的情況下,算法具有良好的表現(xiàn),但對(duì)于傳輸流量變化較大或突發(fā)性較強(qiáng)的網(wǎng)絡(luò)業(yè)務(wù)來(lái)說(shuō),固定TDMA信道分配算法不能根據(jù)網(wǎng)絡(luò)需求調(diào)整信道分配方案[3],數(shù)據(jù)傳輸往往得不到較好的QoS保證,對(duì)于節(jié)點(diǎn)高速運(yùn)動(dòng)、拓?fù)渥兓l繁的空基網(wǎng)絡(luò)來(lái)說(shuō),固定分配算法在靈活性和實(shí)現(xiàn)流量均衡方面存在較大不足。
本文利用軟件定義網(wǎng)絡(luò)的體系架構(gòu),通過(guò)把網(wǎng)絡(luò)的控制與轉(zhuǎn)發(fā)功能分離,形成基于邏輯上的集中控制能力,使網(wǎng)絡(luò)具有松耦合的控制平面與和數(shù)據(jù)平面;集中式的網(wǎng)絡(luò)管理,可實(shí)現(xiàn)網(wǎng)絡(luò)業(yè)務(wù)的靈活部署,根據(jù)軟件定義網(wǎng)絡(luò)在無(wú)線(xiàn)網(wǎng)絡(luò)中的應(yīng)用[10-12],本文基于軟件定義空基網(wǎng)絡(luò)架構(gòu),提出了一種動(dòng)態(tài)TDMA信道分配算法。
軟件定義網(wǎng)絡(luò)可以在全局視圖的幫助下,對(duì)管理域內(nèi)的信道資源根據(jù)業(yè)務(wù)需求進(jìn)行動(dòng)態(tài)分配,對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行集中控制和管理,利用全局視角來(lái)自由控制并實(shí)施通信調(diào)度,并支持基于網(wǎng)絡(luò)應(yīng)用的動(dòng)態(tài)信道分配。中心控制器部署智能化的軟件定義空基網(wǎng)絡(luò),需要四個(gè)功能模塊[12],如圖3所示,全局管理器模塊負(fù)責(zé)監(jiān)視整個(gè)網(wǎng)絡(luò),并且維護(hù)網(wǎng)絡(luò)拓?fù)?,?shí)行全局控制;路徑計(jì)算模塊使用路徑搜索算法來(lái)實(shí)現(xiàn),其目的是在全網(wǎng)中發(fā)現(xiàn)一個(gè)傳輸業(yè)務(wù)流的最短路徑;通信調(diào)度模塊,根據(jù)特定的控制策略來(lái)實(shí)現(xiàn)控制面和數(shù)據(jù)面的傳輸;信道分配模塊,負(fù)責(zé)配置整個(gè)網(wǎng)絡(luò)中的信道資源。
圖3 軟件定義空基網(wǎng)絡(luò)架構(gòu)示意圖
首先參照第1節(jié)中的固定分配算法,將1天24小時(shí)分為K個(gè)時(shí)幀,每個(gè)時(shí)幀時(shí)長(zhǎng)為L(zhǎng)s(L=24×60×60/K),每個(gè)時(shí)幀進(jìn)一步劃分為m個(gè)時(shí)隙,每個(gè)時(shí)隙長(zhǎng)tss(ts=L/m),時(shí)幀作為最小的網(wǎng)絡(luò)周期,其次,對(duì)一個(gè)時(shí)幀內(nèi)的時(shí)隙按功能進(jìn)行劃分,如圖4所示,分為控制信道和數(shù)據(jù)信道。
圖4 TDMA幀結(jié)構(gòu)與信道劃分
網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)各自擁有一個(gè)節(jié)點(diǎn)ID號(hào),在網(wǎng)絡(luò)功能方面,所有節(jié)點(diǎn)都是對(duì)等的,每個(gè)節(jié)點(diǎn)都配置有SDN中心控制器模塊,網(wǎng)絡(luò)中有且僅有一個(gè)SDN中心控制器處于工作狀態(tài),此節(jié)點(diǎn)作為網(wǎng)絡(luò)的邏輯中心節(jié)點(diǎn),當(dāng)邏輯中心節(jié)點(diǎn)出現(xiàn)被毀、能量不足或因其他原因?qū)е缕涔δ苁軗p時(shí),網(wǎng)絡(luò)可重新指定其他節(jié)點(diǎn)充當(dāng)邏輯中心。中心控制器按照網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)目,依次為每個(gè)節(jié)點(diǎn)分配一個(gè)控制信道,網(wǎng)絡(luò)的運(yùn)行與功能部署均在邏輯中心節(jié)點(diǎn)的控制下進(jìn)行。
網(wǎng)絡(luò)的控制面匯聚到中心控制器,中心控制器通過(guò)控制信道收集網(wǎng)絡(luò)狀態(tài)信息,以此實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)轉(zhuǎn)發(fā)行為的統(tǒng)一控制,控制信道分為上行信道和下行信道,控制面的運(yùn)行機(jī)制如下所示:
(1)根據(jù)網(wǎng)絡(luò)初始化結(jié)果,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)在各自的控制信道依次向邏輯中心節(jié)點(diǎn)上報(bào)本節(jié)點(diǎn)產(chǎn)生的通信需求,包括目的地址、業(yè)務(wù)優(yōu)先級(jí)以及所需信道數(shù)量;
(2)邏輯中心節(jié)點(diǎn)根據(jù)每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上報(bào)的結(jié)果,并按照其所傳輸業(yè)務(wù)的優(yōu)先級(jí)別,制定業(yè)務(wù)調(diào)度規(guī)則,并分配數(shù)據(jù)信道;
(3)計(jì)算網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)進(jìn)行下一輪上行控制信息的傳輸時(shí)間;
(4)邏輯中心節(jié)點(diǎn)將步驟(2)和步驟(3)中的分配結(jié)果,在下行控制信道通過(guò)廣播發(fā)送給所有網(wǎng)絡(luò)節(jié)點(diǎn)。
在進(jìn)行2.4中步驟(4)的同時(shí),除邏輯中心節(jié)點(diǎn)外,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)均處于接收狀態(tài),網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)分配方案,分別在自己參與的通信時(shí)隙內(nèi),發(fā)送本節(jié)點(diǎn)緩存消息,或接收消息,完成本輪數(shù)據(jù)交換。
根據(jù)網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)數(shù)量,確定一個(gè)時(shí)幀內(nèi)部的子幀數(shù)量,其算法的具體實(shí)現(xiàn)如圖5所示,一個(gè)時(shí)幀內(nèi)包含的控制信道與緊隨其后的數(shù)據(jù)信道為一個(gè)子幀(subframe),一個(gè)時(shí)幀內(nèi)包含子幀的個(gè)數(shù)為:
(1)
圖5 DCA算法示意圖
其中,m為一個(gè)時(shí)幀內(nèi)的時(shí)隙數(shù)目;rcontrol表示一個(gè)時(shí)幀內(nèi)控制信道所占比例,本文假設(shè)rcontrol為固定值,nnode表示網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)總數(shù),每個(gè)節(jié)點(diǎn)須占用一個(gè)時(shí)隙上報(bào)本節(jié)點(diǎn)的業(yè)務(wù)需求;公式(1)當(dāng)中的“2”表示:在控制信道中,下行信道占據(jù)2個(gè)時(shí)隙;nslot表示每個(gè)子幀包含的時(shí)隙數(shù)目,當(dāng)m/nSU為整數(shù)時(shí):
(2)
其他情況下:
(3)
其中rem(m,nSU)表示m除以nSU所得余數(shù)。
每個(gè)子幀中的控制信道所占時(shí)隙數(shù)量可表示為:
ncon_slot=nnode+2
(4)
子幀內(nèi)數(shù)據(jù)信道所含時(shí)隙數(shù)量可表示為:
ndata_slot=nslot-ncon_slot
(5)
業(yè)務(wù)模型如表1所示,包括三種消息類(lèi)型:一類(lèi)突發(fā)消息、二類(lèi)突發(fā)消息和廣播消息,一類(lèi)突發(fā)消息和二類(lèi)突發(fā)消息的產(chǎn)生服從泊松分布,如表2所示,對(duì)時(shí)間片長(zhǎng)度樣本進(jìn)行有放回抽樣,并將泊松到達(dá)強(qiáng)度λ與時(shí)間片結(jié)合,構(gòu)建一個(gè)產(chǎn)生時(shí)長(zhǎng)的突發(fā)消息模型。一個(gè)時(shí)幀內(nèi)廣播消息產(chǎn)生數(shù)目X~U(a,b),假設(shè)a=400,b=560。
表1 網(wǎng)絡(luò)業(yè)務(wù)模型
表2 突發(fā)消息模型
將本文提出的DCA算法與固定的信道分配算法[6](Fixed Channel Allocation,F(xiàn)CA)在傳輸時(shí)延、丟包率和網(wǎng)絡(luò)吞吐量性能上進(jìn)行仿真分析,仿真參數(shù)如表3所示,分別仿真了傳輸時(shí)延和丟包率在80個(gè)時(shí)幀內(nèi)的實(shí)時(shí)表現(xiàn),以及網(wǎng)絡(luò)吞吐量隨網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量的變化情況。
表3 仿真參數(shù)
傳輸時(shí)延指的是從業(yè)務(wù)的產(chǎn)生時(shí)間與業(yè)務(wù)的數(shù)據(jù)信道開(kāi)始時(shí)刻的時(shí)間差值,仿真中將nnode設(shè)置為20,將本文算法與文獻(xiàn)[6]中固定分配算法對(duì)突發(fā)消息的傳輸時(shí)延情況進(jìn)行了對(duì)比,仿真結(jié)果如圖6所示。
由于FCA算法節(jié)點(diǎn)只在自己的時(shí)隙中發(fā)送數(shù)據(jù),而業(yè)務(wù)的產(chǎn)生具有隨機(jī)性,因此時(shí)延分布較為分散,一類(lèi)突發(fā)消息傳輸時(shí)延大部分集中在1.5 s~2.8 s之間,而二類(lèi)突發(fā)消息傳輸時(shí)延主要集中在2 s~3.8 s之間,綜合來(lái)看,DCA算法降低了突發(fā)消息的傳輸時(shí)延,且平均時(shí)延抖動(dòng)范圍比FCA算法小,傳輸時(shí)延較為穩(wěn)定。
丟包率是反應(yīng)網(wǎng)絡(luò)傳輸效率的關(guān)鍵指標(biāo),本文仿真了節(jié)點(diǎn)數(shù)目nnode=28時(shí),三類(lèi)消息的丟包情況,從圖7(a)和圖7(b)中可以看出,對(duì)于一類(lèi)、二類(lèi)突發(fā)消息,DCA算法實(shí)現(xiàn)了無(wú)丟包傳輸,傳輸效率明顯優(yōu)于FCA算法,從圖7(c)中廣播消息的傳輸結(jié)果來(lái)看,F(xiàn)CA算法下,約有55%的數(shù)據(jù)幀出現(xiàn)傳輸丟包,其中丟包率均在14.2%以下,由于受到網(wǎng)絡(luò)業(yè)務(wù)按優(yōu)先級(jí)排序傳輸以及信道資源受限的影響,在DCA算法下,有72.5%的數(shù)據(jù)幀出現(xiàn)傳輸丟包,傳輸效率低于FCA算法。
圖6 一類(lèi)、二類(lèi)突發(fā)消息的傳輸時(shí)延對(duì)比
圖7 DCA和FCA算法傳輸丟包率對(duì)比
綜合圖8(a)、圖8(b)和圖8(c)中仿真結(jié)果來(lái)看,F(xiàn)CA算法下,網(wǎng)絡(luò)吞吐量一直保持著較大波動(dòng),隨著網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)目的增多,DCA算法的吞吐量曲線(xiàn)逐漸逼近算法所設(shè)計(jì)的峰值。從圖8(b)中可以看出,在網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)目為24時(shí),開(kāi)始出現(xiàn)FCA算法網(wǎng)絡(luò)吞吐量超過(guò)DCA算法吞吐量峰值的現(xiàn)象。在nnode<24的情況下,DCA算法具有比較穩(wěn)定的優(yōu)勢(shì),當(dāng)nnode≥24的情況下,DCA算法性能逐漸受到吞吐量峰值所限。在圖8(c)中,當(dāng)nnode= 28時(shí),DCA算法下,有73%的數(shù)據(jù)幀,其吞吐量已經(jīng)達(dá)到飽和,有61%的數(shù)據(jù)幀,其吞吐量表現(xiàn)仍然優(yōu)于FCA算法。
圖8 DCA和FCA算法網(wǎng)絡(luò)吞吐量隨網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量的變化
本文算法通過(guò)增加控制信道,周期收集通信需求,為網(wǎng)絡(luò)業(yè)務(wù)靈活分配信道資源,相比于FCA算法,這避免了在網(wǎng)絡(luò)業(yè)務(wù)集中突發(fā)下,造成的高優(yōu)先級(jí)業(yè)務(wù)傳輸信道不足,同時(shí)也解決了無(wú)業(yè)務(wù)發(fā)送時(shí)產(chǎn)生的信道閑置現(xiàn)象。
本文分析了固定TDMA信道分配算法及其適用特點(diǎn),結(jié)合軟件定義網(wǎng)絡(luò)思想,提出了一種具有邏輯中心的空基網(wǎng)絡(luò)架構(gòu),在此基礎(chǔ)上設(shè)計(jì)了一種動(dòng)態(tài)TDMA信道分配算法DCA,算法將信道劃分為控制信道和數(shù)據(jù)信道,通過(guò)周期統(tǒng)計(jì)網(wǎng)絡(luò)節(jié)點(diǎn)的通信需求,動(dòng)態(tài)分配信道資源,并根據(jù)業(yè)務(wù)優(yōu)先級(jí)進(jìn)行信道分配,滿(mǎn)足不同網(wǎng)絡(luò)業(yè)務(wù)的流量需求。仿真表明,DCA算法在高優(yōu)先級(jí)業(yè)務(wù)傳輸效率和時(shí)延方面,比FCA算法有較明顯的優(yōu)勢(shì),對(duì)于廣播消息的傳輸,DCA算法的傳輸效率低于FCA算法,相當(dāng)于用傳輸帶寬換取突發(fā)消息的低時(shí)延與高效傳輸,與FCA算法相比,DCA算法改善了流量分配的合理性,在網(wǎng)絡(luò)吞吐量方面,也具有更好的表現(xiàn),本文提出的算法可以作為動(dòng)態(tài)分配算法的補(bǔ)充,對(duì)空基網(wǎng)絡(luò)信道分配的研究具有參考價(jià)值。