如果說讓網絡管理員最頭疼的問題,恐怕大家都會回答是網絡帶寬匮乏了,實際情況確實如此,隨著網絡應用與網絡軟件的越來越多,占用帶寬資源的服務也越來越多。我們究竟應該怎麼管理網絡成為一個非常嚴肅的問題。BT,P2P等軟件吞噬著網絡帶寬,蠕蟲等網絡病毒也使網絡應用變得枯竭。從某種意義上講帶寬就是錢,那麼我們這些網絡管理員如何有效的從監視到控制公司的網絡流量呢?筆者為各位讀者介紹一個不可多得的監控網絡流量的工具:NTOP。
一 .為什麼需要對流量監控?
如果作為一名普通網絡用戶,在浩瀚的互聯網暢游之時,沒有人會注意到平靜的海面下其實暗流洶湧。一般來說,網絡管理者所需要了解的是各個網段的使用情形,頻寬的使用率,網絡問題的瓶頸發生於何處。當網絡問題發生時,必須能夠很快地區隔出問題的發生原因,迅速定位到線路問題、網絡設備問題、或者是路由和放火牆的設定問題。在一個稍微較小的網絡中,一個有經驗的管理者要回答這些問題並不難,但是如果其所管理的網絡范圍過於龐大,那麼就可能需要一個有效率的網管系統了。在業務繁忙的工作網絡中,網絡突然緩慢,在重要數據往來的工作時間段,留給系統管理員的響應時間只有寶貴的十幾分鐘、甚至幾分鐘。如果你不能回答網絡為什麼緩慢?必須在經過科學合理的計算和統計,並且在預先建立的流量分析系統中才能找到答案。
P2P(Peer-to-Peer)是一種用於文件交換的新技術,通過Internet允許建立分散的、動態的、匿名的邏輯網絡。P2P為對等連接或對等網絡,點對點網絡技術,可應用於文件共享交換,深度搜索、分布計算等領域。它允許個體的PC通過Internet共享文件。隨著P2P文件交換應用的普及,ISP在維持和增加寬帶網的收益上也面臨著新的挑戰和機遇。據有關資料統計,現有的網絡中有超過70%的帶寬被P2P通信占據著。P2P通信會導致異常的流量峰值,對網絡資源造成意外的變形;所帶來的網絡擁塞、性能下降等問題,已影響到正常的網絡應用,如WWW、Email等,緩慢的網頁浏覽和收發郵件速度更引起普通用戶的不滿。
若想控制P2P通信,就必須對P2P通信進行有效地識別,然而,許多P2P通信使用了不同的通信技術和協議,使用傳統的技術來識別它們非常困難。 比如,許多P2P協議不使用固定的端口,而是動態地使用端口,包括使用一些知名服務的端口。KaZaA就是可以使用端口80(通常是http/web來使用)來通信的,從而穿透傳統的基於IP和端口的防火牆和包過濾器。所以,通過簡單的基於IP和端口的分類技術(分析IP包頭、IP地址、端口號等)很難識別、跟蹤或控制這類通信。
過去有一段時間,有人使用監測6881~6889端口來識別BT(BitTorrent),但這種做法現在早已失效——BT已不再使用固定的6881~6889端口來通信,而是動態地使用端口。隨著P2P應用的不斷增長,更多的通信協議被使用;識別和分類P2P的技術必須快速、簡單,以適應這種技術的變化。現在,識別P2P通信的方法是在應用層分析數據包,看是否有某個應用協議的特征碼,然後確定通信的種類。應用層分析數據包的基本方法是,如果應用層數據包的頭部有“220 ftp server ready”的特征串,可以確定是在使用ftp程序;如果有“HTTP/1.1 200 ok”的特征串,可以確定是在使用http傳送數據。
談到網絡流量監控,相信大家都熟悉MRTG這個工具。但是MRTG存在許多缺點:
1. 使用文本式的數據庫,數據不能重復使用;
2. 只能按日、周、月、年來查看數據;
3. 只能畫兩個DS(一條線、一個塊);
4. 無管理功能;
5. 沒有詳細日志系統;
6. 無法詳細了解一一流量具體構成;
7. 只能用於TCP/IP網絡對於 SAN 和iSCSI網絡流量無能為力;
8. 不能在命令行下工作;
9. 過於依賴SNMP協議。
MRTG基於SNMP協議獲取信息,對於端口的流量,MRTG能提供精確統計,但對於3層以上的信息則無從得知了。而這正是NTOP的強項。NTOP能夠更加直觀的將網絡使用量的情況和每個節點計算機的網絡帶寬使用詳細情況顯示出來。ntop是一種網絡嗅探器,嗅探器在協助監測網絡數據傳輸、排除網絡故障等方面有著不可替代的作用。可以通過分析網絡流量來確定網絡上存在的各種問題,如瓶頸效應或性能下降;也可以用來判斷是否有黑客正在攻擊網絡系統。如果懷疑網絡正在遭受攻擊,通過嗅探器截獲的數據包可以確定正在攻擊系統的是什麼類型的數據包,以及它們的源頭,從而可以及時地做出響應,或者對網絡進行相應的調整,以保證網絡運行的效率和安全。
通過ntop網管員還可以很方便地確定出哪些通信量屬於某個特定的網絡協議、占主要通信量的是那個主機、各次通訊的目標是哪個主機、數據包發送時間、各主機間數據包傳遞的間隔時間等。這些信息為網管員判斷網絡問題及優化網絡性能,提供了十分寶貴的信息。ntop提供以下一些功能:
1. 自動從網絡中識別有用的信息;
2. 將截獲的數據包轉換成易於識別的格式;
3. 對網絡環境中的通訊失敗進行分析;
4. 探測網絡環境下的通訊瓶頸;
5. 記錄網絡通信時間和過程;
6.自動識別客戶端正在使用的操作系統;
7.可以在命令行和Web兩種方式運行。
流量分析要點
連接性 也稱可用性、連通性或者可達性,嚴格說應該是網絡的基本能力或屬性。Internet的出現以及采用新技術而帶來的生產力提高,導致對更高帶寬和服務的需求。企業需要更高帶寬的定制服務;而消費者則需要像寬帶連接和視頻點播等服務;運營商必須在他們的目標市場需求與他們業務的現實之間取得平衡;這些都必須以網絡的連接性能為基礎和保障。
時延 定義了一個IP包穿越一個或多個網段所經歷的時間。時延由固定時延和可變時延兩部分組成。固定時延基本不變,由傳播時延和傳輸時延構成;可變時延由中間路由器處理時延和排隊等待時延兩部分構成。
丟包率 是指丟失的IP包與所有的IP包的比值。許多因素會導致數據包在網絡上傳輸時被丟棄,例如數據包的大小以及數據發送時鏈路的擁塞狀況等。不同業務對丟包的敏感性不同,在多媒體業務中,丟包是導致圖像質量降低和斷幀的根本原因。
帶寬 一般分為瓶頸帶寬和可用帶寬。瓶頸帶寬是指當一條路徑(通路)中沒有其它背景流量時,網絡能夠提供的最大的吞吐量。可用帶寬是指在網絡路徑(通路)存在背景流量的情況下,能夠提供給某個業務的最大吞吐量。在復雜的網絡系統上面,不同的應用占用不同的帶寬,重要的應用是否得到了最佳的帶寬?它占的比例是多少?隊列設置和網絡優化是否生效?通過例如MRTG等網絡流量分析會使其更加明確,並以圖形HTML文檔方式顯示給用戶,以非常直觀的形式顯示流量負載。
主動分析避免異常流量
面對異常流量,我們應當建立一套分析系統,支持異常流量發現和報警,能夠通過對一個時間段內歷史數據的自動學習,獲取包括總體網絡流量水平、流量波動、流量跳變等在內的多種網絡流量測度,並自動建立當前流量的置信度區間作為流量異常監測的基礎。
如果自行建立主動型的網絡分析系統一般包括:測量節點、中心服務器、數據庫和分析服務器。但對於中小企業來說難度較大。主動分析是借助產品化和集成程度較高的測量工具,有目的對生產網絡注入監控點,並根據測量數據流的傳送情況來分析網絡的性能。雖然這些監控點也會占用帶寬,但和P2P下載所占用的可用帶寬相比是微不足道的。 排除病毒和封鎖P2P之後,一般帶寬占用前兩名的應用是基於網站頁面的在線音頻與在線視頻。為了節約帶寬,我們應該在工作時間段對其進行限制和封鎖。
ntop和MRTG相比相比它的安裝配置比較簡單,可以不使用Web服務器。目前市場上可網管型的交換機、路由器都支持SNMP協議,Ntop支持簡單網絡管理協議所以可以進行網絡流量監控。ntop幾乎可以監測網絡上的所有協議: TCP/UDP/ICMP、(R)ARP、IPX、Telnet、DLC、Decnet、DHCP-BOOTP、AppleTalk、Netbios、TCP/UDP、FTP、HTTP、DNS、Telnet、SMTP/POP/IMAP、SNMP、NNTP、NFS、X11、SSH和基於P2P技術的協議eDonkey, Overnet, Bittorrent, Gnutella (Bearshare, Limewire,etc), (Kazaa, Imesh, Grobster)。(Z101)