侯筠儀,趙黎曄,申景詩,馮飛,王韶波
1. 山東航天電子技術研究所,煙臺 264670
2. 航天東方紅衛星有限公司,北京 100094
在5G生態系統的大背景下,地面用戶數量和服務類型呈現爆發增長的趨勢,星地網絡的集成一體化被視為增強網絡功能、完善網絡部署的一種解決方案。目前,全球已有超過20個衛星通信系統在軌運行,以新一代的Oneweb系統、SpaceX系統等為代表的巨型星座網絡[1]作為通信網絡廣域建設的一種補充,有效克服了地面網絡基站的布設限制,旨在緩解全球剩余2/3人口的寬帶上網問題。
在衛星網絡領域,傳統衛星通常將控制和數據轉發功能集中于同一網絡設備,衛星節點在進行數據傳遞前需先完成鏈路維持、狀態監控、路由計算等多種網絡控制功能,占用了大量星上載荷資源。面對未來網絡不斷增長的用戶需求和異構化的應用程序,學術界提出了引入“軟件定義網絡”的概念進行衛星網絡應用方案的研究。軟件定義網絡(software defined network, SDN)是網絡虛擬化的一種實現方式,其核心是分離網絡設備的數據平面與控制平面以實現網絡流量的靈活控制。Ferrús等[2]在5G背景下在衛星地面段中引入SDN/NFV技術,實現星地間網絡資源管理能力和業務敏捷性的提升。Tang 等[3]將路由計算和網絡配置任務放在地面站,設計了一種基于OpenFlow的軟件定義衛星網絡架構。Xu等[4]設計了SoftSpace架構并討論了SDN的故障發現機制和移動性管理能力。Kak等[5]研究了低小衛星在SDN網絡體系下配置不同載波頻率和軌道參數對時延和吞吐量的影響。Xu等[6]設計了一種3層分層控制器架構,并進一步提出了一種從控制器選擇策略以促進成本降低和穩定性增強。傳統SDN方案的共同點是利用全局統一的SDN控制平面實現路由計算,控制策略需要在全網進行刷新。然而衛星自身拓撲動態異構的特征會導致控制器的計算及同步負擔很大。可見,低軌衛星空間段的軟件定義網絡架構設計依然有較大的研究潛力和應用價值。
針對上述問題,本文主要關注將SDN設計思想在衛星網絡架構中進行擴展,簡化衛星節點的工作負擔、實現大量流量的高效傳輸,并融合網絡功能虛擬化(NFV)技術以使該架構能夠面對未來空間信息網絡發展中可能遇到的挑戰性問題。本文首先從低軌星座設計入手,從物理層面進行優化,使其通信水平的性價比最大化。基于該低軌衛星星座,進一步提出了軟件定義衛星網絡架構設計方案,設計了以星間鏈路為基礎的虛擬化數據平面和多控制器的分布式控制平面,并給出了架構實現的關鍵技術方案,使其能夠實現數據傳遞的高效動態分配。
低軌星座設計是構建衛星通信系統的基礎,星座構型的合理優化有助于低軌星座功能的最大化實現。衛星星座設計優化過程首先應根據目標場景選取基礎星座構型。本文的設計背景為設計一種有效補充地面網絡局限性、實現廣域補充覆蓋且能夠搭建SDN架構的衛星星座。極軌道星座屬于對稱星座,軌道面分布均勻,每個軌道面上衛星數目相同,軌道面經過兩極且與赤道面垂直,能夠實現對全球的覆蓋。極軌道星座中的衛星在運動過程中保持相對靜止,可以通過固定的星間鏈路實現衛星間的切換與通信,且星間鏈路建設簡單,易于維護,能夠為SDN架構提供合理的物理基礎。因而,本文采用極軌道作為星座基礎構型。
銥星系統是一種典型的極軌道通信衛星星座。但考慮未來通信系統所面臨的高速率傳輸下,文獻[7]基于軌道高度與邊緣通信仰角的約束關系指出,低通信仰角的銥星系統無法滿足寬帶LEO星座衛星通信系統要求,需要通過提高軌道高度來解決這一問題。然而,在地面用戶邊緣通信相同的情況下,衛星的軌道高度越高則會導致單星所需要的點波束數量越多。考慮到軟件定義衛星星座未來發展定位于衛星通信、導航、遙感等多方面星上功能的實現,本文參考由法國國家空間研究院和美國宇航局合作的第一個全球定位和數據采集系統Argos系統的星座設計理念,將星座軌道高度提升至850 km,以貼合多功能的星上實現需求。衛星通信仰角的設計需保證星座實現對全球的覆蓋,但單顆衛星不應覆蓋面積過大而造成功率指標的浪費,故本星座單顆衛星的邊緣通信仰角設計為30°。根據全球覆蓋星座原理[8],在已知軌道高度和邊遠通信仰角的前提下能夠計算出最優的衛星總數、軌道面數及每個軌道上的衛星數量,最終構建衛星星座。
該星座共有9個軌道平面,每個軌道面上分布11顆低軌衛星,軌道高度850 km,軌道傾角為86.4°。通過STK軟件對星座的對地覆蓋性能進行仿真,結果證明該星座對地覆蓋率在全時段達到100%,滿足任務所需的通信要求。
極軌道衛星星座網絡的聯通依賴于星間鏈路的構建。參考銥星星間鏈路的設計模式,該星座中的每一顆衛星都與其同一軌道的相鄰衛星建立2條星間鏈路,并與相鄰軌道上實時臨近的衛星建立2條星間鏈路。第1軌道和第9軌道之間的反向旋轉關系是一種例外情況,這兩條軌道間的衛星不存在相鄰軌道的星間鏈路。拓撲結構如圖1所示。

