李 宏,左延智,張宗鵬,吳訓吉
(1.中國電子科技集團公司第五十四研究所,石家莊 050002;2.北京跟蹤與通信技術研究所,北京 100094;3.北京新宇航星科技有限公司,北京 100080)
航天業務網建設完成以后,長期穩定和可靠地運行便成為了網絡建設及使用維護人員共同關注的問題。為了能夠給各種類型的試驗任務提供實時、可靠的服務,參試人員必須及時了解網絡及設備的運行狀況,特別是在網絡性能降低及發生故障時,如何快速準確定位,及時排除故障,成為網絡運行中一個非常關鍵的問題。因此需要部署網絡性能管理運維系統實現對各項網絡性能指標的實時在線監測,并對網絡承載的各類業務進行實時分析和透視,一旦出現網絡性能下降或信息傳輸異常時,幫助網管人員進行故障定位。
網絡維護人員最關注兩個方面:維護日常網絡的正常運轉;遇到問題查找故障解決問題。他們經常會遇到哪些問題呢?例如:

表1 日常維護工作中可能遇到的問題列表
從問題產生的角度看,解決問題是從宏觀到微觀的過程,自上而下層層分析解決問題。首先是網絡的使用者——用戶反饋遇到諸如卡頓、反應遲頓,甚至圖片或視頻出現馬賽克;第二步維護人員需要從復雜的網絡連接中孤立出問題,識別哪些因素造成這樣的影響;第三步是深入分析,找到問題出現前后時刻的現場,確定問題根源,從而制定解決方案,避免問題再次出現。
從問題挖掘的角度看,解決問題應采用KFP 模式,自下而上的三層數據架構。最底層為探針,抓取網絡中的數據包,解析報頭和應用層,計算得到各項性能指標;第二步將數據包映射為測試流,計算測試流的指標,然后再深度分析得到應用層的有關參數;第三步將各個層次的性能指標以圖表形式展現給網絡維護人員,對于超過閾值的指標或丟包等故障予以告警。提醒維護人員關注告警信息,提前發現問題解決問題。

圖1 解決問題的思路
綜上所述,問題發生是一個被動的過程,而問題挖掘是一個主動的過程,因此解決問題的根本思路應當采用主動測試模式和被動測試模式相結合的方式。在任務執行前,需要發送模擬數據流對整個網絡進行性能測試,提前了解網絡各個鏈路和通道的時延和丟包狀況;在任務執行中,需要實時監測網絡性能指標,獲得網絡整體態勢,應當采用被動測試模式;任務完成后,對保存的數據進行事后分析和統計,分析和追溯問題的起源。
網絡運維管理系統的基礎是對網絡的測量,捕獲網絡數據包、統計和計算得到各項指標值,從而得到網絡的實時態勢。本文結合航天業務網的實際情況,從指標體系中選取了最能反映網絡自身運行狀況和特征的指標,并在此基礎上進行應用監控、態勢感知、故障定位、容量規劃等功能,實現智能化管理。在分析了網絡各協議層的基礎上對性能指標進行了歸類,按照功能分為三類:
2.1.1 反映網絡性能的指標
(1)時延:數據離開源點的時間T1與到達目的點的時間T2的時間間隔T2-T1。實際測量時采用實時時延(抓包時間-發送時間)或區間時延(兩個探針抓包時間之差)。
(2)時延抖動:數據流中不同數據包時延的變化量。實際測量時采用單位時間內最小時延值與最大時延值表示抖動值。
(3)丟包:某一時間段內被測網絡傳輸及處理中丟失或出錯的信息包數。
(4)丟包率:一段時間內丟失或出錯的數據包數量與傳輸的數據包總數的比值。
(5)分片丟包:分片傳輸的情況下,丟失一個或若干個分片。
(6)錯序:未按照原始的包順序轉發記錄為錯序。大多數情況下接收方能夠修復錯序,但對于實時通信而言,錯序破壞了數據的正常順序,需要重點監測。
2.1.2 反映網絡流量的指標
(1)吞吐量:單位時間內在網絡中給定點成功傳送的IP 數據包數量,也就是分組吞吐量,也可以用字節或比特吞吐量來衡量。
(2)帶寬:單位時間內物理通路理論上所能傳送的最大比特數。相關的參數有鏈路帶寬、瓶頸帶寬和可用帶寬等。
(3)業務流量分布:單位時間內網絡中各主流業務流量大小及其占總流量的比例分布。(4)組播綜合指標:單位時間內組播的各項指標分布情況。(5)TCP 通信過程:監測TCP 通信過程的建立、斷開、握手等信號幀。
(6)TCP 重傳率:TCP 重傳的數據量與傳輸的數據量總數的比值。
2.1.3 反映業務質量的指標
關注網絡里的主要業務應用,例如:數字話音、數字視頻、Web 應用、網絡實時數字、數據庫訪問等業務的質量,可以通過業務的帶寬、丟包率和時延、請求-返回時延來衡量。
系統功能分為5層:網絡層、數據獲取存儲層、基礎功能層、核心功能層、操作管理層。

