實施例大體上涉及網絡服務。
背景技術:
除了將數據從一個位置路由到另一個位置,現代數據網絡還提供個性化服務。例如,很多網絡提供入侵檢測服務,其檢查分組序列以檢測和阻止網絡攻擊。提供這些服務可能需要改變業務流的路由。例如,業務可能被路由經過提供服務的特定設備。
傳統路由算法依賴于每個路由器都具有的來自其相鄰鏈路和設備用以路由數據的本地信息。路由器在路由表中維護該信息。基于到來分組的目的地地址,路由器使用其路由表向特定相鄰設備轉發該分組。
一種稱為軟件定義網絡(SDN)的技術將控制功能和轉發功能分離到分離的設備中。控制設備可以使用網絡拓撲的全局知識,針對各個數據流來確定經過轉發設備網絡的路徑。以這種方式,控制設備可以例如建立使經過網絡的延時最小化、帶寬最大化的路徑,或者將數據流路由經過提供特定網絡服務的特定設備。
將數據流路由經過網絡服務引入了性能顧慮。例如,入侵檢測系統可能執行復雜的操作來檢測攻擊模式。這些操作可能增加延時并降低帶寬,或可能消耗昂貴的網絡資源。
技術實現要素:
有鑒于此,有利地提供一種機制,其提供基于啟發式和策略條件對業務流逐漸應用網絡資源。
在實施例中,一種系統確定網絡中的業務流滿足第一條件,并向網絡服務發送業務流的第一部分。然后,網絡服務以第一詳細級別檢查業務流的第一部分,并確定業務流滿足第二條件。然后,基于確定業務流滿足第二條件,網絡可以向網絡服務發送業務流的第二部分。所述網絡服務還可以以第二詳細級別檢查業務流的第二部分,其中,第二詳細級別的檢查需要與第一詳細級別的檢查不同的計算資源量。
還公開了方法和計算機可讀介質的實施例。
以下參考附圖詳細描述更多實施例和特征,以及各實施例的結構和操作。
附圖說明
附圖合并于此并形成說明書的一部分。
圖1示出了根據實施例的被配置為應用增加的網絡資源的網絡的框圖。
圖2示出了示出根據實施例的系統的進一步細節的框圖,所述系統提供對網絡流應用增加的網絡資源。
圖3示出了示出根據實施例的不同級別的流分析的功能的圖示。
圖4是示出根據實施例的基于策略來執行對微流應用增加的網絡資源的方法的流程圖。
圖5是示出根據實施例的用于增加對網絡中的業務流的網絡資源的分配的方法的流程圖。
在附圖中,相似的附圖標記一般指示相同或相似的要素。附加地,一般來說,附圖標記最左的數字位標識首次出現該附圖標記的附圖。
具體實施方式
在實施例中,基于啟發式和策略條件,對業務流遞增地應用網絡資源。在示例中,輕量級網絡服務首先檢查數據流的一小部分。輕量級網絡服務可以使用利用有限計算資源的技術來檢查數據流的一部分。輕量級服務可以檢查數據流以確定數據流是否需要更詳細的檢查。僅當網絡服務確定需要更詳細的檢查時,可以使用需要更多計算資源并且增加更多延時或更高成本的技術來檢查整個數據流。
為了以這種方式應用增加的資源,網絡客戶端可以配置與其他客戶端或服務的網絡連接的偏好或策略。例如,客戶端可以提供指定入侵檢測系統監視與特定方的特定類型業務的策略。在實施例中,網絡可以監視進入和來自客戶端的業務,以檢測業務是否滿足策略條件,如滿足,將滿足條件的業務的一部分(或微流)路由經過入侵檢測系統。例如,網絡可以將特定類型且定向至特定方的分組路由經過入侵檢測系統。實施例還可以基于策略和啟發式來增加被檢查的流的量和檢查級別。以這種方式,通過對業務流逐漸應用網絡資源,網絡可以提供網絡業務的經濟處理。
圖1示出了根據實施例的對業務流逐漸應用網絡資源的網絡100的框圖。
網絡100可以是被配置為在客戶端計算設備(例如個人計算機、服務器、移動設備、局域網等)之間傳輸數據的業務網絡。在實施例中,網絡100是廣域網(WAN)或城域網(MAN)。在實施例中,網絡100提供虛擬網絡服務,例如虛擬局域網(VLAN)、虛擬專用網(VPN)等。在實施例中,網絡100提供遠程位置的客戶端之間的以太網連接性。例如,網絡100可以提供具有專用帶寬的虛擬電路,用于遠程位置的客戶端之間的數據通信。網絡100可以使用任何點對點、點對多點或多點對多點的網絡協議。所使用的網絡接入協議可以包括例如以太網、異步傳輸模式(ATM)、高級數據鏈路控制(HDLC)、幀中繼、同步光網絡(SONET)/同步數字體系(SDH)、互聯網協議(IP)、傳輸控制協議(TCP)、用戶報文協議(UDP)、多協議標簽交換(MPLS)等。
在實施例中,網絡100包括路由器110a-f、控制器120、網絡服務提供方130、數據收集模塊140、分析模塊142、策略數據庫144和客戶端門戶150。以下將依次描述每個組件。路由器110a-f中的每一個可以是轉發分組的層2或層3設備。
控制器120可以將路由器110a-f配置為基于例如客戶端偏好、網絡策略或啟發式來路由數據。例如,控制器120可以配置路由器110a-f的路由表以創建兩個客戶端之間的虛擬電路。控制器110可以與分析模塊142通信,決定如何配置路由器110a-f。
網絡服務提供方130可以是被配置為對業務流執行服務的計算設備。例如,網絡服務提供方130可以是可監視、分析、阻止、復制或修改業務流的分組的入侵檢測系統、防火墻服務、防病毒系統、防垃圾郵件過濾器等。在實施例中,網絡服務提供方130是網絡100的一部分。在另一實施例中,網絡服務提供方130可以由經由例如互聯網與網絡100通信的外部第三方獨立提供。
在實施例中,控制器120配置路由器,將業務流或業務流的一部分路由經過網絡服務提供方130。例如,第一方可能希望創建與第二方通信的業務流,但可能希望入侵檢測系統監視該流。控制器120可以配置一組路由器來承載多方之間的業務流并在路由中包括服務提供方130。在實施例中,控制器120可以基于從網絡采集的數據使用啟發式,以配置業務流路由和應用于流的網絡服務。
數據收集模塊140可以基于與流相關聯的策略從網絡流中收集數據,并向分析模塊142轉發數據用于分析。在實施例中,路由器110(例如任一個路由器110a-f)可以檢測新數據流。當檢測到來自新數據流的分組時,路由器可以向數據收集模塊140轉發包括其首部和其內容的該分組。
數據采集可以取決于特定流所需的檢查量。例如,策略可以指定對流的分析級別,并且數據收集模塊140可以基于指定的分析級別從分組中采集信息。在一個示例中,在表示流的中等可信的檢查級別下,數據采集模塊140只采集流的分組首部。在另一示例中,在表示流的較高可信級別的較低檢查級別下,數據采集模塊140對首部的子集進行采樣。在又一示例中,針對被更仔細檢查的流,數據采集模塊140可以收集整個流。以這種方式,可以基于對流的分析來調整數據收集和分析的詳細級別,如下進一步所述。
分析模塊142可以分析由數據收集模塊142采集的數據,以檢測可能觸發策略條件或安全標志的條件。為檢測該條件,分析模塊142從策略數據庫144采集策略信息。
策略數據庫144可以存儲與例如網絡客戶端、源和目的地地址、應用等相關聯的策略。在實施例中,客戶端指定與其業務流相關聯的策略。例如,客戶端和服務器可以通過網絡100進行通信。客戶端可以指定其希望其與服務器的HTTP業務被入侵檢測系統所監視。策略數據庫144還可以存儲基于啟發式的策略。例如,相比其他業務,網絡管理者可能希望對異常業務進行更仔細的評估。管理者可以建立基于啟發式的策略,該策略聲明平均分組大小超過一定閾值的流應被轉發經過入侵檢測系統,以進行更仔細的檢查。
通過使用策略數據庫144中的策略,分析模塊142可以對從數據收集模塊140獲得的流數據進行評估,以確定是否滿足任何策略。如果滿足了任何條件,分析模塊142可以與控制器120通信,并指示其配置路由器110a-f按照滿足的策略來路由業務。例如,如果分析模塊142檢測到業務流的平均分組大小超過由基于啟發式的規則建立的閾值,分析模塊142可以通知控制器110,控制器110可以相應地配置路由器將流轉發經過服務提供方130,以便入侵檢測系統進行監視。
客戶端門戶150可以從網絡客戶端接收策略和配置信息。在實施例中,客戶端門戶150可以向客戶端提供用戶接口,例如web接口,在所述用戶接口處,客戶端可以提供用于其網絡通信的策略和配置信息。在另一實施例中,客戶端門戶150可以提供應用程序接口,所述應用程序接口使客戶端能夠提供用于其網絡通信的策略和配置信息。
客戶端門戶150可以接收特定流、特定客戶端、特定方、特定應用等所需的安全性或性能的高級別指示。基于這些指示,客戶端門戶150可以在策略數據庫144中配置策略。在另一實施例中,客戶端門戶150接收特定流所需的檢查級別或入侵檢測分析的具體策略。
圖2示出了示出根據示例實施例的系統的進一步細節的框圖,所述系統提供對網絡流逐漸應用網絡資源。
流可以被配置為經過路由器110a和110b。圖2示出了根據示例實施例的如何基于對流確定的檢查級別來對流進行處理。
在實施例中,路由器110可以檢測新的流并執行流分析,并且將流路由至對應的模塊。在實施例中,路由器110可以檢測來自新的流的分組,并將該分組轉發至數據收集模塊140,用于分析模塊142進行分析。分析模塊142可以向控制器120提供分析指令,例如,通過提供流的檢查級別。然后,控制器120可以配置路由器110,以基于流的各個檢查級別來路由流。
在實施例中,路由器110可以被配置為對關于流的元數據執行啟發式分析。例如,路由器110(例如路由器110a)可以被配置為監視流的平均分組大小。如果平均分組大小偏離指定的范圍,路由器110a可以將來自流的分組轉發至數據收集模塊140,并且分析模塊142可以確定是否增加流的檢查級別。
在實施例中,控制器120可以基于流的檢查級別來配置路由器110將流分組的微流路由至服務提供方130。例如,針對第一檢查級別的流,路由器110a可以被配置為使任何分組都不路由經過提供方130,并且可以執行對流元數據的啟發式分析,并將流直接路由至路由器120b。以這種方式,可以在路由器110a處進行第一級別的檢查。
除了第一分析級別,為進行不同級別的檢查,分組可以被發送至服務提供方130提供的各個模塊:分組采樣器模塊232、流優化器模塊234、業務采樣器模塊236以及連續分析器238。
具體地,在第二檢查級別,路由器110a可以被配置為將由分組首部的采樣(例如,隨機化的首部采樣)組成的微流路由至網絡服務提供方130用于分析。然后,提供方130處的分析采樣器模塊232可以分析該微流。在第三檢查級別,路由器110a可以被配置為將由分組首部組成的微流路由至提供方130,提供方130中的流優化器模塊234可以分析該微流。在第四檢查級別,路由器110a可以被配置為將由包括首部和內容的分組所組成的微流路由經過提供方130,提供方130中的業務檢查器模塊236可以分析該微流。在第五檢查級別,路由器110a可以被配置為將整個流路由經過提供方130,提供方130中的連續分析器238可以分析該流。所描述的檢查級別和微流僅是示例,意在示出網絡100的實施例的功能,并且相關技術領域的技術人員將認識到適用于分組流分析的不同方法的其他示例。
提供方130可以對微流進行分析,例如,入侵檢測、防火墻、防垃圾郵件過濾等。然后,提供方130可以根據分析結果來執行對流的其他動作,例如,阻止被確定為形成安全風險的分組,發送警報等。在實施例中,提供方130可以與分析模塊142通信,以基于在先分析結果來調節流的檢查級別。
圖3示出了示出根據示例實施例的不同級別的流分析的功能的圖示。
在級別302,不對流執行具體分析,并且僅執行對流的元數據的一般啟發式分析。例如,分析可以包括確定分組的平均大小、分組的數目、發送的字節等。
在級別304,可以執行分組采樣,所述分組采樣可以例如識別微流。在該級別,分析可以包括查看分組首部的隨機采樣并確定它們是否滿足特定標準。例如,分組采樣可以用于識別被應用策略的微流(例如,層3和層4IP、端口、協議信息、甚至來自特定地址的HTTP分組)。然后,控制器110可以應用策略。
在級別306,可以執行流優化,所述流優化可以例如在確保性能水平的同時查看整個流。性能水平可以定義在應用性能數據庫中,當識別流并在該應用性能數據庫中查找該流時,應用性能數據庫可以決定具體的服務級別(確保的帶寬、延時、抖動、分組丟失等)。在該級別,分析可以包括查看流或微流中的所有分組的首部,以檢測與策略或規則相匹配的條件。
在級別308,可以執行業務檢查,所述業務檢查可以例如查看一些分組的有效載荷。例如,分析可以包括查看流或微流中的隨機分組的有效載荷,以及查找與特定類型業務相關聯的攻擊模式。
在級別310,可以執行連續分析,所述連續分析可以例如查看整個流或微流。例如,分析可以包括查看流或微流中的所有分組的首部和有效載荷,以及檢測與特定類型業務相關聯的攻擊模式。
圖4是示出根據示例實施例的基于策略來執行對微流逐漸應用網絡資源的方法400的流程圖。
在步驟402,網絡從客戶端接收關于其網絡通信中的一個或多個的策略。基于參數(例如,源和目的地地址(如IP地址)、源和目的地端口(如TCP或UDP端口)、協議(如HTTP、RTP)、應用等),客戶端可以指定用于其通信的全部或一部分的策略。在實施例中,網絡客戶端可以指定其通信的全部的一部分所需的性能和安全性。客戶端可以提供對特定通信所需的性能或安全性的高級描述(例如,與ABC公司的通信的高安全性,與XYZ公司的通信的高吞吐量),或者可以提供特定低級策略細節(例如,用于特定IP地址和端口之間的通信的特定IDS服務)。
在步驟404,網絡在策略數據庫中存儲與客戶端通信相關聯的策略。在實施例中,網絡基于客戶端提供的高級別輸入來創建低級策略(如步驟402中所述)。
在步驟406,網絡從流中收集數據采樣用于分析。在實施例中,網絡可以從新數據流中收集第一分組,并且可以確定該流是否滿足策略數據庫中建立的條件,如步驟408所示。例如,基于對分組的分析,網絡可以確定該流具有與策略相匹配的源和目的地IP地址,所述策略指定流必須要經過入侵檢測系統。
在步驟408,如果網絡確定數據流滿足策略條件,則網絡根據策略來調節其用以轉發該流或該流的微流的流路由,如步驟410所示。例如,網絡可以調節路由器的路由表,將微流(例如分組的首部)路由經過入侵檢測系統。
網絡可以從流中連續地收集數據,以確定是否發生策略條件,如流程圖中回到步驟406所示。
圖5是示出根據示例實施例的用于增加對網絡中的業務流的網絡資源的分配的方法500的流程圖。
在步驟502,網絡可以將流的業務檢查級別設置為初始級別。
在步驟504,網絡可以基于針對流設置的檢查級別來檢查流的網絡業務。對業務的檢查可以包括例如發送流的一部分(例如微流)經過網絡服務。發送可以包括使流的一部分(例如微流)重路由經過網絡服務,或者并行地復制經過網絡服務的分組。在實施例中,檢查級別每高一級,就檢查流的更多部分,并應用更多的網絡資源來檢查流。
在步驟506,網絡可以檢測流中的感興趣的事件。例如,入侵檢測系統可以檢測流中與危及特定類型服務器的攻擊模式相匹配的分組序列。當網絡檢測到感興趣的事件時,網絡可以提高流的業務檢查級別,如步驟508所示。提高流的業務檢查級別可以包括在圖3示出的更高一級檢查流的分組序列中的附加分組。然后,如504所示,在高檢查級別,網絡可以繼續檢查流,以進一步確定實際是否發生攻擊并適當地處理它。
類似地,網絡可以繼續監視流以確定感興趣的事件是否持續。在入侵檢測系統的示例中,網絡可以監視以確定流是否持續匹配與攻擊模式相匹配的序列。在事件與數據流中的分組大小或分組數目或分組速率相關的示例中,網絡可以持續監視以確定分組的大小、數目或速率是否在正常范圍之外。當事件不再存在時,網絡可以降低檢查級別。通過降低檢查級別,在如圖3示出的較低級別流的分組序列中的附加分組,從而釋放出網絡資源以評估其他領域的潛在攻擊。
結論
策略數據庫144可以是任何存儲類型的結構化存儲器,包括永久性存儲器。在示例中,數據庫可以實現為關系數據庫或文件系統。
可以用硬件、軟件、固件或其任意組合來實現圖1和圖2中的框和模塊的每一個。
可以在相同或不同計算設備上實現圖1和圖2中的框和模塊的每一個。這種計算設備可以包括但不限于個人計算機、移動設備(例如移動電話)、工作站、嵌入式系統、游戲控制臺、電視、機頂盒或任意其他計算設備。此外,計算設備可以包括但不限于,具有處理器和存儲器的設備,包括用于執行和存儲指令的非瞬時性存儲器。存儲器可以有形地體現數據和程序指令。軟件可以包括一個或多個應用和操作系統。硬件可以包括但不限于處理器、存儲器和圖形用戶界面顯示器。計算設備還可以具有多個處理器和多個共享或分離的存儲器組件。例如,計算設備可以是集群計算環境或服務器群的一部分或全部。
諸如“(a)”、“(b)”、“(i)”、“(ii)”等的標識符有時用于不同的要素或步驟。使用這些標識符是為了清楚而不必需指定要素或步驟的順序。
以上已經在示出指定功能及其關系的實施方式的功能構建塊的輔助下,描述了本發明。為便于描述,本文已經任意定義了這些功能構建塊的邊界。只要所指定的功能及其關系被適當地執行,就可以定義備選邊界。
特定實施例的上述描述將完全揭示本發明的總體性質,其他人可以在不過度實驗,不脫離本發明的總體構思的情況下,通過應用本領域技術知識來容易地修改和/或適配這種特定實施例的各種應用。因此,基于本文提出的教導和引導,這種適應和修改旨在所公開的實施例的等同物的含義和范圍內。將理解的是本文的措辭和術語用于描述而非限制的目的,使得本領域技術人員鑒于教導和引導來解釋本說明書的措辭或術語。
本實施例的寬度和范圍不應受任意上述示例的限制,而是應僅根據所附權利要求及其等同物來限定。