圖1 數據平面拓撲結構示意
衛星通信網絡地面段網絡拓撲采用“多點落地”的設計思想。僅依靠單一地面站接收全網衛星的下傳數據這一模式在面對海量數據時易發生網絡擁塞,而將多地面站引入衛星網絡的路由規劃能夠充分利用地面網路資源。地面設備具有可維護、魯棒性高的特點,通過光纖傳輸數據更為高效,分擔了衛星網絡的傳輸壓力,體現了衛星網絡與地面網絡的互補性,實現了星地傳輸負載均衡。
如圖2所示,本文選取三亞、佳木斯、喀什3處地面站為示例,圖中標注了3處地面站的地理位置及當前時刻向對應地面站下傳數據的衛星(圓標注)。圖2給出了一條路由示例:當前時刻喀什地面站上空西側的衛星(三角標注)作為源點進行數據傳輸,數據流在喀什地面站上空完成數據下傳,經地面光纖網絡傳遞至目的地三亞地面站。這樣的傳輸路徑有效減少了數據流在星間的傳遞跳數,降低了傳輸延遲與傳輸損耗。此外,“多點落地”結構能夠有效解決極軌道星座反向縫兩側衛星無法建立星間鏈路導致路徑規劃復雜的問題。圖2中佳木斯地面站上空,存在兩個間隔反向縫的數據下傳衛星(矩形標注)。雖然兩顆衛星間無法完成東西向數據傳輸,但是能夠通過將數據下傳至佳木斯地面站,最終借由地面網絡完成服務,避免了星上傳輸路徑過長的問題。

圖2 “多點落地”結構示例
SDN的核心在于控制平面和數據平面的分離,其基本架構如圖3所示。

圖3 SDN基本架構
在低軌衛星網絡中,衛星作為SDN交換機的載體可被視為數據平面的節點。低軌星座中所有衛星以節點形式構成完整的數據平面,依靠星間鏈路實現數據流的交換傳輸。數據平面的主要功能是通過一系列的鏈路操作對到來的數據分組進行處理,這些操作通常包括數據分組的收集和完整性檢查。衛星網絡這一場景的特點是底層物理資源有限,發射入軌后很難對交換機進行硬件設備的二次更新或功能變更維護,因而缺乏應對多種服務需求的靈活性。本文提出引入NFV技術,在數據平面上搭建虛擬的“環境抽象層”,用以解決數據平面的靈活性問題,并進一步闡明虛擬化轉發功能的實現方式。
環境抽象層將設備的物理功能分割為更輕量級的網絡虛擬功能,通過映射機制將用戶需求的虛擬資源與物理資源相對應,能夠有效地節省底層的物理資源,實現衛星平臺的長期可用性。如圖4所示,Intel公司開發的一種數據平面開發套件(data plane development kit, DPDK)能夠很好地實現網絡功能的虛擬化。該套件提供了數據平面庫和輪詢模式的Linux用戶空間網卡驅動,通過間接的API提供隊列管理、緩存管理和流量分組功能,使得上層應用和控制平面可以直接調用這些環境抽象層的功能來完成相關計算和轉發。通過虛擬化交換機(即環境抽象層),端口在傳遞流表時不再需要硬件設計提前預留專用的緩存隊列存儲空間,其緩存空間由CPU管理的內存動態化臨時分配。在數據轉發過程中,僅通過表頭的地址匹配字段送入CPU進行地址匹配,待完成匹配后才會在需要轉發時將完整數據包輸出網絡端口。

