一種基于sdn采用dpi技術實現業務識別和流量調度的系統和方法
【專利摘要】本發明涉及一種基于SDN采用DPI技術實現業務識別和流量調度的系統和方法,系統包括SDN控制器、WEB服務器、OpenFlow交換機和DPI模塊,其中SDN控制器和DPI模塊共同完成業務識別和流量調度,SDN控制器包括:Controller Base模塊、Controller Mirror模塊、Controller Policy Config模塊、Controller Flow Statis模塊;通過本發明,提升吞吐量,提高DPI處理速度。
【專利說明】
一種基于SDN采用DPI技術實現業務識別和流量調度的系統和方法
技術領域
[0001 ]本發明具體涉及一種流量調度的系統和方法。
【背景技術】
[0002]軟件定義網絡正在成為整個行業關注的焦點,越來越多的相關專業都相信它將給傳統網絡架構帶來一次革命性的變革。如《軟件定義網絡-核心原理與應用實踐》書籍中說到的,面對互聯網規模與流量的爆發式增長,當前以IP為核心的網絡體系架構逐漸暴露了各式各樣的問題,如可擴展性、可管控性、安全性、移動性、服務質量以及綠色節能等方面,尤其是以協議為核心的網絡技術演進思路以及完全分布式的部署實施策略,使得網絡技術的發展速度非常緩慢,甚至在一定程度上陷入了僵化的困局。SDN是近年來未來網絡領域諸多方向中堅實且明確的一步。
[0003]SDN(軟件定義網絡)主要是實現數據控制分離、軟件可編程的體系結構,其基本架構如圖1所示。SDN采用了集中式的控制平面和分布式的轉發平面,兩個平面相互分離,控制平面利用控制-轉發通信接口對轉發平面上的網絡設備進行集中式的控制,并提供靈活的可編程能力。
[0004]DPI(深度包檢測),其是一種基于數據包的應用層流量檢測和控制技術,針對數據包的不同層信息(如IP地址、應用層端口、應用層協議、凈荷內容等)進行深度檢測和分析,從而得到整個數據流或數據包的應用層信息,然后按照系統定義的策略對流量進行統計分析和控制。
【發明內容】
[0005]本發明為了解決現有技術中的上述問題,提出一種流量調度的系統和方法,具體提供一種基于SDN采用DPI技術實現業務識別和流量調度的系統,其包括SDN控制器、WEB月艮務器、OpenFlow交換機和DPI模塊,其中SDN控制器和DPI模塊共同完成業務識別和流量調度,其中,SDN控制器包括:ControlIer Base模塊、ControIIer Mirror模塊、ControIIerPolicy Config模塊、Controller Flow Statis模塊;
[0006]Controller Base模塊:利用其提供的相關接口,實現轉發、拓撲發現、流量鏡像和下發用于用戶流量統計的流表提供給流量統計模塊使用;
[0007]Controller Mirror模塊:用于處理來自WEB服務器的配置請求,配置鏡像端口,將鏡像端口的配置提供給ControI Ier Base模塊使用,使流量可以從鏡像端口鏡像一份流量到達DPI模塊以供分析;
[0008]Controller Policy Config模塊:利用其提供的相關接口,實現用戶策略的處理,包括WEB的策略配置請求,接收來自DPI的協議分析結果并處理;
[0009]Controller Flow Statis模塊:用于定時遍歷用戶的IP,給OpenFlow交換機發送流量統計請求,處理OpenFlow交換機回復的流量統計,更新用戶流量統計記錄文件,定時給WEB服務器上傳,以實現用戶流量的統計;
[0010]DPI模塊包括:DPI Config API模塊、DPI協議分析模塊;
[0011]DPI Config API模塊:用于處理來自WEB服務器的配置請求,更新協議分析庫文件和端口鏡像的OpenFlow交換機以及獲取需要分析的協議,還用于從SDN控制器接收需要分析的協議;
[0012]DPI協議分析模塊:用于收包并分析協議,查詢應用協議組,把結果保存在協議分析結果隊列,并把結果通知SDN控制器。
[0013]優選的,Control Ier Base模塊具體用于:更新mac用戶表,下發基本流量和Packet_0ut,支持基本轉發,獲取端口鏡像配置,給下發流表和Packet_0ut的接口增加Write Act1n,通過鏡像端口轉發數據包給DPI,在正常轉發的同時給DPI轉發數據包,實現端口鏡像,處理11 dp消息,對新的IP給OpenFI ow交換機配置QoS和默認的Queue,下發Flow_Mod綁定默認的Queue,用于用戶流量統計。
[00M] 優選的,Controller Policy Config模塊具體用于:接收來自DPI的流量5元組和appid ;查詢協議控制策略,為阻斷時,給OpenFlow交換機下發drop流表,為限速時,給OpenFlow交換機下發queue流表,控制記錄文件更新,并且定時給WEB服務器上傳控制記錄;
[0015]Controller Policy Config模塊還用于:應用協議的控制策略、用戶的限速策略;限速策略需要給OpenFlow交換機配置QoS和Queue,用戶的限速策略需要給OpenFlow交換機下發Flow_Mod,通知DPI需要分析的應用協議。
[0016]優選的,DPI協議分析模塊具體用于:查詢WEB服務器下發的協議識別庫,然后把DPI作為Rest Client,利用Rest API模塊配置的SDN控制器IP和SDN控制器Rest Server通
?目O
[0017]優選的,DPI協議分析模塊還用于收包并分析協議,進而得到流量5元組和appid,
[0018]還提供一種基于SDN采用DPI技術實現業務識別和流量調度的方法,其應用于基于SDN采用DPI技術實現業務識別和流量調度的系統,所述系統包括SDN控制器、WEB服務器、OpenFlow交換機和DPI模塊,其中SDN控制器和DPI模塊共同完成業務識別和流量調度,用戶通過WEB界面配置需要管理的控制器IP,對控制器配置DPI IP,配置控制器IP時,通知控制器WEB服務器的IP,FTP服務器的用戶名和密碼;
[0019]控制器給交換機配置QoS和默認Queue,用于用戶流量統計;
[0020]用戶通過WEB界面給DPI下發協議識別庫,上傳協議識別相關的數據文件;
[0021 ]用戶通過WEB界面獲取控制器控制的交換機;
[0022]用戶通過WEB界面配置接收鏡像流量的交換機;
[0023]用戶通過WEB界面配置應用協議控制規則,控制器接收并保存應用協議控制規則,控制器通知DPI需要分析的協議;
[0024]用戶通過WEB界面配置鏡像端口,控制器接收并保存端口鏡像配置;
[0025]應用初次發數據包給交換機,交換機找不到匹配的流表,發Packet_In消息給控制器;
[0026]控制器判斷發送Packet_In消息的是不是新用戶,如果是,給交換機發送F1w_Mod ,Act1n為Set_Queue,Queue ID為默認Queue的ID,這樣的流表是用來統計用戶流量的;
[0027]控制器查詢交換機的鏡像端口,給交換機發送Packet_0ut和Flow_ModAct1n ;交換機執行Packet_0ut,正常轉發的同時,從鏡像端口轉發數據包給DPI,后續的數據包執行Flow_Mod,正常轉發的同時,從鏡像端口轉發數據包給DPI;
[0028]DPI對接收到的數據包分析,識別appid,查詢應用協議組,通知控制器流量5元組和appid;
[0029]控制器接收到5元組和appid,查詢應用協議控制策略,給交換機發送Flow_Mod消息,Act1n為Set_Queue或者Drop,同時保存控制記錄,根據WEB服務器信息,定時上傳控制記錄;用戶通過WEB界面可以查看到統計控制記錄。
[0030]優選的,所述方法還包括:特征應用發送數據包,交換機執行流表,包括Set_QUeUe限速、Drop阻斷;
[0031]控制器定時遍歷用戶,獲取流量數據,保存用戶流量統計文件,上傳該文件;
[0032]用戶通過WEB界面可以查看到用戶流量統計;
[0033]用戶通過WEB配置用戶的限速策略,控制器保存用戶的限速策略,通過OVSDB給交換機配置 QoS 和Queue,同時下發 Flow_Mod ,Act1n 為 Set_Queue ;
[0034]特征用戶數據包發給交換機,執行流表Set_Queue,達到限速目的;
[0035]用戶通過WEB界面獲取DPI需要分析的協議。
[0036]本發明可以應用于基于DPI的用戶行為分析,識別不同的流量特征,對在用戶未知情況下發生的流量也予以分析和識別,并能夠反饋給網管系統。網絡管理員對相關應用控制流量(限速),阻斷或者通過;對用戶流量限速。
[0037]本發明具有以下明顯優點:
[0038]1、提升吞吐量
[0039]本發明采用SDN控制器和DPI分離模式,通過WEB配置方式,一個控制器下可以控制多臺DPI,一個OpenF I ow交換機下的用戶流量可以被多臺DPI同時處理,提升吞吐量。
[0040]2、提高DPI處理速度
[0041]本發明中Controller Mirror模塊通過配置鏡像端口實現OpenFlow交換機數據包直接通過鏡像端口轉發給DPI,DPI根據應用層的協議庫按照控制器下發的識別策略,識別相關的數據包并把結果上報給控制器。本發明不像現有基于DPI的SDN控制器(現有通過修改OpenFlow協議,獲取識別數據包),可以大大的提高DPI處理速度。
[0042]3、擴展性強
[0043]本發明中DPIConfig API模塊可以更新協議分析庫文件,WEB采用ftp的方式更新協議庫文件,DPI不需要做處理。
【附圖說明】
[0044]圖1是實現業務識別和流量調度的系統圖。
[0045]圖2是本發明模塊關系圖。
[0046]圖3是本發明實現業務識別和流量調度的方法流程圖。
【具體實施方式】
[0047]下面結合附圖對本發明做進一步詳細說明。
[0048]參見圖1,圖2,系統包括SDN控制器、WEB服務器、OpenFlow交換機和DPI模塊,其中SDN控制器和DPI模塊共同完成業務識別和流量調度,
[0049]SDN控制器包括:Controller Base模塊、Controller Mirror模塊、ControllerPolicy Config模塊、Controller Flow Statis模塊;
[0050]Controller Base模塊:利用其提供的相關接口,實現基本轉發,Ildp拓撲發現,流量鏡像和下發用于用戶流量統計的流表提供給流量統計模塊使用。主要功能有更新mac用戶表,下發基本流量和Packet_0ut,支持基本轉發,獲取端口鏡像配置,給下發流表和Packet_0ut的接口增加fcite Act1n,通過鏡像端口轉發數據包給DPI。在正常轉發的同時給DPI轉發數據包,實現端口鏡像。處理Ildp消息。對新的IP給交換機配置QoS和默認的Queue。下發Flow_Mod綁定默認的Queue,用于用戶流量統計。
[°°511 Controller Mirror模塊:處理來自WEB的配置請求,配置鏡像端口,鏡像端口的配置提供給ControIIer Base模塊使用。
[0052]Controller Policy Config模塊:利用其提供相關接口,實現用戶策略的處理,包括WEB的策略配置請求,接收來自DPI的協議分析結果并處理。主要功能有,應用協議的控制策略;用戶的限速策略。限速策略需要給交換機配置QoS和Queue。用戶的限速策略需要給OpenFlow交換機下發Flow_Mod,Act1n為Set_Queue。通知DPI需要分析的應用協議。接收來自DPI的流量5元組和appid,查詢協議控制策略,為阻斷時,給OpenFlow交換機下發流表;為限速時,給OpenFlow交換機下發流表,把特征流量和限速的Queue關聯。控制記錄文件更新。定時給WEB上傳控制記錄。
[0053]Controller Flow Statis模塊:本模塊是實現用戶流量的統計。主要功能是,定時遍歷用戶的IP,給OpenFl ow交換機發送流量統計請求。處理交換機回復的流量統計,更新用戶流量統計記錄文件。定時給WEB上傳。
[0054]DPI部分分為兩個子模塊:
[0055]DPI Config API模塊:主要功能是處理來自WEB的配置請求,更新協議分析庫文件和端口鏡像的交換機以及獲取需要分析的協議。第二個是從控制器接收需要分析的協議。
[0056]DP1協議分析模塊:收包并分析協議,得到流量5元組和appid,查詢應用協議組,把結果保存在協議分析結果隊列,把結果通知控制器。
[0057]參見圖3,具體實施過程中OpenFlow交換機以OVS交換機為例。
[0058]主要流程為:
[0059]用戶通過WEB界面配置需要管理的控制器IP,對控制器配置DPIIP。配置控制器IP時,通知控制器WEB服務器的IP,FTP服務器的用戶名和密碼。
[0060]控制器通過OVSDB給交換機配置QoS和默認Queue,用于用戶流量統計。
[0061]用戶通過WEB界面給DPI下發協議識別庫:上傳協議識別相關的數據文件。
[0062]用戶通過WEB界面獲取控制器控制的交換機。
[0063]用戶通過WEB界面配置接收鏡像流量的交換機。
[0064]用戶通過WEB界面配置應用協議控制規則,控制器接收并保存應用協議控制規則(對限速策略,通過OVSDB給交換機配置QoS和Queue)。控制器通知DPI需要分析的協議。
[0065]用戶通過WEB界面配置鏡像端口,控制器接收并保存端口鏡像配置。
[0066]特征應用初次發數據包給交換機,交換機找不到匹配的流表,發Packet_In消息給控制器。
[0067]控制器判斷發送Packet_In消息的是不是新用戶,如果是,給交換機發送F1w_Mod ,Act1n為Set_Queue,Queue ID為默認Queue的ID。這樣的流表是用來統計用戶流量的。
[0068]控制器查詢交換機的鏡像端口,給交換機發送Packet_0ut和Flow_Mod
Act1n。交換機執行Packe t_0ut,正常轉發的同時,從鏡像端口轉發數據包給DPI。后續的數據包執行Flow_Mod,正常轉發的同時,從鏡像端口轉發數據包給DPI。
[0069]DPI對接收到的數據包分析,識別appid。查詢應用協議組,通知控制器流量5元組和appidο
[0070]控制器接收到5元組和appid,查詢應用協議控制策略。給交換機發送Flow_Mod消息,Act1n為Set_Queue或者Drop。同時保存控制記錄,根據WEB服務器信息(IP,FTP服務器用戶名和密碼),定時上傳控制記錄。
[0071 ] 用戶通過WEB界面可以查看到統計控制記錄。
[0072]特征應用發送數據包,交換機執行流表,Set_Queue限速,Drop阻斷。
[0073]控制器定時遍歷用戶,獲取流量數據,保存用戶流量統計文件,上傳該文件。
[0074]用戶通過WEB界面可以查看到用戶流量統計。
[0075]用戶通過WEB配置用戶的限速策略。控制器保存用戶的限速策略。通過OVSDB給交換機配置 QoS 和 Queue。同時下發 Flow_Mod,Act1n 為 Set_Queue。
[0076]特征用戶數據包發給交換機,執行流表Set_Queue,達到限速目的。
[0077]用戶通過WEB界面獲取DPI需要分析的協議。
[0078]以上所述的實施例僅僅是對本發明的優選實施方式進行描述,并非對本發明的范圍進行限定,在不脫離本發明設計精神的前提下,本領域普通工程技術人員對本發明的技術方案作出的各種變形和改進,均應落入本發明的權利要求書確定的保護范圍內。
【主權項】
1.一種基于SDN采用DPI技術實現業務識別和流量調度的系統,其包括SDN控制器、WEB服務器、OpenFlow交換機和DPI模塊,其中SDN控制器和DPI模塊共同完成業務識別和流量調度,其特征在于: SDN控制器包括:Controller Base模塊、Controller Mirror模塊、Controller PolicyConfig模塊、Controller Flow Statis模塊; ControIler Base模塊:利用其提供的相關接口,實現轉發、拓撲發現、流量鏡像和下發用于用戶流量統計的流表提供給流量統計模塊使用; Controller Mirror模塊:用于處理來自WEB服務器的配置請求,配置鏡像端口,將鏡像端口的配置提供給Controller Base模塊使用,使流量可以從鏡像端口鏡像一份流量到達DPI模塊以供分析; Controller Policy Config模塊:利用其提供的相關接口,實現用戶策略的處理,包括WEB的策略配置請求,接收來自DPI的協議分析結果并處理; Controller Flow Statis模塊:用于定時遍歷用戶的IP,給OpenFlow交換機發送流量統計請求,處理OpenFlow交換機回復的流量統計,更新用戶流量統計記錄文件,定時給WEB服務器上傳,以實現用戶流量的統計; DPI模塊包括:DPI Config API模塊、DPI協議分析模塊; DPI Config API模塊:用于處理來自WEB服務器的配置請求,更新協議分析庫文件和端口鏡像的OpenFlow交換機以及獲取需要分析的協議,還用于從SDN控制器接收需要分析的協議; DPI協議分析模塊:用于收包并分析協議,查詢應用協議組,把結果保存在協議分析結果隊列,并把結果通知SDN控制器。2.根據權利要求1所述的系統,其特征在于,ControlIerBase模塊具體用于:更新mac用戶表,下發基本流量和Packet_Out,支持基本轉發,獲取端口鏡像配置,給下發流表和Packet_Out的接口增加fcite Act1n,通過鏡像端口轉發數據包給DPI,在正常轉發的同時給DPI轉發數據包,實現端口鏡像,處理I Idp消息,對新的IP給OpenFlow交換機配置QoS和默認的Queue,下發Flow_Mod綁定默認的Queue,用于用戶流量統計。3.根據權利要求1所述的系統,其特征在于,ControllerPolicy Config模塊具體用于:接收來自DPI的流量5元組和appid;查詢協議控制策略,為阻斷時,給OpenFlow交換機下發drop流表,為限速時,給OpenFl ow交換機下發queue流表,控制記錄文件更新,并且定時給WEB服務器上傳控制記錄; Controller Policy Config模塊還用于:應用協議的控制策略、用戶的限速策略;限速策略需要給OpenFlow交換機配置QoS和Queue,用戶的限速策略需要給OpenFlow交換機下發FloW_Mod,通知DPI需要分析的應用協議。4.根據權利要求1所述的系統,其特征在于,DPI協議分析模塊具體用于:查詢WEB服務器下發的協議識別庫,然后把DPI作為Re s t CI i en t,利用Re s t API模塊配置的SDN控制器IP和SDN控制器Rest Server通信。5.根據權利要求1所述的系統,其特征在于,DPI協議分析模塊還用于收包并分析協議,進而得到流量5元組和appid。6.—種基于SDN采用DPI技術實現業務識別和流量調度的方法,其應用于基于SDN采用DPI技術實現業務識別和流量調度的系統,所述系統包括SDN控制器、WEB服務器、OpenFlow交換機和DPI模塊,其中SDN控制器和DPI模塊共同完成業務識別和流量調度,其特征在于:用戶通過WEB界面配置需要管理的控制器IP,對控制器配置DPI IP,配置控制器IP時,通知控制器WEB服務器的IP,FTP服務器的用戶名和密碼; 控制器給交換機配置QoS和默認Queue,用于用戶流量統計; 用戶通過WEB界面給DPI下發協議識別庫,上傳協議識別相關的數據文件; 用戶通過WEB界面獲取控制器控制的交換機; 用戶通過WEB界面配置接收鏡像流量的交換機; 用戶通過WEB界面配置應用協議控制規則,控制器接收并保存應用協議控制規則,控制器通知DPI需要分析的協議; 用戶通過WEB界面配置鏡像端口,控制器接收并保存端口鏡像配置; 應用初次發數據包給交換機,交換機找不到匹配的流表,發Packet_In消息給控制器; 控制器判斷發送Packet_In消息的是不是新用戶,如果是,給交換機發送Flow_Mod,Act1n為Set_Queue,Queue ID為默認Queue的ID,這樣的流表是用來統計用戶流量的; 控制器查詢交換機的鏡像端口,給交換機發送Packet_Out和Flow_Mod,增加WriteAct1n ;交換機執行Packet_0ut,正常轉發的同時,從鏡像端口轉發數據包給DPI,后續的數據包執行Flow_Mod,正常轉發的同時,從鏡像端口轉發數據包給DPI; DPI對接收到的數據包分析,識別appid,查詢應用協議組,通知控制器流量5元組和appid; 控制器接收到5元組和app i d,查詢應用協議控制策略,給交換機發送FI ow_Mod消息,Act1n為Set_Queue或者Drop,同時保存控制記錄,根據WEB服務器信息,定時上傳控制記錄;用戶通過WEB界面可以查看到統計控制記錄。7.根據權利要求6所述的方法,其特征在于,所述方法還包括:特征應用發送數據包,交換機執行流表,包括Set_Queue限速、Drop阻斷; 控制器定時遍歷用戶,獲取流量數據,保存用戶流量統計文件,上傳該文件; 用戶通過WEB界面可以查看到用戶流量統計; 用戶通過WEB配置用戶的限速策略,控制器保存用戶的限速策略,通過OVSDB給交換機配置 QoS 和Queue,同時下發 Flow_Mod ,Act1n 為 Set_Queue ; 特征用戶數據包發給交換機,執行流表Set_Queue,達到限速目的; 用戶通過WEB界面獲取DPI需要分析的協議。
【文檔編號】H04L12/927GK105897611SQ201610478379
【公開日】2016年8月24日
【申請日】2016年6月24日
【發明人】余平, 向穩, 姚晶, 鄧超
【申請人】武漢綠色網絡信息服務有限責任公司