摘 要:目前民機航空數據網絡系統,一方面逐步走向了高度綜合化,一方面由于飛機航電功能承擔飛機先進性要求,業務量也在逐步增大,因此導致了網絡系統愈加復雜,這就對網絡優化設計提出了新的要求。針對于此,該文論證了網絡建模仿真手段,作為民機機載網絡的設計論證與確認工作手段的重要性,同時,針對目前常用的幾類網絡仿真技術的特點和適用性,進行了分析、比對和總結,并針對一種目前可行的網絡仿真的具體實施用例進行了詳細闡述。
關鍵詞:民機機載網絡 網絡仿真 建模 性能確認
中圖分類號:V271.1 文獻標識碼:A 文章編號:1674-098X(2015)08(b)-0093-02
1 背景
在民機航電技術迅速發展的背景下,機載網絡發展呈現了如下幾個特點:
(1)高度綜合化,從點到點式低速總線走向了共享式的高速總線,比如目前民機上用的AFDX總線,帶來了布線和重量的大幅度改進,同時也帶來了安全性與確定性設計難度的上升;
(2)整網結構復雜化,為了實現價值最大化,由于目前民機系統分包模式復雜,需要兼容多家供應商成熟產品,包括很多遺留設備總線類型,各種不同類型的網絡通過集中式或分布式的網關轉換單元與高度綜合化的主干網絡進行了互聯,帶來了設計復雜性;
(3)業務量擴大化,由于目前飛機功能的增多,網絡負載日益繁重,所需帶寬占用量迅速增大,對確保網絡傳輸延時與共享式網絡的行為確定性保證帶來挑戰。
因此,目前研究人員一方面要不斷思考新的網絡協議和算法,為目前發展做出前瞻性的基礎研究,提供速度更快、容量更大、更安全與更加確定性的機載網絡;另一方面也要研究如何面對目前發展趨勢下的網絡構型資源進行優化配置,使在滿足頂層要求前提下的網絡承載能力最大化,滿足各飛機功能的需求。
網絡仿真能夠為網絡的規劃設計提供可靠的定量依據,對比與網絡數據的獲得,是在網絡系統構建與配置完成并運行后得到的實際數據,它是通過實際網絡測試系統得到,并且還需要對監測數據進行分析處理才能得到結果,如果此時發現網絡結構性問題,需要對網絡進行更改,代價將會比較大。而網絡仿真技術能夠迅速地建立網絡的模型,方便修改模型并進行仿真,得到特定的網絡性能參數,全面運用網絡仿真技術,進行快速的分析驗證與設計迭代,從而實現對網絡設計的性能需求的確認,使得網絡設計和規劃變的更為簡單方便,能在早期能夠發現并解決問題。
網絡仿真是一種利用數學建模和統計分析的方法模擬和計算網絡的行為,一般按照“建模-仿真計算-結果分析”三步方式進行,通過建立網絡設備和網絡鏈路的統計模型,模擬網絡流量的傳輸并統計相關特征或通過計算分析網絡系統的行為,從而獲取網絡設計及優化所需要的網絡性能數據的技術。網絡仿真工具是為了進行仿真而開發的專用計算機軟件。從仿真工具目的性來看我們可以將其分為專用仿真工具和通用仿真工具,從仿真工作范圍的,可以分成部件級、設備級和全網級仿真,對應的確認驗證的范圍與目標各不相同。
2 常用的網絡仿真方法
2.1 網絡仿真方法
廣義上的網絡仿真的方法一般有三類。
(1)第一種是使用網絡模擬方法,即狹義的網絡仿真的范圍。使用網絡模擬仿真的目的在于對常見的一些網絡中的情景進行真實再現,觀測一定的條件下網絡的性能指標。網絡模擬使用隊列和對象等結構體來模擬仿真網絡實體,主要理論依據是網絡隊列理論模型。其中的最常見的網絡元素為鏈路、緩沖區、調度器和解復用器。
(2)第二種是網絡演算方法,這也屬于分析方法的范疇。該理論利用最大代數和微積分理論。由于建模簡單,計算方便且時間復雜度低,同時可以分析最差情況下的數據包端到端的延時,所以在計算機載網絡數據流端到端最壞延遲這一重要指標時得到了廣泛的應用。
(3)第三種是模型檢測形式化方法,這也屬于分析方法的范疇。該方法主要使用形式化方法諸如時間自動機理論,對系統的所有可能的狀態進行有窮考察,因此可以得到了最精確的理論分析值,但對應系統建模難度大,在網絡規模上升后狀態較為復雜。
2.2 網絡模擬方法
網絡模擬方法是采用網絡模擬工具,設計對應的網絡系統的模擬模型,在工具環境中運行這個模型,模仿系統的行為和特征,并分析運行的輸出結果。
模擬方法很靈活,可以根據需要設計所需的網絡模型,以用相對很少的時間和費用了解網絡在不同條件下的各種特性,獲取網絡研究的豐富有效的數據。
針對模擬方法,有較多的特定的網絡仿真工具,目前使用廣泛的網絡模擬仿真軟件包括OPNET、QualNet、NS2、OMNet++等專用工具以及Matlab等通用工具。
根據網絡系統的組成,一般仿真模型包括:協議模型、網絡節點組件模型、拓撲模型、流量模型、故障注入模型、統計模型等。而目前主流的網絡模擬仿真軟件均能實現:豐富可重用的模型庫,大規模多節點集成仿真,基于事件系統同步驅動,可視化編輯、配置與演示能力及用戶模型可擴展化。
網絡模擬方法由于是對網絡行為的數字化模擬,因此其模型仿真所關注特征較為廣泛,根據所需特征和驗證目的,仿真與抽象化程度可靈活配置,但同時,網絡模擬方法受軟硬件資源的限制,無法同時展現現實網絡的全部特性,類似于時間受限的真實系統運行,很難獲得確定性特征,即在有限時間仿真獲得最壞情況的確認(包括最壞延遲、最大數據積壓、瞬時最大帶寬等)。
2.3 模型檢驗形式化方法
模型檢測是一種很重要的自動驗證技術。它最早由Clarke和Emerson以及Quielle和Sifakis在1981年分別提出的,主要通過顯式狀態搜索或隱式不動點計算來驗證有窮狀態并發系統的模態/命題性質。由于模型檢測可以自動執行,并能在系統不滿足性質時提供反例路徑,因此在工業界比演繹證明更受推崇。盡管限制在有窮系統上是一個缺點,但模型檢查可以應用于許多非常重要的系統,如硬件控制器和通信協議都是有窮狀態系統。很多情況下,可以把模型檢測和各種抽象與歸納原則結合起來驗證非有窮狀態系統(如實時系統),模型檢測已被應用于計算機硬件、通信協議、控制系統、安全認證協議等方面的分析與驗證中。[1]
模型檢驗形式化方法,就是采用時間自動機等工具,進行分析和驗證實時系統的一種形式化驗證方法。實時系統的可靠性如果采用時間自動機來驗證的話,一般可以轉化為下面的問題:兩個時間自動機接受的時間正則語言能否相互包含,也可以看作是兩個時間正則語言的交集是不是空的判定問題。
采用模型驗證形式化方法將能通過證明的方法,形成可預測的精確的行為模型,但此方法具有時間計算復雜度高以及模型構建方式復雜的缺陷,當網絡系統變得很復雜時,采用形式化規則對系統進行詳細描述將非常困難,所以并未得到廣泛的使用。
2.4 網絡演算方法
由于網絡模擬的方法不一定能夠把網絡中的所有可能的情形情景進行一一分析,所以得到的數據流端到端的延時僅僅能夠作為考察特定網絡特定情形下的結論,不一定能夠完全覆蓋所有的端到端的最大延時,所以在最壞延遲分析等確定性指標確認方面,僅僅具有一定的參考價值。
而確定性網絡演算方法,是一種基于最小加代數和最大加代數的網絡性能分析工具,網絡演算分為確定性網絡演算和隨機網絡演算。確定網絡演算只能求出網絡性能的邊界值,在機載網絡的最壞情況分析中起到了非常重要的作用。隨機網絡演算是在確定網絡演算基礎上演變而成的,旨在為網絡提供隨機服務質量保障。
最小加代數是以離散事件為模型所建立起來的。該代數體系定義了一個由實數集和無窮大組成的集合,同時定義了在該集合上的最小值和加法運算。數據流可以使用累計函數(即該數據流在給定時間段內發送的數據包流量的總和)來表示。如果該累計函數符合一定的約束限制條件,則稱該約束條件為該數據流的“到達曲線”。因此可以用到達曲線來表示數據流的屬性。對于網絡節點或者整個網絡,則可以用服務曲線來描述。通過這兩個基本的數學模型,就可以使用最小加代數理論的各種運算對復雜網絡進行量化分析。[2]
確定性網絡演算主要用于機載網絡中最壞情況分析中性能指標的確認,從而對網絡的確定性指標進行確認。[3]但對概率流量背景下,正常運行的仿真結果無法獲得,運用適用面比較專一化。
3 一種基于網絡模擬的機載網絡仿真實例
3.1 建模
網絡構建包括:網絡節點構建、全網模型構建、網絡配置構建、流量構建和統計監控模塊設置等。
第一步需要進行網絡系統的整體靜態模型構建,網絡系統模型構建內容包括三層:
(1)網絡域模型構建,包括全網拓撲、配置參數和網絡數據包發生模型的建模。
(2)網絡節點域構建,根據節點類型,進行不同節點的協議模型搭建,包括參考7層模型對網絡收發節點的建立,對網絡中樞交換和網關轉換節點的建立等。
(3)網絡節點內部進程模型構建,根據節點中不同層不同網絡協議的定義,進行進程模型的構建,包括進行流程和狀態機構建。
網絡基本單元構建
網絡基本單元主要構建網絡的各類節點及其進行模型的設計,包括:應用、終端節點、交換機、遠程數據集中器等。
在網絡基本單元構建中,需要把節點中的網絡協議進行實現與構建,包括如下節點順序和協議配置:
(1)終端節點模型,包括傳輸速率、冗余管理、尋址、復用調度器、緩沖策略、應用等。
(2)交換機節點模型,包括交換模型、緩沖策略、過濾管制、流量整形等。
(3)遠程數據集中器節點模型,包括:網關轉換協議、交換模型、終端節點模型等。
(4)應用節點模型,包括:采用標準節點模型擴展的自定義模型,可以配置一些標準業務,比如上層網絡協議定義包括TFTP,維護協議等,并可以配置節點的功能仿真模型。
數據包發生模型構建
基于包的通信仿真將用于來模擬實際物理網絡中包的流動,包括在網絡設備間的流動和網絡設備內部的處理過程。每種有格式的包都含有一些稱作包域的存儲信息的區域,通過包域的名字可以對其包含的數據進行訪問。
可以存儲不同類型的包信息,如整形、雙精度浮點型、結構體甚至是另一個數據包。在仿真的過程中,仿真實體可以根據實際情況創建、修改、檢查、復制、發送、接收以及銷毀數據包。對應的數據包格式需要按照預定的接口數據載荷格式,進行參數的排布。
對于需要應用層產生瞬時隨機流量的需求,可以建立蒙特卡洛的流量模型,進行隨機數據量的生成。
通用仿真設置
對于的網絡節點類型,具有通用的仿真屬性設置,可以基于網絡編輯器,對需要設定參數的節點編輯屬性,方便的設定其網絡參數。通用仿真設置參數舉例包括:
(1)網絡拓撲配置文件。
(2)仿真啟動時間。
(3)仿真持續時間。
(4)業務參數。
3.2 確定評測統計量
評測的統計量主要是基于性能需求,包括:
(1)網絡接收數據幀延遲:測試網絡中一個應用發送數據到通過發送數據幀,經過多級交換機交換數據幀,再到一個終端網卡接收數據幀,最后到接收應用接收到該數據,通過仿真數據統計和計算,獲得整個過程的數據傳輸延遲,并基于多次延遲,獲得抖動等參數值。
(2)吞吐量:測試網絡工作在數據交換吞吐量。
(3)丟幀率:測試網絡工作不同速度和負載下的丟幀率。
3.3 評估場景構建
利用已有建立的基本網絡模型,并對相關測評統計量進行分析,包括:
(1)實時確定性測試:建立冗余網絡,在多個終端系統上建立多個發送數據應用,同時在多個終端系統上建立多個接收數據應用。仿真接收到統計每個應用傳輸數據的最大延遲、最小延遲和平均延遲。
(2)終端容量測試:建立示例的交換網絡。在多個終端系統上建立多個發送數據應用,同時在多個終端系統上建立多個接收數據應用。在仿真過程實施過程中增加一個大數據量的傳輸應用,待仿真結束后統計在增加傳輸應用前后其他應用傳輸數據的延遲變化情況。
(3)全網容量測試:建立示例的交換網絡,在多個終端系統上建立多個發送數據應用,同時在多個終端系統上建立多個接收數據應用。在仿真過程中在交換機一個通信端口上突然增加數據幀流量,待仿真結束后統計在增加交換機流量前后其他應用傳輸數據的延遲變化情況。
(4)安全性測試:建立示例的冗余交換網絡。在多個終端系統上建立多個發送數據應用,同時在多個終端系統上建立多個接收數據應用。在仿真過程中在交換機空余端口上加入一個新的終端系統,之后該終端開始發送數據幀,判斷該終端發送的數據幀能否被其他終端設備接收并解析。
(5)冗余性測試示例:建立示例的冗余交換網絡,并且在把終端設置在冗余工作模式下,在一個終端系統上建立一個發生數據應用。在另一個通信終端上建立接收數據應用,在網絡仿真過程中,斷開終端網絡一條物理通信線路。在仿真完成之后統計接收和發生數據個數,判斷接收和發生數據是否一致。
(6)流量控制測試:建立交換機在經歷瞬時大流量數據時的反映。
(7)錯誤幀過濾測試:通過故障數據幀的,錯誤幀過濾測試的目的是為了確定設備在錯誤或反常幀情況下的行為。
(8)擁塞測試:通過已建立的交換網絡,通過交換機數據發生器的設置,確定設備是如何處理擁塞,設備是否執行擁塞控制,一個擁塞的端口是否會影響到其他不擁塞的端口。
4 結語
該文首先對目前不同的網絡仿真手段用于民機機載網絡的適用性進行了詳細闡述和對比分析,針對其中的網絡模擬方法,通過實例介紹了一種有效的方法。對民機機載網絡的建模仿真工作有所借鑒。
參考文獻
[1]林惠民,張文輝.模型檢測:理論、方法與應用[J].電子學報,2002(S1):1907-1912.
[2]Cruz.R.A calculus for network Delay, Part I IEEE Transactions on Information Theory, University of York,Department of Computer Science,1999.
[3]Scharbarg J,L,Ridouard F, Fraboul C A probabilistic analysis of end-to-end delays on an AFDX avionics network[J] IEEE Transactions on Industrial Informatics,2009,5(1):38-49.