圖4 數據平面I/O結構
衛星網絡數據平面的虛擬化計算類功能的實現方式與普通星載計算機運行應用程序的方式完全相同,而虛擬化的轉發類功能則有比較大的變化。在SDN網絡設備中,網絡層功能虛擬化的本質是通過流表抽象數據平面,通過流表可以精確地匹配和識別業務類型,完成對流的操作。數據轉發形成的流表由多個基礎流表構成,基礎流表包含了地址匹配字段、計數字段、操作字段3項功能,如圖5所示。考慮到衛星網絡是一種無線網絡,其轉發和資源分配均基于終端,傳統的SDN可能造成1個衛星終端的不同流會使用相同的信道和窗口。本方案在傳統SDN協議基礎上擴展性地引入IEEE 802.11e協議,該協議通過對流量的窗口和幀間間隔區別對待,能夠賦予流不同的優先級。

圖5 SDN流表項
隨著星載載荷處理能力的提高,在支持基礎數據包的轉發之外,數據平面還需支持流量優先級的分類功能,以便針對不同類型數據實現SLA(服務級別協議)。通過采用DPI(深度包檢測)[9],應用能夠確定轉發決策的優先級,進而滿足QoS(服務質量)要求。數據平面的虛擬化處理緩解了CPU的壓力,使得這些服務有了實現的可能。
衛星網絡的控制功能由SDN控制器實現,其任務是更新數據平面設備(即星上SDN交換機)的轉發規則。目前,大量的研究成果集中于將控制器放置于地面站或靜止軌道衛星上,且數量較少。然而,隨著網絡流量需求的提升和數據平面的擴大,控制器數量不足將難以滿足星地無線網絡高動態、大跨度的路徑配置計算需求,進而使得配置轉發規則所需的流建立時間增長,用于改善網絡延遲的相關規則下發失效,因而需要增加控制器布設數量來減少流建立時間[10]。此外,控制器放置于地面站或靜止軌道衛星上意味著控制平面與數據平面之前存在巨大的數據傳輸損耗,并需要建立更為龐大的拓撲分析庫來處理網絡拓撲的動態化問題[11]。基于上述背景問題,本文提出將多控制器直接部署于低軌衛星上構成分布式控制平面。這樣的控制器部署方式,一方面保證了控制器數量能夠滿足功能實現的需求,另一方面控制平面與數據平面的拓撲一致化減少了控制平面的數據處理壓力。
根據改進的NSGA-Ⅱ的多控制器初始化部署算法[12]可知,控制器與衛星節點數量比例為0.3~0.4時,網絡端到端時延將至最低。因此本文的控制器靜態放置方案將控制器數量選取為36,每條軌道可有4個控制器,分別位于該軌道的1號、4號、7號、10號衛星。如圖6所示,被放置SDN控制器的衛星同時具備數據交換和網絡控制的功能,控制器與控制器之間由東西向接口相互連通,形成一個物理上分散、邏輯上集中的控制平面。每個控制域內約有2~3顆衛星。這樣的部署方式不僅減少了星地間的數據傳輸損耗,還降低了控制器與交換機之間的數據傳播時延。此外,集群式控制器通過虛擬化設計能進一步實現多功能平臺的分割,提升衛星平臺對載荷的支撐能力,更好地把握全網資源視圖,改善通信資源的交付質量。

