TW201526588A - 用於本地與遠端處理時之設備控制分隔的系統及其方法 - Google Patents

用於本地與遠端處理時之設備控制分隔的系統及其方法 Download PDF

Info

Publication number
TW201526588A
TW201526588A TW102146710A TW102146710A TW201526588A TW 201526588 A TW201526588 A TW 201526588A TW 102146710 A TW102146710 A TW 102146710A TW 102146710 A TW102146710 A TW 102146710A TW 201526588 A TW201526588 A TW 201526588A
Authority
TW
Taiwan
Prior art keywords
computer
client device
cpe
client
tcp
Prior art date
Application number
TW102146710A
Other languages
English (en)
Inventor
Douglas L Wadkins
Yun Fong Loh
Surendra Prajapat
Original Assignee
Edgewater Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Edgewater Networks Inc filed Critical Edgewater Networks Inc
Priority to TW102146710A priority Critical patent/TW201526588A/zh
Publication of TW201526588A publication Critical patent/TW201526588A/zh

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

揭露在用戶端設備和遠端供應商計算機之間分配計算和存儲工作的技術。該技術包括用戶端設備接收來自用戶端的TCP資料流、重新寫入IP標頭至TCP資料流、以及將TCP資料流轉送至預設的TCP埠。該技術還包括操作在用戶端設備的用戶空間的暫態終端伺服器程序來讀取由用戶端傳送的應用層負載內容,並且傳送資料到深層封包檢測引擎進行分類。這些技術可以包括辨識來自用戶端的資料流、與所述資料流相關聯的協定、從儲存在用戶端設備中的政策快取查找處理政策、以及根據處理規則處理資料流。

Description

