一種sdn中用戶事件的上報方法及網絡系統的制作方法【
技術領域:
】[0001]本發明涉及通信網絡
技術領域:
,尤其涉及一種SDN中用戶事件的上報方法及網絡系統。【
背景技術:
】[0002]隨著軟件定義網絡SDN技術的發展,業界普遍采用Openflow協議作為SDN中的控制器的南向接口,用以控制SDN中的交換機工作。OpenFlow是SDN架構中目前最為成熟的接口協議,負責控制層Controller與基礎設施層Switch設備之間的交互。OpenFlow協議的核心是流表(Flowtable),其生成、維護、下發由Controller實現。在目前標準與實現中,SDN中的交換機只能把未匹配數據包、流表項刪除、端口狀態變化與錯誤消息上報給控制器,而無法主動上報其他信息。考慮到未來基于OpenFlow的SDN網絡在進行智能管道控制時,控制器需實時監控用戶業務信息(如業務流量),并及時主動上報,以實現達量降速、在線計費等功能。當前對于這個問題尚無很好的解決方案,只能通過SDN控制器定時向SDN發送查詢請求,獲取相關信息。現有方案都無法較好的解決該問題。【
發明內容】[0003]有鑒于此,本發明要解決的一個技術問題是提供一種SDN中用戶事件的上報方法,根據新增的事件檢測域實現用戶業務信息的實時上報。[0004]一種軟件定義網絡SDN中用戶事件的上報方法,包括:0penFlow控制器生成基于OpenFlow協議的流表,并將所述流表下發至OpenFlow交換機;所述流表包括事件檢測域;所述OpenFlow交換機基于所述流表進行流量轉發并根據所述事件檢測域攜帶的信息向所述OpenFlow控制器上報事件。[0005]根據本發明的一個實施例,進一步的,所述OpenFlow交換機解析所述流表并獲取所述事件檢測域攜帶的事件參數;其中,所述事件參數包括:檢測事件類型、觸發事件的門限;所述OpenFlow交換機根據所述事件參數實時檢測是否觸發向OpenFlow控制器上報事件。[0006]根據本發明的一個實施例,進一步的,當接收到用戶終端發送的業務請求時,所述OpenFlow控制器對所述用戶終端設置流量策略;所述OpenFlow控制器根據所述流量策略生成所述流表,所述流表包括:匹配域、動作act1n;所述匹配域包括:目的IP地址、目的IP端口;所述OpenFlow控制器根據所述流量策略生成針對所述用戶終端的事件檢測域,并在所述流表中插入所述事件檢測域;所述事件域包括:流量報告事件,流量門限。[0007]根據本發明的一個實施例,進一步的,所述OpenFlow交換機按照所述流表進行數據包的轉發并統計所述用戶終端的流量,實時檢測所述用戶終端的流量是否達到所述流量門限;當判斷所述用戶的流量達到流量門限時,所述OpenFlow交換機向所述OpenFlow控制器發送流量報告消息,并仍按照所述流表進行數據包的轉發;所述流量報告消息包含:流量超出事件、用戶終端的流量。[0008]根據本發明的一個實施例,進一步的,當所述OpenFlow控制器接收到所述流量報告消息時,根據所述流量策略降低所述用戶終端的帶寬,并生成所述用戶終端的新的流表;所述新的流表中的匹配域包括:新的目的IP地址、新的目的IP端口;所述OpenFlow控制器將所述新的流表發送到所述OpenFlow交換機;所述OpenFlow交換機按照所述新的流表進行數據包的轉發。[0009]本發明要解決的一個技術問題是提供一種網絡系統,根據新增的事件檢測域實現用戶業務信息的實時上報。[0010]一種網絡系統,包括:0penFlow控制器和OpenFlow交換機;所述OpenFlow控制器包括:流表生成單元,用于生成基于OpenFlow協議的流表,所述流表包括事件檢測域;流表下發單元,用于將所述流表下發到所述OpenFlow交換機;所述OpenFlow交換機包括:數據轉發單元,用于基于所述流表進行流量轉發;事件上報單元,用于根據所述事件檢測域攜帶的信息向所述OpenFlow控制器上報事件。[0011]根據本發明的一個實施例,進一步的,所述OpenFlow交換機還包括:流表解析單元,用于解析所述流表并獲取所述事件檢測域攜帶的事件參數;所述事件參數包括:檢測事件類型、觸發事件的門限;其中,所述事件上報單元根據所述事件參數實時檢測是否觸發向OpenFlow控制器上報事件。[0012]根據本發明的一個實施例,進一步的,所述OpenFlow控制器還包括:策略生成單元,用于當接收到用戶終端發送的業務請求時,對所述用戶終端設置流量策略;所述流表生成單元,還用于根據所述流量策略生成所述流表,所述流表包括:匹配域、動作act1n;所述匹配域包括:目的IP地址、目的IP端口;根據所述流量策略生成針對所述用戶終端的事件檢測域,并在所述流表中插入所述事件檢測域;所述事件域包括:流量報告事件,流量門限。[0013]根據本發明的一個實施例,進一步的,所述數據轉發單元,還用于按照所述流表進行數據包的轉發并統計所述用戶終端的流量;所述事件上報單元,還用于實時檢測所述用戶終端的流量是否達到所述流量門限;當判斷所述用戶的流量達到流量門限時,所述事件上報單元向所述OpenFlow控制器發送流量報告消息,所述流量報告消息包含:流量超出事件、用戶終端的流量;所述述數據轉發單元仍按照所述流表進行數據包的轉發。[0014]根據本發明的一個實施例,進一步的,所述流表生成單元,還用于當接收到所述流量報告消息時,根據所述流量策略降低所述用戶終端的帶寬,并生成所述用戶的新的流表;所述新的流表中匹配域包括:新的目的IP地址、新的目的IP端口;所述流表下發單元將所述新的流表發送到所述OpenFlow交換機;所述數據轉發單元按照所述新的流表進行數據包的轉發。[0015]本發明的SDN中用戶事件的上報方法及網絡系統,擴展了OpenFlow協議,增加事件檢測域,根據新增的事件檢測域實現用戶業務信息的實時上報,可在基于OpenFlow協議的軟件定義網絡中實現用戶業務信息的實時上報功能。【附圖說明】[0016]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。[0017]圖1為根據本發明的SDN中用戶事件的上報方法的一個實施例的流程圖;[0018]圖2為根據本發明的SDN中用戶事件的上報方法的另一個實施例的流程圖;[0019]圖3為根據本發明的網絡系統的一個實施例的示意圖。【具體實施方式】[0020]下面參照附圖對本發明進行更全面的描述,其中說明本發明的示例性實施例。下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。下面結合各個圖和實施例對本發明的技術方案進行多方面的描述。[0021]圖1為根據本發明的SDN中用戶事件的上報方法的一個實施例的流程圖,如圖1所示:[0022]步驟101,OpenFlow控制器生成基于OpenFlow協議的流表,并將流表下發至OpenFlow交換機,流表包括事件檢測域;[0023]步驟102,OpenFlow交換機基于流表進行流量轉發并根據事件檢測域攜帶的信息向OpenFlow控制器上報事件。[0024]OpenFlow協議將網絡設備的控制功能與轉發功能進行分離,進而將控制功能全部集中到遠程的控制器上完成,數據轉發的依據是流表。流表可被視作是OpenFlow對網絡設備的數據轉發功能的一種抽象。OpenFlow控制器和OpenFlow交換機為在SDN中基于OpenFlow協議的控制器和交換機。[0025]本發明的SDN中用戶事件的上報方法,針對當前的OpenFlow交換機不支持實時上報用戶業務信息,無法實現達量降速、在線計費等功能的問題,提出了擴展OpenFlow協議,增加事件檢測域,OpenFlow交換機根據事件檢測域實現用戶業務信息的實時上報,可在基于OpenFlow的軟件定義網絡中實現用戶業務信息的實時上報功能。[0026]在一個實施例中,事件檢測域包含需要OpenFlow交換機檢測的事件及相關參數。OpenFlow交換機解析流表并獲取事件檢測域攜帶的事件參數;事件參數包括:檢測事件類型、觸發事件的門限。事件檢測域可以包括多個參數,例如,檢測事件類型、觸發事件的門限等。檢測事件類型可以有達量降速、在線計費等類型。OpenFlow交換機根據事件參數實時檢測是否觸發向OpenFlow控制器上報事件。[0027]在一個實施例中,當接收到用戶終端發送的業務請求時,OpenFlow控制器對用戶終端設置流量達量降速策略。OpenFlow控制器對用戶終端設置的策略可以有多種,例如達量降速、實時計費等策略。[0028]OpenFlow設備中使用的流表的表項中整合了網絡中各個層次的網絡配置信息,從而在進行數據轉發時可以使用更豐富的規則。OpenFlow流表的每個流表項都由3部分組成:用于數據包匹配的匹配域(MatchFields),用于統計匹配數據包個數的計數(Counters),用于展示匹配的數據包如何處理的動作(Act1ns)。[0029]OpenFlow控制器根據流量達量降速策略生成流表,流表包括:匹配域、動作act1n;匹配域包括:目的IP地址、目的IP端口;0penFlow控制器根據流量達量降速策略生成針對用戶終端的事件檢測域,并在流表中插入新增的事件檢測域。事件檢測域包括:流量報告事件,流量門限。[0030]在一個實施例中,OpenFlow交換機按照流表進行數據包的轉發并統計用戶終端的流量,實時檢測用戶終端的流量是否達到流量門限。當判斷用戶的流量達到流量門限時,OpenFlow交換機向OpenFlow控制器發送流量報告消息,并仍按照流表進行數據包的轉發;流量報告消息包含:流量超出事件、用戶終端的流量。[0031]上述實施例中的用戶事件的上報方法,OpenFlow控制器在下發流表時,同時下發事件檢測域,其中包含需要交換機檢測的事件與相關參數;0penFlOW交換機在按流表進行數據轉發時,還將根據事件檢測域,比對是否會觸發事件上報,觸發事件上報一方面仍將正常按流表進行包轉發,同時還會立即把該事件上報OpenFlow控制器。OpenFlow當前第1頁1 2