專利名稱:用于在會話級別區(qū)分和采樣雙向網絡流量的方法和裝置的制作方法
技術領域:
本發(fā)明涉及網絡,更具體地涉及在會話級別區(qū)分和采樣網絡流量。
背景技術:
應用性能管理(APM)采用監(jiān)視和/或故障排除工具來觀察網絡流量并用于網絡和應用的優(yōu)化和維護。在高流量網絡中,數據量會導致過載(oversubscription),在該情況下,輸入數據速率太高以使網絡/應用監(jiān)視系統(tǒng)無法處理。這個問題本身的一種表現(xiàn)方式是在分析延遲方面。在所有的專用應用分析器(例如Http、Oracle、Citrix、TCP等應用)中都有軟件延遲。當要分析太多數據時,監(jiān)視系統(tǒng)的各個離散部分的總延遲在整個系統(tǒng)上造成了足量的總延遲,使得難以繼續(xù)處理和分析輸入數據。在高度使用的計算機網絡上對每個分組/流/會話實時地執(zhí)行完整分析在計算上是不切實際的。
發(fā)明內容
本發(fā)明的ー個目的是基于Socket連接和會話提供分組表征和采樣選擇,處理當流量速率超過測量設備能力時無法生成精確的性能測量的問題。因此,本發(fā)明的另ー個目的是提供改進的網絡數據采樣。本發(fā)明進一歩的目的是提供在會話級別區(qū)分網絡流量的改進的網絡監(jiān)視系統(tǒng)。本發(fā)明的另ー個目的是提供能夠在會話級別改進網絡流量的區(qū)分和采樣的改進的網絡監(jiān)視和分析的方法。 在本說明書的權利要求部分中具體地指出本發(fā)明的主題并且明確地要求保護。然而,操作的組織和方法及其進ー步的優(yōu)點和目的最好參照以下描述并結合附圖來理解,在附圖中,相同的標號指代相同的元件。
圖I是通過接ロ連接有網絡分析產品的網絡的框圖;圖2是用于在會話級別區(qū)分和采樣雙向網絡流量的監(jiān)視設備的框圖;并且圖3是會話標識符的示例性確定的流程圖。
具體實施例方式根據本發(fā)明的優(yōu)選實施方式的系統(tǒng)包括用于在會話級別區(qū)分和采樣雙向網絡流量的監(jiān)視系統(tǒng)和方法以及分析系統(tǒng)和方法。參照圖1,S卩,具有根據本文所公開的裝置的網絡的框圖,網絡可以包括多個網絡客戶端10、10'等,它們通過經由與服務器20交互發(fā)送和接收網絡流量14而在網絡12上進行通信。流量可以依據不同的協(xié)議及格式以分組的形式發(fā)送。網絡分析設備16也連接到網絡,并且可以包括用戶接ロ 18,從而使用戶無論是在該作為網絡附件的分析設備的安裝地點還是在遠離該作為網絡附件的分析設備的物理地點的位置,都能夠與網絡分析設備交互,以操作該分析設備并從其獲得數據。該網絡分析設備包括硬件和軟件、CPU、存儲器、接ロ等,以進行操作來連接到網絡并監(jiān)視網絡上的流量,并且執(zhí)行各種測試和測量操作、發(fā)送和接收數據等。當在遠程吋,網絡分析設備通常通過在與網絡通過接ロ連接的計算機或工作站上運行來進行操作。ー個或更多個監(jiān)視設備可以在網絡上的不同位置進行操作,在不同的位置提供測量數據,測量數據可以被轉發(fā)和/或儲存以用于分析。分析設備包括分析引擎22,分析引擎22接收分組網絡數據并與數據存儲器24通過接ロ連接。圖2是可以實現(xiàn)本發(fā)明的測試儀器/分析器26的框圖,其中,所述儀器可以包括網絡接ロ 28,其通過多個端ロ將設備附接到網絡12 ;—個或更多個處理器30,其用于對該儀器進行操作;存儲器,例如RAM/R0M32或永久存儲器(persistent storage) 34 ;顯示器36 ;用戶輸入設備38 (例如,鍵盤、鼠標或其它定點設備、觸摸屏等);電源40,其可以包括 電池或AC電源;其它接ロ 42,其將設備附接到網絡或其它外部設備(存儲器、其它計算機
寸ノ o在操作中,該網絡測試儀器被附接到網絡,并且觀察網絡上的傳輸以收集數據并對數據進行分析,生成統(tǒng)計以及元數據。在會話級別區(qū)分和采樣網絡數據,能連貫并一致地對數據進行分組與分析,并且選擇和區(qū)分感興趣的數據,而允許忽略不感興趣的數據。為了完成區(qū)分和采樣,基于所觀察到的數據的標識因子(例如,客戶端IP地址)、服務器IP地址以及兩個主機之間所使用的通信協(xié)議,在兩個主機之間的會話中生成單向哈希(one way hash)。各主機具有唯一的IP地址,并且客戶端/服務器對使用特定的網絡協(xié)議彼此通信。單向哈希允許針對特定的會話生成唯一的標識符。如果是感興趣的會話,則該會話可以被采樣,并基于哈希值處理或儲存。這允許一種在會話級別區(qū)分流量的快速方式,能夠快速判斷數據是否是感興趣的以及是否進行進一歩處理。圖3是處理的流程圖,其中,在44選擇在客戶端和服務器之間交換的所觀察到的分組,在框46將哈希函數(hash function)的值初始化。接著,在框48、50、52處利用客戶端IP地址、服務器IP地址和協(xié)議類型計算哈希值。可以接著將所確定的哈希值用做關于該分組所屬于的會話的唯一的標識符。作為示例并為了便于闡釋,圖3的示例例示了基于客戶端地址、服務器地址和協(xié)議類型的3種單獨的哈希計算的情況。特定的哈希函數以及實現(xiàn)哈希函數的方式可以使哈希鍵(hash key)結合在單個步驟或多個步驟中。例如,在特定的實施方式中,將哈希函數選為CRC(循環(huán)冗余校驗)函數(crc32),并應用于數據分組的源IP、目的IP和協(xié)議類型字段??梢杂筛鶕竟_的網絡測試儀器,依據在特定的實施方式和操作環(huán)境中所需的速度,使用專門的哈希計算硬件或者軟件來執(zhí)行哈希判斷(hash determination)。下面提供了一個采用適用于IPV4 (32比特)和IPV6 (128比特)地址的crc32的示例,其中,client-IP-addressロ是下面給出的32比特IP地址值的數組。該示例假設地址類型是IPV4或者IPV6,最初就地址的前32比特計算哈希值,如果地址是IPV6類型,則利用該地址附加的96比特計算哈希值hash=crc32(client-IP-address
);
if client-address-type= = IPV 6 (如果客戶機地址類型為 IPV 6)
{
hash=crc32rclient-IP-address[I ], hash); hash=crc32(client-IP-address[2],hash); hash=crc32(client-IP-address[3],hash);
} hash=crc32(server-IP-address
, hash); if server-address-type= = IPV6 (如果服務器地址類型為 IPV6)
{
hash=crc32(server -IP-adaress[l], nash、; hash=crc32(server -IP-address[2],hash); hash=crc32(server -IP-address[3],hash);
}
hash=crc32(protocol-type, hash) // protocol-type 表示協(xié)議類型所產生的哈希值提供了唯一的方式來根據協(xié)議類型、發(fā)送者和接收者標識會話。在上述特定的示例中采用了 CRC函數,但也可以采用其它的單向哈希函數。通過這種方式,多個主機/協(xié)議之間的哈希碰撞(hash collision)的可能性被最小化。因此,可以精確地追蹤計算機網絡上的唯一的客戶端/服務器對之間的會話。本發(fā)明提供了將網絡分組集合到由從客戶端/服務器IP地址和它們之間所使用的相關網絡協(xié)議而生成的ID所唯一標識的更高級別構造(會話)的能力。因此,可以基于會話而不是單獨的分組來進行流量采樣以及動態(tài)標度(dynamic scaling)。除了本文例示的IP地址/協(xié)議類型示例以外,會話的其它部分或部分的組合可以用于區(qū)分和采樣。雖然已經示出和描述了本發(fā)明的優(yōu)選的實施方式,但是對于本領域技術人員明顯的是,在不脫離本發(fā)明的更廣泛方面的情況下可以做出許多改變和修改。因此,所附權利要求旨在覆蓋落入本發(fā)明的真實精神和范圍內的所有這種改變和修改。
權利要求
1.一種在會話級別區(qū)分網絡流量的方法,所述方法包括 確定哈希值的步驟,基于會話確定哈希值;以及 標識會話的步驟,使用所述哈希值來標識所述會話。
2.根據權利要求I所述的方法,其中,所述確定哈希值的步驟包括 使用所述會話的多個部分作為哈希確定函數的輸入以提供所述會話的標識符。
3.根據權利要求2所述的方法,其中,所述會話的所述多個部分包括所述會話的第一方的IP地址以及所述會話的第二方的IP地址。
4.根據權利要求3所述的方法,其中,所述會話的所述多個部分還包括協(xié)議類型標識符。
5.根據權利要求I所述的方法,其中,所述確定哈希值的步驟包括以所述會話的第一方的IP地址和所述會話的第二方的IP地址作為CRC函數的輸入,使用所述CRC函數生成所述哈希值。
6.根據權利要求I所述的方法,其中,所述確定哈希值的步驟包括以所述會話的第一方的IP地址、所述會話的第二方的IP地址和協(xié)議類型作為CRC函數的輸入,使用所述CRC函數生成所述哈希值。
7.根據權利要求I所述的方法,所述方法還包括使用所述哈希值確定所述會話的采樣。
8.—種在會話級別區(qū)分網絡流量的系統(tǒng),所述系統(tǒng)包括 網絡流量監(jiān)視器,所述網絡流量監(jiān)視器用于觀察網絡流量;以及 哈希生成器,所述哈希生成器用于確定哈希值以標識所觀察到的流量。
9.根據權利要求8所述的系統(tǒng),其中,所述哈希生成器 使用會話的第一方的IP地址和所述會話的第二方的IP地址作為所述哈希生成器的輸入,以確定所述哈希值。
10.根據權利要求9所述的系統(tǒng),其中,所述哈希生成器 使用協(xié)議類型標識符作為哈希確定函數的輸入。
11.根據權利要求8所述的系統(tǒng),其中,所述哈希生成器包括CRC計算設備以生成所述哈希值。
12.根據權利要求8所述的系統(tǒng),其中,所述哈希生成器包括以所述會話的第一方的IP地址和所述會話的第二方的IP地址作為CRC函數的輸入,使用CRC函數生成器來生成所述哈希值。
13.根據權利要求8所述的系統(tǒng),其中,所述哈希生成器包括CRC函數生成器,所述CRC函數生成器以所述會話的第一方的IP地址和所述會話的第二方的IP地址以及協(xié)議類型作為CRC函數的輸入,來生成所述哈希值。
14.根據權利要求8所述的系統(tǒng),所述系統(tǒng)還包括采樣器,所述采樣器使用所述哈希值來確定所述會話的采樣。
15.一種用于在會話級別區(qū)分網絡流量的網絡測試儀器,所述網絡測試儀器包括 網絡接ロ,所述網絡接ロ用于觀察網絡流量;以及 流量分類器,所述流量分類器用于確定標識符以將所觀察到的網絡流量進行分類。
16.根據權利要求15所述的網絡測試儀器,其中,所述流量分類器包括哈希生成器,所述哈希生成器用于基于所述網絡流量的組成部分生成標識符。
17.根據權利要求16所述的網絡測試儀器,其中,所述哈希生成器使用會話的第一方的IP地址、所述會話的第二方的IP地址以及所述會話的協(xié)議標識符作為所述哈希生成器的輸入來確定哈希值。
18.根據權利要求17所述的網絡測試儀器,其中,所述哈希生成器包括CRC計算設備,所述CRC計算設備用以生成所述哈希值。
19.根據權利要求16所述的網絡測試儀器,其中,所述哈希生成器包括CRC計算設備,所述CRC計算設備用以生成所述哈希值。
全文摘要
本發(fā)明提供了用于在會話級別區(qū)分和采樣雙向網絡流量的方法和裝置。在會話級別區(qū)分網絡流量,提供采樣確定能力?;贗P地址和協(xié)議類型確定哈希值,針對單獨的會話賦予唯一的標識符。
文檔編號H04L12/26GK102780591SQ20121020544
公開日2012年11月14日 申請日期2012年5月11日 優(yōu)先權日2011年5月12日
發(fā)明者丹·普雷斯科特, 約翰·芒克, 羅伯特·沃格特 申請人:弗蘭克公司