圖6 控制平面組網示例
多控制器的部署意味著同時還需解決控制器動態放置問題[13]。控制器動態放置問題即控制域界定問題,該問題可被公式化為ILP算法,其優化目標是使得配置轉發規則所需的平均流建立時間最小化,并通過Gurobi優化器進行求解。與控制器放置問題相關的約束表述如下。
約束1:用于確保要放置在網絡中的控制器總數為K。
式中:C為控制器集合(該集合中元素c為控制器集合中各控制器的編號);K為控制器放置數量;yc為一個二進制變量,指示是否將控制器放置在c∈C上,yc為1表示控制器在控制器集合C中,yc為0表示控制器不在控制器集合C中。
約束2:用于確保只有c號控制器處于活動狀態時,s號衛星才會被c號控制器控制。
xs,c≤yc,?s∈S,?c∈C
(2)
式中:S為衛星集合(該集合中元素s為衛星集合中各衛星的編號);xs,c為一個二進制變量,指示是否將衛星節點s分配給c∈C上,xs,c為1表示將衛星節點s分配給c∈C,xs,c為0表示不將節點s分配給c∈C。
約束3:用于確保每個衛星s被有且只有一個控制器c控制。
約束4:如果兩個衛星屬于不同的控制器集群,則需要給他們分配給不同的控制器。約束4給出一種輔助的二進制變量zc,s,k用于量化這種情況,將衛星劃分為不同的控制域。
zc,s,k=xs,c·xk,c,?s∈S,?k∈S,?c∈C
(4)
約束5:為使該約束能被線性優化器運算解決,由約束5的3個公式進行替代。
本文所設計的由多控制器共同構成的控制平面經東西向接口相互連通形成,物理上分離但邏輯上集中。在此基礎上,結合NFV技術進一步提出了對控制平面的軟件層面功能切割。經虛擬化處理,控制平面基于衛星通信需求設計為3個平臺和2個數據庫:請求指令平臺、負載均衡平臺、控制器系統平臺、全網視圖庫、路由算法庫。其中,全網視圖庫包含了拓撲分析庫、鏈路分析庫、網絡狀態庫。為適應衛星拓撲的動態性,引入拓撲快照的方法,每分鐘檢查一次網絡狀態變化并形成快照集,每小時計算一次由于衛星移動而產生的所有網絡拓撲。
通過南向接口,控制平面必須處理3類流量控制信息:流量配置信息、流量重新配置信息和遷移信息。如圖7所示,數據平面收到新業務請求后向控制平面發送流量配置信息,控制平面的請求指令平臺接收該信息,并將任務分發至相關的全部控制器。流量配置信息僅提供源地址及目的地址信息,不包含業務的轉發相關內容。當網絡中某衛星節點或多衛星節點因數據傳輸任務過量而出現擁塞狀態時,發生擁塞的衛星節點向控制平面發送流量重新配置信息,請求指令平臺收到此類信息后將其轉發至負載均衡平臺,觸發衛星路由重構。該過程中,控制平面將更新全網視圖庫,負載均衡算法庫調用更新后的鏈路狀態和數據平面上傳的數據傳輸任務需求重新計算路由,新的路由規則由控制器下發至數據平面。此外,每一次流量傳輸過程完成后,起點交換機和目的交換機分別向所屬控制器發送第一流量配置信息時間和傳輸結束時間,由起止時間的差值除以路由傳輸跳數計算出平均流建立時間。若平均流建立時間超過系統規定閾值,同樣視為發生網絡擁塞,由目的交換器向控制平面發出流量重新配置信息,降低該路由途徑的分配權重。

