用於採集和分析通信數據的裝置及方法
2023-06-01 05:48:21 2
專利名稱:用於採集和分析通信數據的裝置及方法
技術領域:
本發明一般涉及數據通信,更具體地說,它涉及一種用於採集、分析和監視通信數據的系統及相關方法。
背景技術:
當前,通過一個通信或數據網絡在不同點之間交流數據和其它信息已經十分普及。在一個典型例子中,這種數據網絡包括多個端用戶計算機,它們沿著包括這種網絡在內的各種路徑相互進行通信。這種計算機網絡結構的範圍可從在數量相對較小的計算機之間的簡單的點對點連接到LAN、WAN,當然還有被稱為網際網路的全球計算機網絡。這些網絡的架構根據特定的應用而廣為不同,但即使最複雜的網絡也需使用構架、節點以及用於在網絡上支持數據和信息傳輸的計算機伺服器。
公司和個人對這種網絡日益增加的依賴不僅在於發送和接收信息方面,而且還在於商務活動以及包括信息的發送、接收或查看在內的大量其它活動。
在網絡上發送和接收數據的需求產生了所謂的「通信量」,也就是,經由網上適當路徑的數字編碼信息的容量或「有效負荷」。不幸的是,穿過網絡的通信量經常導致在確定點上或沿網絡的特定路徑產生阻塞或「故障點」。這些阻塞可能會使數據傳輸極其緩慢,或者,在最壞情況下,它會導致在這個網絡上完全不能發送或接收所需數據。這種問題主要由以下情況造成,即,在確定的網絡架構下,通信的進行通常只有其最慢鏈路或路徑所允許的速度。
顯然,無論什麼原因,這種通信阻塞都是不應有的。被「粘在」這樣的通信之中的用戶會向網絡服務提供商抱怨網絡的阻塞,從而對提供商造成潛在的商業損失。這種網絡延遲還具有這樣一種負面作用,即,它直接和間接地影響了網絡用戶的工作效率。
解決這種網絡阻塞或其它網絡「故障點」的一個方案是獲取與阻塞或故障點有關的及時和精確的信息。不幸的是,現有技術中對解決計算機網絡錯綜複雜情況以及對解決阻塞問題的嘗試受到了各種不利因素和缺陷的制約。例如,現有技術中的網絡監視工具很難定製,從而造成缺少用來分析網絡阻塞或故障點的所需工具。這種網絡「取樣器」通常被限制為只能執行確定的特殊協議的清除通信阻塞工作,而這也會造成不能精確地描述或指出網絡阻塞的源頭。換句話說,工作中,大部分網絡監視器和「取樣器」都被它們對實時數據進行列表顯示或在擴展的時間周期上記錄數據的能力所限制。
現有技術中的網絡監視器通常會侵入網絡以評價或估計網絡性能。在參考文獻「TCP/IP說明,卷I-協議」(由Addison-Wesley出版公司在1994年出版)的第7和第8章中就說明了一種這樣的技術。為了對網際網路中信息「分組」的往返時間進行評估,網絡監視器將在網絡中插入額外的分組,並且允許這種額外分組在網絡中傳輸。因此,這種用來確定網絡性能本身的特定過程將因在通信信息中增加了額外的分組而進一步降低網絡的性能。
上述方法不僅具有侵入性,而且一般還是不精確的。具體來說,單程時間一般是通過將測試分組的往返延遲除以2而被估計出來的;但是,往返周期的一半通常並不等於一個單程延遲,其一部分原因是基於網絡中的非對稱性(將在後面說明)。為了補償這種非對稱性,現有技術中所採用的辦法就是在網絡中更為頻繁地插入測試分組,而這種解決方案將會進一步降低正被測試或監視的網絡的性能。
如果網絡通信流或網絡帶寬尺度可得到更為精確的建模,則網絡性能將得到進一步地提高。具體來說,通信流並不需要對稱地穿過一給定的網絡路徑。當路徑終止於網際網路連接上的一個終端用戶時,這一點尤為正確。這種路徑的非對稱性體現在端用戶一般下載的負荷或通信要多於其上載的負荷或通信。現有技術中的網絡監視器通常不對這種非對稱性進行檢測和建模,從而導致較多的網絡資源超出需要地集中在特定路由上。這會花費額外的金錢並且浪費計算機資源。
因此,存在一種提高網絡性能並解決網絡通信阻塞問題的需要。還需要有一種不需侵入通信流的工具,它可用來分析「分組」的不同通信量參數或類型,並且能夠快速精確地採集和列表顯示所需的統計。
隨著計算機數據網絡應用的發展,公司和個人的興趣越來越集中於採集、過濾或「描繪」與網絡上的用戶或它們的通信量有關的數據。商場企業或其它銷售單位可能對人口統計或其它可通過精確記錄和分析網絡通信量而搜集到的數據尤為感興趣。但不幸的是,許多網際網路廣告商是通過讓用戶填表和回答問題而獲得用戶的概況。因此廣告商會錯過大部分客戶信息,因為用戶一般不願因回答這些問題而被打擾。所以就存在一種通過較少的侵入性的方式來獲取用戶「概況」的需要。
網絡的擴展應用也增加了「黑客」或其它進行惡作劇或甚至犯罪活動的破壞性入侵者在專有或受保護網絡中出現的可能性。因此,對阻止計算機犯罪和過失的執行機構(如FBI)來說,一個能夠確定安全破壞動機的系統是十分有價值的。然而,現有的工作一般不能以一種優化的方式對網絡上的數據流進行分析、列表、監視或記錄從而便於安全活動。
負責監視網絡的公司或個人不僅需要及時地獲取大量的信息和統計資料,而且還需快速、簡單地觀察這些以一種可理解的格式存在的數據。然而,現有技術通常僅限於按時間順序提供「廢物」,而對這些數據的統計編制或圖形表示不足。因此,不僅需要能夠對網絡通信信息進行編譯,還要執行某些普通計算,並且還需以一種用戶友好和靈活的方式將這些計算結果用圖形表示出來。
為了解決傳統數據通信監視方法和系統所存在的缺陷,本發明提供了一種用於監視通信線路的新方法。本發明的一個目的就是提供一種用於採集和分析通信數據的網絡監視器。其另一個目的是提供一種用於採集和分析通信數據的方法。
發明內容
為實現本發明的上述及其它目的,本發明提供了一種用於對一第一通信線路上的數據進行監視的方法。首先從該第一通信線路接收數據,並且從此數據中提取出多個分組,然後遞歸地生成統計結果,這些統計結果與多個分組相對應。
具體而言,本發明提供了一種採集和分析在第一通信線路上的第一數據的方法,包括如下步驟(a)從所述第一通信線路上接收第一數據;(b)將所接收的第一數據分離為分組;(c)根據分組各自的第一特性選擇分組;(d)將各個相應的索引與每個所選擇的分組相關聯;(e)將各所選擇的分組轉換為包括該分組相應索引的各個記錄;(f)儲存所述記錄;(g)根據多個連續的時間段的每一個中接收的每個所選擇分組各自的第二特性儲存一計數。
另外本發明還提供了一種採集和分析數據的方法,包括如下步驟(a)從第一通信線路上接收第一數據;(b)將所述第一數據分離為分組;(c)產生與在各個連續的第一時間段中接收的分組相應的統計,所述第一時間段具有第一持續時間值;(d)對於所述的各個連續的第一時間段,分別存儲所產生的統計;(e)通過合計所述各個存儲的統計產生進一步的統計。
另外,本發明該提供了一種採集和分析數據的系統,包括(a)用於從第一通信線路上接收第一數據的裝置;(b)用於將所述第一數據分離為分組的裝置;(c)用於產生與在各個連續的第一時間段中接收的分組相應的統計的裝置,所述第一時間段具有第一持續時間值;(d)用於對於所述的各個連續的第一時間段分別存儲所產生的統計的裝置;(e)用於通過合計所述各個存儲的統計產生進一步的統計的裝置。
另外,本發明提供了一種將數據傳輸到通信線路上的方法,包括如下步驟將時間與所述數據相關;產生包括多個欄位的分組,其中至少一個欄位對應於與所述數據相關的所述時間,並且至少一個另外的欄位對應於所述數據;以及將所述分組傳輸到通信線路上。
另外,本發明提供了一種從第一通信線路接收數據的方法,其中,所述數據包括分組,該分組具有至少一個對應於與所述分組相關的時間的欄位,並且至少一個其他欄位對應於所述數據,該方法包括如下步驟將從所述第一通信線路接收的所述數據分離為分組;以及從所述分組解碼所述時間。
應該明白,不管是上面的一般描述還是以下的詳細說明都是示範性的,它們並不是對本發明的限制。
通過以下的詳細文字說明並參考附圖,本發明將獲得最好的理解。應該強調的是,根據通常的做法,附圖中的各個部件都不成比例。相反,各個部件的尺寸可以任意擴大或縮小以便于澄清。在附圖中圖1顯示了根據本發明所述的一種與通信線路相連的網絡監視器;圖2顯示了一種典型的協議分級體系;圖3是根據本發明的典型網絡監視器的框圖;圖4的流程圖顯示了根據本發明的一個用於監視通信線路的典型方法;圖5的數據流圖顯示了根據本發明的網絡監視器的數據採集和分析方法的多個替代方案;圖6的流程圖顯示了一種用於識別有問題的伺服器的方法;圖7顯示了一種使用了本發明所述網絡監視器的網絡,此網絡監視器與網絡中的兩條單獨通信線路相連;圖8的流程圖顯示了一種用於確定傳輸延遲的方法;圖9A的流程圖顯示了計算機主機用來與一接口計算機同步的操作;圖9B的流程圖顯示了接口計算機用來與一計算機主機同步的操作;圖10-28是一些屏幕顯示,它們用來說明接收監視參數的用戶界面,並且說明了顯示和提供通信分析信息的方法。
具體實施例方式
現在參考附圖,附圖中相同的參考序號代表了相同的單元。圖1顯示了根據本發明的一種示例性網絡監視器102,它通過一第一通信線路104與一典型網絡N1106相連。網絡監視器102接收(監視)通信線路104上的數據通信(通信量),並提供通信線路104上數據通信的實時度量或統計。
通信線路104可使用一個單數據鏈路層協議來傳輸大量不同的高層分級體系協議層協議通信。圖2顯示出了一種這樣的分級體系協議結構200。網絡N1106與路由器108之間通信的數據鏈路層協議202(在本示範情況下為乙太網)可以包括封裝的IPX、IP、ARP或其它網絡層204通信。IP通信可以包括封裝的UDP、TCP、ICMP或其它傳輸層206通信。TCP通信可包括封裝的Web、FTP、域名服務或其它應用層208通信。
根據本發明所述的網絡監視器102包括硬體及軟體(將在後面討論),軟體能夠按照這樣一種方式來採集和分析網絡通信,即,它能夠在一個或多個協議層上對通信產生各種實時統計結果。網絡監視器102所產生的實時統計結果使得對服務質量和數量的分析、根據服務質量和服務數量進行收費、動態網絡資源分配和規劃、基於數據內容的客戶註冊、網絡安全分析以及會議播放成為可能。典型的統計結果包括字節計數、位計數、單程或往返延遲、響應時間、重發的字節、每個主機的初始字節、每個主機的終止字節、初始-終止主機對計數、Web放棄率、吞吐量、有效通過量以及因延遲或丟失而造成的重發字節的百分比。可根據第一通信線路104上的通信而有選擇地提供出這些在數據連結層與應用層之間的一個或多個協議層之上的統計結果。
對圖3所示的典型網絡監視器302的操作的說明參考了圖4的流程圖。該網絡監視器302包括一個通過第一接頭312與第一通信線路308相連的第一網絡接口304以及一個通過第二接頭314與第二通信線路310相連的第二網絡接口306。第一接口304從第一通信線路308接收第一數據(比特流)(步驟402),然後該比特流被分離成多個分組(步驟404)。此處所用術語「分離」的意思是將預先定義的分組從比特流中提取出來。比特流可通過接口304或通過計算機主機316而被分離成多個分組。這些分組被保存在存儲器318中,在本實施例中,存儲器318是分層的,它包括一個短期存儲器320和至少一個長期存儲器322。處理器和查詢引擎316可受到用戶界面324的控制,以隨後對分組進行如下所述的處理(參考圖4)。
在一個典型實施例中,網絡監視器302以非侵入性的方式與第一通信線路308相連接。就是說,它不會直接阻礙通信線路中的通信流。通過(例如)將第一接頭312插入交換機或路由器的一個埠或插口、斷開通信線路308並安裝一個Y型接頭以連接第一接頭312、利用一個分光器將第一接頭連接在一個集線器上、或將網絡監視器302連接在中央控制室的監視插口上,就可使網絡監視器302與通信線路308相連接。
處理器和查詢引擎316將分組轉換成記錄並將記錄保存在存儲器中(步驟414-422)。處理器和查詢引擎306含有適當的程序以產生和分組相對應的統計結果(步驟406-412)。雖然可以通過各種方式來完成分組統計結果的生成,但最好通過採用一個優選方案來處理在預定時間間隔或「採樣周期」上接收到的一套分組(步驟406)以產生相應的統計結果(步驟408)。然後過程將被以遞歸的方式被重複以處理連續時間周期內接收到的連續分組序列(步驟410)。在這種處理期間,適當的程序將按適當的時間間隔而把生成的統計結果保存在存儲器當中,此時間間隔最好與和分組集相對應的時間間隔具有相同的順序。
將分組轉換成記錄可以允許產生大量的其它統計結果,以下就對其進行說明。記錄是通過首先確定各個分組的類型(步驟414)然後根據它們已確定的類型對分組進行過濾(步驟416)而被生成的。為各個分組產生一個索引(步驟418)然後將分組轉換成一個帶索引的記錄(步驟420)並保存在存儲器中(步驟422)。進一步的統計結果是利用先前生成的分組統計結果而產生的,然後這些記錄被提供給一個或多個應用部分,如顯示設備(步驟428)、用於根據進一步的統計結果來動態調整網絡路由的路由器(430)、以及根據統計結果確定的基於服務質量或數量而對客戶進行收費的計費服務(步驟432)。以下將對圖4所示過程在乙太網通信線路中的應用進行說明,該乙太網線路中含有封裝的IP分組,其中封裝有TCP分組,而TCP分組內則封裝有web通信量(見圖2)。乙太網比特流被從通信線路中接收到(步驟402)並被分離成多個分組(步驟404)。這些分組被分割成多個群,每群分組都含有在連續的一秒的時間周期(示例性的時間周期)之一的期間內接收到的分組(步驟406)。在各個一秒時間周期內接收到的比特的數目(示例性的統計)被計算出來(步驟408)。通過接收與下一個一秒時間周期相對應的一套分組(步驟412)並隨後計算出這些分組中的比特數(步驟408),就可產生連續時間周期內的連續統計結果。各個一秒時間間隔內的比特計數一旦生成就被保存在存儲器當中(步驟412)。
確鑿各個分組的類型(如IP、ARP…)(步驟414)。如果用戶只想分析IP分組的通信量,則分組將被過濾以僅使IP分組通過(步驟416)。網絡監視器接收到各個IP分組的時間被用作各個IP分組的一個索引(步驟418)。然後一個用於各個IP分組的帶索引的記錄將被生成(步驟420)並被保存在存儲器中(步驟422)。以下列出了一個典型記錄,該記錄含有一個作為第一欄位F1的索引以及作為第二欄位F2的分組。
除了進行只讓IP分組通過的過濾以外,過濾器也可通過截斷乙太網的附加部分而只讓IP分組的一部分通過(如IP部分),這樣,上述記錄內的第二欄位F2中就只包含IP部分。另外,記錄中也可含有多個欄位,每個欄位都對應於IP分組的一個部分(如源地址或目標地址),而且過濾也可根據任何一個或多個欄位來進行。
可以單獨從保存的記錄中產生任意數量的統計結果,也可用步驟406-412中所產生的分組統計結果的混合來產生統計結果。在本例中,一個相關技術中所公知的進一步統計結果含有接收到的IP分組中的比特數與在各個連續分鐘內接收到的所有分組中的比特數之比(步驟426)。這個統計結果的計算在本發明中易於執行,因為所保存的分組已經全部是IP分組,而且都按接收時間編了索引。因此,就可通過用索引對記錄進行排序、讀取各個連續分鐘的記錄群、並將各個記錄群中的比特數累加起來以完成計算。可通過對先前計算出來的按秒為單位產生的比特計數以60秒鐘(等於1分鐘)為一組求和來計算每分鐘全部分組的比特數。這樣,就可同時利用保存的記錄和保存的統計結果而產生另一個統計結果,從而減少了所需的額外計算量以及產生此統計結果所需的時間。
以上參考圖4對由根據本發明所述的網絡監視器所執行的過濾和保存方法的一個特定例子進行了說明。以下將根據圖5所示的數據流圖對根據本發明所述的網絡監視器500的時間採集和分析方法的靈活性進行說明。
一個進入的比特流被分組裝置502進行分組。比特流的解碼可自動根據已知協議進行,或者也可根據用戶指定的參數以對定製或專有協議的比特流進行解碼。例如,如果一個新的數據鏈路層協議被引入,則網絡監視器500將包含適當的程序以響應用戶通過用戶界面輸入而定義的協議。因此,所發明的網絡監視器500就可識別出新協議的分組結構以對一進入的比特流進行分組。然後,網絡監視器就可通過更高的協議層來執行其數據採集和分析方法。這種靈活性不僅限於數據鏈路層。換句話說,根據本發明所述的網絡監視器500能夠採集和分析其它協議層上定製協議的數據通信。
分組可利用路徑A被直接保存在短期存儲器508之中。對保存從通信線路接收到的全部數據來說,這是十分有用的。短期存儲器508可周期性地將數據轉移到長期存儲器510中以防止溢出。儘管圖中描繪的只有單一一個短期存儲器508和一個長期存儲器510,但本發明的內容也可應用於其它含有多個存儲設備的分層存儲器結構中。例如,存儲器可包括隨機存取存儲器(RAM)、磁碟存儲器以及磁帶存儲器。當RAM裝滿時,數據將被轉移至磁碟存儲器。當磁碟存儲器裝滿時,數據將被轉移至磁帶存儲器。當磁帶存儲器裝滿時,可以更換磁帶以進行連續的長期數據存儲,從而達到(例如)存檔的目的。如圖中位於存儲器508和510之間並指向短期存儲器508的雙箭頭所示,保存在存儲器中的數據可在以後被檢索出來以用於分析或者用於將在下面討論的多個應用522-530之一。
將全部分組直接保存進存儲器是安全應用528所需要的。例如,網絡監視器可被編程為能夠保存一周內的全部通信信息然後再覆蓋最舊的保存數據。如果安全中的一個漏洞在其出現的一周內被檢測到,則網絡監視器可對保存的數據進行分析以確定漏洞的源頭和程度。
分組的數據也由分組裝置502提供給索引生成器504。索引生成器504產生一個與一個或多個接收到的分組相對應的索引。與一分組相對應的索引例子包括用以說明分組被網絡監視器接收到的時間的時間標記、分組長度、分組序號(1,2,…)、接口號、應用、以及相關的對話。記錄發生器506接收分組以及生成的索引並產生一個含有生成的索引的記錄。另外,記錄發生器506還可將接收到的分組和索引與一個先前保存在存儲器508、510當中的現有記錄混合起來。記錄發生器也可通過路徑C直接接收一個分組並生成一個含有分組的未加索引的記錄,或者也可將分組與一個先前保存在存儲器508、510當中的現有記錄混合起來。
例如,可以生成一個與ATM對話相對應的單個記錄。當接收到一個與ATM對話相對應的第一信元(固定長度的分組)時,可對其加上索引並且生成一個加有索引的記錄並保存在存儲器508、510中。上述索引可以是(例如)一個ATM對話的標識符。當與ATM對話相對應的其它信元被接收到時,無需按照順序,記錄發生器506也可通過路徑C直接接收到這些信元、從存儲器508、510中讀取先前保存的加索引的記錄,然後將最新收到的信元與加索引的記錄混合起來。除了簡單地將屬於一個普通ATM對話的分組混合入一個普通的記錄以外,記錄發生器506還可按正確的順序在記錄內將接收到的ATM信元排列出來。
記錄/分組類型標識裝置512或者從記錄發生器506或者從存儲器508接收分組或記錄,然後通過對接收到的分組或記錄的相應「類型」或「特性」進行標識來對它們實現特徵說明。分組或記錄的類型或特性是一個通用標識符,它可通過用戶界面520得到編程。分組或記錄的類型或特性的例子包括相應比特或字節數、其協議層、其在特定協議層上的協議類型、源地址、目標地址、終端用戶ID以及應用ID。然後記錄或分組將根據由記錄/分組類型標識符512所識別出來的特性或類型而在分組類型過濾器516中得到過濾。經過濾的記錄或分組隨後被加上索引並被轉成記錄或直接保存進存儲器508、510。
時間周期過濾器514從記錄發生器或存儲器508、510接收記錄或分組,並根據它們被網絡監視器從通信線路中接收到的時間而對其進行過濾。然後記錄或分組被分離成多個與網絡監視器在各個連續時間周期內所接收到的分組相對應的組。然後,統計結果發生器518對與在各個連續時間周期內所接收到的分組相對應的各個連續時間周期產生統計結果。
經過濾的分組和生成的統計結果可被保存在存儲器中。圖5所示功能塊之間的路徑表示存儲器的內容可隨後被用來執行其它的過濾或統計結果生成工作。這樣,根據本發明所述的網絡監視器就可通過根據先前生成的統計結果或保存的分組來生成統計結果以遞歸地採集和分析數據。
除了上述對網絡監視器進行編程以用於定製的協議以外,也可通過用戶界面來定義網絡監視器內功能塊的操作參數。例如,用戶可以為每個連續時間周期指定待由索引生成器504使用的索引、待由時間周期過濾器514使用的時間周期以及待由統計結果發生器518產生的統計結果。
採集的數據以及由網絡監視器500產生的相應分析可被提供給一個或多個應用522-530。例如,顯示設備522可以顯示統計結果、與用戶的選擇相對應的記錄或分組,這些將在後面參考圖10-28的屏幕顯示得到說明。
網絡監視器500所產生的統計結果可被提供給網絡管理員或路由器524,從而允許在網絡上根據相應於網絡性能的統計結果進行通信的動態路由選擇以及網絡帶寬管理,這也被稱為「產生管理」。應該容易明白,通過測量單程延遲並通過在不同協議層上逐個協議地提供通信量統計結果,根據本發明所述的網絡監視器就可通過定量表示通信流以識別出這些非對稱性,從而使管理員能夠根據測得的通信流正確地規劃網絡資源。
通信網絡可在服務層上得到優化。因為根據本發明所述的網絡監視器含有適當的程序用來分析任何協議層上的通信流。儘管不同的服務可能有不同的服務需求,而且這些服務經常被集成在一個通信網絡中。但是,諸如實時多媒體、IP語音、數據以及Intranet的服務可能每個都具有獨特的網絡服務需求。例如,對IP語音來說,由於對語音傳輸衰減的容忍度低,所以含有數據延遲或丟失的低質量服務是不能容忍的。相反,數據傳輸是可以在有丟失情況的環境中進行的,因為可通過重發而修正錯誤。一個典型的路由器524被配置成能夠根據不同服務的不同服務需求而相應地為通信流進行路由選擇。
根據本發明所述的網絡監視器具有可編程的特點,它能夠識別出與每個單獨服務和/或個人相對應的通信流,並且可提供與不同服務的交互分析。這個信息可被路由器用來(例如)在對網絡拓撲、路由或服務分割進行優化等時做出實時或非實時的決定,從而完成一個適於為每個服務提供其自身服務需求所獨有的質量的優化配置。
計費系統526可被配置成能夠接收與不同服務和不同主機相對應的服務統計的質量和/或數量,並據此向客戶收費。這樣就可使客戶根據這些統計結果來付費,而不是為先前未測量的服務提供費率平均的收費率。例如,客戶可以使用其未受限制的網際網路服務來進行IP語音通話。根據本發明所述,網絡監視器500可為一個特定的客戶產生統計結果,如號碼、持續時間以及IP語音通話的目的地。然後這些統計結果被計費系統526轉換成計費信息,並且該客戶將據此付費。這樣,就可根據通話的數量、持續時間以及通話目的地而對使用網際網路IP語音通話的網際網路用戶進行計費,就好象非網際網路對話服務一樣。也可以類似地根據客戶的電子商務交易次數、股票交易數量、請求股票實時報價的次數以及其它交易而對客戶進行計費。另外,客戶也可有根據服務質量而按不同計費率收費的服務合約並據此付費。網絡監視器也可被用來保證與服務合約的一致性,它保證了最低服務標準或服務等級協議。
如上所述,採集到的數據可被安全應用528用來識別出安全中的漏洞、識別出不正當的網絡使用或非法活動。例如,可對分組進行過濾以識別出已與伺服器進行FTP的特定文件,識別出誰在特定的機器或伺服器上進行過telnet(遠程登錄),以及他們在登錄後輸入了些什麼。
網絡監視器所作的統計可與一個用戶或一群用戶相對應以用於獲取用戶或群組的概況。許多網際網路廣告都是根據通過詢問用戶幾個問題所產生的用戶概況而發送給用戶的。根據本發明的網絡監視器能夠根據接收到的分組的內容對每個分組進行過濾以構築出個人用戶概況。例如,一個監視費城客戶群的節點可以在每個用戶發出的分組信息包進入網際網路之前都對其進行查看。還有,也可通過查看(過濾)分組內的特定文本或用戶所訪問的web站點來對返回給這些用戶的通信量進行分析。然後就可根據經過濾的數據而生成每個用戶或用戶群的概況,並將此內容提供給那些感興趣向用戶發E-mail的用戶。上述用於過濾分組的方法也可類似地被法律機構或安全局用來監視通信以檢查出非法活動或監視選定用戶的行動。
網絡監視器還可被用來向播放設備530提供數據以播放從通信線路監視到的客戶會議。所有接收到的分組可被記錄然後再根據特定的對話而得到過濾。可以根據包含在分組信息自身內的信息或者根據從諸如SDR(對話目錄協議)的特殊分組或信道中接收到的對話信息而對該對話進行識別。然後再將與該對話相對應的分組原樣播放給用戶。這種方法可被用於重播用戶的所有web活動或IP語音談話。
網絡監視器可被用戶設置成能夠利用專有或定製的協議對傳輸通信量的通信線路進行監視。沿著網絡監視器與通信線路之間的適當物理層接口,用戶就可以利用用戶界面而輸入專有的協議參數。這些參數為網絡監視器定義了通信線路上傳輸的比特流內的分組結構,用於從比特流中分離出分組。附加的參數還在分組內定義了欄位,從而使網絡監視器能夠根據這些分組欄位的內容而按特定順序來提供統計結果。網絡監視器也可類似地被編程為能夠監視和分析與比鏈路層更高的層中的定製協議相對應的數據。
在一個典型網絡中,數據傳輸協議為每個分組提供了一個時間標記欄位。從源向目的地傳輸的分組的時間標記欄位中含有一個代表源傳輸時間的時間標記值。當分組在目的地被接收到時,目的地可以通過從當前時間值中減去時間標記值而計算出從源到目的地的單程傳輸延續時間或延遲。這種協議使得單程傳輸延遲和服務質量的測量變得更加簡單,因為它無需在網絡監視器之間進行通信以在單獨的網絡監視器上匹配分組對。對一個在源和目的地之間含有許多單獨的中間傳輸路徑的網絡來說,單程端-端傳輸延續信息並不會提供與源和目的地之間某處的具體瓶頸有關的信息。作為改進了的瓶頸診斷來說,根據本發明所述的一種網絡監視器不是僅計算端-端延遲,而是可被連接在源與目的地之間的中間獨立傳輸路徑之一上。該網絡監視器能夠接收在網絡中從源傳向目的地的分組之中的時間標記值。通過從接收到分組的當前時間中減去時間標記值,網絡監視器就可確定一個中間持續值。可以用上述一個或多個中間放置的監視器來找出網絡中的瓶頸。在一個典型實施例中,各個源、目的地以及網絡監視器都含有一個GPS(全球定位衛星)接口,它用來接收當前時間以用於計算傳輸持續時間。
根據本發明所述的網絡監視器,其能夠提供的量度之一就是一個相對於特定源-目的地對、特定源或目的地而言的被放棄的連接數的指示以及相對於特定源或目的地而言的被放棄的連接數與總連接數之間的比率信息。以下將參考圖6的流程圖600對一種用於識別有問題的TCP(傳輸控制協議)伺服器的典型方法進行說明。
正如本領域技術人員所知道的那樣,一個TCP對話通常是由客戶打開,隨後當它沒有更多的數據向客戶發送時由伺服器關閉。如果一個TCP對話被客戶關閉,這就說明該對話被過早地終止。作為一個例子,客戶(使用瀏覽器的用戶)可以利用web來關閉對話,因為他改變了對與所需數據有關的需求的主意或者在接收所需數據時因延遲而失去耐心。
網絡監視器接收到從一通信線路發出的分組信息包(步驟602)並識別出該分組是否屬於TCP對話(步驟604)。網絡監視器可以通過對分組中的一個協議欄位(它代表了該分組屬於多個傳輸層協議中的哪一個)進行識別和解碼,從而識別出該分組是否為一個TCP分組。一旦分組被判定為TCP分組,則TCP客戶和TCP伺服器就會被識別出來(步驟606)。然後,該分組將受到檢驗以確定它是否為打開或初始化TCP連接(步驟608)。如果該分組是打開或初始化TCP對話的分組,則一個用於先前識別出來(在步驟606中)的TCP伺服器的TCP對話總數的計數將被加1(步驟610)。
如果該分組不是一個開啟分組,則網絡監視器將接著確定該分組是否要關閉TCP連接(步驟612)。如果不是,則網絡監視器繼續獲取下一個分組(步驟602)。否則,網絡監視器將確定(步驟614)連接是否正在被伺服器關閉(例如,通過檢查FIN位),或者連接是否正在被客戶關閉。由伺服器關閉代表了對話的正常終止,然後網絡監視器將接著獲取下一個分組(步驟602)。不是伺服器關閉則表示對話的過早終止,並且一個與特定伺服器相對應的過早關閉計數將被加1(步驟616)。特定伺服器的過早關閉的TCP對話與總TCP對話數之比被計算出來(步驟620)並且被與一預定的門閾值進行比較(步驟622)。如果過早關閉比超過了此閾值,則特定的伺服器將被判定為是一個「有問題的伺服器」(步驟624)。
正如本領域技術人員所知道的那樣,在一些網絡中,所有相應於特定TCP對話的分組可能不是通過同一條通信線路傳送,因此就不能用單一一個監視器接口來檢測它們。網絡監視器可被放置在伺服器或與伺服器相鄰的位置或者放在客戶端以「抓取」所有的分組。另外,也可用上述多個網絡監視器接口來保存與分組相對應的記錄。保存的記錄隨後可得到分析以確定哪個伺服器可能是「有問題的」。在一個示例性實施例中,每個遠程網絡監視器都利用(例如)過濾器尋找FIN分組,當檢測到FIN分組時,它們將把含有FIN分組內容的信息發送給一個將做出「有問題的伺服器」的中央監視器。
儘管上述內容是針對TCP對話而考慮測量被放棄的連接並且識別出有問題的伺服器。但這些內容通常也適用於其它協議和其它協議層,而且它們並不僅限於識別有問題的TCP伺服器。例如,在另一個協議中,一個對話可以被同一個節點打開和關閉,無論它是伺服器還是客戶機。另外,對話有效負荷可在單獨的分組中傳輸或者在單獨的通信鏈路上從對話控制消息中傳輸。
在圖7所示的其它備選實施例中,根據本發明所述用於監視通信的系統701可以包含一個或多個網絡監視器,每個監視器都分別與網絡中的各個通信線路相連接,如圖7所示。第一、第二和第三網絡監視器700、710、720分別與第一、第二和第三通信線路702、712及722相連。每個網絡監視器700、710、720都能以如圖5所示的數據流框圖按照上述方法採集和分析從其各個通信線路中接收到的數據。
除了可提供獨立的數據採集和分析以外,含有多個網絡監視器700、710、720的系統也可將從不同網絡監視器接收到的數據相關聯起來,從而提供經改進的網絡性能分析。例如,可為從第一通信線路702傳向第二通信線路712的數據計算單程延遲。
圖8的流程圖顯示了一種計算單程延遲的典型方法。一般來說,當「同一個」分組在兩個單獨的網絡監視器上得到識別時,其被各個監視器接收之間的時間差異可被用來計算單程延遲。「同一個」分組可通過將分組中在單獨網絡監視器之間發生變化的各個部分排除出去而得到識別。
第一和第二網絡監視器700、710分別從其相應的通信線路702、712中接收數據(步驟802、806)。分組規格器502將接收到的數據分離成多個分組(步驟803、807),並且各個索引生成器(504)將各個分組的接收時間(時間標記)與各個分組相關聯。記錄生成器506產生一個含有與各個分組相對應的時間標記的記錄以及一個數據分組的獨特部分(UDPD),並將記錄保存在存儲器508、510當中(步驟804、808)。
UPDP是接收到的分組的一部分,它使數據單元是唯一可識別的。例如,對乙太網通信線路和IP負荷來說,乙太網首標被從分組信息包中清除,IP ttl和校驗和欄位被置零,而且IP首標和其後20個連續字節被保存起來並被記錄生成器506引入到一個UPDP記錄中。UPDP對不同的協議可以是不同的,並且可利用用戶界面對其進行編程。
第一網絡監視器700的UPDP記錄被與第二網絡監視器710的UPDP記錄進行比較以匹配出UPDP對(步驟810)。第一和第二網絡監視器可通過通信鏈路730進行通信。通信鏈路730可由網絡監視器通過它們所監視(頻帶內)的網絡進行通信而實現。另外,通信鏈路730也可在網絡外部通過(例如)電話線路、無線連接或衛星連接(頻帶外)進行通信而實現。
對每個相互匹配的UPDP來說,第二網絡監視器的相應時間標記ts2被從第一網絡監視器的相應時間標記ts1中減去(步驟812)。這個時間差ts1-ts2代表與此UPDP相應的數據從第二網絡監視器710傳輸至第一網絡監視器700的持續時間。通過計算UPDP,使用相同或不同通信協議的第一和第二通信線路702、712之間的確定負荷的傳輸延續時間就可得根據上述方法到確定。
在一個典型實施例中,時間差ts1-ts2被歸一化(步驟814、816)以用於計算第一通信線路702的延遲。延遲是通過從時間差中減去與UPDP相對應的分組在第一通信線路中傳輸的延遲xmit-delay而被歸一化的,其公式如下歸一化網絡延遲=(ts1-ts2)-(1ink_speed/packet_length)其中,linkspeed是第一通信線路712上的傳輸速率,而packet_length則是分組在含有UPDP的第一通信線路上分組的長度。計算出來的網絡延遲可以包含排列延遲部分和傳輸延遲部分。如圖5的數據流框圖所示,統計結果生成器518能夠接收待被生成UPDP記錄的分組,統計結果生成器518計算出分組中的比特數並將此統計結果提供給記錄生成器以引入UPDP記錄用於歸一化計算。通過類似地計算出從第一至第二網絡監視器的延遲時間並將此延遲與從第二到第一網絡監視器之間的延遲相加,就可估計出往返時間。
計算出來的傳輸延遲,其精確度取決於第一和第二網絡監視器700、710的時鐘的同步程度。網絡監視器可以通過通信線路730進行通信以將它們各自的時鐘進行同步。在一個典型實施例中,網絡監視器的同步校對是通過接收從一個公共時間源740發出的時間信號而實現的。在一個典型實施例中,傳輸延遲產生的精確程度小於10微秒,就是說,計算出來的延遲與實際延遲之間的差異小於10微秒。在一個優選實施例中,公共時間源740是一個諸如全球定位衛星(GPS)的全球衛星系統,並且各個網絡監視器700、710都含有一個接收器以用於接收從一個或多個全球衛星發出的時間信號。當被監視的兩個通信線路彼此相鄰時,第一和第二網絡監視器700、710之一含有一個主GPS接收器,而另一個則可含有一個與主GPS相連的從GPS接收器。
一個典型的網絡監視器是由一個在與正在監視的通信線路相連的網絡接口卡(NIC)上具有一接口計算機的計算機主機來實現的。如上所述,NIC所接收的數據可在被發送給計算機主機之前得到處理。同樣如上所述,網絡監視器可以使用從通信線路傳輸的數據的接收時間來產生網絡通信統計結果或度量。為了精確地記錄數據在通信線路中的接收時間,接口計算機將接收時間與數據關聯起來(給數據加上時間標記)。通過使接口計算機而不是計算機主機給數據加上時間標記,就可減少或消除因從接口計算機向計算機主機傳送數據而造成的接收時間中的不精確性。
在一個典型實施例中,接口計算機含有一個接口時鐘並且計算機主機含有一個主機時鐘。主機時鐘和接口時鐘被同步,從而使計算機主機可以使用時間標記來精確地產生與接收到的數據相對應的統計結果。在一個典型實施例中,接口時鐘由一個計數器實現。隨著各個分組被從通信線路中接收到,計數器的當前值也被與該分組相關聯起來。分組隨後被與計數器值一起傳送給計算機主機。計算機主機含有一個與絕對時間基準同步的主機時鐘。如上所述,此絕對時間基準可由全球定位衛星提供。
主機時鐘和接口時鐘的同步是通過將被接口計算機與各個分組關聯起來的計數器值與絕對時間基準相關聯而實現的。對接口時鐘與主機時鐘的同步方法的說明參考了圖9A和9B所示的流程圖,圖9A和9B分別對應於計算機主機和接口計算機的操作。一般來說,計算機主機會周期性地請求從接口計算機獲取接口時鐘計數器的數值,並利用這個數值與主機時鐘的計數器相關聯。
參考圖9A和9B,如果計算機主機已經從接口計算機接收到一套分組(步驟902),則計算機主機將接著通過向接口計算機發送一個「獲取計數器」消息以請求從接口計算機獲取計數器值(步驟906),在一個典型實施例中,接口計算機通過直接存儲器訪問(DMA)操作在計算機主機的存儲器中保存了一套分組信息包,然後中斷計算機主機以表明分組的傳輸。如果計算機主機尚未受到一套分組,則它會在一個超時時間內等待分組(步驟904),在超時時間之後,計算機主機將請求獲取計數器值(步驟906)。當請求獲取接口計數器值時,計算機主機記錄下其主機時鐘的時間。
當接口計算機收到一個從計算機主機發出的「獲取計數器」消息(步驟920)時,接口計算機將確定(步驟922)其當前是處於空閒狀態還是正在從通信線路接收數據。如果不是空閒狀態,則接口計算機將向計算機主機發送(步驟924)一個「重試」信息。如果是空閒狀態,則接口計算機將讀取計數器值並減去一個預先計算好的中斷服務時間(步驟926),以生成一個經調整的計數器值。然後,接口計算機將此經調整的計數器值發送給計算機主機(步驟928)。
預先計算好的中斷服務時間對應於接口計算機收到主機發出的計數器請求與接口計算機向計算機主機提供經調整的計數器值之間的持續時間。可以利用例如一個邏輯分析器實驗性地測定接口收到獲取計數器的請求與接口提供計數器值之間的持續時間,從而確定出這個預先計算好的中斷服務時間。為了使實驗獲得的延遲測量結果與正常操作期間的延遲相符合,實驗性的請求在當接口處於空閒狀態時被提供給接口,並且接口僅在空閒狀態下才為請求進行服務。正如本領域技術人員所知道的那樣,接口計算機的響應時間可被重複獲取以生成一個在操作期間使用的平均服務時間。
當接收到計數器值後,計算機主機將計算出接口時鐘計數器相對於計算機主機時鐘的頻率估計值(步驟912)。此相對頻率可被用於將在下一次同步校對程序執行之前接口計算機所收到的分組與計數器值進行關聯。在一個典型實施例中,在計算相對頻率之前,計算機主機會從步驟906中所記錄的時間中減去一個主機中斷服務時間,以算出主機收到從接口發出的計數與主機開始計算相對頻率之間的延遲。
在一個典型實施例中,有多個與各自的通信線路相連的網絡接口被作為單個單元而實現,它們共享了一個公共時鐘。因此,只需利用與從任何一個通信線路接收到的數據相關的時間標記對公共時鐘與主機時鐘進行同步校對就可實現同步。
圖10-28是一些典型的屏幕顯示,它們描繪出了一個圖形用戶界面(GUI),此界面用於顯示網絡監視器所採集和分析的數據並且用於控制根據本發明所述網絡監視器所執行的數據分析。圖10的顯示中包括表格框1010、第二框1030以及按鈕框1050。表格框1010包括第一部分1011,它帶有可由用戶選擇的可選框以及文本輸入框;以及第二部分1012,它含有與接收到的數據相對應的統計結果的表格。位於可選按鈕、框和欄位下方的表格1023含有與被分析的特定數據相對應的項目。繪圖框1030包括標繪圖形1032和1034,它們顯示出了與接收到的數據相對應的統計結果。按鈕框1050含有一套可由用戶配置的按鈕。
表格框1010的第一部分1011的文本輸入框及可選框可被任選地固定以阻止用戶對選項的選擇以及防止用戶在文本框內進行輸入。以下列出了圖10所示的選項及方框的相關功能1·Start(開始)Start欄位1013指定了對通信量進行分析的開始時間,其結果被顯示在GUI中。
2·Stop(停止)Stop欄位1014指定了通信量受到分析的結束時間,而且其結果被顯示在GUI中。因此,Start/Stop欄位1013、1014就指定了通信量開始受到分析與通過GUI被提供給用戶之間的時間。可按多種格式來顯示Start/Stop欄位1013、1014的內容。例如,圖10是以日期格式來顯示其內容的。另外,也可用+/-小時的格式(它表明與當前時間相關的時間)來顯示其內容,詞條「now」可被用於表示當前時間,或者詞條「never」可被用於表示數據應被連續更新。
3·Window(窗口)Window欄位1015說明了在計算待被在第二框1030中繪製出來的數值時的時間間隔。例如,如果用戶輸入「1」作為Window欄位,則繪圖欄位中的數值將被逐秒地繪製。用戶也可在Window欄位中以代表繪圖解析度的適當實用單位輸入數值(例如1s、1ms、100μs、…如果水平尺度的單位是時間,則它代表時間的解析度)。空白的Window欄位1015表示水平尺度的解析度應被自動設定。
4·Top N(最高N)Top N欄位1016指定了出現在表格框1010的第二部分1012之中的表格1023的最大表項數目。如果Top N為10,則表格1023將含有被一特定列值以降序排序的10個行。如果Top N為-10,則表格1023將含有被一特定列值以升序排序的10個行(即,這變成了底部N的概念)。
5·Filter(過濾)Filter窗口1017描述了一個待被應用到將要顯示的數據上的過濾器。例如,過濾器可以是「協議IEEE802.3」用以為帶有連結層協議IEEE802.3的分組顯示結果。對先前已經過過濾的數據可以只顯示IP通信量,一個「主機10.0.0.1」的過濾器可以為IP通信量顯示出結果(即,不是源主機就是目標主機為10.0.0.1)。當然也可採用各種複雜的過濾器。
6·Do DNS(執行DNS)Do DNS檢查框1018將表格1023中的表項從數字表述轉換成文本表述。例如,在IP中,數字表述(IP位址)被用於識別一個主機。DNS(域名伺服器)可含有一個從這個IP位址的數字表述到文本表述的映射。例如,當Do DNS檢查框受到檢查時,IP位址10.0.0.1可被轉換成文本表述foo.niksun.com。對DNS以外的其它協議來說,檢查框被賦予的標記將隨著等效的功能而發生變化。
7·Help(幫助)當緊接於各個欄位之後的Help按鈕1019被選中時,屏幕上將會顯示文字提示幫助。例如,如果Filter 1017之後的幫助按鈕被選中,則屏幕上將彈出一個針對該「Filter」的幫助窗口。
8·Refresh(刷新)Refresh按鈕1020可對所有框內的內容進行刷新。
9·Forward and Backward Buttons(前進和後退按鈕)位於表格框1010的第一部分1011的頂部的Forward按鈕1021和Backward按鈕1022與瀏覽器中的「Forward」和「Backward」按鈕相類似,只是它增加了使所有框架的內容都保持對應的功能。與此相反,點擊瀏覽器中的「Forward」和「Backward」按鈕會造成逐幀的向前或向後移動,從而導致丟失各個幀之間的對應性。
繪圖框1030含有圖形1032、1034、文本輸入框以及可選框和按鈕。文本輸入框及可選框可被任選地固定以阻止用戶對選項的選擇以及防止用戶在文本框內進行輸入。以下列出了圖10中繪圖框1030內所示的選項及方框的相關功能1·Update Tables and Plots(更新表格和圖形)此按鈕1036可以用協調的方式更新表格和框架。例如,如果用戶通過用滑鼠選擇圖形的一部分以進行放大,則點擊按鈕1036將更新選定時間範圍內被放大的圖形和表格。
2·Byte/Packet Counts(and Bit/Packet Rates)(and Utilization)(字節/分組計數)(比特/分組速率)(以及利用率)此按鈕1037在以下三個選項之間改變「字節/分組計數」、「比特/分組速率」以及「利用率」。而圖形也相應地在確定窗口、比特和分組速率(即,每秒鐘的比特或分組數)以及利用率之間改變。在一個典型實施例中,字節圖形顯示出了與連結速度(即,比特速率除以單位為比特每秒的連結或信道或虛擬電路容量)相關的歸一化數值。
3·Toggle Parent Plot(切換父圖形)此按鈕1038可如下所述地對圖形中的線條進行切換。
4·Toggle Plot ofAverage(切換至平均值圖形)選中該按鈕1039可將圖形的Y軸的平均值(未示出)顯示出來。
5·Play/Forward/Stop/Fast Forward/Rewind/Fast Rewind/Pause按鈕(播放/前進/停止/快進/後退/快退/暫停按鈕)這些按鈕1040可控制屏幕上圖形的播放,從而允許圖形被隨時更新並隨時間滾動。表格框1010中的表格1023可被更新成與圖形1032、1034相符合。
6·Top Plot(頂部圖形)圖10中的頂部圖形按鈕1032是一個以字節/秒為單位的鏈路層比特速率(Link Level Bit Rate)圖。
7·Bottom Plot(底部圖形)圖10中的底部圖形按鈕1034是一個以分組/秒為單位的鏈路層分組速率(Link Level Packet Rate)圖。
表格框1010中的表格1023根據在由開始欄位1013和停止欄位1014所指定的時間間隔內被發現為有效的協議而自動生成的。圖10中,表格1023顯示出了IP分組和919ARP分組被網絡監視器接收的開始與停止之間的時間間隔為264K(K=1000)。此IP分組和ARP分組分別含有99M和55K字節(M=1,000,000)。
表格1023中的表項可被選擇以通過選定的欄位對數據進行排序。例如,如果表格中的分組報頭被點擊,然後表格將按分組列以降序進行排序活動,當首標被再次點擊時,則它將被以相反的順序排序。選擇其它表格報頭也可類似地對表項進行排序。
圖11顯示了本發明的縮放能力。圖10中的開始/停止時間間隔7:18/12:02被縮小至圖11中的9:00/10:00。表格1023和圖形1032、1034也因此被更新。通過在欄位1013、1014中手動輸入圖形1032、1034中的時間間隔或通過用(例如)滑鼠進行圖形選擇,就可對Start欄位1013和Stop欄位1014的數值進行調整。在進行選擇時,顯示將移近到選定的間隔內。移近圖形可使用戶所選定間隔的圖形被重新生成。選擇「Update Tables and Plots」(更新表格和圖形)按鈕1036將使表格框內的數據1010與圖形1032、1034同步變化。如果用戶選擇「auto-sync」(自動同步)功能(未示出),則圖形也可被自動更新。「Update Tables and Plots」按鈕1036允許用戶在不對數據進行更新的情況下向所需的時間間隔移近幾次。這樣就減少了網絡監視器在選定最終間隔之前的不必要處理。
用戶可將由圖10中表格1023內的表項所列出的協議選擇為(例如)超連結,從而列出其中封裝有選定協議的協議。點擊或選取圖10中表格1023內的IP表項將出現圖12所示的屏幕顯示。這個選擇可使圖10中圖形框1030內的圖形1032、1034自動進行更新以僅顯示出圖12所示圖形1232、1243中的IP通信量。
此圖形用線圖1235表示從連結層發出的所有通信量並且用條形圖表示所有的IP通信量。這種雙顯示格式提供了一層(本情況下為IP)內所有通信量與上一層(本情況下為乙太網)內的所有通信量之間的全局性圖形表示。
表格框1210內表格的內容也可得到更新以與IP通信量相對應。表格1223列出了「Start」與「Stop」之間所有在鏈路中使用並正被監視的IP協議。在這種特殊情況下,只有TCP、UDP和ICMP IP協議被找到。IP主機的活動也可被顯示出來。通過向下滾動表格框1210,就可在圖13中看到源主機在TopN=2的情況下通過計數所獲得的IP表格。
圖13中,通信量被顯示在一個源主機表格1302中以用於由主機產生的通信量、被顯示在一個目標主機表格1306中以用於由主機產生和收到的通信量。點擊表格框1310中的鏈路1308將產生一個如圖14所示的「host-pairs」(主機對)表格1402的屏幕顯示。
主機-對表格1402為每個已識別出的主機對列出了在主機對之間傳送的分組和字節的總數。
把「destination host」(目標主機)選擇為(例如)10.0.0.47(圖14中的1404)將進一步對選定的「destination host」進行過濾,從而僅顯示出目的地為主機10.0.0.47的通信量。參考圖15,在這種情況下,表格1502中所顯示的在開始與停止間隔之間監視的通信量就是所有從主機128.32.130.10發出並且目的地為10.0.0.47的通信量。
因此,我們可以看到,只有主機128.32.130.10在開始與停止間隔之間向10.0.0.47發送通信量。應該注意的是,此時,圖形框1530中的圖形1532、1534用條形圖1535的形式顯示了這兩個主機之間的活動,並用線形圖1536的形式顯示了所有的IP通信量。也可用顏色來區分圖形或表格中的數據。
如果圖12中表格1223內的TCP表項被選中,則我們可使協議棧上移,而且表格框1610被更新成圖16所示內容(它包括了用於各個基礎應用1612的TCP層計數)。例如,它有27K HTTP(web)分組,其中含有在指定時間間隔內接收到的21M字節。
在圖16中,如果「TCP flow」(TCP流)按鈕1604被選中,則所有的TCP流將與它們的持續時間以及性能的量度一起被顯示出來,如圖17所示。一個TCP流含有一套屬於在兩個主機之間進行的一個TCP對話的分組信息包。每個TCP流都可被繪製出來,或者可以通過選擇「Plot」(圖形)按鈕1702或「pkts」按鈕1704來分別觀看與一個TCP流或所需TCP流相對應的分組。應該注意的是,如果Do DNS選項被選中,則所有的TCP主機IP位址將被它們各自的名稱所取代(例如foo.niksun.com)。用戶可以通過點擊其它連結(如一個將一特定主機識別為10.0.0.47的連結)以集合各個流。如果用戶點擊10.0.0.47(1706),則用於主機10.0.0.47的集合流將被如圖18那樣被顯示出來。
圖18顯示出了始發自主機10.0.0.47的所有TCP流。圖18的屏幕顯示是通過給圖17所示的數據加上一個對10.0.0.47主機的過濾選擇而生成的。通過點擊圖18中的其它主機(超連結)就可類似地加上其它的過濾。例如,在「Term host」列中,如果用戶選取主機10.0.0.5(1802),則在主機10.0.0.47(作為源)與主機10.0.0.5(作為目的地)之間的所有TCP流將被顯示出來。
在圖16的屏幕顯示中可以提供一個諸如「TCP Performance」(TCP性能)的選擇以用於生成TCP性能表格。通過點擊「TCP Performance」超連結,TCP性能表格1902就被顯示在圖19中。整個表格框被清晰地顯示在圖19中。此屏幕顯示含有一個「Troubled TCP Clients」(有問題的TCP客戶機)表格以及一個「Troubled TCP Servers」(有問題的TCP伺服器)表格以用於在TCP客戶機和伺服器都出現問題的最壞情況(TopN欄位的數值等於2)。在由開始和停止欄位所指定的時間間隔上,下表顯示了對各個TCP客戶機和伺服器的測量結果1.No.of Connections(連接數)它代表了與客戶機或伺服器相連的TCP總數。
2.TCP Data Bytes(TCP數據字節)它代表了全部TCP連接所運載的數據字節總數。
3.TCP goodput(Bytes/sec)(TCP有效吞吐量(字節/秒))它代表了TCP負荷吞吐量(應用吞吐量)或TCP運送量。即,應用字節的總數除以發送的由連接數平均的這些字節的時間。
4.TCP throughput(Bytes/sec)(TCP吞吐量(字節/秒))它表示TCP連接中運載的字節總數除以時間(TCP流速)。
5.Avg RTT(平均RTT)它顯示了客戶機與伺服器在多個連接之間的平均往返時間。
6.Avg Response(平均響應)它代表了從伺服器至客戶機的平均響應時間。
7.Retransmit%(重發%)它顯示了被重發(由阻塞、丟失、延遲或任何其它原因造成)的TCP字節的百分比。
TCP性能表格可被定製以通過用戶界面來增加其它的量度或刪除已有的量度。
選擇圖16中的http超連結將出現如圖20所示的web通信量(http)統計結果。
在圖20的屏幕顯示中可以提供一個諸如「http performance」(http性能)的選擇以用於生成http性能表格。通過點擊「http performance」超連結,http性能表格2102就被顯示在圖21中。整個表格框被清晰地顯示在圖21中。此屏幕顯示含有一個「Troubled WWW Client」(有問題的WWW客戶機)表格以及一個「Troubled WWW Servers」(有問題的WWW伺服器)表格以用於在WWW客戶機和伺服器都出現問題的最壞情況(TopN欄位的數值等於2)。
http性能表格2102中的量度可被在線生成,並且被顯示給用戶以作為有問題的WWW客戶機和WWW伺服器,或者也可被直接發送到網絡管理系統以便立刻採取行動。這些量度可以幫助網絡管理員找出壞的伺服器和連接。此信息也可被作為根據以通知web伺服器操作員購買更多的帶寬或修復他的伺服器。另外,它還可被用於通知客戶機它們需要更多的帶寬或需選擇另一家服務提供商。因此,這些量度可被用於提高對用戶的服務質量並最終可以給網絡管理者帶來更多的回報。例如,在表格「有問題的WWw伺服器」中,其中列出的第二個伺服器(204.162.96.10)具有約33%的web放棄率。這說明此web站點潛在損失的客戶約有33%。
表格框1610被更新成圖16所示內容(其中含有用於各個基礎應用1612的TCP層計數)。例如,它有27K HTTP(web)分組,這些分組中含有在指定時間間隔內接收到的21M字節。
當圖12中的UDP超連結1240項被選中時,使協議棧上移,並且提供圖22的顯示以用於說明UDP通信量的層次。在表格框2210中,「UDP層計數」表格被顯示出來以表示各個UDP應用或UDP埠的活動。例如,此顯示中說明了有453個域分組,它們共含有69K字節。
應該注意到,UDP帶寬利用率僅為全部IP(見圖12中的表格1223)的約0.32%。因此,圖形框僅顯示出了IP通信量(紅色圖線),它使UDP通信量(藍色圖線)顯得十分矮小。現在,通過點擊「ToggleParent Display」,用戶就可以僅放大與UDP通信量相對應的Y軸(未示出),而將IP圖線(父圖形)清除掉。
選中圖22中的「MBONE」按鈕2202將會出現對MBONE(多媒體構架)對話的應用層分析的顯示,如圖23所示。
選中圖22的按鈕框2250之內的「View Packets」按鈕2204將會給出如圖24所示的所有分組的映象。由於網絡監視器能夠記錄所有的分組,所以全部分組及其內容都可被看到。圖24中的連結允許用戶靈活地過濾數據流。如果用戶點擊10.0.0.12(2402),則轉儲的下一個屏幕顯示中將只含有從10.0.0.12發出或發往10.0.0.12的分組。在此下一屏中,如果用戶選取10.0.0.5,則更新後的屏幕顯示將只顯示10.0.0.12與10.0.0.5之間的分組。用戶也可通過選取埠對轉儲進行進一步的限制。通過從位於屏幕顯示頂部的各個選擇2404中選取一種轉儲類型,就可使用各種用於轉儲分組的選項。
選中圖22的按鈕框2250之內的「Recommend」按鈕2206將會顯示出對網絡的實時容量或帶寬建議。當檢測到「Recommend」按鈕2206被選中後,網絡監視器將利用一個數學模型來對用戶觀看到的數據進行解釋以提供對應用(或其它類型的通信量)的帶寬利用率的建議,或者用於設置連結/交換容量以獲取一個指定的服務質量。圖25中顯示了幾個這樣的統計結果2502。用戶可以輸入所需的服務質量值(如損失率和最大延遲)以為被分析的通信量的類型獲取對支持所需服務質量而需要的容量的建議。圖25和26顯示出了可以提供的建議。
在一個典型實施例中,用戶可能選擇一個特殊應用以及一個「忙周期」,因為他想通過對網絡資源進行「測評」以確定特定質量的服務水平。隨後,網絡監視器中的適當子程序會對該特殊應用的通信量進行分析並提取或估計出「模型參數」。利用數學模型和對參數的估計以及服務的質量參數(如分組損失率、網絡延遲、幀速率、等等),就可計算出各種統計結果(如統計性多路復用增益、容量需求、以及緩衝區分配),並可為用戶提供交換機/路由器配置、網絡資源或伺服器參數的優化建議以在滿足服務質量需求的同時使網絡利用率最大化。這種建議可在統計結果針對屬於不同服務的每個分組或一套分組而得到更新的實時基礎上被計算出來,並且可以沿著用於優化配置上的每個流的路徑向網絡成員提供反饋以達到動態資源分配,從而滿足服務質量需求。
圖中的X軸2602代表了用戶數,Y軸2604則代表容量(其單位為比特/秒)。對所需數量的用戶,可從圖表或從與表格結果相應的圖形顯示中讀出容量。圖27描繪了一個與圖22相似的屏幕顯示,它用於當Do DNS被選中以使IP位址被解析成其註冊名稱時的情況。
圖28是當圖22所示的按鈕框2250中的「Statistics」(統計)按鈕2208被選中時在屏幕上顯示出來的統計結果圖。當選中「Statistics」按鈕2208後,網絡監視器將根據當前被用戶觀看的數據而計算出各種統計結果。典型的統計結果包括分組長度分布、協議分布、每個用戶的帶寬利用率、域的帶寬利用率、每個伺服器的平均響應時間、伺服器-客戶機對之間的平均往返時間以及性能量度。
本發明不僅限於計算機主機和接口計算機之間的特殊功能區分。也可只用一個計算機來完成計算機主機和接口計算機的功能。而且與根據本發明所述的網絡監視器的接口也不僅限於用戶接口,也可通過正在受到監視的網絡或其它通信線路來與網絡監視器連接。
儘管以上的說明是參考了具體實施例來進行的,但本發明並不受這些具體細節的限制。相反,在本發明權利要求的範圍和等價範圍之內的各種具體修改都不會脫離本發明的精神。
權利要求
1.一種將數據傳輸到通信線路上的方法,包括如下步驟將時間與所述數據相關;產生包括多個欄位的分組,其中至少一個欄位對應於與所述數據相關的所述時間,並且至少一個另外的欄位對應於所述數據;以及將所述分組傳輸到通信線路上。
2.根據權利要求1所述的方法,其中,與所述數據相關的所述時間是將分組傳輸到通信線路時的時間。
3.根據權利要求2所述的方法,其中,所述相關的時間是根據絕對時間基準確定的。
4.根據權利要求2所述的方法,其中,所述相關的時間是根據來自至少一個全球定位衛星的信號確定的。
5.根據權利要求1所述的方法,其中,從另一條通信線路接收所述數據,而且與所述數據相關的所述時間是從該另一條通信線路接收所述數據時的時間。
6.一種從第一通信線路接收數據的方法,其中,所述數據包括分組,該分組具有至少一個對應於與所述分組相關的時間的欄位,並且至少一個其他欄位對應於所述數據,該方法包括如下步驟將從所述第一通信線路接收的所述數據分離為分組;以及從所述分組解碼所述時間。
7.根據權利要求6所述的方法,其中,所述分組來自第二通信線路,並且與所述分組相關的所述時間對應於其在所述第二通信線路上的傳輸,該方法進一步包括如下步驟當從所述第一通信線路接收各個分組時,確定各自的接收時間;以及通過從傳輸時間減去所述接收時間產生對應於每個分組的傳輸延遲。
8.根據權利要求7所述的方法,其中,基於與所述分組相關的所述時間、所述分組的所述接收時間、所述第一通信線路上的數據傳輸速率以及所述第一通信線路上的所述分組的長度中的至少一個,來計算對應於每個分組的所述傳輸延遲。
9.根據權利要求8所述的方法,其中,對應於每個分組的所述傳輸延遲用下列等式計算傳輸延遲=(ts1-ts2)-(link_speed/packet_length)其中,ts1是接收所述分組的所述時間,ts2是與所述分組相關的所述時間,link_speed是所述第一通信線路上的數據速率,而packet_length是所述第一通信線路上的各個分組的長度。
全文摘要
一種將數據傳輸到通信線路上的方法,包括步驟將時間與數據相關;產生包括多個欄位的分組,其中至少一個欄位對應於與數據相關的時間,並且至少一個另外的欄位對應於數據;以及將分組傳輸到通信線路上。
文檔編號H04L29/14GK1700657SQ20051007646
公開日2005年11月23日 申請日期1999年11月23日 優先權日1998年11月24日
發明者帕拉格·普魯蒂, 安德魯·海拜, 泰克塞爾·瓦魯吉斯·庫裡恩 申請人:尼克桑公司