網絡流量監測與管理

一、        簡介

過去幾年來,因特網已經成爲越來越重要的需求,在臺大校園網絡的環境裏,已經普及到所有系所及實驗室都有接點可以連上因特網。不過面對日益複雜的網絡聯機及逐漸增加的網絡流量,系統管理者必須花費更多時間精力來了解這些網絡設備的運作狀況,以維持一個系統的正常運作。

一般來說,網絡管理者所需要了解的是各個網段的使用情形,頻寬的使用率,網絡問題的瓶頸發生於何處。當網絡問題發生時,必須能夠很快地區隔出問題的發生原因,可能是線路問題、網絡設備問題、或者是路由器的設定問題。一個有經驗的管理者要回答這些問題並不難,但是如果所管理的網絡範圍過於龐大,那麼就可能需要一個有效率的網管系統了。透過網管系統可以協助網絡架構管理,並顯示網絡上目前發生的各種流量與運作情形。若發生問題時,也能夠減少許多處理時間。

以牽涉的節點數量以及能夠在節點上執行的協議組合而言,網絡都是一個複雜的系統。即使將範圍侷限在單一行政範圍內,例如校園,還是可能包含數十個路由器及數百、甚至數千臺主機。如果考慮在任一節點上保存及處理的所有狀態,例如地址轉譯表、路由表、TCP連接狀態等,那麼很容易就陷入充滿各種數據的茫茫大海中。

我們很容易瞭解爲何需要知道哪些放置在不同節點上各協議的狀態。舉例來說,我們可能想要監控被中斷的IP數據段重組數量,以便判斷資源回收部分重組數據段的逾時機制是否需要調整。再舉另一個例子,我們可能想要觀測各節點上的負載(亦即,傳送或接收的封包數),以便判斷是否需要爲網絡增加新的路由器或連結。除此之外,我們也必須注意硬件發生故障及軟件失誤的徵兆。

 

二、網絡基礎

(一)OSI參考模型

¨           實體層(Physical Layer):實體層定義的是位傳輸接口所具備的電子特性、機械特性、功能、以及運作程序。本層包括傳輸媒介(如同軸纜線、光纖、銅纜線、無線電波等等)、實體連接方式、模塊化與框架技術(IEEE802.3    FDDI等)。所以只要提及串行埠、10BASET纜線、網絡適配卡等,指的就是實體層。

¨           數據鏈路層(Data Link Layer):確保底層的數據傳送。服務包含錯誤偵測與更正、數據加框(如LLCHDLCSDLCIEEE802.2)、MAC同步化。

¨           網絡層(Network Layer):網絡層提供尋址、選擇路徑、傳送封包至目的網絡,如IPPPPIPX等。

¨           傳輸層:提供錯誤偵測與更正,也能以軟件進行網絡流量控制。例如TCP/UDPSNMP使用UDP協議。

¨           會談層(Session Layer):應用程序與網絡之間會談的建立與管理。

¨           表達層(Presentation Layer):表達層實作數據與通訊協議的轉換及協商,如ASN.1BER數據編碼。

¨           應用層(Application Layer):由軟件應用程序實作,應用程序與網絡本身的唯一接觸接口。如FTPTelnetSNMP等。

 

應用層

Management, Agent APIs

SNMP

表達層

ASN.1, BER

會談層

RCP, NetBIOS

傳輸層

TCP, UDP

網絡層

IP, IPX

數據鏈路層

Ethernet, ARCNet

Token Ring

實體層

 

(二)SNMP介紹

1. SNMP概述

「簡單網絡管理協議」(SimpleNetwork Management Protocol, SNMP)顧名思義就是專爲網絡管理者所設計的網絡管理協議,主要目的是用來管理網絡上各式各樣的設備。

由於SNMP是在TCP/IP網絡環境中發展出來的管理通訊協議,因此SNMP在應用上必須使用TCP/IP,被管理的機器必須設定IP地址,同時必須確保線路的連接與正確的路由。

網絡上的節點分散各地,因此比較實際的作法便是利用網絡來管理網絡。這表示我們需要一種能夠讓管理者對不同網絡節點進行讀取並可能寫入各種狀態信息的協議。SNMP實際上是一個特殊的「要求/響應」協議,可支持兩種要求訊息:getput。前者是用來從某些節點取出狀態信息,而後者則是用來在某些節點上儲存一份新的狀態信息。(SNMP也支持第三種動作,get-next,稍後再做解釋。)下列討論着重在get作業,因爲這是最常使用的。

SNMP的使用是很明確的:系統管理者與一個顯示網絡信息的客戶端程序進行互動。該客戶端程序通常具有一個圖形接口。每當管理者選擇某種想要取得的信息,客戶端程序便利用SNMP向負責的節點要求信息。(SNMPUDP上執行。)在接收到要求訊息之節點上執行的SNMP服務器將找到適當的訊息,並將其傳回給客戶端程序,然後顯示給使用者參考。

 

2. SNMP工作原理

SNMP定義了五種ManagerAgent之間的通訊形式。

¨           Get-request

¨           Get-next-request

¨           Set-request

¨           Get-response

¨           Trap

 

前三項都是屬於ManagerAgent發出的訊息,後兩項則屬於AgentManager發出的訊息。

 

