高航航,王 翔,趙尚弘,彭 聰
(空軍工程大學信息與導航學院,西安 710077)
進入21 世紀以來,航空通信技術的崛起使得空間信息呈現(xiàn)出“爆炸式”的發(fā)展,這些重要信息需要借助于航空信息網絡進行傳輸與處理。航空信息網絡[1-2]能夠實時獲取、傳輸和處理空間數據信息,具有超遠程、高動態(tài)、大容量等特點,能夠打破地面信息系統(tǒng)對于高空中信息獲取的局限性,在未來空間戰(zhàn)爭中能夠發(fā)揮重要作用。隨著通信技術手段的成熟,網絡中傳輸的數據量迅速增長,網絡規(guī)模隨之擴大,航空信息網絡與天基信息系統(tǒng)和地面信息系統(tǒng)分別建立通信鏈路,并與其進行信息交互,以此實現(xiàn)對信息的綜合利用。
航空網絡中包含功能各異的飛機,如偵察機、預警機、電子干擾機、無人機等,將這些空中平臺所獲取的數據進行傳輸、交換與融合等處理,可實現(xiàn)對航空信息網絡中信息的有效管理與高效利用。航空信息網絡作為信息化戰(zhàn)場的重要組成部分,未來會朝著高度不確定性、高度動態(tài)性和高度對抗性發(fā)展。此外隨著日益復雜的戰(zhàn)場環(huán)境對作戰(zhàn)效能要求的不斷提高,現(xiàn)階段的航空平臺自身的能力面臨很大的挑戰(zhàn)。目前航空信息網絡的設計主要從傳輸性能方面考慮,與作戰(zhàn)任務不具備靈活的耦合關系,導致網絡中的冗余進一步增多;又比如網絡中的設備大多采用封閉式設計,內部集成大量的協(xié)議,缺乏開放接口,針對不同應用需求設計的網絡設備難以共享操作等等。軟件定義網絡(Software Defined Network)的出現(xiàn)為上述問題帶來了解決方法,SDN是一種數據控制分離、軟件可編程的新型網絡體系架構[3-5],它采用集中式的控制平面和分布式的數據平面,控制平面和數據平面相互分離,控制層利用南向接口對數據平面中的網絡設備進行集中式控制,并提供靈活的可編程能力。
當前國內外關于控制器部署主要圍繞負載均衡、流量處理開銷、可靠性等不同優(yōu)化目標來確定控制器的部署位置。文獻[6]以控制器部署個數和控制器位置為目標,提出了基于平均時延和最大時延的模型,并在不同網絡拓撲中進行仿真測試。文獻[7]提出k-critical 算法,構建robust 樹解決控制層的部署問題,該算法對于控制層的魯棒性有進一步提高。文獻[8]定義一種二層建模方法,討論故障情況下控制器部署對于SDN 性能的影響。針對網絡子域劃分這一問題,文獻[9]通過引入懲罰函數避免產生孤立節(jié)點,并在時延和容量限制下提出一種負載均衡的多控制器部署算法。文獻[10]定義了可預期控制鏈路虧損百分比,從可靠性方面對SDN 控制器的部署進行研究。文獻[11]以航空信息網絡的全網可靠性作為優(yōu)化目標,采用人工免疫策略、小生境思想和改進遺傳算法的混合優(yōu)化算法。上述研究并沒有考慮整體網絡的時延情況,文中主要針對航空信息網絡中全網時延這一目標加以優(yōu)化。
本文基于軟件定義網絡思想,提出在航空信息網絡中構建集群系統(tǒng),為每個集群系統(tǒng)設置集群控制器,控制器管理該域內飛機。對k-means 算法改進,以實現(xiàn)對集群系統(tǒng)的合理劃分,并為控制器建立可靠性部署。最后,以包含23 個節(jié)點的航空信息網絡作為仿真場景,完成數據仿真,得出不同算法的部署結果,并進行分析對比。
航空平臺作為航空信息網絡中的基本作戰(zhàn)單元,是實現(xiàn)空中信息獲取、傳輸與處理的重要部分。通過將一定數量、能力各異的有人/無人航空平臺構建為航空信息網絡,在復雜的戰(zhàn)場環(huán)境中根據實際的需求,通過各個平臺間的優(yōu)勢互補,在很大程度上可以更好地適應未來戰(zhàn)場環(huán)境[12-13],航空信息網絡結構如圖1 所示。軟件定義航空信息網絡[14]基于軟件定義網絡思想,針對航空信息網絡中的主要問題改進,與作戰(zhàn)任務靈活耦合,進一步使航空信息網絡的能力得到最大發(fā)揮。
圖1 航空信息網絡結構示意圖
SDN 采用數控分離思想,當數據控制分離后,原來分布式的控制平面被集中化,利用邏輯集中控制的控制器可以實現(xiàn)對網絡中流量的優(yōu)化。然而隨著網絡規(guī)模的擴大,單個控制器的服務能力有限,將會導致整個網絡的性能大大下降??刂破矫娴目蓴U展性則有效地解決了這一問題,通過在控制平面中部署多個控制器,以此提升網絡的性能。在實際中常采用物理上分布、邏輯上集中的多控制器部署策略,SDN 基本網絡架構如下頁圖2 所示。
圖2 SDN 基本網絡架構
在航空信息網絡中,將整個網絡拓撲劃分為多個域,每個域稱為航空集群域[15],每個航空集群域內部署一個或多個集群控制器。集群控制器負責本域內的信息管理,集群控制器之間則通過共享數據來維持全網視圖信息。根據軟件定義航空信息網絡中控制器部署問題的特征可知,數據傳輸距離、鏈路節(jié)點個數是網絡時延模型中的重要因素,此外,鏈路故障率在網絡可靠性模型中也有著重要影響。本文則通過合理部署控制器,在航空信息網絡可靠性的基礎上實現(xiàn)全網絡的快速響應。
在部署控制器時,通常假設其所有通信鏈路發(fā)生故障的可能性相同,或者不考慮鏈路故障。然而在航空信息網絡中,由于高空中各種未知因素的影響,使得通信鏈路容易發(fā)生故障,且每條通信鏈路發(fā)生故障的概率各不相同,因而此時用最短路徑法并不能對網絡性能進行更準確的分析。如圖3 所示,假定該集群域內的控制器部署在位置C1,控制并管理其余節(jié)點S1~S5,虛線表示通信鏈路,虛線上的數字表示該鏈路發(fā)生故障的概率。當控制器C1和節(jié)點S2 進行通信時,如果此時考慮鏈路故障,并以通信路徑所經過鏈路的總故障率最小為目標,利用最短路徑法(如Dijkstra 算法)可得到傳輸路徑為:(C1,S1,S2)和(C1,S1,S3,S2),此時利用最短路徑算法并不能選擇出最佳傳輸路徑。隨著網絡中節(jié)點個數和鏈路個數的增加,使用最短路徑算法會對網絡整體的可靠性帶來嚴重影響,進一步造成網絡性能大大下降。
圖3 鏈路故障率對網絡性能的影響
圖4 表示控制器部署位置對于網絡可靠性性能的影響,在圖4(a)中,當集群控制器部署在位置S7 時,假若(S5~S7)之間的鏈路發(fā)生故障,則會導致除S7 外剩余的交換機節(jié)點均與控制器C1 失去聯(lián)系,此時的網絡性能將急劇惡化。而在圖4(b)中,控制器部署在位置S5,當(S5~S7)之間的鏈路發(fā)生故障時,此時只有交換機節(jié)點S7 失去控制,而網絡剩余部分仍保持連通。可以看出,與控制器部署在位置S7 而言,部署在位置S5 將大大提高網絡的可靠性。因而在集群域內合理地選取控制器部署位置,將能夠有效提高網絡整體性能。
圖4 控制器部署位置對網絡可靠性影響
經過上述對網絡性能的分析,本文在軟件定義航空信息網絡中對控制器的部署問題作出以下描述:
1)用帶權無向圖G(V,E,C)表示航空信息網絡拓撲,其中V={v1,v2,…,vq}代表網絡中的節(jié)點集合,節(jié)點數目為q,E={(vs,vt)|vs,vt∈V}代表網絡節(jié)點之間的鏈路集合,C={c1,c2,…,cm}代表網絡中控制器節(jié)點的集合,控制器節(jié)點控制管理著交換機節(jié)點。
2)假定交換機節(jié)點可以是網絡中的任何節(jié)點位置,控制器節(jié)點的部署位置也可以是網絡中的任何節(jié)點,當交換機節(jié)點和控制器節(jié)點位置重合時,認為二者之間的時延為0,且每一個交換機節(jié)點受唯一的控制器節(jié)點控制。
3)對于任意給定的兩個節(jié)點vt和vs,設L(vt,vs)為節(jié)點vs到節(jié)點vt的最短路徑距離,若節(jié)點vt和vs之間相通時,則定義節(jié)點間的連接關系為1,否則為0。
4)假設在交換機節(jié)點和控制器節(jié)點間使用帶內通信,即二者僅通過現(xiàn)有的通信鏈路傳輸數據。最短路徑法是以通信鏈路長度(或者節(jié)點跳數)作為路徑選擇的依據,這種方式并不能保證所選擇的通信路徑可靠性最高,但在通信時延方面結果最小。
5)為了提高網絡的整體性能,交換機節(jié)點間傳輸數據時,為使傳輸時延盡可能短,采用最短路徑法來獲得傳輸時延最小化。而考慮到交換機節(jié)點向控制器節(jié)點發(fā)送數據時控制路徑的重要性,在控制路徑的選擇上重點考慮可靠性,為使控制路徑的可靠性最高,采用以控制路徑所經過鏈路的故障率最小為權重的最短路徑法??刂破鳛榱双@取全網的視圖信息,需要對各集群域內控制器節(jié)點的數據進行同步,而數據同步路徑對于可靠性的要求同樣較高,因而同樣采用以鏈路故障率最小為權重的最短路徑法選擇數據同步路徑。
文中以全網時延最小為優(yōu)化目標,目標函數表達式如式(1)所示,優(yōu)化過程中約束條件如式(2)~式(5)所示:
其中,式(2)表示控制器部署在節(jié)點j,否則為0;式(3)表示交換機節(jié)點i 受控制器j 控制,否則為0;式(4)在總節(jié)點中選擇k 個節(jié)點部署控制器;式(5)表示每個交換機節(jié)點只能由一個控制器控制。
由上述分析可知,控制器部署到網絡后會產生3 種時延,分別為節(jié)點傳輸時延、控制路徑時延和控制器同步時延,3 種時延的表達式如下所示:
其中,式(6)表示數據從交換機節(jié)點vt傳輸到交換機節(jié)點vs的傳輸路徑時延;式(7)表示交換機節(jié)點之間數據的平均傳輸時延;式(8)表示數據從交換機節(jié)點vr傳輸到其集群域內的控制器節(jié)點cn的控制路徑時延;式(9)表示交換機節(jié)點到控制器節(jié)點之間的平均控制時延;式(10)表示控制器節(jié)點間相鄰路徑個數;式(11)表示控制器節(jié)點cm與cn間傳輸數據時的平均同步時延。
本文借鑒衛(wèi)星網絡路由策略中的“網絡拓撲快照”思想[16-17],在網絡運行過程中將區(qū)間劃分為若干個小時間片,每個小時間片稱之為“快照(snapshot)”,在一個時間片內認為網絡拓撲保持靜止,即用連續(xù)的靜態(tài)拓撲進行航空信息網絡模擬。文中將控制器部署視作聚類分析[18-19]問題,將每個聚類視作為一個集群域,且假定每個集群域內僅部署一個控制器。以實際網絡拓撲為輸入,以不同方案下的部署結果作為輸出。最后采用具有23 個節(jié)點、72 條鏈路的航空網絡拓撲進行仿真。為了驗證基于k-means 的改進算法在控制器部署方面的性能提升,本文同時設計了隨機放置算法以及k-means 算法。在部署時,為了減小隨機選取初始節(jié)點造成計算結果的極端性,將隨機算法和k-means 算法運行10 次結果的平均值作為最終仿真結果。
在控制器部署時,需要構建航空集群域,本文在構建集群域時采用改進的k-means 算法。k-means 聚類算法以Dijkstra 算法為依據,在該算法中,由于初始節(jié)點的選取是隨機的,因而會在一定程度上使得優(yōu)化結果不能達到全局最優(yōu)。而k-means 改進算法在k-means 算法基礎上對初始節(jié)點的選取作以優(yōu)化,避免其集中于節(jié)點密集的區(qū)域,使選取的初始節(jié)點在空間分布上與實際數據相符合,改進算法如下頁表1 所示。
航空集群域確定后需要對控制器的位置進行部署,本文在一個集群域內僅部署一個控制器。文中以網絡總時延最小為優(yōu)化目標,同時為了確保網絡的可靠性,要避免將控制器部署在網絡中節(jié)點度小的位置上,具體算法如表2 所示。
為了驗證本文所提出算法的有效性,采用隨機生成的23 個節(jié)點、72 條鏈路作為航空信息網絡進行仿真,并對每一個網絡節(jié)點和鏈路進行編號,假定每個集群中部署一個控制器,且該控制器能夠處理來自本集群域內交換機節(jié)點所傳輸的信息,鏈路中斷概率設為[0,0.1]內的隨機數,仿真中所傳輸的數據參考文獻[20]進行設置。本文同時將隨機放置算法、k-means 算法與文中改進算法加以對比,隨機放置算法是在所有節(jié)點中隨機選取若干個節(jié)點作為控制器位置進行部署,k-means 算法在劃分集群時,初始節(jié)點是隨機選取的,其余設置與本文算法相同。
表1 k-means 改進算法
表2 控制器部署節(jié)點選取
圖5 所示為鏈路在不同中斷概率下控制路徑損失率的情況,控制路徑損失率定義為數據由交換機節(jié)點向控制器節(jié)點間傳輸時,由于鏈路發(fā)生故障所導致的控制器節(jié)點無法收到數據的情況??梢钥闯?,隨著鏈路中斷概率的增大,控制路徑失效率也隨之增大。在3 種算法仿真結果中,帶權重最短路徑法的效果最好,當鏈路中斷概率為0.1 時,控制路徑數據損失率在14%左右,而無權重最短路徑法的性能較差,其控制路徑數據損失率在44%左右,這是因為無權重最短路徑法僅考慮路徑最短,而不考慮鏈路的可靠性,當最短路徑中包含某條高故障率鏈路時,必然會使得控制路徑數據損失率較高。而對于無權重隨機路徑法而言,由于控制路徑選取的隨機性,使得控制路徑可能繞過最短路徑中那些高故障率鏈路,因而這兩種方法的性能略有差距。而帶權重最短路徑法是以總路徑故障率最低為目標,因而在3 種算法中性能最好,可以取得較理想的結果。
圖5 鏈路故障與控制路徑數據損失率的關系
圖6 不同控制器數量下的網絡時延
圖6 所示為不同控制器數目下的網絡時延情況,文中將控制器的個數從2 逐漸增加到8,并將本文所提算法與隨機放置算法和k-means 算法進行對比,結果表明,采用隨機放置方法的網絡時延最高。這是由于控制器所選取的節(jié)點隨機,并且不能保證距離控制器最近的節(jié)點被該控制器所控制,而k-means 算法和k-means 改進算法首先確定集群,隨后在集群中部署控制器,這樣有效地保證了距離控制器近的節(jié)點都能被該控制器所控制,相對于隨機放置算法,其時延得到有效的降低。可以看出,當控制器數目為5 時,隨機放置算法的時延結果為4.85 ms,而采用改進k-means 算法的時延則為2.24 ms。
下頁圖7 所示為不同控制器數目下的控制器同步總時延。從仿真可以看出,隨著控制器數目的增多,總同步時延是逐漸增大的。這是由于控制器數目的增多,使得控制器之間同步數據的路徑逐漸增多,進一步造成控制器間總同步時延的增大。可以看出,當控制器的個數為2 時,文中所提出算法的總同步時延為2.8 ms,當控制器數目為8 時,總同步時延則為17.2 ms。仿真結果表明,控制器間數據總同步時延將隨著控制器個數的增多而增大,因而不能無限制部署控制器,網絡中的控制器節(jié)點數目應在一定范圍內才能合理地部署,而過多的控制器數量則會導致網絡中增加過多不必要的開銷。
圖7 不同控制器數量下的總同步時延
本文提出基于時延約束下的控制器可靠部署方案,定義數據傳輸時延、控制路徑時延和控制器同步時延,并以全網絡時延最小為優(yōu)化目標,同時對控制路徑和控制器同步路徑進行可靠性優(yōu)化,利用改進的k-means 算法,為在網絡中使用多少控制器以及控制器位置的選擇提供了方法。仿真結果表明,該方法在網絡可靠性的基礎上,能夠實現(xiàn)全網絡時延的優(yōu)化。由于控制器節(jié)點處理信息的能力有限,當某個航空集群中的交換機節(jié)點過多,超過控制器節(jié)點的處理能力時,會使得該集群中的控制器節(jié)點過載,導致該集群處理信息能力大大下降,進而會造成整個航空網絡性能下降。下一步將針對集群中交換機節(jié)點負載均衡展開研究,提出相應的控制器部署方案。