TW201906375A - 巨網路流量偵測方法與軟體定義網路交換器 - Google Patents
巨網路流量偵測方法與軟體定義網路交換器 Download PDFInfo
- Publication number
- TW201906375A TW201906375A TW106119890A TW106119890A TW201906375A TW 201906375 A TW201906375 A TW 201906375A TW 106119890 A TW106119890 A TW 106119890A TW 106119890 A TW106119890 A TW 106119890A TW 201906375 A TW201906375 A TW 201906375A
- Authority
- TW
- Taiwan
- Prior art keywords
- network
- value
- hash
- packet
- routing information
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本發明的一實施例提供一種巨網路流量偵測方法,其用於軟體定義網路交換器,所述方法包括:經由網路介面接收網路封包;分析所述網路封包以擷取所述網路封包的路由資訊;對所述路由資訊執行多個雜湊運算以產生多個索引值,並根據所述索引值更新多個雜湊表中的多個計數值;根據所述計數值獲得對應於所述路由資訊的流量評估值;以及若所述流量評估值大於門檻值,識別所述網路封包屬於巨網路流量。
Description
本發明是有關於一種網路管理技術,且特別是有關於一種巨網路流量偵測方法與軟體定義網路(software-defined networking, SDN)交換器。
軟體定義網路是一種網路虛擬化技術。其顛覆長久以來的網路架構,將傳統網路架構的控制模式從分散式轉為集中控制,使網路設備趨於標準化及簡單化。軟體定義網路技術的核心思想是採用通用的資料流表進行資料交換。網路中的路由與交換資訊可以被表示為資料流表項並存放在資料流表裡。這些資料流表項可以被用來描述轉發規則、資料操作和資料狀態等。
一般來說,一個軟體定義網路包括多個網路設備(如軟體定義網路交換器)和至少一個軟體定義網路控制器。軟體定義網路控制器負責路由控制。例如,軟體定義網路控制器可根據用戶的配置或者動態運行的協定產生資料流表,並可將資料流表配置到相應的軟體定義網路交換器。而軟體定義網路交換器負責則可依據所配置的資料流表進行資料流(例如,網路封包)的轉發。
在軟體定義網路中,一般是由所佈署的軟體定義網路交換器將資料流相關資訊回報給軟體定義網路控制器,並由軟體定義網路控制器進行資料流的量化分析,進而獲得當前的網路狀態,例如來自特定網際網路協議位址(IP address)的資料流的流量資訊等。但是,這種集中式的運算方式可能會大幅增加軟體定義網路控制器的運算負載,且缺乏對於流量管控的時效性。
有鑑於此,本發明提供一種巨網路流量偵測方法與軟體定義網路交換器,可由軟體定義網路交換器進行資料流分析,從而即時識別軟體定義網路中的巨網路流量。
本發明的一實施例提供一種巨網路流量偵測方法,其用於軟體定義網路交換器,所述巨網路流量偵測方法包括:經由網路介面接收網路封包;分析所述網路封包以擷取所述網路封包的路由資訊;對所述路由資訊執行多個雜湊運算以產生多個索引值,並根據所述索引值更新多個雜湊表中的多個計數值;根據所述計數值獲得對應於所述路由資訊的流量評估值;以及若所述流量評估值大於門檻值,識別所述網路封包屬於巨網路流量。
本發明的另一實施例提供一種軟體定義網路交換器,其用於軟體定義網路,所述軟體定義網路交換器包括網路介面、封包分析介面及巨網路流量偵測電路。所述網路介面用以接收網路封包。所述封包分析介面耦接所述網路介面並且用以分析所述網路封包以擷取所述網路封包的路由資訊。所述巨網路流量偵測電路耦接所述封包分析介面並且用以:對所述路由資訊執行多個雜湊運算以產生多個索引值,並根據所述索引值更新多個雜湊表中的多個計數值;根據所述計數值獲得對應於所述路由資訊的流量評估值;以及若所述流量評估值大於門檻值,識別所述網路封包屬於巨網路流量。
基於上述,在接收到網路封包後,軟體定義網路交換器可分析所述網路封包以擷取所述網路封包的路由資訊,並藉由平行地雜湊運算與計數值更新操作來獲得相應的流量評估值。若所述流量評估值大於門檻值,軟體定義網路交換器即可識別所述網路封包屬於巨網路流量。藉此,可提高軟體定義網路的流量分析與管控效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是根據本發明的一實施例所繪示的軟體定義網路(software-defined networking, SDN)系統的示意圖。請參照圖1,SDN系統10包括SDN控制器11與交換器群組12。交換器群組12包括多個SDN交換器121~124。SDN交換器121~124皆受控於SDN控制器11。SDN控制器11為具有路由分配等各式SDN控制功能的網路控制裝置,其可以是實體裝置,例如基地台或存取點,或者是被設置於電子裝置中的虛擬機器。SDN交換器121~124皆為支援SDN路由功能的實體交換器,或者被設置於電子裝置中的虛擬交換器,例如Open vSwitch等等。或者,SDN交換器121~124中的至少一者也可以是指其他類型支援路由機制的網路通訊裝置,例如,路由器等等。此外,SDN控制器11的數目可以是一或多個,並且SDN交換器121~124的數目也可以是更多或更少,本發明不加以限制。
圖2是根據本發明的一實施例所繪示的SDN交換器的示意圖。請參照圖1與圖2,SDN交換器20可以是SDN交換器121~124中的任一者。SDN交換器20包括網路介面21、網路介面22、封包分析介面23、路由控制器24及巨網路流量偵測電路25。網路介面21與22可以分別包括有線(或無線)網路介面電路(例如,乙太網路介面卡)。網路介面21用以接收從外部網路輸入的網路封包(或資料流),而網路介面22則用以將網路封包輸出至外部網路。
封包分析介面23耦接至網路介面21並且用以分析接收到的網路封包。例如,封包分析介面23可解析網路封包的封包結構,從而獲得網路封包的檔頭(header)資訊與負載(payload)資訊。例如,網路封包的檔頭資訊可包括此網路封包的路由資訊及封包大小資訊等。其中,網路封包的路由資訊可包括此網路封包的來源網際網路協議位址(source IP address)、目的地網際網路協議位址(destination IP address)、來源埠號(source port number)及目的地埠號(destination port number)等與封包路由相關的資訊。而封包大小資訊則可用於表示此網路封包的封包大小(或封包長度)。此外,封包分析介面23可以實作為軟體模組或硬體電路,本發明不加以限制。
路由控制器24耦接至網路介面22與封包分析介面23。路由控制器24可以是中央處理單元(Central Processing Unit, CPU),或是其他可程式化之一般用途或特殊用途的微處理器、數位訊號處理器(Digital Signal Processor, DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits, ASIC)、可程式化邏輯裝置(Programmable Logic Device, PLD)或其他類似裝置或這些裝置的組合。此外,路由控制器24還可包括儲存電路,例如,隨機存取記憶體、唯讀記憶體、快閃記憶體或類似儲存媒體或其組合。
路由控制器24用以控制網路封包的路由。例如,路由控制器24可根據網路封包夾帶的路由資訊查詢相應的路由規則,然後再根據查詢結果決定要如何轉傳此網路封包。例如,假設SDN交換器20為SDN交換器121,則經由網路介面21接收到輸入的網路封包後,路由控制器24可指示將此網路封包經由網路介面22轉傳至SDN交換器122或123,視SDN交換器121內部儲存的路由規則而定。例如,此路由規則可由SDN控制器11配置並記載於路由控制器24內部儲存的資料流表或其他路由表格。
具體來看,假設某一個網路封包是要傳送至某一個特定的網際網路協議位址,則在根據此網路封包的路由資訊查詢相應的路由規則後,此網路封包可能會經由網路介面22的一個特定連接埠傳送至SDN交換器122。或者,假設某一個網路封包是要傳送至另一個特定的網際網路協議位址,則在根據此網路封包的路由資訊查詢相應的路由規則後,此網路封包可能會經由網路介面22的另一個特定連接埠傳送至SDN交換器123。依此類推,網路封包(或資料流)可經由交換器群組12進行傳遞與轉發。此外,在一實施例中,路由控制器24也負責SDN交換器20的整體運作。
巨網路流量偵測電路25耦接至封包分析介面23與網路介面22。在本實施例中,巨網路流量偵測電路25為客製化的電路模組,並且巨網路流量偵測電路25獨立設置於路由控制器24之外。此外,巨網路流量偵測電路25也可包括隨機存取記憶體、唯讀記憶體、快閃記憶體或類似儲存媒體或其組合。然而,在另一實施例中,巨網路流量偵測電路25亦可以是設置於路由控制器24內部,或者以軟體模組的方式實施,本發明不加以限制。
巨網路流量偵測電路25用以偵測軟體定義網路系統10中可能存在的巨網路流量。在此,巨網路流量是用來形容數量龐大且路由資訊相同或相似的網路封包(或資料流)。例如,若在一段預設時間內有數量龐大的網路封包是來自於同一個來源網際網路協議位址、傳輸至同一個目的地網際網路協議位址及/或經由相同的連接埠號傳輸,則此些網路封包可形成一個巨網路流量。在某些形況下,例如駭客發動阻斷服務(distributed denial-of-service, DDOS)攻擊時,一個巨網路流量可能會造成整個軟體定義網路系統10或於軟體定義網路系統10的一部分節點發生封包傳遞延遲甚至癱瘓。此外,在非惡意攻擊的狀況下,也有可能因為多使用者同時連線至同一個網站或網路伺服器而產生所述巨網路流量。
在本實施例中,當經由網路介面21接收到輸入的網路封包時,封包分析介面23可分析此網路封包以擷取此網路封包的路由資訊。例如,此路由資訊可包括此網路封包的來源網際網路協議位址、目的地網際網路協議位址、來源埠號及目的地埠號的至少其中之一或者此網路封包所夾帶之與封包路由相關的其他資訊。巨網路流量偵測電路25可對此路由資訊執行多個雜湊運算以產生多個索引值,並根據此些索引值更新多個雜湊表中的多個計數值。
圖3是根據本發明的一實施例所繪示的更新計數值之操作的示意圖。請參照圖2與圖3,在一實施例中,巨網路流量偵測電路25包括多個雜湊(hash)電路301~303。雜湊電路301可基於一個預設雜湊函數(亦稱為第一雜湊函數)進行雜湊運算,雜湊電路302可基於另一個預設雜湊函數(亦稱為第二雜湊函數)進行雜湊運算,並且雜湊電路303可基於又一個預設雜湊函數(亦稱為第三雜湊函數)進行雜湊運算。其中,第一雜湊函數、第二雜湊函數及第三雜湊函數各不相同。
當接收到路由資訊RI時,巨網路流量偵測電路25可將路由資訊RI平行輸入至雜湊電路301~303進行雜湊運算並產生索引值I1
(RI)(亦稱為第一索引值)、索引值I2
(RI)(亦稱為第二索引值)及索引值I3
(RI)(亦稱為第三索引值)。須注意的是,由於第一雜湊函數、第二雜湊函數及第三雜湊函數各不相同,因此,在絕大多數的情況下,在將相同的路由資訊RI輸入至雜湊電路301~303之後,所產生的索引值I1
(RI)、I2
(RI)及I3
(RI)各部相同。但是,在極少數的情況下,亦可能因機率碰撞而產生兩個以上相同的索引值。
在一實施例中,上述將路由資訊RI輸入至雜湊電路301~303進行雜湊運算並產生索引值I1
(RI)、I2
(RI)及I3
(RI)的操作亦可視為是將路由資訊RI輸入至第一雜湊函數、第二雜湊函數及第三雜湊函數以分別獲得索引值I1
(RI)、I2
(RI)及I3
(RI)之操作。或者,從另一角度來看,索引值I1
(RI)亦可視為是將路由資訊RI輸入至第一雜湊函數(或雜湊電路301)之後,第一雜湊函數(或雜湊電路301)的輸出;索引值I2
(RI)亦可視為是將路由資訊RI輸入至第二雜湊函數(或雜湊電路302)之後,第二雜湊函數(或雜湊電路302)的輸出;並且索引值I3
(RI)亦可視為是將路由資訊RI輸入至第三雜湊函數(或雜湊電路303)之後,第三雜湊函數(或雜湊電路303)的輸出。
巨網路流量偵測電路25可根據索引值I1
(RI)更新雜湊表311中的計數值C1
,根據索引值I2
(RI)更新雜湊表312中的計數值C2
,並且根據索引值I3
(RI)更新雜湊表313中的計數值C3
。須注意的是,雜湊表311~313可分別記錄有多個計數值,但為了說明方便,此些計數值並未完全呈現於圖3中。
更具體來看,第一雜湊函數、第二雜湊函數及第三雜湊函數分別關聯於雜湊表311~313。因此,在獲得索引值I1
(RI)後,巨網路流量偵測電路25可根據索引值I1
(RI)搜尋雜湊表311中的欄位321,並將欄位321中的計數值C1
加上一個調整值以更新計數值C1
;在獲得索引值I2
(RI)後,巨網路流量偵測電路25可根據索引值I2
(RI)搜尋雜湊表312中的欄位322,並將欄位322中的計數值C2
加上一個調整值以更新計數值C2
;並且在獲得索引值I3
(RI)後,巨網路流量偵測電路25可根據索引值I3
(RI)搜尋雜湊表313中的欄位323,並將欄位323中的計數值C3
加上一個調整值以更新計數值C3
。
在一實施例中,此調整值是一個預設值(例如,“1”)。例如,假設計數值C1
~C3
的初始值都是“0”,且路由資訊RI是以網路封包的來源網際網路協議位址作為範例。當接收到某一個網路封包並且此網路封包的來源網際網路協議位址為IPA
時,巨網路流量偵測電路25可將參數IPA
輸入至雜湊電路301~303並產生索引值I1
(IPA
)、I2
(IPA
)及I3
(IPA
)。巨網路流量偵測電路25可根據索引值I1
(IPA
)、I2
(IPA
)及I3
(IPA
)分別在雜湊表311~313中找到計數值C1
~C3
。然後,巨網路流量偵測電路25可將計數值C1
~C3
分別加“1”。此時,計數值C1
~C3
皆為“1”,表示目前已經接收到1個來源網際網路協議位址為IPA
的網路封包。
當再次接收到來源網際網路協議位址為IPA
的另一個網路封包時,巨網路流量偵測電路25可再次將參數IPA
輸入至雜湊電路301~303並產生索引值I1
(IPA
)、I2
(IPA
)及I3
(IPA
)。巨網路流量偵測電路25可再次根據索引值I1
(IPA
)、I2
(IPA
)及I3
(IPA
)分別在雜湊表311~313中找到計數值C1
~C3
。然後,巨網路流量偵測電路25可再次將計數值C1
~C3
皆加“1”,使得計數值C1
~C3
皆被更新為“2”,其表示目前已經接收到2個來源網際網路協議位址為IPA
的網路封包。依此類推,當接收到越來越多來源網際網路協議位址為IPA
的網路封包時,計數值C1
~C3
會逐漸變大。
圖4是根據本發明的另一實施例所繪示的更新計數值之操作的示意圖。請參照圖3與圖4,在一實施例中,雜湊表311~313亦可以結合為一個二維(2-dimensional)雜湊表41。雜湊表41的每一個列(row)對應於雜湊電路301~303(或第一雜湊函數、第二雜湊函數及第三雜湊函數)的其中之一。雜湊表41的每一個行(column)對應於一個索引值。在圖4中,是將第一雜湊函數、第二雜湊函數及第三雜湊函數分別表示為參數HF(1)、參數HF(2)及參數HF(3)。藉此,根據參數HF(1)與索引值I1
(RI),可找到欄位421並更新計數值C1
;根據參數HF(2)與索引值I2
(RI),可找到欄位422並更新計數值C2
;並且根據參數HF(3)與索引值I3
(RI),可找到欄位423並更新計數值C3
。類似於前述範例,當接收到越來越多來源網際網路協議位址皆為IPA
的網路封包時,計數值C1
~C3
也會逐漸變大。
在一實施例中,此調整值不是一個預設值,而是一個可動態變動的值。例如,在封包分析介面23分析接收到的網路封包以獲得此網路封包的封包大小之後,巨網路流量偵測電路25可根據此封包大小決定此調整值。例如,巨網路流量偵測電路25可直接將此網路封包的封包大小決定為當前使用的調整值。或者,巨網路流量偵測電路25也可以是以此網路封包的封包大小作為基礎,來調整此調整值。例如,巨網路流量偵測電路25可將此網路封包的封包大小加上一個基準值,以產生當前使用的調整值。此外,巨網路流量偵測電路25也可以是將此網路封包的封包大小輸入至一預設演算法,並將此預設演算法的輸出作為當前使用的調整值。
換言之,在一實施例中,用來更新上述計數值的調整值可隨著當前接收到的網路封包的封包大小加大而動態放大並且隨著當前接收到的網路封包的封包大小變小而動態減小。以圖3為例,假設兩個先後接收到的網路封包A與B的來源網際網路協議位址皆為IPA
,但網路封包A的封包大小大於網路封包B的封包大小。因此,在對應於網路封包A而更新計數值C1
~C3
時,計數值C1
~C3
的至少其中之一的數值增加幅度可能會大於在對應於網路封包B而更新計數值C1
~C3
時,計數值C1
~C3
的至少其中之一的數值增加幅度。
巨網路流量偵測電路25可根據更新後的計數值獲得對應於所述路由資訊的一個流量評估值。此流量評估值反映夾帶有相同(或相似)的路由資訊的網路封包的總數及/或總資料傳輸量。以圖3為例,在一實施例中,巨網路流量偵測電路25可根據計數值C1
~C3
中的最小值決定對應於路由資訊RI的流量評估值。例如,若計數值C1
~C3
中的最小者為計數值C1
,則巨網路流量偵測電路25可將對應於路由資訊RI的流量評估值設定為計數值C1
。在一實施例中,巨網路流量偵測電路25是使用計數最小值速寫(count-min sketch)演算法來更新計數值並決定流量評估值。此外,在圖3的另一實施例中,對應於路由資訊RI的流量評估值亦可以是計數值C1
~C3
的最大值、中位數、平均值或加權平均值等等。
巨網路流量偵測電路25可判斷此流量評估值是否大於一個門檻值。此門檻值可視實務上需求而決定,本發明不加以限制。例如,此門檻值可由SND控制器根據整個軟體定義網路的網路環境、流量狀態及/或至少一個SND交換器的流量負載及/或頻寬來動態決定。若此流量評估值大於此門檻值,巨網路流量偵測電路25可識別當前的網路封包屬於巨網路流量。反之,若此流量評估值未大於此門檻值,巨網路流量偵測電路25可持續對下一個接收到的網路封包執行上述更新相應的計數值等操作。
在圖1與圖2的一實施例中,若判定流量評估值大於門檻值,巨網路流量偵測電路25可進一步將相應的路由資訊(例如,上述來源網際網路協議位址IPA
)記錄於一個巨網路流量表格。例如,此巨網路流量表格可儲存於巨網路流量偵測電路25內部。在特定時間點,巨網路流量偵測電路25可經由網路介面22將此巨網路流量表格傳送至SDN控制器11。例如,此特定時間點可以是此巨網路流量表格被寫滿時、每當此巨網路流量表格被更新時、每更新一預設筆數(例如10筆)的路由資訊時或週期性的時間,本發明不加以限制。根據此巨網路流量表格,SDN控制器11可將相應的路由規則更新至SDN交換器121~124。例如,SDN控制器11可指示SDN交換器121~124阻擋所有具有來源網際網路協議位址IPA
的網路封包或者對具有來源網際網路協議位址IPA
的網路封包執行相應的防禦或流量疏導等措施,本發明不加以限制。
圖5是根據本發明的一實施例所繪示的巨網路流量偵測電路的示意圖。請參照圖5,巨網路流量偵測電路55相同或相似於圖2中的巨網路流量偵測電路25。在本實施例中,巨網路流量偵測電路55包括檢查電路551、記憶體552及過濾器553。檢查電路551用以執行上述產生索引值以、更新計數值及識別網路封包是否屬於巨網路流量的操作。例如,檢查電路551可包括圖3的雜湊電路301~303。記憶體552可用於儲存巨網路流量表格。當檢查電路551判定某一個路由資訊的流量評估值高於門檻值時,過濾器553可檢查此路由資訊是否已記載於巨網路流量表格中。若此路由資訊未記載於巨網路流量表格中,過濾器553可指示將此路由資訊加入至巨網路流量表格。反之,若此路由資訊已記載於巨網路流量表格中,過濾器553可指示不將此路由資訊加入至巨網路流量表格,以免重複紀錄相同的路由資訊。在一實施例中,過濾器553可為布隆(Bloom)過濾器。
在一實施例中,巨網路流量偵測電路55可不包括過濾器553。藉此,檢查電路551可不經由過濾器553而直接更新儲存於記憶體552的巨網路流量表格。此外,在一實施例中,紀錄有上述計數值的雜湊表亦可以是儲存於記憶體552中。
須注意的是,雖然在圖3與圖4的實施例中是以3個雜湊電路(或3個雜湊函數)對應於3個計數值(或3個雜湊表)作為範例,然而,在其他未提及的實施例中,雜湊電路(或雜湊函數)及計數值(或雜湊表)的數目皆可以依實務需求加以調整。例如,可將3個改變為N個,其中N為正整數。此外,圖2與圖5的電子元件布局與耦接關係僅為範例。在其他未提及的實施例中,更多的電子元件亦可以被加入,以提供額外的功能。或者,圖2與圖5中部分電子元件亦可以被其他類型的電子元件取代,只要可提供前述提及之功能即可。此外,圖2與圖5中部分電子元件的耦接關係亦可以被改變,依實務需求而定。
圖6是根據本發明的一實施例所繪示的巨網路流量偵測方法的流程圖。請參照圖6,在步驟S601中,經由SDN交換器的網路介面接收網路封包。在步驟S602中,分析所述網路封包以擷取所述網路封包的路由資訊。在步驟S603中,對所述路由資訊執行多個雜湊運算以產生多個索引值,並根據所述索引值更新多個雜湊表中的多個計數值。在步驟S604中,根據所述計數值獲得對應於所述路由資訊的流量評估值。在步驟S605中,判斷所述流量評估值是否大於門檻值。若所述流量評估值大於門檻值,在步驟S606中,識別所述網路封包屬於巨網路流量。若所述流量評估值不大於門檻值,回到步驟S601,以接收並分析下一個網路封包。
然而,圖6中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖6中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖6的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,在接收到網路封包後,SDN交換器可分析所述網路封包以擷取所述網路封包的路由資訊。然後,SDN交換器可對此路由資訊平行地執行多個雜湊運算並根據運算結果更新相應的計數值以獲得對應於此路由資訊的流量評估值。若所述流量評估值大於門檻值,SDN交換器可識別所述網路封包屬於巨網路流量並將此路由資訊回報給SDN控制器。透過將巨網路流量的識別工作分散至SDN交換器,可提高SDN系統的整體流量分析與管控效率,並可降低SDN控制器的運算負擔。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧軟體定義網路系統
11‧‧‧軟體定義網路控制器
12‧‧‧交換器群組
121~124、20‧‧‧軟體定義網路交換器
21、22‧‧‧網路介面
23‧‧‧封包分析介面
24‧‧‧路由控制器
25、55‧‧‧巨網路流量偵測電路
301~303‧‧‧雜湊電路
311~313、41‧‧‧雜湊表
321~323、421~423‧‧‧欄位
RI‧‧‧路由資訊
I1(RI)、I2(RI)、I3(RI)‧‧‧索引值
C1、C2、C3‧‧‧計數值
HF(1)、HF(2)、HF(3)‧‧‧參數
551‧‧‧檢查電路
552‧‧‧記憶體
553‧‧‧過濾器
S601~S606‧‧‧步驟
圖1是根據本發明的一實施例所繪示的軟體定義網路(software-defined networking, SDN)系統的示意圖。 圖2是根據本發明的一實施例所繪示的SDN交換器的示意圖。 圖3是根據本發明的一實施例所繪示的更新計數值之操作的示意圖。 圖4是根據本發明的另一實施例所繪示的更新計數值之操作的示意圖。 圖5是根據本發明的一實施例所繪示的巨網路流量偵測電路的示意圖。 圖6是根據本發明的一實施例所繪示的巨網路流量偵測方法的流程圖。
Claims (12)
- 一種巨網路流量偵測方法,用於一軟體定義網路交換器,該巨網路流量偵測方法包括: 經由一網路介面接收一網路封包; 分析該網路封包以擷取該網路封包的一路由資訊; 對該路由資訊執行多個雜湊運算以產生多個索引值,並根據該些索引值更新多個雜湊表中的多個計數值; 根據該些計數值獲得對應於該路由資訊的一流量評估值;以及 若該流量評估值大於一門檻值,識別該網路封包屬於一巨網路流量。
- 如申請專利範圍第1項所述的巨網路流量偵測方法,其中該路由資訊包括一網際網路協議位址與一埠號的至少其中之一。
- 如申請專利範圍第1項所述的巨網路流量偵測方法,其中對該路由資訊執行該些雜湊運算以產生該些索引值,並根據該些索引值更新該些雜湊表中的該些計數值的步驟包括: 將該路由資訊輸入至一第一雜湊函數與一第二雜湊函數以分別獲得一第一索引值與一第二索引值,其中該第一雜湊函數關聯於一第一雜湊表,該第二雜湊函數關聯於一第二雜湊表; 根據該第一索引值搜尋該第一雜湊表中的一第一計數值,並將該第一計數值加上一調整值以更新該第一計數值;以及 根據該第二索引值搜尋該第二雜湊表中的一第二計數值,並將該第二計數值加上該調整值以更新該第二計數值。
- 如申請專利範圍第3項所述的巨網路流量偵測方法,更包括: 分析該網路封包以獲得該網路封包的一封包大小;以及 根據該封包大小決定該調整值。
- 如申請專利範圍第1項所述的巨網路流量偵測方法,其中根據該些計數值獲得對應於該路由資訊的該流量評估值的步驟包括: 根據該些計數值中的一最小值決定該流量評估值。
- 如申請專利範圍第1項所述的巨網路流量偵測方法,更包括: 若該流量評估值大於該門檻值,將該路由資訊記錄於一巨網路流量表格;以及 經由該網路介面將該巨網路流量表格傳送至一軟體定義網路控制器。
- 一種軟體定義網路交換器,用於一軟體定義網路,該軟體定義網路交換器包括: 一網路介面,用以接收一網路封包; 一封包分析介面,耦接該網路介面並且用以分析該網路封包以擷取該網路封包的一路由資訊;以及 一巨網路流量偵測電路,耦接該封包分析介面並且用以: 對該路由資訊執行多個雜湊運算以產生多個索引值,並根據該些索引值更新多個雜湊表中的多個計數值; 根據該些計數值獲得對應於該路由資訊的一流量評估值;以及 若該流量評估值大於一門檻值,識別該網路封包屬於一巨網路流量。
- 如申請專利範圍第7項所述的軟體定義網路交換器,其中該路由資訊包括一網際網路協議位址與一埠號的至少其中之一。
- 如申請專利範圍第7項所述的軟體定義網路交換器,其中該巨網路流量偵測電路對該路由資訊執行該些雜湊運算以產生該些索引值,並根據該些索引值更新該些雜湊表中的該些計數值的操作包括: 將該路由資訊輸入至一第一雜湊函數與一第二雜湊函數以分別獲得一第一索引值與一第二索引值,其中該第一雜湊函數關聯於一第一雜湊表,該第二雜湊函數關聯於一第二雜湊表; 根據該第一索引值搜尋該第一雜湊表中的一第一計數值,並將該第一計數值加上一調整值以更新該第一計數值;以及 根據該第二索引值搜尋該第二雜湊表中的一第二計數值,並將該第二計數值加上該調整值以更新該第二計數值。
- 如申請專利範圍第9項所述的軟體定義網路交換器,其中該封包分析介面更用以分析該網路封包以獲得該網路封包的一封包大小,並且該巨網路流量偵測電路更用以根據該封包大小決定該調整值。
- 如申請專利範圍第7項所述的軟體定義網路交換器,其中該巨網路流量偵測電路根據該些計數值獲得對應於該路由資訊的該流量評估值的操作包括: 根據該些計數值中的一最小值決定該流量評估值。
- 如申請專利範圍第7項所述的軟體定義網路交換器,其中若該流量評估值大於該門檻值,該巨網路流量偵測電路更用以將該路由資訊記錄於一巨網路流量表格,並經由該網路介面將該巨網路流量表格傳送至一軟體定義網路控制器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106119890A TWI635726B (zh) | 2017-06-14 | 2017-06-14 | 巨網路流量偵測方法與軟體定義網路交換器 |
US15/659,628 US20180367431A1 (en) | 2017-06-14 | 2017-07-26 | Heavy network flow detection method and software-defined networking switch |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106119890A TWI635726B (zh) | 2017-06-14 | 2017-06-14 | 巨網路流量偵測方法與軟體定義網路交換器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI635726B TWI635726B (zh) | 2018-09-11 |
TW201906375A true TW201906375A (zh) | 2019-02-01 |
Family
ID=64453071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106119890A TWI635726B (zh) | 2017-06-14 | 2017-06-14 | 巨網路流量偵測方法與軟體定義網路交換器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180367431A1 (zh) |
TW (1) | TWI635726B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10686665B2 (en) * | 2017-08-11 | 2020-06-16 | Avaya Inc. | Discovery and configuration of an open networking adapter in a fabric network |
CN110912767B (zh) * | 2019-10-25 | 2022-03-25 | 电子科技大学 | 一种网络流量的单点测量方法 |
US11095552B1 (en) * | 2020-01-31 | 2021-08-17 | Avago Technologies International Sales Pte. Limited | Weighted cost multipath packet processing |
CN113452657B (zh) * | 2020-03-26 | 2023-03-28 | 华为技术有限公司 | 大流量数据流的检测方法以及检测装置 |
CN112769770B (zh) * | 2020-12-24 | 2022-04-22 | 贵州大学 | 一种基于流表项属性的采样及DDoS检测周期自适应调整方法 |
TWI747742B (zh) | 2021-02-22 | 2021-11-21 | 中原大學 | 封包資訊分析方法及網路流量監測裝置 |
US11652749B2 (en) | 2021-04-09 | 2023-05-16 | Microsoft Technology Licensing, Llc | High availability for hardware-based packet flow processing |
US11799785B2 (en) * | 2021-04-09 | 2023-10-24 | Microsoft Technology Licensing, Llc | Hardware-based packet flow processing |
US11588740B2 (en) | 2021-04-09 | 2023-02-21 | Microsoft Technology Licensing, Llc | Scaling host policy via distribution |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9537771B2 (en) * | 2013-04-04 | 2017-01-03 | Marvell Israel (M.I.S.L) Ltd. | Exact match hash lookup databases in network switch devices |
CN104796348B (zh) * | 2015-04-03 | 2018-02-13 | 华为技术有限公司 | 基于sdn的idc网络出口流量均衡调整方法、设备及系统 |
US10069734B1 (en) * | 2016-08-09 | 2018-09-04 | Amazon Technologies, Inc. | Congestion avoidance in multipath routed flows using virtual output queue statistics |
-
2017
- 2017-06-14 TW TW106119890A patent/TWI635726B/zh not_active IP Right Cessation
- 2017-07-26 US US15/659,628 patent/US20180367431A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20180367431A1 (en) | 2018-12-20 |
TWI635726B (zh) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI635726B (zh) | 巨網路流量偵測方法與軟體定義網路交換器 | |
CN108667853B (zh) | 恶意攻击的检测方法和装置 | |
EP2544417B1 (en) | Communication system, path control apparatus, packet forwarding apparatus and path control method | |
CN105049359B (zh) | 用于分布式路由表查找的分布式路由器的入口计算节点和机器可读介质 | |
KR102536676B1 (ko) | 패킷 처리 방법 및 장치, 및 관련 디바이스들 | |
US8761182B2 (en) | Targeted flow sampling | |
US10277481B2 (en) | Stateless forwarding in information centric networks with bloom filters | |
EP2793436B1 (en) | Content router forwarding plane architecture | |
US20180083876A1 (en) | Optimization of multi-table lookups for software-defined networking systems | |
TWI520530B (zh) | 封包交換裝置及方法 | |
US9590922B2 (en) | Programmable and high performance switch for data center networks | |
US20180375767A1 (en) | Generating table entry and forwarding packet in software defined network | |
US8938579B2 (en) | Method and system for using range bitmaps in TCAM access | |
WO2016029345A1 (zh) | 网络流的信息统计方法和装置 | |
US10182017B2 (en) | Estimating multiple distinct-flow counts in parallel | |
Deri | High-speed dynamic packet filtering | |
US9356876B1 (en) | System and method for classifying and managing applications over compressed or encrypted traffic | |
US9742702B1 (en) | End-to-end cache for network elements | |
US9667540B2 (en) | Fiber channel over ethernet (FCoE) frame forwarding system | |
US9590897B1 (en) | Methods and systems for network devices and associated network transmissions | |
US8948171B1 (en) | System and method for IP multicast | |
US10205658B1 (en) | Reducing size of policy databases using bidirectional rules | |
JP2021508212A (ja) | ネットワーク通信方法および装置 | |
Yang et al. | DDoS attacks detection and traceback method based on flow entropy algorithm and MPLS principle | |
US11882039B1 (en) | UDF-based traffic offloading methods and systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |