一種基于軟件定義網絡的業務感知系統及方法
【技術領域】
[0001]本發明涉及軟件定義網絡領域,具體來講是一種基于軟件定義網絡的業務感知系統及方法。
【背景技術】
[0002]目前全球互聯網用戶和移動互聯網用戶發展迅速,中國用戶已突破8億,對于如此龐大的用戶量和網絡流量,其自身主要指標和特征,如何感知、診斷和測量是互聯網中要解決的關鍵難題。
[0003]當前網絡中業務感知技術主要基于深度包解析技術(deep packet inspect1n,DPI),是一種基于網絡業務流量的識別、分析和檢測技術。數據包傳遞到一個業務節點,該節點會檢查該數據包,分析數據包的每個字段,并根據節點設定的規則搜索不匹配協議、病毒、垃圾郵件等,然后,根據規則所定義的動作對這個數據包進行某種操作,是丟棄還是需要重新路由,或者是通過等。業務感知技術為整個網絡提供信息以確保先進的網絡自動化、策略、合規性和安全功能。
[0004]業務感知技術是網絡中很多業務節點中的公共任務。如圖1所示,網絡中各個業務節點,例如提供防火墻、入侵檢測和負載均衡等服務的業務節點,除了帶有各自服務的處理模塊之外,還需要帶有業務感知功能的模塊,即圖1中的業務感知模塊。在這些業務節點中,業務感知通常是最耗時的任務,消耗了業務節點很多的處理時間。另外,當前網絡中也有單獨的業務感知設備存在,比如深度包檢測設備,主要是根據用戶需求做流量的分析和統計,為運營商提供流量報表、用戶需求等功能;但是并沒有為網絡中需要業務感知功能的模塊提供服務。
[0005]而網絡中存在著大量需要業務感知功能的模塊,而這些模塊都在重復的做著業務流的掃描、匹配等工作。當前的網絡,在業務流量在到達目的地之前會經歷很多的業務節點,這也意味著每個數據包在經過每個業務節點時都被重復的檢測和分析了一遍,無端的消耗了大量的網絡處理資源。
【發明內容】
[0006]針對現有技術中存在的缺陷,本發明的目的在于提供一種基于軟件定義網絡(Software Defined Network, SDN)的業務感知系統及方法,給網絡中的業務節點提供業務感知的服務,減少網絡中業務感知技術頻繁重復使用,降低網絡資源的消耗,提高網絡資源利用率。
[0007]為達到以上目的,本發明采取一種基于軟件定義網絡的業務感知系統,包括:多個業務節點,用于提供不同業務;至少一個業務感知節點,用于將系統要處理的數據包和各個業務節點的匹配條件進行匹配;并將業務感知節點的匹配結果和數據包一起發送到后續的業務節點;一個業務感知控制器,用于維護整個系統的匹配條件集合,并負責管理業務感知節點和業務節點通信;多個SDN交換節點,用于實現對應業務節點之間業務的轉發;一個SDN控制器,用于為業務轉發所涉及的SDN交換節點設置流表的轉發規則。
[0008]在上述技術方案的基礎上,所述業務感知節點和業務感知控制器之間通過openflow協議進行通信。
[0009]在上述技術方案的基礎上,每個匹配條件包括業務節點ID和內部規則ID,業務節點ID用于表示對應的業務節點,內部規則ID用于區分對應的業務節點中不同的匹配條件。
[0010]在上述技術方案的基礎上,所述業務感知節點的匹配結果的數據封裝到數據包中,具體封裝到網絡服務報頭的元數據部分。
[0011]本發明還提供一種基于軟件定義網絡的業務感知方法,包括如下步驟:S1.需要使用業務感知服務的業務節點向所述業務感知控制器進行注冊,注冊內容包括該業務節點匹配規則中的匹配條件;S2.業務感知控制器將匹配條件分組下發給業務感知節點;S3.SDN控制器為業務轉發所涉及的SDN交換節點設置流表的轉發規則;S4.業務感知節點收到數據包,根據所述匹配條件檢測和分析數據包,并記錄每個數據包的匹配結果;S5.業務感知節點將符合匹配條件的數據包和匹配結果,按照SDN控制器設置的轉發規則,通過SDN交換節點依次發送給后續業務節點;S6.每一個后續業務節點,根據相應的匹配結果,直接執行與匹配結果對應的動作。
[0012]在上述技術方案的基礎上,所述S2中,當業務感知節點為一個時,所有匹配條件都下發給該業務感知節點;當業務感知節點為兩個以上時,將相似的匹配條件下發給同一個業務感知節點,且每個匹配條件僅下發給一個業務節點。
[0013]在上述技術方案的基礎上,所述S4中,根據SDN控制器設置的轉發規則,在業務節點組成的網絡邊界內,所有業務的數據包首先經過業務感知節點。
[0014]在上述技術方案的基礎上,所述S4中,業務感知節點如果檢測到某條匹配條件和數據包匹配,則記錄該匹配條件對應的業務節點ID和內部規則ID,以及匹配條件對應的數據包的偏移值;如果沒有匹配成功,則數據包的偏移值設置為減1。
[0015]在上述技術方案的基礎上,所述S5中,業務感知節點將匹配結果的數據封裝在數據包的網絡服務報頭中。
[0016]在上述技術方案的基礎上,所述網絡服務報頭中的業務路徑值設為1,服務索引值設置為該業務感知節點所對應處理業務節點的個數,數據包每經過一個業務節點,服務索弓丨值減1,當服務索引值減為0時,最后一個業務節點將網絡服務報頭從數據包中刪除。
[0017]本發明的有益效果在于:通過設置業務感知節點,為SDN網絡中的業務節點提供業務感知服務,使各個業務節點可以直接使用業務感知節點的匹配結果,各個業務節點不需要重復執行業務感知的功能,減少了網絡中業務感知技術的頻繁重復使用,降低網絡資源的消耗,提高網絡設備和功能的資源利用率。
【附圖說明】
[0018]圖1為【背景技術】中傳統業務節點的業務感知示意圖;
[0019]圖2為本發明實施例基于SDN的業務感知系統示意圖;
[0020]圖3為本發明實施例基于SDN的業務感知方法流程圖。
【具體實施方式】
[0021]以下結合附圖及實施例對本發明作進一步詳細說明。
[0022]如圖2所示,本發明基于軟件定義網絡的業務感知系統,包括多個多個業務節點和多個SDN交換節點,至少一個業務感知節點,以及一個業務感知控制器和一個SDN控制器。本實施例中,包括4個業務節點和4個SDN交換節點。
[0023]業務節點用于提供不同業務,例如提供防火墻、負載均衡和入侵檢測等業務的業務節點。
[0024]業務感知節點,用于對系統要處理的數據包進行解析和檢測,具體將數據包和各個業務節點的匹配條件進行匹配,判斷數據包是否匹配某個條件,并將業務感知節點的匹配結果和數據包一起發送到后續的業務節點。每個匹配條件包括業務節點ID和內部規則ID,業務節點ID用于表示對應的業務節點,內部規則ID用于區分對應的業務節點中不同的匹配條件。
[0025]業務感知控制器,負責管理業務感知節點和業務節點之間的通信,業務感知控制器和業務感知節點之間通過openflow協議進行通信,用于接受業務感知節點自身匹配條件的注冊,維護整個系統的匹配條件集合。所述業務感知節點的匹配結果的數據封裝到數據包中,具體封裝到網絡服務報頭的元數據部分。
[0026]SDN交換節點用于實現對應業務節點之間業務的轉發,其中,一個SDN交換節點可以將一個業務節點的數據包轉發到另一個業務節點,也可以是多個業務節點轉發使用同一個SDN交換節點。
[0027]SDN控制器,用于為業務轉發所涉及的SDN交換節點設置流表的轉發規則。因為系統在原來的轉發路徑上增加了業務感知節點,且要求數據包要先經過業務感知節點,同時業務節點本身對數據包的轉發要保持和原來相同;因此SDN控制器需要對所涉及的SDN交換節點進行轉發流表的更新設置。
[0028]如圖2所示,