用於本地與遠端處理時之設備分流控制的系統及其方法
本發明係關於計算機設備的控制,特別是本發明實施例涉及一種介於本地設備和遠端設備之間的用戶位置之計算機設備的分流控制方法。
許多組織,如企業依靠計算機網路。計算機網路通常包括本地計算機,如工作站和伺服器,以及可連接網際網路的遠端用戶計算機之介面。通常,計算機網路有一個閘道器負責網路流量管理。例如:一台計算機可以提供網路安全和管理本地網路流量及網際網路流量。隨著網路/網際網路通信頻寬的增加,對於豐富內容的文件、媒體、網頁等的需求也在不斷增加。隨著網路流量的增加,閘道器管理網路流量變得越來越困難。對於許多組織而言,維持一個具有足夠的處理能力和儲存容量的閘道器,以便充分滿足網路流量的需求將使成本變得過高。
本發明所揭露的一種以計算機實現的方法,其步驟包含:在用戶端設備接收來自用戶端的TCP資料流;用戶端設備重新寫入IP標頭至TCP資料流;用戶端設備將TCP資料流轉送至預設TCP埠;在用戶端設備的用戶空間操作暫態終端伺服器程序以讀取透過所述用戶端發送的應用層封包內容;暫態終端伺服器程序傳送資料至深層封包檢測引擎進行分類;對用戶端的資料流進行辨識以找出與資料流相關的協定;暫態終端伺服器程序從儲存在用戶端設備的政策快取 中查找處理政策;以及用戶端設備根據此處理政策處理資料流。
另外,本發明所揭露的一種計算機系統,包含:用戶端設備,其被編程為:接收來自用戶端的TCP資料流;重新寫入IP標頭至TCP資料流;轉送此TCP資料流至預設TCP埠;在用戶空間操作暫態終端伺服器程序以讀取透過用戶端傳送的應用層封包內容;傳送資料至深層封包檢測引擎進行分類;對用戶端的資料流進行辨識,以找出與資料流相關的協定;自政策快取中查找處理政策,此政策快取儲存在用戶端設備;以及根據處理政策處理所述資料流。
10‧‧‧組織
14‧‧‧計算機網路
18‧‧‧工作站
22‧‧‧伺服器
26‧‧‧閘道器
30‧‧‧供應商計算機
34‧‧‧第三方計算機
38‧‧‧網路/FTP/VPN/網際網路
42‧‧‧左上方
46‧‧‧右上方
50‧‧‧網路控制器
110‧‧‧審計
114‧‧‧安全性/角色型存取控制
118‧‧‧訊息
122‧‧‧系統管理
126‧‧‧應用程式介面
130‧‧‧監測
134‧‧‧持久性/快取層
138‧‧‧索引/搜尋
142‧‧‧資料庫複寫
150‧‧‧CPE配置
154‧‧‧系統及站點配置
158‧‧‧CPE狀態儲存
162‧‧‧系統及站點狀態儲存
166‧‧‧日誌記錄
170‧‧‧歸檔層
174‧‧‧網路通信中介
178‧‧‧網路控制器
182‧‧‧管理控制器
186‧‧‧資料路徑控制器
190‧‧‧CPE管理器/應用程式邏輯
194‧‧‧資料存取服務
198‧‧‧CPE物件存取
202‧‧‧虛擬服務管理器
206‧‧‧CPE服務匯流排
210‧‧‧瀏覽器
214‧‧‧虛擬機器/服務協調流程
222‧‧‧OSS/BSS系統
310‧‧‧處理設備
314‧‧‧使用者介面
318‧‧‧通信設備
322‧‧‧記憶體設備
326‧‧‧分流通透性代理模組
330‧‧‧流量表
334‧‧‧狀態表
338‧‧‧其他表或模組
342‧‧‧處理設備
346‧‧‧使用者介面
350‧‧‧通信設備
354‧‧‧記憶體設備
358‧‧‧分流通透性代理模組
362‧‧‧流量表
366‧‧‧狀態表
370‧‧‧其他表或模組
第1圖為說明本發明計算機系統的各個方面之示意圖。
第2圖為說明計算機系統方面之示意圖。
第3A圖及第3B圖為說明定義在用戶端設備的軟體功能架構之示意圖。
第4圖為說明計算機系統方面之示意圖。
第5圖及第6圖為說明可透過計算機系統使用的資料傳輸之示意圖。
第7圖為舉例說明用戶端設備的組件之示意圖。
第8圖為舉例說明遠端供應商計算機的組件之示意圖。
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施,對應的參考符號代表全部附圖的幾個圖式中相應的部件。本技術領域通常知識者應當理解,圖式中的元件為簡單和清楚起見, 並沒有必要按比例繪製。例如,某些附圖中元件的尺寸可能相較於其他元件被放大,以幫助提高對本發明各種實施例的理解。另外,常見但習知的元件,其在商業上可行的實施例中是有用的或必要的,但為了避免視野受阻以及便於本發明各實施例的說明,這些元件往往並未被描繪。
在下面的描述中,為了便於徹底理解本發明,顯然對許多具體細節進行了闡述。然而,這些具體細節對本發明的技術領域中的通常知識者而言不需要被詳細說明。在其他實例中,習知的材料或方法沒有被詳細揭示,以避免模糊本發明。
在本說明書中所提及的“一個實施例”、“具體實施例”、“一個舉例”或“示例”意味著其特定的特徵、結構或特性被描述在相應的實施例或舉例中,其被包含在本發明的至少一個實施例。因此,在各本說明書中各處出現的詞句“一個實施例”、“具體實施例”、“一個舉例”或“示例”並不一定是指相同的實施例或舉例。此外,特定的特徵、結構或特性可以被組合在一個或多個實施例或舉例中的任何合適的組合及/或子組合。除此之外,為了說明的目的使提供的圖式能夠被本領域技術人員所理解,附圖不一定依照比例繪製。
本發明的實施例可體現為一種裝置、方法或計算機程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例(包括韌體、常駐軟體、微程式碼等等)的形式,或者一個實施例中結合軟體和硬體方面,其通常可以稱為一個“模組”或“系統”。除此之外,本發明可以將計算機程式產品具體體現在具有計算機可用程式碼的任何有形媒體之形式。
一個或多個計算機可用或計算機可讀媒體的任何組合都可以使用。例如,計算機可讀媒體可以包括一個或多個可攜式計算機軟碟、硬碟、隨機存取記憶體(RAM)裝 置、唯讀記憶體(ROM)裝置、電子可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)裝置、唯讀光碟機(CDROM)、光儲存裝置、磁儲存裝置。用於實施本發明的操作之計算機程式碼可以透過一個或多個程式語言的任何組合編寫。
所述實施例也可以在雲端運算環境中實施。在本說明書和下面的申請專利範圍中,“雲端運算”可以被定義為一個模型,用於實現無所不在的、方便的、隨需求以網路存取一個配置計算資源(例如:網路、伺服器、儲存器、應用程式及服務)的共享池,其可通過虛擬化技術以最少的管理工作或服務供應商互動來快速配置和發布,然後進行相應地調整。雲端模型可以包含各種特性(例如:隨需自助服務、廣泛的網路存取、資源池、快速彈性、測量服務等)、服務模式(例如,軟體即服務(Software as a Service,SaaS)、平台即服務(Platform as a Service,PaaS)、基礎設施即服務(Infrastructure as a Service,IaaS)、以及部署模型(例如:私有雲、社區雲、公共雲、混合雲等等)。
在流程圖中的流程和方塊說明了根據本發明的各種實施例之架構、功能、系統、方法和計算機程式產品的可能實現之操作。在這方面,流程圖或方塊圖中的每一個區塊可以表示一個模塊、段落或部分程式碼,其包括用於實現指定的邏輯功能的一個或多個可執行指令。還應當指出的是,所示方塊圖及/或流程圖的每一個區塊,以及在所述方塊圖及/或流程圖中各區塊的組合,可以由執行指定功能或動作的特殊用途之基於硬體的系統來實現,或是專用硬體和計算機指令的組合。這些計算機程式指令也可儲存在一個計算機可讀媒體,其能引導計算機或其他可程式化資料處理設備以特定方式起作用,使得儲存在計算機可讀媒體中的指令產生製造物品,包括指令裝置,它實現在流程圖及/或方框圖區塊或多個區塊中指定的功能/動作。
本發明特別揭露了供應商如何在用戶網路管理 負載。特別是本發明揭露了一個供應商如何在用戶網路的閘道器上管理資料處理和資料儲存負載。閘道器是控制網路內的網路流量的計算機。
請參閱「第1圖」,一個組織10可以操作計算機網路14。該組織可能是一個企業、教育機構、政府機構等等的組織,通常在文中稱該組織為用戶,因為他們可能是一個如文中舉例提供管理及降低閘道器負載的供應商之用戶。除此之外,在文中所述的第三方用戶可以是個人或計算機,其存取網路14或以其他方式與網路通信以發送或接收數據。
用戶的計算機網路14可包含個人計算機,如:工作站18、伺服器22及閘道器26,在用戶中的計算機網路14可透過網路,如:本地區域網路,用以相互通信。用戶計算機網路中的計算機也可以透過網際網路38與供應商計算機30及第三方計算機34相互通信。可以理解的是,各種計算機通常透過網路設備,如:路由器、交換器、數據機等等,用以與其他計算機通信。
藉由示例的方式,用戶10可以是商業及用戶網路14,包含有員工計算機18,此員工計算機18可與其他員工計算機18或商業伺服器22相互通信,也可以與用戶網路10之外,如:第三方計算機34相互通信。在此情況下,第三方計算機34可為其他組織的資料伺服器。第三方計算機34也可包含人員的個人計算機,用來接收來自用戶10的產品、服務或資訊,以及與用戶10通信,如:從用戶伺服器22接收資訊。
閘道器26可管理在用戶網路14中的網路流量。在一個實施例中,閘道器可提供用戶10全面地安全及執行多種安全功能,如:網路防火牆、網路入侵防禦、閘道器防毒、閘道器垃圾信件過濾、虛擬私有網路(virtual private networks,VPN)、內容過濾、負載平衡、預防資料洩漏及報告。
供應商計算機30可運作在閘道器26以管理閘道 器26的處理及資料儲存負載。計算機設計及製造的進步製造出功能越來越強大的計算機、路由器、網路服務等等,而且用戶需求也同樣隨內容的類型及品質而增加。隨著網際網路和網路頻寬的增加,閘道器26經常變得使大多數的公司無法以經濟實惠的價格管理網路流量。
在一個實施例中,閘道器26可以為組織10執行網路安全任務。網路安全任務的主要類型可參考整合式威脅管理(unified threat management,UTM),整合式威脅管理任務可包含網路安全任務,如:網路防火牆、網路入侵防禦、閘道器防毒、閘道器垃圾信件過濾、虛擬私有網路、內容過濾、負載平衡、預防資料洩漏及報告。
隨著頻寬變得更經濟實惠,可用的廣域網路鏈結速度急遽增加,由於增加計算及儲存需求,導致傳統的UTM閘道器26無法在許多企業可以負擔得起的價格點執行所有功能且維持200Mbps以上的吞吐量(throughput)。
計算和儲存負載是在閘道器26及遠端供應商計算機30之間共享,以允許閘道器可以較高的吞吐量進行操作。供應商計算機30提供儲存和計算能力的可擴展性及彈性來源。
軟體、硬體及用戶計算機系統14的相關元件可被編程及配置以實現文中所述的一個或多個實施例。供應商計算機30可透過網路連接或網際網路連接38來與閘道器26通信,用以承擔起有關網路流量的計算和儲存任務。供應商計算機30及閘道器26可使用硬體、韌體、軟體等等,其允許供應商計算機30接收被導向的閘道器26資料,以及執行有關閘道器26的任務30。
在一方面,本發明提供一種對用戶端設備(customer premises equipment,CPE)的分流控制方法,例如:閘道器26在外部如供應商計算機30的中央處理器與閘道器26內部的中央處理器之間,在必要時將閘道器CPE的狀 態儲存至外部環境及更新狀態,然後使用軟體定義網路(software-defined networking,SDN)連接外部環境至實際CPE。
舉例來說,封包標頭可被用於產生平均意見評分,這允許平均意見評分(mean opinion score,MOS)演算法的執行,從外部的中央處理器的角度來看費用浩大。同樣地,其他應用通常需要可被執行在以外部處理器替代的完整封包,例如:中間盒(middlebox)安全應用,其使用不同策略,不需要完整的封包作決策。這些中間盒應用現在可以被執行在外部環境,從而釋放用戶端設備的中央處理器。
狀態可以被作為一種實現分流處理的方式,實體的用戶端設備26具有流量表以控制進行中的每一流量或具有已知特性的未來流量之發生情況。所述流量表也儲存在虛擬環境30中。另外,實體的用戶端設備26的其他特性被建模為一個狀態,且被儲存在虛擬環境(即:供應商計算機30)。典型的CPE服務如:路由器、防火牆等等都是作為規則引擎運行,在需要的時候,可以修改給定的CPE之相關狀態。這解決了在分流環境中,不得不為CPE的每一個虛擬機器運行路由器、防火牆等等虛擬機器之問題。相反地,每一個CPE是由儲存狀態及一個邏輯路由器、防火牆等等所表示,當必要時運行修改的狀態。
流量的狀態在一定程度上是持續地,這也透過卸載較重的計算問題至虛擬環境30以增加CPE26的性能,並且只要求在必要時重新計算。從而在實體的CPE26中儲存狀態表,且用以允許經由CPE26快速路徑處理提升CPE吞吐量、在控制通道減少震動(chatter)數量(節省頻寬及資料中心負載)以及減少關於先前分流處理模式的網路延遲。
存活性規則可被用在分流處理模式及演算法,用以檢測何時進入存活模式、針對何種應用程式進行檢測及何時恢復。
服務供應商及企業網路都充滿了大量及多種的專有硬體設備,要啟動一個新的網路服務通常需要更改專有硬體設備或增加額外的設備。尋找空間、電源、資本及技術人員來設計、整合和管理這些日益複雜的設備將越來越難。除此之外,硬體設備迅速達到生命盡頭時,需要在很少或沒有收益的採購-設計-整合-部署之週期重複。更糟糕的是,產品的生命週期越來越短如同技術和服務創新加速,抑制新的賺取收益的網路服務推出,並且在日益以網路為中心的連結世界中壓迫創新。
網路功能虛擬化(Network functions virtualization,NFV)被用來作為替代硬體設備中心方法,透過利用IT虛擬化技術架構網路以整合多種網路設備至工業標準高量伺服器、交換器及儲存器,其可位於遠端的資料中心、網路節點甚至在終端用戶處所。網路功能可以實現在軟體中,其可運行在工業標準伺服器硬體,而且其可被移動、實體化在網路的各位置而不需要安裝新設備。
在硬體設備模型中,所有提供服務的功能性是常駐在設備中,且導致多個設備的管理是麻煩且昂貴的。在NFV模型中,所有流量回送至一個資料中心,其中中間盒的設備運行在虛擬機器提供功能性服務於終端用戶,然而,前述NFV模型沒有效率,因為所有流量均通過一個資料中心。
軟體定義的CPE是混和解決方案,用以最佳化服務部署。適合運行在硬體設備中的功能性就運行於硬體設備,以及功能性適合運行在虛擬機器上的就運行於虛擬機器上。軟體定義的CPE是一種靈活的框架,它利用軟體定義網路及虛擬化,用以快速地提供服務且低成本。軟體定義的CPE可使用合作雲端處理,且通常開放、靈活、多租戶及快速更新。
軟體定義的CPE使用軟體定義網路協定(OpenFlow)分成控制平面和轉送平面,並且最佳化控制平 面和轉送平面的互動。
一些中間盒應用程式更有效地在NFV模型中運行,而且一些功能更適合在CPE的硬體設備。NAT、防火牆、網路存取控制、會談邊界控制器(session boarder controller,SBC)、路由、無線存取點管理,這所有服務是CPE核心。另一方面,網頁代理服務可更有效地運行作為一個在資料中心的虛擬機器上的應用程式。
這導致了兩個額外的問題,首先,任何流量必須經過一個運行在資料中心的應用程式,需要在CPE設備被分割出且被轉送至資料中心,以及任何返回流量需要遵循一路徑回到在資料中心的中間盒應用程式。解決這個問題是使用流量和OpenFlow表以在必要時引導流量。這意味著,每個流量類型必須被識別、分類,然後套用合適的政策。增加軟體定義的網路經由OpenFlow至CPE設備,使NFV模型僅將所需的流量轉送至資料中心而更有效率。
為了使基於CPE的服務更有效率,服務的處理可被卸載到資料中心。在平均意見評分(mean opinion score,MOS)的情況下,聲音或視訊通話品質的評分,或中間盒服務如:入侵偵測系統(intrusion detection system,IDS)/入侵防禦系統(intrusion prevention system,IPS)、封包標頭可被轉送至運行在資料中心的應用程式,使得CPE設備26不必負擔運行MOS或IDS/IPS的演算法。如果情況需要,所有封包可被複製及/或原始封包在指定流量可透過演算法而被路由。當封包到達實體CPE硬體設備26,在CPE檢查的軟體會查看如何處理相應於此封包的流量之規則是否存在,假如規則存在,那麼就按照此規則處理流量。
如果規則不存在,那麼CPE26辨識封包或此封包被轉送至資料中心30進行分類。一旦封包被分類,相應流量規則組合被計算且結果儲存在CPE虛擬機器,以及發布至實體CPE設備26。如果一些流量需要持續地檢驗,類似MOS 或其他中間盒功能流量統計的產生,那麼只將封包標頭複製或轉送至運行在資料中心的MOS應用程式或運行在資料中心的其他中間盒功能。使用封包標頭的卸載技術適用於任何服務,其使用封包統計以進行流量分析、品質分析、或需要深層封包檢測的許多中間盒功能。
此外,為了最大限度地提高硬體設備的吞吐量,可以使用分流處理模型。「第2圖」說明在高層級,「第2圖」的左上方42顯示運行在虛擬環境(即:在供應商計算機30上)的第三方應用程式。軟體定義的CPE依要求轉送流量至這些第三方應用程式,「第2圖」的右上方46顯示應用程式組常駐為基於CPE的服務,並且描述分流處理模型。在所述分流處理模型中,流量規則用以啟動、停止及更改流量,但這些規則只在必要時更新。這是透過對實體CPE26的狀態建立模型,並且將其儲存在虛擬環境30的方式進行。當一更新至實體CPE26的狀態是必要的,一種迴圈軟體處理包含更新規則組合,用於計算必要的修改,然後用於更新虛擬狀態模型以及更改在實體設備中的流量表。
其結果是,透過控制平面消耗頻寬量,以及透過在資料中心作轉送決策降低延遲。當一個封包到達實體CPE26時,它透過封包的來源IP位址、來源埠號、傳輸協定、高階協定以及在需要時的加密識別來進行辨識。實體CPE的流量被封鎖直到允許流量繼續的流量規則組合被載入。流量規則可在實體CPE設備中被快取(cache),或是實體CPE設備可從運行在資料中心30的虛擬CPE請求一個規則。因此,軟體定義的CPE可先提供網路存取控制,每一流量可有相應的一個規則組合,且此規則組合可透過政策而被控制。
這個規則組合的產生和儲存以及實體CPE虛擬化的建模是透過唯一的儲存狀態。規則組合代表在一個時間點上給定的流量狀態。所述規則組合是透過軟體程序被更新,軟體程序運行為在外部處理器,如計算機30上的一個連 續迴圈。這個外部處理器在一個服務提供的角度可以是設備中的一個處理器。它可能是運行在刀鋒伺服器的處理器、或虛擬機器。當規則組合需要更新時,適當的規則處理是將相關資訊送至資料封包以產生用以修改規則組合的更新及輸出。新的規則組合被儲存在虛擬CPE個體以及傳送至實體CPE,實體CPE使用此規則組合於流量直到計時器到期、流量終止或規則組合需要更新為止。
在一個會談啟始協定(session initiation protocol,SIP)應用層閘道式防火牆(application-level gateway,ALG)的實施例,必須在CPE設備上進行SIP網路位址轉換(network address translation,NAT)。在實體設備模型中,SIP、ALG運行在原生設備中,這意味驗證不同流量的類型、複製SIP流量至ALG以被解析、調用規則組合以確定所需的修改、修改完成及SIP流量被轉送。在SIP的情況下,一個邀請(INVITE)是一個對話框建立事件且具有相應的狀態,SIP ALG維護那些修改狀態需要在給定的對話框進行。然而,ALG持續地計算這個將在CPE26的CPU上建立一個不必要的連續負載。此外,改變ALG規則組合需要一個代碼更新至設備上的韌體。如果數千台設備中只有一個設備需要此規則更新,管理服務供應商必須驗證及更新所有設備以避免過多不同情況的軟體運行不同的特性。
在軟體定義的CPE模型中,所述處理是在CPE26上的實體硬體設備及計算機30上的虛擬化環境之間分流,SIP解析或部分的SIP解析仍運行在CPE設備上,雖然也可運行在計算機30的外部處理器。修改SIP協定的能力可能仍運行在CPE設備,修改SIP訊息的規則及規則引擎是運行在計算機上的外部處理。這允許規則在實體硬體設備上的韌體獨立更新,而且允許更快的處理以及每一CPE個體的獨立規則。
在實體CPE26的不同處理是建模為CPE的狀態,且在計算機30上儲存為如虛擬CPE環境。因此,在SIP 對話開始的情況下,實體CPE設備對流量分類或傳送流量至外部處理以進行分類。這個分類是透過檢查封包標頭來完成,且可在硬體輔助或經由在實體CPE設備上的軟體或類似在計算機30上的外部處理。一旦流量被分類為SIP流量,SIP解析器再次於硬體輔助下運行、在實體CPE上的軟體或在外部處理分類訊息作為具有會談描述協定(session description protocol,SDP)的一個邀請(INVITE)。
解析功能也確保訊息是正確格式,此訊息透過包含規則的流量表以與標頭內的來源IP、來源埠號及訊息進行匹配。必要時,使用RFC 3325,4474驗證以確保使用者有權發送及邀請,並且確認是否有任何特殊規則,如必需的日誌或記錄。假如存在的流量表項目具有修改INVITE及SDP的必要規則,這些規則被調用以進行修改。假如存在的流量表項目不包含必要規則,向虛擬環境30請求,使其規則引擎計算必要的規則/更改規則表。這個改變被儲存為虛擬環境30的狀態,且流量表更新被傳送至實體硬體設備26。在虛擬環境30的狀態代表實體CPE26在一個時間點且狀態有更新的必要。這將一個計算問題改變成儲存問題。
在軟體定義CPE模型的實體CPE26也可傳送封包,它不能辨識或更有效地辨識外部處理器30的封包。舉例來說,它不需要運行SIP解析器或在實體CPE上的局部SIP ALG。所述INVITE封包可被傳送至運行在外部環境的應用程式,其執行上述功能。在此例中,所有CPE26保留為了流量而快取的規則組合,並且所有辨識、操作和規則計算是在外部處理器完成。在虛擬CPE的流量之狀態的儲存在任一種情況下是相同的。
同樣地,假如SIP INVITE被外部CPE接收,此CPE將轉送訊息至虛擬環境,由規則引擎將確定該做甚麼。這將更新在虛擬環境30中的CPE26之狀態,以及在實體設備環境中的流量表的狀態。同樣路由的概念也是如此,所有其 他ALG功能、IDS/IPS功能、防火牆功能、網路存取控制及無線存取點管理和控制為例。
流量表更新至實體設備是透過OpenFlow協定發生,且作為OpenFlow協定的擴展,包含透過CPE管理通道更新。
在具有數以百萬計的CPE設備的部署中,每一個CPE設備可被視為虛擬CPE個體,其被建模為狀態,且作為一個結果,政策可應用在從任何其他個體分離出的每一個虛擬個體。
這種架構額外的好處是集中式邏輯允許系統從個別設備學習,例如,假如CPE1提供對PBX1的SIP中繼,且用戶升級PBX1的軟體,導致互用性的問題,那麼系統可以蒐集與此事件信號相應的簽章,當一個修補程序(patch)是可用的,此修補程序可被加入至規則。然後,假如在CPE2之後的PBX2更新至與PBX1相同的韌體版本,系統具有簽章及使用修補程序至CPE2。在此方式中,修補程序只用在需要的地方。
除此之外,流量表的概念和使用中央規則引擎,其更新流量表以控制和操縱在CPE的封包流量,也允許對互用性問題或解決安全威脅的快速修補。實體CPE26將在流量不在流量表中時阻止此流量,這在本質上提供防火牆功能。然後格式化一個請求,其包含協定分解引擎(解析器)的輸出,並且傳送它至虛擬服務環境。所述虛擬服務環境將嘗試生成流量表更新形式的規則,其可傳送至虛擬CPE30及實體CPE26兩者,假如虛擬服務環境因為未知的輸入而無法產生規則,虛擬服務環境將儲存CPE的輸出作為簽章。
一組模板是用在虛擬服務環境以建立流量表更新,這些模板代表在人可讀格式應採取簽章的所需操作,當系統管理者獲得一個新的簽章,系統管理員可使用模板來定義所需結果,以可程式化方式建立虛擬服務環境採取需要的 行動。舉例來說,假如一個SIP INVITE來自最近升級的電話或新的電話,而且INVITE包含的標頭不在實體CPE的流量表內,很可能虛擬服務環境無法建立流量表更新,所述INVITE的簽章被建立後,系統建立一個警示。系統管理者可登入並存取模板,其顯示SIP INVITE訊息中的所有已知欄位,包含允許自由格式資料的區域。系統管理者可以填入適當的值於這些欄位中,這個模板被儲存後,虛擬服務環境當下被以可程式化方式建立,用以取得在模板任意時間偵測到簽章所列出的活動。
這些模板可以應用於通知在任何界面上的實體CPE26離開,假如模板沒有包含必要的欄位以進行所需修改,那麼模板產生器會被存取以建立一個新的具有必要欄位的模板。這種能力顯著地降低了部署管理服務的成本,其中互通性是一個問題。當某些事沒有在今天的系統中運作,終端用戶接觸的託管服務供應商,此託管服務供應商必須進行故障排除和升級至設備供應商,所述設備供應商必須進行故障排除和升級工程,此工程必須提供和測試一個修復程序,此修復程序透過託管服務供應商進行測試,最後部署在終端用戶的CPE盒。在本系統中,託管服務供應商可簡單地修改模板、測試它、以及將它載入至虛擬服務環境並解決問題。另外,此系統作為一整體並擁有簽章和相關修復。
這也有益於CPE的移動或災難恢復,作為CPE26的狀態並儲存在虛擬環境30中可被用於更新不同的實體設備而成為一個新的CPE。例如:假如希望取得一個“跟隨太陽”呼叫中心,新的實體位置可以透過簡單地下載在當前位置的CPE之狀態而帶上線,並且將此狀態應用至在新位置的新的CPE。一旦新位置已經接管了所有呼叫,舊位置可以被關閉。
為了實現高可用性,儲存的CPE26之狀態透過分散式資料庫模式被複製,且虛擬環境的多個個體同時運行。CPE26為多重主目錄(multi-homed),如果一個虛擬個體 故障,此CPE會繼續與其他的個體通信。
為了執行虛擬環境30的軟體升級,新軟體被安裝及起始,且虛擬CPE的狀態以及配置狀態及系統狀態皆從運行的個體複製到新的個體。新的個體增加至實體CPE26的主目錄,然後此CPE切換或故障轉移至新個體。一旦所有實體CPE已經被歸屬至新軟體,舊版本關閉。
在虛擬環境30故障的情況下,流量透過虛擬環境內的中間盒應用程式運行,正常的路由更新將導致流量重新路由至運行的環境。然而,實體CPE是多主目錄且幾乎可以立即檢測虛擬環境的損失,它將路由流量至運行環境之一,其可顯著地縮短路由收斂時間。
另外,對於關注控制平面連線丟失的終端用戶,無論是透過WAN故障或資料中心停止運行導致服務完全丟失,實體CPE設備26可任選部署一個“存活選項”。當實體CPE26丟失與虛擬環境30的連線時,這種操作模式將被輸入。在這種狀況下,實體CPE運行設置在其CPU的一些簡化功能。基本的路由、音訊或視訊呼叫、以及其他基本的網路需求被滿足。當虛擬環境30被恢復,實體CPE26恢復至處理分流模式。
偵測到故障是由於L1至L7的丟失(L1代表實體層、L2代表資料鏈結層、L3代表網路層、L4代表傳輸層、L5代表會談層、L6代表表示層、以及L7代表應用層),偵測實體CPE硬體的L1及L2故障,假如故障在此層級被確定,那麼CPE故障切換至其生存模式操作。假如L1及L2皆為可用的,那麼演算法使用L3-L7訊息以確定可用性。假如實體CPE通過流量,那麼它必須週期性地與第2圖所示意的網路控制器50、管理控制器、以及資料路徑控制器進行通信。在第2圖中的網路通信中介(broker)是負責封裝/解封裝通道以及從各控制器流入/流出的移動流量。假如L1及L2是可用的,生存演算法透過ICMP或其他第三層協定檢查L3,以及 透過與網路通信中介進行通信檢查通道可用性。管理控制器負責了解系統的狀態,它知道那些應用程式是可用的以及哪些不是,它對實體CPE設備26報告應用程式可用性,實體CPE設備儲存應用程式可用性於系統狀態表。
在此方式CPE可以有多個生存模式的變體,如果只有一個應用程式不可用,那麼其信號應用程式可被運作在實體CPE盒26的生存模式所啟動。如果多個應用程式不可用,那麼可用的應用程式可以在生存模式中啟動。如果網路通信中介或任意的控制器不可用,那麼實體CPE故障切換至完整生存模式操作。網路通信中介將在失去與控制器連線時傳送失敗訊息至CPE。即使在一個多主目錄高可用性部署中,假如所有網路通信中介報告實體CPE控制器不可用,那麼CPE將故障轉移至生存模式操作。
假如實體CPE盒26不通過流量,那麼它會透過發起與網路通信中介和管理控制器通信以定期檢查系統的運行狀況。
實體CPE26的恢復以分流模式處理涉及CPE偵測虛擬環境30的可用性及虛擬環境通知可用的CPE。實體CPE硬體報告L1/L2可用,並且對於第3-7層,實體CPE將定期嘗試第3層請求。在生存模式中服務可用性的數量相應於網路可用性的數量,如果上游路由可用但在虛擬環境30不可,那麼實體CPE26具有網路連線及服務是受限於被包含在實體CPE的軟體。當網路通信中介被恢復,它會通知實體CPE26啟動具有網路通信中介的暫存器序列。網路通信中介使用一種演算法,用以防止所有實體CPE26同時嘗試註冊而造成過載。一旦,實體CPE26重新連接至網路通信中介,實體CPE26請求管理控制器供可用的應用程式更新其系統應用程式狀態表及傳送可被儲存在虛擬環境30的CPE狀態。為了防止重複發生間歇性故障使實體CPE在分流模式及生存模式之間循環,計時器被用於放棄恢復嘗試。
第3A圖及第3B圖說明軟體定義CPE的功能架構。下列為每一元件的高層級功能描述。
組件
A. 雲端平台框架
審計110:提供在平台上的所有操作運行日誌以合乎規定及安全性要求。
安全性/角色型存取控制114(RBAC)提供基於角色的控制以確保只有適當的人員在系統上執行相應的功能,安全性114還負責密碼管理、來自外部實體的攻擊(密碼猜測)等等。安全性114還負責與潛在的LDAP或SQL系統整合用於嚴格優先權(SP)的用戶資料庫。RBAC典型地將跨越兩個租戶層級,首先是SP然後是終端組織(end-organization)。
訊息118提供一個基於佇列的管理系統,其允許內層或內部元件在一個可擴展和可靠的方式通信。信息層是可靠的且提供高可用性(HA)以及持久性。
系統管理122包含由邏輯來處理災難恢復、高可用性、產品本身的部署、系統配置、自動擴展(auto-scaling)、系統運行狀況是否有關(可能分解成不同部分)。
應用程式介面(Application Programming Interface,API)126可提供資料驅動的API以管理多個不同的用戶端表示層(很可能是基於Java script語言物件標記法(Java script Object Notation,JSON)的「RESTful API」),此API可包含中間盒APIs,其允許與外部中間盒功能,如:IPS、IDS、網頁代理、包含負載平衡、分流、實體等進行通信及協調。這個雲端也可能同時採取兩種方式,且EW可能被要求執行負載平衡、負載偵測等等的功能,或協調層(orchestration layer)可能要承擔這些任務。監測130提供可視性至各組件的內部統計,包含佇列長度、響應時間、運行狀況等等,並且可確認系統運行狀況和外部性能元件。配置/其他APIs可對 營運支援系統(Operation Support System,OSS)提供APIs以配置和與整個系統互動。
B. 資料庫元件
持久性/快取層134提供邏輯,其斷定如何將資訊儲存至資料庫,以及對需要頻繁存取的物件提供快取。索引/搜尋138對資料庫物件提供搜尋強化以在系統,如:CPEs、站點、使用者及潛在流量中,提供物件的任意字(free-text)或智能之搜尋。所有適當的範圍應遵守於RBAC,索引/搜尋處理結果工作集(working set)的語意。資料庫複寫142處理資料庫的複寫。
資料庫層146可包含下列資料庫:CPE配置150保存所有CPE的配置且可版本化、系統及站點配置154保存雲端系統30的配置、所有必要的配置檔案、以及站點資訊且可版本化。CPE狀態儲存158儲存CPE設備的存活狀態,包含流量資訊統計以及任何協定元件相關站點表格項目,其協定元件運行在CPE(本質上虛擬CPE狀態)。系統及站點狀態儲存162儲存狀態及其它系統的運行資訊以及相關配置資訊,包含任何統計。日誌記錄166登錄系統的資料。不同模組可能登錄到單一日誌記錄表,其可提供索引和搜尋日誌(透過索引層138)的能力。一個歸檔層170可提供一個模組將資訊拉至歸檔後儲存。
C. CPE通信元件
一個網路通信中介174可提供訊息和通信,它管理所有與CPE26的連接。網路通信中介處理最佳化、優先權、壓縮以及連接安全、運行狀況等等。
網路控制器178提供流量和在CPE上基於存取的控制,這可能是一個Openflow++的設計部分。管理控制器182可提供CPE的即時和慢時(slow-time)、配置、升級、系統、狀態、監測、故障排除、佈建。網路控制器178可提供TR-69設備/網路流量集合器及使用它作為一種記錄以更新狀 態的表示方式-流量上的管理資料-標準化機制。資料路徑控制器186可管理資料路徑的通信至虛擬CPE服務匯流排。CPE管理器190管理在CPE上關於配置/OAM、憑證管理的功能,以及網路控制功能。
D. CPE應用程式邏輯
資料存取服務194適當地提供抽象層至持久性和資料庫後端。假如系統包含多個儲存,此方式可以適當地進行管理,還可在必要時選擇性調用索引及搜尋服務。CPE物件存取198提供CPE物件模型抽象化不同服務,從上層存取方法保護在底層儲存方法(狀態,配置元件)的改變。
CPE應用程式邏輯也可提供下列管理器:
承租管理器管理不同租戶,並提供可視化至屬於該租戶的CPEs。通常會有至少兩個租賃層面:為終端用戶及服務供應商。一個位置管理器管理不同CPEs的位置以及適當的層次結構。一個CPE應用程式管理器管理運行在每一個虛擬CPE的應用程式,如:路由服務、防火牆服務,租戶有權存取的每一個服務通常也將被嵌入在這個組件中。應用程式管理器可與計費相互作用,以確保用戶獲得使用服務的適當計費。
佈建/配置管理器處理每一個不同CPE26的佈建和配置,使其獲得相應的韌體版本和配置檔案。與OSS系統整合是透過此組件管理。計費管理器監視系統的任何計費組件,並且擷取與外部BSS系統後續整合的相應資訊。故障排除組件提供適當的可視化服務於瀏覽器使用者介面或CPE要求故障排除。故障排除組件還可基於權限臨時授權支援者(即用戶可提供暫時的超級使用者/登入權限以幫助進入)。
報告和警示服務可提供一個基於閾值或其他警報來處理報告、狀態及警示的組件。由於這個組件管理可用性、統計和性能的子服務,她必須有可視性以根據需要設定警報。可用性追蹤每個在系統中的CPEs可用性。狀態/統計 追蹤在系統中的CPEs的狀態和關鍵統計。這通常是從頭端定時/循環或從CPE端驅動事件,前者優先選擇以確保運行狀態檢查一致。性能追蹤B/W利用率、計算、CPU週期、記憶體等等在CPE方面的性能屬性。
虛擬服務管理器202是一個組件,其負責協調CPE服務匯流排、協調虛擬CPE個體將以甚麼順序運行,以及確保事件進入,其適當地路由到相應CPE服務。
E. CPE服務匯流排
CPE服務匯流排206可包含下列服務:語音服務是處理語音流量的服務集合,如SIP代理或SBCs或SIP中繼等功能。此服務通常包含MOS評分或其他基於VoIP的功能。路由服務提供路由服務,其運行為終端CPE的代理,包含如BGP、OSPF、RIP等協定。安全性服務提供安全性服務,如NAT及防火牆或入侵偵測系統。網路管理服務提供本地有線網路的管理,包含網路存取控制或為實現兼容的網路分割(如:HIPAA,符合VLAN管理規範的PCI)等功能。無線管理服務提供在邊沿位置管理無線AP的能力,可包含對於Edgewater或白牌APs的基本服務,以及對於品牌AP管理的OEM/第三方解決方案。
F. 外部元件
系統可與各種外部元件互動,如:網頁的瀏覽器210可以允許管理者與系統互動。虛擬機器/服務協調流程214可提供(a)從服務目錄(包含租戶和CPE)傳回基於要求特定資源之請求的必要網路配置之功能,或(b)用來呼叫以提供新服務於遠端系統30的管理者確定如何運轉虛擬服務的個體之功能。在(a)中,協調流程模組採用負載平衡、負載均衡等等,而在(b)中,遠端系統30的系統管理者將被預期處理這些功能。服務目錄218可包含適當的外部中間盒服務之列表,其可提供CPEs予以連接。營運支援系統/業務支援系統(Operation Support System/Business Support Systems, OSS/BSS)整合模組222允許與內部OSS/BSS系統連接以配置、供應、監測、報告及計費。
威脅管理
如上所述,系統特別適合提供整合式威脅管理,整合式威脅管理(Unified Threat Management,UTM)可透過提供防火牆、網路入侵防護、閘道器防毒、閘道器防垃圾郵件、VPN、內容過濾、負載平衡、資料洩漏預防及報告等等,用以提供全面的安全解決方案。提供威脅管理顯著地增加閘道器26的負擔。安全威脅的類型和性質隨著頻寬及網路利用率增加。因此,變得越來越難以在符合成本效益上維持能提供威脅管理及網路/網際網路存取且同時維持吞吐速度的閘道器26。
下列組件或模組可被用於一個示例性系統,此系統可作為一個UTM系統。
UTM執行
網路介面
一個或多個實體網路介面(LAN或WAN)可被使用。此介面可經由核心CPE硬體或透過可選子板的其他介面類型(ATM或DSL)來支援乙太網路。
虛擬交換器
虛擬交換器是一個軟體交換器,且是一個具生產品質,多層虛擬交換器。虛擬交換器可作為運行在虛擬機管理的軟體交換器,以及作為矽晶開關的控制堆疊。當部署在CPE上,它被用於作為矽晶開關的控制堆疊,以及使用兼容API的OpenFlow暴露控制能力。
Linux網路堆疊
所有UTM組件與Linux網路堆疊整合,提供系統基於L2/L3交換及路由能力。
OpenFlow應用程式介面
開關矽的控制是使用OpenFlow應用程式介面來 實現,透過虛擬交換器的支援或經由原生的OpenFlow實施,其位於開關矽的頂部且由開關矽供應商提供。
OpenFlow控制器(CPE本地或雲端)
OPF控制器提出一個API(所謂的北向介面)給UTM系統,其允許流量被增加、修改、或從交換層移除。它還提供了一個查詢介面,用以查詢系統功能、蒐集統計等等。
服務品質(Quality of Service,QoS)層
CPE支援流量控制(限制速率)、封包排程演算以及使用佇列管理技術避免雍塞,如:隨機早期偵測(Random Early Detection,RED)及加權隨機早期檢測(Weighted Random Early Detection,WRED)。另外,CPE支援差異化服務透過設置DiffServ欄位於封包分類用途的IP標頭中。QoS功能可透過固有的Linux網路堆疊來實現,或者QoS功能可透過OpenFlow來實現,其對於封包佇列具有豐富的API。
暫態終端服務(CPE本地)
這個組件也可以稱為連接導向的流量分類,並提供一個臨時的端點給透過用戶端應用程式發起的TCP連線。
非連線型的流量分類(CPE本地)
並列在暫態終端服務旁邊,該組件提供非連線型的流量(非TCP),如:ICMP和UDP流量的協定流量分類。
深層封包檢測(Deep Packet Inspection,DPI)(CPE本地或雲端)
所述深層封包檢測引擎檢測在用戶端及伺服器應用程式之間的傳輸流量,以及使用封包內的資訊以分類出應用協定。深層封包檢測也可用於從資料串流中分析標頭、URIs和其他相關欄位。
惡意軟體掃描引擎(雲端)
當政策表示應用層封包內容之基於雲端的惡意軟體掃描是必要的時候,雲端主機的惡意軟體掃描引擎被使用。
TCP連線接合(CPE本地及雲端)
在此情況下,處理政策決定了CPE應該使用本地快速路徑處理應用程式流量,在CPE上的UTM模式使用TCP連線接合功能以加入用戶端的TCP連線至伺服器的TCP連線,並且從封包路徑完全地移除本身。在接合後,在用戶端及伺服器之間傳送的資料封包會被Linux核心中的IP層處理。
政策決定點(CPE本地)
政策決定點(Policy Decision Point,PDP)處理代表UTM模組的政策請求,並且回傳包含動作(允許或拒絕)的政策回應,以及可選的屬性,此屬性指定參數,如:逾時(timeout)、QoS、ToS、或其他相似的會談參數供UTM強制執行。
為了提高處理效率,CPE PDP將政策保持在記憶體快取中,其可針對每一個政策請求進行檢查。當請求被接收,PDP檢查快取以查看是否有與政策相匹配的應用協定,假如快取不包含匹配的政策,PDP詢問在雲端的政策伺服器,它是否能提供任何適用的且與應用協定相匹配的政策。PDP增加新政策至快取後,會評估此政策決定。
政策伺服器(雲端)
假如CPE的政策快取不包含與應用協定相匹配的政策,那麼PDP會詢問在雲端的政策伺服器是否可提供任何與應用協定相匹配的適用政策。
為了DPI封包分類流量,必須檢查流量中的多個封包,通常在第4層至第7層之間。對於IPS系統,整個流程可被監測。對於AV或資料洩漏防護檔案,這些藉由FTP、SMTP、POP3或其他資料傳輸機制均全部需要被掃瞄。因此,UTM設備通常執行兩功能於連接導向的流量,如TCP。它們延遲結合,使得來自用戶端的第一個資料封包可被檢查後再發送至伺服器,並且假如流量不被認為是一種威脅,此流量 被接合至快速路徑且不再檢驗。
TCP接合是一種核心內部接合兩個連線的技術,使資料在兩個連線之間中繼,可以在接近路由器的速度運行。這種技術可用於加快第7層交換、網頁代理及運行在使用者空間的應用程式防火牆。TCP接合模組處理修復TCP序列號的跌宕、在核心的IP層中資料的複製、解決MTU不匹配及接合兩個單獨TCP連線的逾時設定。
此系統可包含兩個接合,且一個接合可以從CPE跨越到雲端。第一個接合是在CPE上進行。我們透過模擬伺服器於連線導向的交握加上第一資料封包以在CPE上延遲TCP繫結(TCP binding)。一旦流量被分類作為結果,政策可被應用。如果政策除了「監測本地」(即保持流量經由CPE上的DPI模組前往)之外,TCP接合被使用。對於政策行動「本地快速路徑」,接合是被用於移除來自用戶空間消耗大量CPU的流量,以及將其插入核心空間將更有效率。假如政策行動為「代理雲端」,那麼遠離通道訊息傳送至雲端中的SW。這些訊息包含資訊(目的IP位址、目的埠、協定及第一個資料封包),使雲端SW可模擬用戶端,亦即在CPE至伺服器的被保護端。在TCP的情況下,雲端SW傳送一個連線要求(SYN)至伺服器,用戶端在CPE發送的保護端上。伺服器將回應一個確認連線要求(SYN/ACK)。雲端SW將回應一個確認(ACK)然後傳送第一個封包。流量流經CPE不需要在用戶空間中,因為沒有任何應用層工作正在運作。流量需要透過CPE在可能最有效的方式被移動,並作為一個結果,一個接合在CPE完成以將流量移出用戶空間。同樣地,運行在雲端SW及CPE的流量也可以被接合以最佳化吞吐量。
通透性代理伺服器可被用來終止一個連線,透過延遲繫結到被請求的伺服器,直到足夠的資訊被蒐集以作出決定,然後發起連線至伺服器。一個分流通透性代理伺服器在兩個不同的位置放置半個通透性代理伺服器。一個分流通 透性代理伺服器移動連線導向的流量至供應商計算機30,如:雲端,其中可使用額外的資源。在此方式中,雲端/供應商計算機30也存有CPE26的狀態,這對其他東西,即:路由、VoIP及故障轉移是有用的。
除此之外,在系統計算和儲存發生的最佳化部分。決定透過政策API被插入至暫態終端處理程序SW模組。一個自適應演算法量測CPE CPU、頻寬消耗及儲存消耗。所述自適應演算法「知道」CPE26的能力(即:必要的SW模組做任何CPE26上可行的任務或其中一些位於外部)。假如必要的SW模組在CPE26上是可用的,而且CPE負載量低於一個閾值,那麼在本地執行此功能。假如負載量在閾值之上,那麼此功能在外部執行,即:在計算機30上。此將使運算發生的地方最佳化就如同流量被分配到具有可利用運算資源的地方。
計算或儲存的決定是由三個參數加上啟發式演算法(heuristics)的組合而成,舉例來說,語音呼叫整天在典型辦公室中遵循特定模式,一個呼叫中心整天通常有不同的語音呼叫特徵,所以當計算本地或計算外部所做的決定時,該演算法需要將統計數據考慮在內。舉例來說,假如CPE26低於閾值,但它是12:59,而統計顯示通話量在13:00重大回升,該演算法將在12:59分開始卸載新流量至預期負載增加在13:00的雲端30。假如負載沒有如預期般上升,關於流量的決定可在13:30做出不同決定。
CPE啟發式演算法是由一個參數表示,此參數在雲端(即:供應商計算機30)基於CPE26以及基於CPE狀態變化的更新被計算出來。雲端可以儲存給定的CPE長時間的流量統計,其可學習「學習」對此設備而言,甚麼是預期的行為。這也提供了對CPE26及系統14額外的安全形式作為「正常」行為映射,且可以與當前行為比較。假如CPE26/系統14的當前行為不是「正常」,那麼系統可以提醒。
暫態終端軟體是在控制發生甚麼至流量的關鍵模組。
分類及處理基於TCP流量的一連串操作之概要如下:
軟體定義的網路控制,如:OpenFlow是配置為改寫IP標頭,以及轉送所有從每一個LAN介面至定義的TCP埠的基於TCP之流量。
一個用戶空間程序被暫態終端伺服器呼叫,每當一個新的TCP連線建立時,在此埠上監聽且其accept( )呼叫未鎖定。
暫態終端伺服器接收進行一個connect( )呼叫,使用一個新的socket以終止連線。
偽裝成伺服器,所述暫態終端伺服器讀取透過用戶端傳送的應用層封包內容,以及傳送資料至DPI引擎以進行分類。
在一些情況下,協定可從最初的幾個封包內的用戶端資料串流而被辨識。在其他情況下,伺服器資料串流需要進行協定分類。
一旦協定被分類,暫態終端伺服器查找由系統管理者在CPE的政策快取所配置的處理政策。假如沒有政策被定義,CPE可以從雲端請求一個。
假如政策指示資料應該由快速路徑處理,那麼在CPE中的暫態終端伺服器建立一個新的TCP連線至伺服器、傳送所有從用戶端至伺服器接收到的應用資料,以及調用一個ioctl( )呼叫以將用戶端的TCP連線與伺服器的TCP連線進行接合,在這一點上,暫態終端伺服器可自行從該連線移除。
假如政策指示應用層封包內容資料應該被發送至雲端以檢查惡意軟體,那麼暫態終端伺服器傳送一個控制平面訊息到它在雲端相對應的點(peer),用以要求建立到伺服器的一個連接。所述暫態終端伺服器仍然介入用戶端及伺 服器的會談。
在一個實施例中,所有接收自用戶端的應用層資料傳送至被暫態終端伺服器呼叫的用戶空間程序。所述暫態終端伺服器使用DPI引擎以嘗試透過檢查應用層封包內容對應用協定進行分類。分類通常可能是在會談的第3-7個封包,包含TCP三向交握。
當用戶端應用程式試圖連接到伺服器設備,OpenFlow重新寫入IP標頭至具有IP位址及暫態終端伺服器的埠號的SYN封包,並且轉送此SYN封包至CPE的Linux堆疊。所述Linux堆疊完成TCP三向交握。暫態終端伺服器經由accept( )呼叫而被通知一個新的連線已經被建立。
暫態終端伺服器從最初的TCP連線請求恢復埠號資訊,並且傳送一個訊息至雲端的暫態終端代理。暫態終端代理在雲端建立一個第二TCP連線至目的伺服器。這個步驟是必要的,以便我們可以進行協定的分類,如:FTP,其中第一個應用資料是從伺服器傳送至用戶端,而不是從用戶端至伺服器。暫態終端系統依靠一個可載入核心模組(Kernel Loadable Module,KLM),其可支援與TCP連線接合的功能。
接著,請參閱「第7圖」,「第7圖」為舉例說明用戶端設備26的組件之示意圖。在一個具體實施例中,計算機26包含處理設備310、使用者介面314、通信設備318及記憶體設備322。值得注意的是,計算機26可以包括其他組件且一些組件不需要在每個實施例中。
處理設備310可包含記憶體,例如:唯讀記憶體(read only memory,ROM)及隨機存取記憶體(random access memory,RAM),儲存處理器可執行的指令,以及一個或多個處理器,其可執行處理器可執行的指令。在具體實施上,處理設備310包含兩個或更多處理器,所述處理器可在平行或分散式的方式進行操作。處理設備310可執行計算機26的作業系統。在實施例的說明中,處理設備310也可執行軟體模 組326,如:分流通透性代理模組。
分流通透性代理模組326允許計算機26、用戶端設備,特別是與供應商計算機30通信和分配各種處理及儲存任務給供應商計算機30。分流通透性代理模組326還允許計算機26及供應商計算機30劃分網路流量計算和儲存任務,以允許計算機26在高頻寬上執行。所述分流通透性代理模組326可執行在此所述的各種工作。
使用者介面314是一個設備,其允許使用者與計算機26互動。所示的一個使用者介面314,其術語「使用者介面(user interface)」包含但不限於觸控螢幕、實體鍵盤、滑鼠、麥克風及/或揚聲器。通信設備318是一個設備,其允許計算機26與另一設備進行通信,如計算機(18、22)、供應商計算機30、或其他計算機34。通信設備318可包含一個或多個無線收發器進行無線通信及/或一個或多個通信埠以執行有線通信。
記憶體設備322是一個設備,其儲存經由計算機26產生或接收的資料,以及提供資料給處理設備310。所述記憶體設備322可包含但不限於硬碟設備、光碟設備、及/或快閃記憶體設備。所述記憶體設備可包含流量表330,其決定每一個流量的處理。所述記憶體設備還可包含定義CPE26的狀態之狀態表334。記憶體設備還可具有實現各任務及所述實施例的必要的其他表或模組338。
請參閱「第8圖」,「第8圖」為舉例說明供應商計算機30的組件之示意圖。在一個實施例中,計算機30包含處理設備342、使用者介面346、通信設備350及記憶體設備354。值得注意的是,計算機30可以包括其他組件且一些組件不需要在每個例子中。
處理設備342可包含記憶體,例如:唯讀記憶體及隨機存取記憶體,儲存處理器可執行的指令,以及一個或多個處理器,其可執行處理器可執行的指令。在具體實施上, 處理設備342包含兩個或更多處理器,所述處理器可在平行或分散式的方式進行操作。處理設備342可執行計算機30的作業系統。在實施例的說明中,處理設備342也可執行軟體模組358,如:分流通透性代理模組。
分流通透性代理模組358允許供應商計算機30與計算機26通信,特別是用戶端設備,用以完成相應於CPE計算機26的各種處理及儲存任務。分流通透性代理模組358還允許供應商計算機30完成網路流量計算和儲存任務,以允許計算機26在高頻寬上執行。分流通透性代理模組358還可執行文中所述各種任務。
使用者介面346是一個設備,其允許使用者與計算機30互動。所示的一個使用者介面346,其術語「使用者介面(user interface)」包含但不限於觸控螢幕、實體鍵盤、滑鼠、麥克風及/或揚聲器。通信設備350是一個設備,其允許計算機30與另一設備進行通信,如計算機(18、22及26)。通信設備350可包含一個或多個無線收發器進行無線通信及/或一個或多個通信埠以執行有線通信。
記憶體設備354是一個設備,其儲存經由計算機30產生或接收的資料,以及提供資料給處理設備342。所述記憶體設備354可包含但不限於硬碟設備、光碟設備、及/或快閃記憶體設備。所述記憶體設備可包含流量表362,其決定每一個流量的處理。所述處理設備342被用於建立流量表362且通信設備350被用於傳送流量表362至CPE26。所述記憶體設備354還可包含定義CPE26的狀態之狀態表366。處理設備可更新狀態表366作為更新的CPE26之狀態。記憶體設備還可具有實現各任務及所述實施例的必要的其他表或模組370。
在上述本發明所示的實施例中,包含在摘要中的描述,並未限定或局限在所述精確的形式。對於本發明文中所述的特定實施例及舉例是作為說明的目的,在不脫離本發 明較廣泛的應用範圍可以進行各種修改。實際上,應可理解所提供的具體實施例是為了說明的目的,並且可以根據本發明的教示,在其他實施例採用其它值。
38‧‧‧網路/FTP/VPN/網際網路
42‧‧‧左上方
46‧‧‧右上方
50‧‧‧網路控制器

Claims (20)

  1. 一種以計算機實現的方法,其步驟包含:在一用戶端設備接收來自一用戶端的一TCP資料流;該用戶端設備重新寫入一IP標頭至該TCP資料流;該用戶端設備將該TCP資料流轉送至一預設TCP埠;在該用戶端設備的用戶空間操作一暫態終端伺服器程序以讀取透過該用戶端發送的一應用層封包內容;該暫態終端伺服器程序傳送資料至一深層封包檢測引擎進行分類;對該用戶端的資料流進行辨識以找出與該資料流相關的一協定;該暫態終端伺服器程序從儲存在該用戶端設備的一政策快取中查找一處理政策;以及該用戶端設備根據該處理政策處理該資料流。
  2. 如申請專利範圍第1項所述之以計算機實現的方法,其中該方法包含當該政策快取中不存在相關的處理政策時,該用戶端設備從一遠端供應商計算機請求一處理政策。
  3. 如申請專利範圍第1項所述之以計算機實現的方法,其中該處理政策顯示資料需要透過一快速路徑進行處理,該方法包含該暫態終端伺服器程序建立連線至一遠端供應商計算機的一新TCP連線;將接收自該用戶端的所有應用資料傳送至該遠端供應商計算機;及透過接合該用戶端的TCP連線及伺服器的TCP連線,藉此該暫態終端伺服器程序可自行從該連線移除。
  4. 如申請專利範圍第1項所述之以計算機實現的方法,其中該處理政策顯示應用層負載內容需要傳送至一遠端供應商計算機以進行惡意程式碼檢查,其中該方法包含該暫態終端伺服器傳送一控制層面訊息至該遠端供應商計算機以請求該遠端供應商計算機建立與該伺服器的連線,藉以使該暫態終端伺服器程序保持介入該用戶端及該遠端供 應商計算機的會談。
  5. 如申請專利範圍第1項所述之以計算機實現的方法,其中該方法包含:將接收自該用戶端的所有應用層級資料傳送至該暫態終端伺服器程序,且該暫態終端伺服器程序使用該深層封包檢測引擎嘗試透過檢查該應用層級資料用以歸類一應用協定。
  6. 如申請專利範圍第1項所述之以計算機實現的方法,其中該方法包含:該用戶端設備重新寫入具有一IP位址及該暫態終端伺服器程序的埠號的一IP標頭至一用戶連線要求封包中,並且將該用戶連線要求封包轉送至一用戶端設備堆疊。
  7. 如申請專利範圍第1項所述之以計算機實現的方法,其中該方法包含:該暫態終端伺服器程序自一原TCP連線請求恢復埠號訊息;該暫態終端伺服器程序傳送一訊息至一遠端供應商計算機的一暫態終端代理程序;以及該暫態終端代理程序建立連線到一目標服務器的一第二TCP連線。
  8. 如申請專利範圍第1項所述之以計算機實現的方法,其中該方法包含:該用戶端設備儲存一流量表,用以基於一資料流的已知特性控制資料流的處理;一遠端供應商計算機儲存該流量表;以及透過該用戶端設備使用該流量表提供快速路徑處理。
  9. 如申請專利範圍第8項所述之以計算機實現的方法,其中該方法更包含該遠端供應商計算機更新該流量表。
  10. 如申請專利範圍第8項所述之以計算機實現的方法,其中該方法包含:為該用戶端設備的特性建立模型並視為一狀態; 在該遠端供應商計算機儲存該用戶端設備的一模型;以及如同一規則引擎般地處理TCP資料流,在需要時修改該用戶端設備的該狀態。
  11. 一種計算機系統,包含:一用戶端設備被編程為:接收來自一用戶端的一TCP資料流;重新寫入一IP標頭至該TCP資料流;轉送該TCP資料流至一預設TCP埠;在用戶空間操作一暫態終端伺服器程序以讀取透過該用戶端傳送的一應用層封包內容;傳送資料至一深層封包檢測引擎進行分類;對該用戶端的資料流進行辨識,以找出與該資料流相關的一協定;自一政策快取中查找一處理政策,該政策快取儲存在該用戶端設備;以及根據該處理政策處理該資料流。
  12. 如申請專利範圍第11項所述之計算機系統,其中該用戶端設備被編程為當政策快取中不存在相關的處理政策時,自一遠端供應商計算機請求一處理政策。
  13. 如申請專利範圍第11項所述之計算機系統,其中該處理政策顯示資料需要透過一快速路徑進行處理,且在該用戶端設備被編程為建立連線至一遠端供應商計算機的一新TCP連線;將接收自該用戶端的所有應用層資料傳送至該遠端供應商計算機;及透過接合該用戶端的TCP連線及伺服器的TCP連線,藉此該暫態終端伺服程序可自行從該連線移除。
  14. 如申請專利範圍第11項所述之計算機系統,其中該處理政策顯示應用層負載內容需要傳送至一遠端供應商計算機以進行惡意程式碼檢查,且其中該用戶端設備被編程為 傳送一控制層面訊息至該遠端供應商計算機以請求該遠端供應商計算機建立與該伺服器的連線,藉以使該暫態終端伺服器程序保持介入該用戶端及該遠端供應商計算機的會談。
  15. 如申請專利範圍第11項所述之計算機系統,其中該用戶端設備被編程為將接收自該用戶端的所有應用層級資料傳送至該暫態終端伺服器程序,且該暫態終端伺服器程序使用該深層封包檢測引擎嘗試透過檢查該應用層級資料用以歸類一應用協定。
  16. 如申請專利範圍第11項所述之計算機系統,其中該用戶端設備被編程為重新寫入具有一IP位址及該暫態終端伺服器程序的埠號的一IP標頭至一用戶連線要求封包中,並且將該用戶連線要求封包轉送至一用戶端設備堆疊。
  17. 如申請專利範圍第11項所述之計算機系統,其中該用戶端設備被編程為:從一原TCP連線請求恢復埠號訊息;傳送一訊息至一遠端供應商計算機的一暫態終端代理程序;以及其中,該遠端供應商計算機被編程為:通過該暫態終端代理程序建立連線到一目標服務器的一第二TCP連線。
  18. 如申請專利範圍第11項所述之計算機系統,其中該用戶端設備被編程為儲存一流量表,用以基於一資料流的已知特性控制資料流的處理;以及其中一遠端供應商計算機被編程為儲存該流量表;以及其中該系統被編程為使用該流量表以透過該用戶端設備提供快速路徑處理。
  19. 如申請專利範圍第18項所述之計算機系統,其中該遠端供應商計算機被編程為更新該流量表。
  20. 如申請專利範圍第18項所述之計算機系統,其中該系統被編程為:為該用戶端設備的特性建立模型並視為一狀態;在該遠端供應商計算機儲存該用戶端設備的一模型;以及如同一規則引擎般地處理TCP資料流,在需要時修改該用戶端設備的該狀態。
TW102146710A 2013-12-17 2013-12-17 用於本地與遠端處理時之設備控制分隔的系統及其方法 TW201526588A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW102146710A TW201526588A (zh) 2013-12-17 2013-12-17 用於本地與遠端處理時之設備控制分隔的系統及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW102146710A TW201526588A (zh) 2013-12-17 2013-12-17 用於本地與遠端處理時之設備控制分隔的系統及其方法

Publications (1)

Publication Number Publication Date
TW201526588A true TW201526588A (zh) 2015-07-01

Family

ID=54197876

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102146710A TW201526588A (zh) 2013-12-17 2013-12-17 用於本地與遠端處理時之設備控制分隔的系統及其方法

Country Status (1)

Country Link
TW (1) TW201526588A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI735633B (zh) * 2016-11-01 2021-08-11 香港商阿里巴巴集團服務有限公司 資料傳輸的方法、設備、裝置及系統
TWI785111B (zh) * 2017-06-07 2022-12-01 日商關連風科技股份有限公司 網路系統

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI735633B (zh) * 2016-11-01 2021-08-11 香港商阿里巴巴集團服務有限公司 資料傳輸的方法、設備、裝置及系統
TWI785111B (zh) * 2017-06-07 2022-12-01 日商關連風科技股份有限公司 網路系統
US11683404B2 (en) 2017-06-07 2023-06-20 Connectfree Corporation Communication network system and method for network communication

Similar Documents

Publication Publication Date Title
US9407557B2 (en) Methods and systems to split equipment control between local and remote processing units
EP3932041B1 (en) Remote smart nic-based service acceleration
CN111614605B (zh) 用于配置防火墙的方法、安全管理系统和计算机可读介质
US10999163B2 (en) Multi-cloud virtual computing environment provisioning using a high-level topology description
CN107409089B (zh) 一种在网络引擎中实施的方法及虚拟网络功能控制器
CN110120934B (zh) 应用防火墙策略的方法、软件定义网络控制器和介质
CN111200628B (zh) 用于分布式计算部署的网络控制器子集群
US9710762B2 (en) Dynamic logging
Gibb et al. Outsourcing network functionality
US9304801B2 (en) Elastic enforcement layer for cloud security using SDN
US9286444B2 (en) Next generation secure gateway
US9178807B1 (en) Controller for software defined networks
CN110785963B (zh) 从网络收集网络模型和节点信息
CN107078921A (zh) 用于基于商业意图驱动策略的网络业务表征、监视和控制的方法和系统
US10868720B2 (en) Data driven orchestrated network using a voice activated light weight distributed SDN controller
US11228603B1 (en) Learning driven dynamic threat treatment for a software defined networking environment
TW201526588A (zh) 用於本地與遠端處理時之設備控制分隔的系統及其方法
Sayler et al. Jobber: Automating {Inter-Tenant} Trust in the Cloud
Toy Future Directions in Cable Networks, Services and Management
US12009998B1 (en) Core network support for application requested network service level objectives
Paradis Software-Defined Networking
Sahay Policy-driven autonomic cyberdefense using software-defined networking
Rauthan Covert Communication in Software Defined Wide Area Networks
Edge Security in the software defined networking infrastructure
Rai SDN: Controller Comparison with Implementation; Security Concerns and Vulnerabilities