【關(guān)鍵詞】 IP 網(wǎng)絡(luò)流量
摘要 本文對(duì)網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)技術(shù)進(jìn)行了詳細(xì)的介紹,具體講述了一種網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)工具NetFlow技術(shù)。根據(jù)這些理論,作者設(shè)計(jì)了一個(gè)基于NetFlow技術(shù)的IP網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng)。本文對(duì)該系統(tǒng)的設(shè)計(jì)框圖及詳細(xì)的模塊功能做了分析,并給出了部分實(shí)際網(wǎng)絡(luò)中監(jiān)測(cè)得到的數(shù)據(jù)。
隨著IP網(wǎng)的普及和壯大,IP業(yè)務(wù)得到了迅速的發(fā)展。然而,由于IP協(xié)議固有的無連接特性和“盡力而為”的服務(wù)原則,使得當(dāng)前基于IP的互聯(lián)網(wǎng)無法向用戶提供有效的服務(wù)質(zhì)量(QoS),也不能實(shí)現(xiàn)網(wǎng)絡(luò)資源的有效監(jiān)控和管理。所以,IP業(yè)務(wù)就非常需要對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行監(jiān)測(cè),得到網(wǎng)絡(luò)性能和服務(wù)質(zhì)量參數(shù),從而合理規(guī)劃網(wǎng)絡(luò),為IP語音服務(wù)提供服務(wù)質(zhì)量保障。這樣,對(duì)IP網(wǎng)絡(luò)性能的監(jiān)控就成了管理IP網(wǎng)絡(luò)的重要內(nèi)容。
目前,存在的網(wǎng)絡(luò)監(jiān)測(cè)工具主要有:MRTG、SnifferPortable、ROMIIProbe、NetDetector和NetFlow等。其中,NetFlow成本最低,實(shí)施最方便,而且不受速率的限制,是IP網(wǎng)絡(luò)監(jiān)測(cè)的發(fā)展方向。
一、網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)技術(shù)
網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)是網(wǎng)絡(luò)管理和系統(tǒng)管理的一個(gè)重要組成部分,網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)為網(wǎng)絡(luò)的運(yùn)行和維護(hù)提供了重要信息。這些數(shù)據(jù)對(duì)網(wǎng)絡(luò)的資源分布、容量規(guī)劃、服務(wù)質(zhì)量分析、錯(cuò)誤監(jiān)測(cè)與隔離、安全管理都十分重要。網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)包括兩部分內(nèi)容:網(wǎng)絡(luò)流量的采集和網(wǎng)絡(luò)數(shù)據(jù)的分析。一般的工具均同時(shí)具備這兩個(gè)功能。
1.網(wǎng)絡(luò)流量的分類
網(wǎng)絡(luò)流量按照其包含信息內(nèi)容的不同可以分為以下四類:
(1)網(wǎng)絡(luò)節(jié)點(diǎn)端口流量指的是網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備端口流入和流出的數(shù)據(jù)包的信息統(tǒng)計(jì)。包括數(shù)據(jù)包的個(gè)數(shù)、字節(jié)數(shù)、包大小分布、丟包數(shù)等多種統(tǒng)計(jì)信息。
(2)端到端的IP流量 指的是在網(wǎng)絡(luò)層從一個(gè)源到一個(gè)目的IP包的統(tǒng)計(jì)信息。相對(duì)于網(wǎng)絡(luò)節(jié)點(diǎn)端口流量而言,端到端的IP流量包含了更為豐富的信息,通過對(duì)其分析,可以了解到網(wǎng)絡(luò)中的用戶都訪問了哪些目的網(wǎng)絡(luò),是網(wǎng)絡(luò)分析、規(guī)劃、設(shè)計(jì)和優(yōu)化的重要依據(jù)。
(3)業(yè)務(wù)層流量它除了包含端到端IP流量的信息之外,還包含了第四層(TCP層)的端口信息。顯而易見,它包含了應(yīng)用服務(wù)的種類信息,利用這些信息可以做更詳細(xì)的分析。
(4)完整的用戶業(yè)務(wù)數(shù)據(jù)它對(duì)于安全、性能等方面的分析非常有效。例如,捕捉黑客的來訪數(shù)據(jù)包,可以制止某些犯罪行為,搜集重要的證據(jù)。
2.NETFLOW交換技術(shù)
NetFlow技術(shù)是基于網(wǎng)流而發(fā)展起來的。所謂網(wǎng)流,就是在高速數(shù)據(jù)交換過程中,一定時(shí)間段內(nèi),給定的源端(Source end Point)和目的端(Destination end Point)所發(fā)生的具有相同屬性的連續(xù)的數(shù)據(jù)包的集合。網(wǎng)流端點(diǎn)可以由IP地址來定義,也可以由傳輸層的應(yīng)用端口號(hào)來定義,同樣,也可以利用IP協(xié)議、業(yè)務(wù)類型(ToS)及輸入接口等來標(biāo)識(shí)網(wǎng)流。也就是說,只有在一定時(shí)間段內(nèi)發(fā)生,且具有相同屬性的連續(xù)的數(shù)據(jù)包才形成一條網(wǎng)流。例如,1min內(nèi),從地址為192.168.1.1的主機(jī)通過FTP向地址為192.168.2.1的主機(jī)上傳輸了一個(gè)文件,則可以把這樣一個(gè)過程中所發(fā)生的包定義為從192.168.1.1到192.168.2.1的一個(gè)網(wǎng)流。正常情況下,路由器進(jìn)行包轉(zhuǎn)發(fā)時(shí),對(duì)流入的每個(gè)包(Packet)都進(jìn)行路由、安全、服務(wù)的處理。而NetFlow交換技術(shù)僅對(duì)一個(gè)網(wǎng)流的第1個(gè)包進(jìn)行處理。第1個(gè)包的信息記錄在緩沖器中,其他包則由一個(gè)單獨(dú)的高效的進(jìn)程進(jìn)行轉(zhuǎn)發(fā),同時(shí)進(jìn)行相應(yīng)數(shù)據(jù)統(tǒng)計(jì)。
NetFlow數(shù)據(jù)格式有多個(gè)版本。目前的最新版本是版本9。但是常用的是版本1和版本5。NetFlow數(shù)據(jù)報(bào)采用UDP協(xié)議發(fā)送,因此,有可能在傳輸過程中丟失,這樣就在版本5中增加了信息流的順序號(hào)。通過檢查信息流的順序號(hào)可以了解NetFlow數(shù)據(jù)報(bào)是否丟失。另外,版本5中還增加了邊界網(wǎng)關(guān)協(xié)議(BGP-Border Gateway Protocol)的自治系統(tǒng)(AS)信息。一個(gè)NetFlow數(shù)據(jù)報(bào)由一個(gè)報(bào)頭和1-30個(gè)流記錄組成。NetFlow數(shù)據(jù)報(bào)的報(bào)頭和流記錄的格式分別列于表1和表2。
表1 NetFlow版本5報(bào)頭格式
表2 NetFlow版本5流記錄格式
路由器送出的數(shù)據(jù),通過2種方式進(jìn)行采集。
(1)利用數(shù)據(jù)采集軟件(如Cisco NetFlow Collector)進(jìn)行采集并存儲(chǔ)到服務(wù)器上,以便利用各種數(shù)據(jù)分析工具進(jìn)一步處理。
以NFC2.0采集的網(wǎng)絡(luò)流量數(shù)據(jù)為例,61.181.85.122|222.32.104.193|4837|0|23|3|1216|1128|17|2|261|1。數(shù)據(jù)中各字段的含義為:源地址|目的地址|源自治域|目的自治域|流入接口號(hào)|流出接口號(hào)|源端口|目的端口|協(xié)議類型|包數(shù)量|字節(jié)數(shù)|流數(shù)量。由此,可以清楚了解這一網(wǎng)流的具體信息:源地址為61.181.85.122,目的地址為222.32.104.193,源地址屬于AS4837,目的地址屬于我方網(wǎng)絡(luò);網(wǎng)流從我方網(wǎng)關(guān)路由器的23號(hào)端口流入,3號(hào)端口流出,路由器的端口號(hào)可以通過讀取設(shè)備MIB庫(kù)獲取,設(shè)備的物理端口與MIB庫(kù)中的端口對(duì)應(yīng);網(wǎng)流的源端口為1216,目的端口為1128,屬于TCP協(xié)議。分析端口類型,可以判斷網(wǎng)流的業(yè)務(wù)類型,比如常用的WWW服務(wù),采用的端口為80或8080端口等,進(jìn)而判斷是否屬于正常流量等等。這樣,可以了解網(wǎng)流的具體信息,分析多條數(shù)據(jù),對(duì)整個(gè)出口乃至整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)情況進(jìn)行準(zhǔn)確分析。
(2)直接在路由器上查看,常用于異常流量的采集及處理。表3列出從CiscoGSR路由器采集數(shù)據(jù)的實(shí)例。
表3 CiscoGSR路由器數(shù)據(jù)
分析這些數(shù)據(jù),可以得知當(dāng)前設(shè)備的數(shù)轉(zhuǎn)發(fā)情況:數(shù)據(jù)流從Gi1/2端口流入,Gi4/0/1及Gi3/0/0流出,屬于UDP協(xié)議;源地址、目的地址與前一種采集方式一致;源端口、目的端口的統(tǒng)計(jì)與前一種采集方式不同,采用16進(jìn)制。
這種采集方式,無法直接采集源、目的自治域,不適于進(jìn)行長(zhǎng)時(shí)間的網(wǎng)間統(tǒng)計(jì)分析,但適于實(shí)時(shí)流量的分析,尤其適于處理異常流量。
二、基于NetFlow的監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)
1.系統(tǒng)的整體框架
我們做了一套基于NetFlow的IP網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)系統(tǒng)。圖1示出該系統(tǒng)的整體結(jié)構(gòu)圖。系統(tǒng)通過基于NetFlow的Cisco路由器采集到數(shù)據(jù),暫時(shí)存放在采集器中。其處理方法為:在超時(shí)時(shí)間內(nèi),將流中的數(shù)據(jù)報(bào)文按照一定的聚類規(guī)則匯聚形成原始數(shù)據(jù)置于緩存中,超時(shí)時(shí)間到達(dá)或者緩存充滿時(shí),這些數(shù)據(jù)按一定的格式集中發(fā)送到數(shù)據(jù)庫(kù)服務(wù)器。然后,就是把數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)根據(jù)需要發(fā)送給統(tǒng)計(jì)分析模塊,由統(tǒng)計(jì)分析模塊對(duì)其進(jìn)行統(tǒng)計(jì)分析,實(shí)現(xiàn)各種需要的功能。下面具體分析每個(gè)功能模塊的功能并給出部分實(shí)現(xiàn)結(jié)果。
圖1 系統(tǒng)整體結(jié)構(gòu)圖
2.數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊是整個(gè)系統(tǒng)的基礎(chǔ),它主要實(shí)現(xiàn)從路由器上采集數(shù)據(jù)的功能。
具備NetFlow功能的路由器對(duì)經(jīng)過的每一個(gè)IP數(shù)據(jù)包進(jìn)行解包,生成并維護(hù)相關(guān)數(shù)據(jù)庫(kù)(內(nèi)容包括經(jīng)過該設(shè)備的每一條動(dòng)態(tài)數(shù)據(jù)流),定期以UDP數(shù)據(jù)包的形式發(fā)送給數(shù)據(jù)庫(kù)服務(wù)器。
數(shù)據(jù)報(bào)文都是由一個(gè)頭標(biāo)信息、一個(gè)或多個(gè)信息流記錄構(gòu)成。通常情況下,數(shù)據(jù)庫(kù)服務(wù)器會(huì)分配一個(gè)足夠大的緩沖區(qū),以便數(shù)據(jù)報(bào)文到來時(shí),可以容納下最大的數(shù)據(jù)。此外,它使用頭標(biāo)信息中的版本信息來決定如何理解這些數(shù)據(jù)報(bào)文。頭標(biāo)信息中的第二個(gè)字段是數(shù)據(jù)報(bào)文中記錄的個(gè)數(shù),可以用它來對(duì)記錄進(jìn)行索引檢索。
通過NetFlow可以采集到的流量信息主要包括:源IP地址、目標(biāo)IP地址、源TCP/UDP端口、目標(biāo)TCP/UDP端口、流量字節(jié)統(tǒng)計(jì)、流量開始時(shí)間、流量結(jié)束時(shí)間、源自治域(AS)和目標(biāo)自治域等。表4和表5列出實(shí)際網(wǎng)絡(luò)中某一路由器上采集到的數(shù)據(jù)。數(shù)據(jù)格式參照表1和表2。
表4
表5
由表中可以看出,采集器能夠采集到詳細(xì)的流量信息,為統(tǒng)計(jì)分析模塊提供足夠的數(shù)據(jù),以滿足不同的功能需要。
3.數(shù)據(jù)集中入庫(kù)模塊
數(shù)據(jù)集中入庫(kù)模塊首先將各NFC(NetFlow Collector)采集到的數(shù)據(jù)集中并統(tǒng)計(jì)保存在指定的數(shù)據(jù)庫(kù)中。該模塊要保證數(shù)據(jù)存儲(chǔ)和讀取的效率。在數(shù)據(jù)入庫(kù)時(shí),首先應(yīng)該估計(jì)數(shù)據(jù)的規(guī)模,選擇適當(dāng)?shù)腄BMS,考慮數(shù)據(jù)量比較大和實(shí)現(xiàn)效率兩個(gè)方面的情況,該系統(tǒng)采用Oracle9i。
另外,針對(duì)不同的需要制定不同的數(shù)據(jù)庫(kù)結(jié)構(gòu)。比如可以根據(jù)流量表TrafficTable、協(xié)議統(tǒng)計(jì)表ProtocolTable等。
4.統(tǒng)計(jì)分析模塊
統(tǒng)計(jì)分析模塊即功能實(shí)現(xiàn)模塊,主要用來讀取數(shù)據(jù)集中入庫(kù)模塊中產(chǎn)生的數(shù)據(jù),并進(jìn)行統(tǒng)計(jì)分析實(shí)現(xiàn)需要的各種功能。
(1)流量監(jiān)測(cè)功能主要通過NetFlow采集器采集到的流量數(shù)據(jù),實(shí)時(shí)地了解網(wǎng)絡(luò)的最新運(yùn)行狀況,根據(jù)這些數(shù)據(jù)來對(duì)網(wǎng)絡(luò)結(jié)構(gòu)不合理的地方進(jìn)行調(diào)整;針對(duì)網(wǎng)絡(luò)不同接點(diǎn)數(shù)據(jù)流量的大小對(duì)該接點(diǎn)的帶寬等參數(shù)進(jìn)行適當(dāng)?shù)恼{(diào)整;對(duì)網(wǎng)絡(luò)中的惡意流量進(jìn)行監(jiān)控和報(bào)警,如病毒信息等。
(2)網(wǎng)絡(luò)拓?fù)浔O(jiān)測(cè)主要是通過對(duì)NetFlow中傳輸記錄的實(shí)時(shí)統(tǒng)計(jì),發(fā)現(xiàn)網(wǎng)絡(luò)中各個(gè)網(wǎng)絡(luò)傳輸點(diǎn),從而動(dòng)態(tài)獲得網(wǎng)絡(luò)的整體拓?fù)浣Y(jié)構(gòu)。動(dòng)態(tài)構(gòu)造網(wǎng)絡(luò)拓?fù)鋱D就是指自動(dòng)發(fā)現(xiàn)并用圖形化的方式直觀、形象地表示出整個(gè)網(wǎng)絡(luò)系統(tǒng)的各個(gè)子網(wǎng)甚至子網(wǎng)內(nèi)部各種網(wǎng)絡(luò)設(shè)備之間的互連關(guān)系,其中,最基本用意是用圖標(biāo)表示出網(wǎng)絡(luò)系統(tǒng)中各個(gè)子網(wǎng)、路由器,以及用連線表示它們之間的連接關(guān)系。
(3)網(wǎng)絡(luò)業(yè)務(wù)識(shí)別為了對(duì)網(wǎng)絡(luò)進(jìn)行更好的管理,從而可以根據(jù)不同的需求分配不同級(jí)別的帶寬,我們需要能夠識(shí)別網(wǎng)絡(luò)中不同用戶的網(wǎng)絡(luò)業(yè)務(wù)。另外,可以統(tǒng)計(jì)不同類型業(yè)務(wù)使用網(wǎng)絡(luò)資源的情況,比如對(duì)于實(shí)時(shí)要求比較高的業(yè)務(wù)如語音、視頻業(yè)務(wù),可以優(yōu)先傳送等。對(duì)于企業(yè)來說,為了保證正常業(yè)務(wù)的具有足夠的帶寬,需要限制員工進(jìn)行娛樂下載,如P2P業(yè)務(wù)方面所使用的帶寬。
可以從不同的方面進(jìn)行網(wǎng)絡(luò)業(yè)務(wù)識(shí)別。目前,所研究的網(wǎng)絡(luò)業(yè)務(wù)識(shí)別技術(shù)主要從以下幾個(gè)方面出發(fā):業(yè)務(wù)端口特征、業(yè)務(wù)帶寬流量特征、業(yè)務(wù)傳輸層協(xié)議特征和數(shù)據(jù)包凈荷中特征字符串特征等。這里主要討論利用NetFlow進(jìn)行網(wǎng)絡(luò)業(yè)務(wù)監(jiān)測(cè)識(shí)別,從NetFlow數(shù)據(jù)元的字段元素出發(fā),可通過上述四種方法中的前三種實(shí)現(xiàn)業(yè)務(wù)監(jiān)測(cè)識(shí)別。
a)端口特征 針對(duì)從NetFlow中提取Port字段可以從一定程度上識(shí)別網(wǎng)絡(luò)用戶的業(yè)務(wù)使用情況,比如一般21為FTP傳送,23為Telnet等。
b)業(yè)務(wù)帶寬流量特征 可以通過對(duì)NetFlow中某個(gè)用戶和其他用戶進(jìn)行的數(shù)據(jù)傳輸記錄的統(tǒng)計(jì),觀察該用戶業(yè)務(wù)所使用的帶寬流量特征,從而針對(duì)一些具有明顯流量特征的業(yè)務(wù)進(jìn)行識(shí)別。
c)業(yè)務(wù)傳輸層協(xié)議特征 可以通過提取并統(tǒng)計(jì)NetFlow中Protocol字段,分析數(shù)據(jù)傳輸使用的傳輸層協(xié)議,從而確定網(wǎng)絡(luò)業(yè)務(wù),如FTP、HTTP、TCP、UDP等。
(4)網(wǎng)絡(luò)性能監(jiān)測(cè)可以對(duì)網(wǎng)絡(luò)當(dāng)前運(yùn)行狀況有一個(gè)整體的把握,網(wǎng)絡(luò)性能監(jiān)測(cè)主要包括對(duì)網(wǎng)絡(luò)帶寬使用情況、網(wǎng)絡(luò)吞吐量he語音時(shí)延等參數(shù)的監(jiān)測(cè)。
針對(duì)NetFlow,我們主要考慮網(wǎng)絡(luò)吞吐量和數(shù)據(jù)傳輸時(shí)延的監(jiān)測(cè)。
a)吞吐量 通過對(duì)NetFlow中數(shù)據(jù)傳輸記錄的實(shí)時(shí)累積統(tǒng)計(jì),并除以統(tǒng)計(jì)時(shí)間間隔,可以實(shí)時(shí)統(tǒng)計(jì)網(wǎng)絡(luò)當(dāng)前的吞吐量,從而可以確定網(wǎng)絡(luò)當(dāng)前的負(fù)載程度,并可以針對(duì)性地確定網(wǎng)絡(luò)服務(wù)質(zhì)量安全門限,當(dāng)網(wǎng)絡(luò)吞吐量過高時(shí)可以給出一定的告警提示,以使管理人員適時(shí)采取網(wǎng)絡(luò)流量分配措施。
b)數(shù)據(jù)傳輸時(shí)延 通過對(duì)NetFlow中TOS字段的統(tǒng)計(jì),可以分析出與網(wǎng)絡(luò)傳輸質(zhì)量相關(guān)的信息,如數(shù)據(jù)傳輸時(shí)延等。
(5)大客戶追蹤主要是監(jiān)測(cè)網(wǎng)絡(luò)中高權(quán)限用戶(比如付費(fèi)用戶)和使用網(wǎng)絡(luò)資源比較多的用戶,從而限制普通用戶對(duì)網(wǎng)絡(luò)資源的無收益浪費(fèi),并且保證付費(fèi)用戶的網(wǎng)絡(luò)使用優(yōu)先權(quán)。
大客戶追蹤 主要是通過統(tǒng)計(jì)某個(gè)客戶(即某臺(tái)主機(jī))網(wǎng)絡(luò)傳輸流量以及業(yè)務(wù)類型,通過對(duì)網(wǎng)絡(luò)中所有客戶網(wǎng)絡(luò)使用情況的對(duì)比,統(tǒng)計(jì)業(yè)務(wù)量比較大的TOPN用戶,針對(duì)這些用戶是否付費(fèi),以及當(dāng)前正在進(jìn)行的業(yè)務(wù)類型(如是否是語音或視頻業(yè)務(wù)),確定客戶使用網(wǎng)絡(luò)資源的優(yōu)先級(jí)別以及受限程度,對(duì)付費(fèi)用戶分配足夠的傳輸帶寬,保證其對(duì)網(wǎng)絡(luò)使用的滿意度,提高付費(fèi)用戶的忠實(shí)性,保證網(wǎng)絡(luò)收益。
網(wǎng)絡(luò)狀況報(bào)表主要用于網(wǎng)絡(luò)管理維護(hù)人員在需要的時(shí)間將各種網(wǎng)絡(luò)狀況指標(biāo)提交給上級(jí)主管人員,報(bào)表設(shè)計(jì)要強(qiáng)調(diào)具有統(tǒng)計(jì)性,并且要簡(jiǎn)潔實(shí)用。
(6)功能呈現(xiàn)模塊主要是將統(tǒng)計(jì)分析模塊實(shí)現(xiàn)的各種功能以盡量友好的方式呈現(xiàn)給用戶,我們可以考慮以C/S方式和B/S方式兩種呈現(xiàn)方式。
C/S方式易于用戶操作,提高用戶與系統(tǒng)的交互性。
B/S方式易于用戶瀏覽信息,提供的信息量大,并且不需要安裝,易于實(shí)現(xiàn)。
三、結(jié)束語
隨著因特網(wǎng)的普及和壯大,如何科學(xué)地建網(wǎng),如何高效地管理網(wǎng)絡(luò),是目前大家所關(guān)心的話題,因而網(wǎng)絡(luò)狀態(tài)監(jiān)測(cè)的研究與應(yīng)用的作用日益重要。對(duì)IP網(wǎng)絡(luò)的網(wǎng)絡(luò)性能進(jìn)行測(cè)量、分析、評(píng)價(jià)、控制、調(diào)整受到越來越多的關(guān)注。目前,在這些領(lǐng)域均已經(jīng)取得了一些研究成果,但是,從整體研究水平來看,尚處于起步階段。這個(gè)研究領(lǐng)域的發(fā)展空間較大,尤其是隨著各種IPQoS保證技術(shù)在IP網(wǎng)絡(luò)中的應(yīng)用,IP網(wǎng)絡(luò)性能監(jiān)測(cè)與分析技術(shù)會(huì)受到更多的重視,將成為新的IP網(wǎng)絡(luò)研究熱點(diǎn)。
作者:靳娜 來源:電信交換