蔣方強



摘 要:隨著企業各類業務的持續增長,IT設施也在不斷完善和擴建。網絡線路、網絡設備和服務器等基礎設備不斷增加,整個網絡結構變得異常龐大且復雜,一定程度上增加了監控和管理的難度。許多關鍵的業務系統往往包括網絡線路、防火墻、前端應用服務器、負載均衡設備、中間件、數據庫和存儲等各類軟硬件設施,在傳統管理手段下,對于多段網絡、多層應用的架構,運維管理關聯度不夠高,導致在問題發生時,分析定位相對比較困難,排障速度相對較慢。部署面向應用的網絡流量分析系統,可以建立統一的網絡流量監測分析的底層平臺,自動梳理應用系統網絡訪問路徑,同時建立起面向應用的網絡服務視圖,實現全網流量監測,并且根據流量特征實現快速故障預警與故障診斷,更加科學有效地的管理IT設施,確保業務系統穩定運行。
關鍵詞:面向應用;流量特征;網絡流量分析;流量監測
中圖分類號:TP393.18文獻標識碼:A文章編號:1003-5168(2021)10-0009-04
Application Oriented Traffic Visualization System of the Whole Network
JIANG Fangqiang
(Shanghai Pudong Development Bank,Shanghai 200233)
Abstract: With the continuous growth of all kinds of business, it facilities are constantly improving and expanding. With the increase of network lines, network equipment and servers, the whole network structure becomes very large and complex, which increases the difficulty of monitoring and management to a certain extent. Many key business systems often include network lines, firewalls, front-end application servers, load balancing devices, middleware, databases, storage and other software and hardware facilities. Under the traditional management methods, for the multi segment network and multi-layer application architecture, the operation and maintenance management relevance is not high enough, which makes it relatively difficult to analyze and locate problems, the speed of obstacle removal is relatively slow. Deploying the application-oriented network traffic analysis system can establish a unified underlying platform for network traffic detection and analysis, automatically comb the network access path of the application system, establish an application-oriented network service view, realize the visualization of the whole network traffic, and realize rapid fault warning and fault diagnosis according to the traffic characteristics, more scientific and effective management of it facilities to ensure the stable operation of business systems.
Keywords: application oriented;flow characteristics;network traffic analysis;flow monitoring
隨著企業各類業務的持續增長,IT基礎設施設備數量不斷增加,網絡、系統、應用的關聯性日益密切,整個結構變得異常龐大且復雜。在傳統管理手段下,對于多段網絡、多層應用的架構,運維管理關聯度不夠高,導致在發生問題時分析定位相對比較困難,排障速度較慢。在運維工作中,應用、系統和網絡管理人員往往需要付出額外的工作量,依靠技術積累和經驗進行人工分析、定位、關聯以應對多層面聯動的異常及故障[1]。
運維人員越來越多地使用網絡流量分析工具,流量數據的捕獲與分析,緩解了一部分運維壓力。隨著企業運維管理精細化程度不斷提升,對網絡流量分析系統運用的逐步深入化,對運維水平的要求不斷提高,有必要對網絡流量數據的高效分析進行進一步研究和實踐[2]。
1 網絡流量數據的分析與探索
在對各類應用系統的異常數據流量進行分析的過程中,發現在應用系統出現異常時,數據包整體的特征會發生明顯變化。
1.1 流量特征
目前,行業主流的網絡通信主要是基于TCP(Transmission Control Protocol,傳輸控制協議)/IP(Internet Protocol,網際互連協議)協議[3],與人體血液中的各類微觀指標類似,網絡流量中也蘊含了豐富的流量信息。通過研究發現,流量中TCP的syn數據包數量、fin數據包數量、rst數據包數量及流量中的連接數、響應時間等各種指標的波動,都反映著應用系統運行的變化。例如,當應用系統的性能遇到瓶頸時,會主動發送rst數據包進行終止會話,此時,網絡流量數據包特征中,就會出現rst數據包、零窗口數據包數量突然增大的情況,也可能會出現數據包的響應時間突然增大的情況。又如,某些應用系統如果因某種原因沒有正常關閉會話,會導致特征數據中syn數據包、fin數據包大量減少。此外,流量中的各類指標與業務的訪問量也具有正向或反向的關系。
1.2 面向應用
傳統的以設備為中心的網絡性能管理工作中,關注的重點在于設備、設施的運行狀態,而面對復雜的應用環境,該視角則過于粗放,往往不能快速發現可用性和性能問題,對于具體的應用,沒有信息能直接表明網絡服務的運行狀態。全網流量監測的結構初步確立,企業可以快速有效地從網絡視角來確認應用系統的運行情況,理順網絡服務的訪問關系和數據路徑,使網絡服務與具體應用直接對應,可以不依賴于專業人員對網絡流量進行標準化分析。
1.3 全網可視
能否在整個網絡中進行網絡流量分析逐步成為思考的方向。如果在所有網絡設備范圍內都部署流量收集探針,整體成本過高,然而部署少量區域,也無法滿足企業全網流量分析的需求。通過思考與總結,在網絡匯聚層及網絡邊界處部署流量收集探針,通過切片的方式進一步降低龐大的網絡流量數據,實現涵蓋整個網絡的全網流量。
2 系統的設計和實現
建立統一的網絡流量監測和分析的底層平臺,合理規劃和利用網絡流量資源,將網絡流量分析覆蓋至整個網絡,實現全網流量監測[4]。同時,通過自動化梳理應用系統網絡訪問路徑,建立面向應用的網絡服務視圖,形成基于網絡流量特征分析方法的實踐理論,快速進行故障預警與故障診斷,便于維護網絡的穩定性。
2.1 部署統一的網絡流量數據監測和分析的底層轉發平臺
引入底層流量監測數據接入設備,建立統一的網絡流量收集、監測和分析的底層平臺,對數據進行過濾、切片和復制等操作,可以進一步滿足性能分析、入侵檢測、數據庫監測、事件和日志分析、應用監測等對網絡流量的需求,提高基礎資源的利用率,提升數據使用安全性,降低流量分析系統探針部署數量及總體部署成本,增加整個系統的靈活性和魯棒性。整體平臺架構如圖1所示。
2.2 合理規劃實現全網流量監控
實現全網流量監測,全網的流量采集是一個十分重要的技術點,需要兼顧成本部署、流量完整性等,越是靠近終端節點(服務器、客戶端),采集到的流量越是完整。但是,直接在接入層采集數據需要部署的系統規模太大,需要進行大量的配置、布線工作,同時需要采購大量分流設備對流量進行匯聚,提高了成本,因此不是一種最優的方案。
如果在核心路由網絡中部署,核心層肩負大流量的高速轉發任務,在這個位置部署分流設備,對其規格要求較高,同樣會帶來較高的成本。同時,該位置遠離服務端和客戶端,許多問題的表征已經被丟失,不利于發現和分析問題。
在各網絡區域的匯聚層及網絡邊界部署探針,能夠合理規劃和利用網絡流量資源,降低總體部署成本,增加整個系統的靈活性,分析出鏈路中流量的大小、流量構成、各通信對的流量使用情況等,提升突發網絡流量分析能力。
因此,考慮網絡的三層架構現狀(如圖2所示),在各網絡區域的匯聚層及網絡邊界部署探針進行數據采集是相對平衡、高效的方案,兼顧了靠近末梢采集流量和盡量控制采集點數量,實現了對重要業務網絡的監控覆蓋。
2.3 建立面向應用的網絡服務視圖,監測網絡流量特征
網絡中蘊含應用系統的流量特征信息是最真實和最客觀的體現,可分析網絡中流量的大小、流量構成、各通信對的流量使用情況及整體網絡響應時間。面向應用的全網流量監測系統,依托網絡流量數據自動化梳理應用系統網絡訪問路徑,依此建立面向應用的網絡服務視圖。其技術特點是通過記錄全部的網絡流量,自動發現其中通過網絡進行通信的節點之間的互訪連接信息,并根據TCP特征,自動判定請求方和服務方。通過解析應用系統的網絡流量,自動關聯流量中的網絡報文頭部關鍵信息,例如,源目的IP地址、源目的端口、協議類型、TCP關鍵標識等,能準確、直觀地看到最真實的網絡訪問關系。
同時,全網流量監測系統將網絡中各個設備通過面向應用的邏輯連接在一起,實現面向應用的網絡監控。如圖3所示,路徑上的每個組件都會展示當前網絡流量的負載量、響應性能與告警數量。
2.4 基于歷史數據的機器學習,實現告警的模擬及流量的自動識別
面向應用的全網監測系統引入機器學習、回歸算法等新技術[5],用于實現自動化的流量識別與分類功能,便于網絡運維團隊快速發現未知流量,并基于業務流量快速分析得出結果,同時根據得出的結果及時更新網絡運維視圖、定義精準告警,變被動預防為主動預警。
系統可根據歷史數據自動完成流量的會話特征、IP、端口的聚類,以幫助識別網絡中未曾定義的業務應用流量,極大地提高了流量識別的準確性,并為準確地監控視圖與異常告警奠定基礎。
2.5 形成基于流量特征監測的實踐理論
網絡流量的采集和分析系統使網絡具備了實時獲取生產網和重要業務系統的網絡層指標的能力,從海量的指標中提煉出TCP指標運行的模式和特征,能夠形成網絡流量特征監測的實踐理論,進一步使應用系統產生的網絡流量得到有效監控,進而從網絡流量層面感知應用系統是否正常運行,快速實現對應用的故障預警與故障診斷。
2.5.1 基于網絡流量特征的監測分析。基于網絡流量特征的監測分析,其數據來源是網絡流量數據包的包頭部分。通過對數據包的解碼,提取數據包中的關鍵特征,從而對網絡流量、流量構成和通信情況進行快速分析。通過解碼網絡流量數據包的包頭部分,可獲取數據包的大小、源目IP地址、源目端口。對于TCP協議,可以進一步獲取其網絡通信的詳細信息。
2.5.2 總結形成網絡流量中TCP協議特征。網絡中TCP協議的特征與人體血液中的各類指標有相似之處。不同的TCP特征數據包蘊含著豐富的信息,并且會長期處于一個穩定范圍,可對不同的TCP特征數據包及數據包之間的信息變化進行特征總結。
TCP中的syn包,除了遭受攻擊的場景外,正常業務場景下,syn包的數量通常可以和應用系統訪問量直接掛鉤。如果短時間內產生大量syn包,則會對應用系統產生顯著壓力,甚至會耗盡系統資源。
TCP中的FIN端發出fin包后,連接會進入FIN_WAIT_1的等待狀態,此時系統分配給該連接的資源尚未完全釋放,需要及時獲得對方的ACK來進入FIN_WAIT_2狀態,或直接收到FIN+ACK,進入TIME_WAIT狀態,繼而關閉連接。若因為某些原因對方未及時響應,同時還有新的連接請求進來,那么可能會發生資源耗盡的情況。
TCP中的rst,代表出現了比較嚴重的問題導致必須立刻關閉連接,但現在有些應用會利用rst的特性來達到快速關閉連接的目的,俗稱暴力斷鏈。長連接出現rst則往往是表示發生故障。
TCP中的Zero Window,通常表示接收緩沖區內的數據沒有被及時取走,這種情況是上層應用遇到性能問題或發生異常,但未關閉連接。偶發的Zero Window是隨著業務高峰到來而增加的,可作出風險預警。
服務響應時間應根據應用的總體規則和要求而定。如果服務響應時間突增或突降,應用系統很有可能發生異常,需要復合其他指標如syn數量、并發連接數等進行綜合判定。
2.5.3 網絡流量特征的分析方法總體框架。本文從流量數據采集、解碼分析、特征分析到實現方法四個步驟出發,將網絡流量特征分析方法自下而上地分為四層,如圖4所示。
第一層為物理層,負責網絡流量的分布式采集。第二層應用層,通過引入適當的軟件、硬件產品,實現對網絡流量的解碼與分析。第三層為特征層,通過對TCP數據包的特征進行分析,對各類指標進行解讀,并設定合理區間。第四層為方法層,也是論證層,針對不同監控目的,采取不同的監控策略,例如,運維分析、定位瓶頸、及時預警、事件驅動。同時,用特征基線進行輔助,通過不斷循環進行迭代驗證。利用基線特征指引方法的結果來進行驗證,形成良性循環。
2.6 靈活的動態流量數據特征基線
流量特征的基線模型,可以對日常的流量數據特征指標進行動態評估,根據過去的經驗數據,對未來的變動進行預警。
面向應用的全網流量監測系統提供的基線計算是基于采集到的網絡樣本數據(集特定的網絡流量特征指標)進行的統計學分析,通過分組計算、比較指定變量(某網絡指標)的描述性統計量,能夠精確有效地得出結果。
2.7 具備標準的API(Application Programming Interface,應用程序接口)接口并支持SDN
通過全網流量監測系統提供的標準REST API接口,與其他運維管理系統對接,實時提供指標數據,并可向SDN(Software Defined Network,軟件定義網絡)和云遷移,最終實現無人干預的監控創建和修改。同時,提供實時性數據給SDN或云控制器,進一步提高SDN和云控制器的容錯率和健壯性,避免性能問題。API可以實現自動構建視圖,通過API調用,系統可以自動在后臺創建配置視圖,實現軟件定義的性能監控。
3 結語
本文以集約化的方式建立面向應用的網絡流量監測系統,為企業重要應用系統展現了一張完整的網絡訪問服務路徑視圖,網絡流量特征指標客觀反映網絡、系統、應用、業務系統運行狀態,精確有效地對應用系統的異常進行監控、預警、故障定位,也為不同領域的運維人員提供了溝通的橋梁。基于流量特征監測的實踐理論,明確了網絡流量分析和監測的基礎,確立了網絡流量特征數據監測的意義,從網絡的視角提供了一種高效、簡潔、快速監測應用系統運行情況的方法。通過對網絡指標的監測,精確有效地對應用系統的異常進行預警,為提升運維的整體水平做出了重要貢獻,是企業IT運維工作的重要平臺。
參考文獻:
[1]陶廣.網絡安全數據可視化研究綜述[J].信息與電腦(理論版),2015(8):75-76.
[2]羅齊.基于分布式架構的網絡流量分析系統設計與實現[D].鄭州:鄭州大學,2019:33-35.
[3]曹瑩,常東,王雪.計算機網絡管理技術及發展趨勢探析[M].北京:清華大學出版社,2019:25.
[4]范碩.分布式環境下的實時網絡流量檢測與分析[D].成都:成都信息工程大學,2019:56.
[5]方洋,李旗,張瑞霞.基于機器學習的網絡異常流量分析系統[J].電腦知識與技術,2020(4):30-31.