每個Agent都是一個執行程序,負責將該網絡節點的設定數據以及運作現狀以數據結構的方式儲存,客戶端程序如何表示需要擷取何種信息,以及服務器如何得知應讀取內存中的那個變量以符合要求?答案是SNMP根據一個稱爲「管理信息基礎」(Management Information Base, MIB)的伴隨規格(companion specification)。當Agent收到網管主機所發出的SNMP get-requestget-next-requestset-request時,便以相對應的MIB數據透過SNMP get-response方式響應。MIB定義了可以從網絡節點取得的特定信息,MIB變量。下一節將描述一部份MIB變數。此外,有一種特殊的SNMP命令,稱爲trap,可允許Agent在特殊的情況下(如error, shutdown)主動發訊息給網管主機。

 

3. MIB介紹

SNMP定義一個可供管理數據的標準,它定義了網絡設備各種信息的儲存結構,這種結構是以樹狀結構爲基礎,每種變量分支都是唯一的,亦即MIB。目前所使用的版本是MIB-II,定義於RFC-1213。網絡設備的TCP/IP數據分爲八份,分別爲systeminterfaceaddr-translationipicmptcpudpegpMIB定義了各分支下的數據項,所包含的數據包括整數,字符串,與窗體內容。見下圖舉例說明:

 

4. 網管系統之簡介

網絡管理是一個相當大規模且重要的領域,一般來說,網管系統的任務就是要能達成掌握網絡主機狀況,加速故障排除,同時減少網管人員的負擔。一些網絡或計算機相關廠商也都有網管軟件的產品,目前應用最廣的就是HPOpenViewIBMNetView等,這類型的網管系統強調的是一個整合型的網絡管理解決方案,由一個網管的作業平臺與許多網管功能的模塊所組合而成。上述兩種作業平臺都有提供基本的網絡拓樸功能,MIB BrowserSNMPtoolData Collection,繪圖與網絡事件管理功能。從管理者的角度來看,這些功能十分好用,但是這些軟件都非常昂貴。除非網絡環境具有特殊性或者複雜度,否則便需要考慮一下軟件的價格與效能比值不值得。

在一般學校最常用的網管工具就是MRTG,嚴格來說只具有網管軟件中的一小部分功能。MRTGSNMPrequest的數據經過計算後繪成圖表,其中最常用的是網絡流量統計圖,其它如CPU LoadError Count等亦可支持。由於屬於免費軟件,因此使用羣相當廣泛。

最後要提出來說明的是RMON這項產品,當網段上有需要監測的問題時,除了使用Protocol Analyzer到現場去量測之外,最常用的就是把RMON掛到網段上當Agent,然後在Manager端(如HPOpenView NNM使用netmertix)來接收RMON所收集到的封包,藉由RMON可以使得管理者在遠程進行現場的量測動作,對於需要長時間量測以及不規則發生之網絡問題狀況特別有此必要。

 

5. MIB相關工具

¨           Snmpgetfetch an SNMP object

¨           Snmpwalkfetch all the SNMP objects from an agent

¨           Snmpwalkoidquery for a tree of information about a network entity

¨           Snmp_get_quick_printfetch the current value of the UCD library’s quick_print setting

¨           Snmp_set_quick_printset the value of quick_print within the UCD SNMP library

¨           Getifwindow-based MIB browser

 

三、NetFlow

(一)NetFlow簡介

NetFlowCisco之專屬協議,提供路由器中第三層之信息,可用來了解該路由器所傳輸之封包表頭內容,依據此內容,我們可以撰寫程序將所獲得之資料加以統計。一旦收集到路由器上的詳細流量數據後,便可爲網絡流量統計、網絡使用量計價、網絡規劃、網絡監測等應用提供計數根據。同時,NetFlow也提供針對QoSQuality of Service)的測量基準,能夠捕捉到每筆數據流的流量分類或優先性特性,而能夠進一步根據QoS進行分級收費。

目前Cisco網站上所提供可執行netflow之硬件數據:

 

NetFlow versions Supported Platforms

Cisco IOS Software Release Version

Supported NetFlow Export Version(s)

Supported Cisco Hardware Platforms

11.1CA, 11.1CC

v1, v5

Cisco 7200, 7500, RSP7000

11.2, 11.2P

v1

Cisco 7200, 7500, RSP7000

11.2P

v1

Route Switch Module (RSM), 11.2(10)P and later

11.3, 11.3T

v1

Cisco 7200, 7500, RSP7000

12.0

v1, v5

Cisco 2600, 3600, 4500, 4700, AS5800, 7200, uBR7200, 7500, RSP7000, RSM

12.0T

V1, v5

Cisco 1000*,1600*,1720**, 2500*,2600, 3600, 4500, 4700, AS5800, 7200, uBR7200, 7500, RSP7000, RSM, MGX8800 RPM

12.0(3)T and later

v8

Cisco 1000*,1600*,1720**, 2500*,2600, 3600, 4500, 4700, AS5800, 7200, uBR7200, 7500, RSP7000, RSM, MGX8800 RPM

N/A

v7

Catalyst 5000 NetFlow Feature Card (NFFC)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章