圖2 系統體系結構圖
2.2.1 網絡層功能
網絡層的功能包括:千兆網絡鏡像接口功能、萬兆網絡鏡像接口功能、B 碼校時信號接口功能。
(1)系統連接交換機或路由器的鏡像端口,同時采集主用網絡和備用網絡的數據包,或者其他通用網絡信號的數據包,支持千兆網絡和萬兆網絡。
(2)系統接收B 碼校時信號實現全網時間統一,支持直流DC 和交流AC。
2.2.2 數據獲取存儲層
數據獲取存儲層的功能包括:數據包捕獲、通信協議解析、數據包存儲三項功能。
(1)數據包捕獲:系統從網絡中捕獲所有的數據包,無遺漏抓包;為每一個數據包打上時間戳,并檢查CRC 校驗是否正確,統計錯誤數據包。用于日常網絡運行維護、任務準備及實施階段。
(2)通信協議解析:系統對每一個數據包的7層通信協議進行解析,得到IP 地址、端口等參數,然后進行分類歸并為測試流,計算各項性能指標值。
(3)數據包存儲:系統將數據包的特征值保存在本地磁盤中,也可以根據操作員的設置保存原始數據包內容。存儲的數據可供事后分析讀取和調用。
2.2.3 基礎功能層
基礎功能層的功能包括:網絡性能測試、網絡性能監測、事后數據分析、性能告警。
(1)網絡性能測試:采用主動測試模式,按照發送協議、發包間隔、發包數、發包時間等設置條件模擬發送業務數據包,對時延、時延抖動、丟包、流量等性能指標進行測試,用于任務前網絡聯試聯調階段。
(2)網絡性能監測:系統根據通信協議解析的結果,分時統計測試流的各項性能指標,對于超出正常范圍的指標進行告警,將監測結果上報到管理控制中心;在中心對上報結果進行匯總和挖掘,進行圖形化展示。用于日常網絡運行維護、任務準備及實施階段。
(3)事后數據分析:利用數據庫存儲的監測結果和存儲的數據包,在任務結束后對歷史數據流進行深度分析。
(4)性能告警:包括性能告警和系統告警兩類,當性能指標超出指定的范圍時,系統給出性能告警;當系統運行環境故障時,給出系統告警。例如:網線脫落、B 碼校時信號中斷等。
2.2.4 核心功能層
核心功能層的功能包括:網絡監控、應用監控、態勢感知、故障診斷定位及故障預防、容量規劃、服務水平管理。
(1)網絡監控:實時監測網絡質量,系統提供全面的可視化,監控網絡各個部分。從上到下解決問題,根據關鍵性能指標(KPIs)的分析,定位到相關的測試流(Flows),監控到網絡終端。最終深入到前后關聯的數據包(Packets),進行關聯分析,從而獲知問題發生的根源。
(2)應用監控:系統監控網絡中的重點應用。采用DPI 技術和DFI 技術,通過網絡協議類型、目的端口、特征字段等參數以及流量行為特征來定位不同的業務應用,對重點業務進行全面監控。
(3)態勢感知:系統根據任務的開始時刻T0,跟蹤任務進展過程中,重點設備的工作狀態、各項指標,從而形成任務期間整體測控設備的運行態勢。系統還可以從歷史數據中反演設備運行態勢,相互比對或與實時態勢比對,從而得到態勢變化曲線,為網絡管理人員和任務指揮員提供量化數據。
(4)故障診斷定位及故障預防:系統綜合時延、TTL 等指標推測網絡拓撲及通信路徑,當監測到網絡故障時,根據發生的時間、地點,反向推導定位故障位置。系統統計網絡的時延和流量形成指標基線,通過監測實時的流量、時延等指標與基線的偏差情況,預測網絡異常的發生,提醒網絡管理員關注重點區域,預防故障的發生。
(5)容量規劃:系統統計網絡的日常流量形成流量基線,通過監測網絡流量的變化趨勢,為管理人員提供因業務變化而帶來的流量變化報告,同時提供網絡關鍵節點的流量與基線的對比情況,為節點的擴容提供量化數據。
(6)服務水平管理:系統對需要重點保障的測試流、測試流組、通信支路等進行重點監測,通過流量、時延、丟包等特征參數的變化情況,評估網絡服務質量。結合歷史數據和實時數據的變化趨勢,為通信服務質量的改進提供量化依據。
捕獲數據包(簡稱“抓包”)是系統的基礎。如何保證無遺漏抓包是一個技術問題。常用的網卡抓包技術,受到操作系統的限制,只能在100~200Mbps 范圍內抓包,速率再高就來不及讀取數據,造成丟失數據包。必須研制專用的硬件抓包卡,在卡上設置緩沖區。由硬件檢測數據包,打上時間戳,傳輸到探針內存中。
無遺漏捕獲數據包、數據抽取、數據存儲等是由硬件采集、板上緩沖區、主機內存、多進程處理、高速磁盤緩存、硬盤raid等多項技術協同完成的。
DPI(Deep Packet Inspection,深度分組檢測)是對應用層內容(凈荷)進行深度分析的技術,根據凈荷特征識別其應用類型或內容。DPI 在分析5元組和測試流的基礎上,對應用層進行識別,從而映射為各種特定的業務應用和服務,針對不同的應用統計各自的性能指標實現應用監測。
DFI 技術(Deep Flow Inspection,深度流檢測)是通過分析會話連接流的包長、連接速率、傳輸字節數量、包與包之間的間隔等行為特征,建立流量特征模型,然后對實際應用進行模型比對從而鑒別應用類型。
DPI 技術適用于需要精細和準確識別、精細管理的環境,而DFI 技術適用于需要高效識別、粗放管理的環境。DFI 技術在管理維護上的工作量較少,同一類型的新應用與舊應用的流量特征不會出現大的變化,不需要頻繁升級流量行為模型。
態勢感知(Situational Awareness,SA)包括三個層次:感知(感覺)、理解和預測,網絡態勢感知需要在網絡環境中對能夠引起網絡態勢發生變化的要素進行獲取、理解、顯示以及最近發展趨勢的順延性預測,而最終的目的是要進行決策與行動。
網絡運維管理系統借鑒了態勢感知的方法和技術,在感知方面目前僅限于網絡抓包,對主機和服務的監測則采用性能監測、應用監測來反向推測;在理解層次上,采用了大量的網絡分析技術,監測了各層網絡性能指標,為網絡維護人員提供了大量指標數據;在預測層次,側重于數據可視化,包括三個方面:
(1)面向流向分析的可視化,顯示流量等指標的全網分布情況、顯示各種應用的占比情況,對指標異常、丟包錯序等給出告警;
(2)面向故障診斷的可視化:通過KFP 方法逐步深入定位故障解決問題;
(3)面向服務和安全分析的可視化:通過應用監控和服務水平管理提供可視化的分析結果。
網絡運維管理系統由兩部分組成:管理控制中心和探針。
探針通常部署在遠程交換機或路由器附近,捕獲鏡像數據包,解析處理數據包,得到監測結果上報管理控制中心。
管理控制中心匯總各臺探針上報的監測結果,進行二次統計,得到了整個網絡的性能分布態勢。在此基礎上,對數據進行深度分析和挖掘,從而完成各項核心功能。
根據航天業務網實際和用戶行政關系,從邏輯上和部署上,可以將管理控制中心分為三級。
一級管理控制中心只有一套,管理整個網絡。一級中心從各個二級中心獲取數據,匯總得到整個網絡的運行態勢。一級管理控制中心不配置探針。
二級管理控制中心是最常見的,通常每個功能中心(如基地或省級)都可以部署二級管理控制中心,負責本區域的網絡性能監測,匯總本區域各臺探針上報的監測結果得到本區域的性能分布態勢。系統默認為二級管理控制中心。
三級管理控制中心也稱為站級管理中心,或者“站級分中心”,是針對部分業務較多單位(如測站或重點市)的實際需要而研發的,在站級分中心可以查看本測站管理的各類設備運行情況,不必通過二級管理控制中心查詢。
每臺探針都支持“多中心”,接受多個管理控制中心的調度和管理,監測結果同時上報給多個中心。每臺探針都有一個所屬的二級管理控制中心,至始至終接受該中心的管理和控制。同時,它還可以接受其他的二級中心或三級中心的管理,執行這些中心的任務。探針的監測結果都會復制多份,同時上報給各個中心。

圖3 系統部署示意圖
網絡運維管理系統采用了多層次的功能設計,基于KFP 模式協助網絡維護人員定位故障解決問題。該系統還提供了北向接口,采用標準的網絡數據通信標準向其他系統提供網絡監測結果,實現了與網管系統等第三方系統的協同工作。該系統已經在航天業務網中實現了批量部署,參加了多次航天任務,協助用戶解決了很多網絡性能問題。
后續系統將逐步完善各項功能,以模塊方式靈活組合,向智能化、綜合化和自動化發展,加強數據采集和數據挖掘能力,滿足各級網絡維護人員的需要,在航天業務網的運維中發揮更大作用。