圖7 控制平面實現流程
考慮到控制器系統平臺內包含數量較多的控制器,本文采用Zookeeper系統框架[14]實現該平臺內部的管理。每臺搭載控制器的衛星對應于不同的控制域(多顆交換機衛星),同時在多顆控制器的衛星中選舉出一個Leader(圖中為控制器1,實際通過選舉規則設定為地面站過頂衛星所搭載的控制器,以實現更好的星地交互),負責與收集全網的信息并發送給全網視圖庫進行更新,確保流量傳輸資源不被復用。其余搭載控制器的衛星作為Member負責控制其所屬控制域內衛星上的交換機進行數據傳遞,并通過遷移信息將各控制域內的網絡狀態信息發送給Leader。由于衛星拓撲的動態性,各控制器衛星所屬控制域內所需控制的衛星節點動態變化,需采用一種基于度的均衡控制節點部署算法[15]實現對控制衛星控制域的自適應動態劃分。該算法調用全網視圖庫,生成星座交換機節點鏈表并設置鏈表的遍歷方向參數,最終獲得每個控制器對應控制域的衛星交換機節點集合。衛星控制器系統平臺上的控制器通過調用全網視圖庫和路由算法庫進行路由規劃,并負責向其控制域內的交換機下發路由表。
該驗證基于本文第2節設計的低軌星座,對所設計的多控制器架構與傳統地面站控制架構,在反向縫區域發生路由重構情況的路由重構查詢時延進行仿真驗證對比。
本文隨機選取某時刻衛星拓撲快照對衛星節點查詢時延進行計算。假設反向縫位于北京地面站上空,因而地面站選取為北京地面站。在該時刻下,傳統地面站控制架構所對應的地面站過頂衛星為第9軌道3號衛星(衛星編號91,衛星-地面站跳數記為0)。通過STK軟件仿真可以獲得該時刻下衛星網絡中各節點位置及其間距,并假設每顆衛星節點數據轉發處理時間為1 ms。而本文所設計的多控制器架構在該場景下,每顆衛星發送路由重構查詢請求僅需1跳或0跳即可將請求發送至控制器。假設數據傳輸速度為光速,計算得到各節點重構路由所需的查詢時延,并以衛星-過頂衛星間隔跳數作為分組依據計算均值進行對比。
如圖8所示,傳統意義上地面控制器的部署架構受反向縫影響大,間隔跳數越大的衛星所需的路由重構查詢時延越大,而低軌部署多控制器的SDN架構則具有較低且穩定的路由重構查詢時延。在傳統地面站控制架構,該時刻全網衛星節點通過地面站控制器實現路由重構的查詢時延均值為82.97 ms。而在本文設計的低軌道多控制器部署架構下,路由重構的單跳查詢時延穩定在14.58 ms。該仿真結果說明該架構可以較好實現路由的動態調整,快速實現路由收斂重構。

圖8 各節點不同架構下所需路由重構查詢時延
本文進一步對控制器數量對網絡端到端時延的影響做出仿真。網絡端到端時延為星上交換機-控制器平均時延及控制器-控制器平均時延的總和。交換機-控制器平均時延為所有交換機與其控制器間最短星間鏈路數據傳輸時延的平均值。控制器-控制器平均時延為所有控制器與控制器之間最短控制鏈路傳輸時延的平均值。最短路徑通過STK軟件仿真可以得到。
如圖9所示,可以看出隨著控制器數量的增加,網絡端到端時延不斷降低,在控制器數量為4時達到最低值,繼續部署控制器會導致時延呈現上升趨勢。這主要是因為當控制器數量較少時,星上交換機與控制器之間所需的最短傳輸路徑較長,導致路由重構請求發送時延較長。隨著控制器數量的增加,星上交換機與控制器間所需最短路徑減少,網絡端到端時延不斷下降直至達到最佳的控制器部署比例。隨著控制器數量的繼續增加,網絡端到端時延出現上升趨勢的原因是控制器部署數量冗余,此時交換機-控制器間已達到最短路徑,過多的控制器反而增加了網絡負擔,網絡端到端時延主要由控制器間控制鏈路的傳輸時延組成。

圖9 控制器數量對網絡端到端時延的影響
從體系結構的角度出發,可以預見SDN作為一種解決方案能夠為未來衛星網絡帶來可編程的靈活性和控制部署的自適應功能。本文提出了一種基于低軌衛星網絡的SDN架構設計。在低軌衛星網絡合理優化設計的背景下,該架構充分結合NFV技術,實現了在控制平面與數據平面相分離的基礎上對各平面功能的二次切分。數據平面基于NFV技術構建環境抽象層,將計算和轉發功能虛擬化,實現了緩存的實時分配,有效提高數據傳輸效率。控制平面由多控制器共同構成集群,物理上分離但邏輯上集中,經虛擬化處理設計為3個平臺和兩個數據庫用以高效生成流量配置規則并下發,同時進一步實現了控制器系統平臺內的自適應動態重構。該SDN架構設計對未來軟件定義衛星網絡架構建設具有重要的參考意義。在后續研究中,作者團隊將進一步研究虛擬化平面運行隔離的問題,進一步提升SDN架構的可靠性。