本發明涉及通信技術領域,尤其涉及一種數據報文的方法、設備及系統。
背景技術:當前,由于網絡暴露出了越來越多的弊病以及人們對網絡性能需求的提高,很多復雜功能被加入到交換設備的體系結構當中,例如開放式最短路徑優先OpenShortestPathFirst,簡稱OSPF)協議,組播,區分服務,流量工程,防火墻等等。這樣就使得路由器等交換設備越來越臃腫,而且性能提升的空間越來越小。一種開放流(簡稱OpenFlow)技術的提出能夠解決上述的現有交換設備(如交換機或者路由器等)越來越臃腫,而且性能提升的空間越來越小的問題。OpenFlow技術下的OpenFlow交換設備(簡稱OpenFlowSwitch)將原來完全由OpenFlow交換設備控制的報文轉發過程轉化為由OpenFlow交換設備和控制設備(簡稱Controller)來共同完成,從而實現了數據轉發和路由控制的分離。控制設備可以通過事先規定好的接口操作來控制OpenFlow交換設備中的流表,從而達到控制數據轉發的目的。具體的過程為,OpenFlow交換設備在接收到報文時,向控制設備發送報文消息,以使得所述控制設備獲取到所述報文內容,在OpenFlow協議中規定了OpenFlow交換設備中的每個流表項所對應的動作,這樣所述控制設備通過所述OpenFlow協議中規定的每個流表項所對應的動作,向所述OpenFlow交換設備發送OpenFlow協議消息,以對所述報文或整個OpenFlow交換設備的數據進行管理控制,例如數據轉發、防火墻設置、路由設置等均在所述OpenFlow協議中有規定。在實現本發明實施例的過程中,發明人發現現有技術中至少存在如下問題:OpenFlow交換設備只能通過OpenFlow協議中規定的功能對OpenFlow交換設備或報文進行控制管理,不能實現所述OpenFlow協議外的功能。
技術實現要素:本發明的實施例提供一種數據報文的控制方法、設備及系統,能夠解決現有技術中由于OpenFlow交換設備只能通過OpenFlow協議中規定的功能對OpenFlow交換設備或報文進行控制管理,不能實現所述OpenFlow協議外的功能的問題。為達到上述目的,本發明采用如下技術方案:一種數據報文的控制方法,包括:控制設備根據匹配信息和操作信息的對應關系生成流表項操作指示消息,所述流表項操作指示消息包括所述匹配信息和所述操作信息,所述匹配信息和所述操作信息的對應關系是事先配置的,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;所述控制設備發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項,所述流表項的匹配域包括所述匹配信息,所述流表項的操作域包括所述操作信息,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。一種數據報文的控制方法,包括:交換設備接收控制設備發送的流表項操作指示消息,所述流表項操作指示消息包括匹配信息和操作信息,所述操作信息包括自定義操作指示和所述交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;所述交換設備根據所述流表項操作指示消息生成流表項,所述流表項的匹配域包括所述匹配信息,所述流表項的操作域包括所述操作信息,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。一種控制設備,包括:第一生成單元,用于根據匹配信息和操作信息的對應關系生成流表項操作指示消息,所述流表項操作指示消息包括所述匹配信息和所述操作信息,所述匹配信息和所述操作信息的對應關系是事先配置的,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;第一發送單元,用于發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項,所述流表項的匹配域包括所述匹配信息,所述流表項的操作域包括所述操作信息,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。一種交換設備,包括:第三接收單元,用于接收控制設備發送的流表項操作指示消息,所述流表項操作指示消息包括匹配信息和操作信息,所述操作信息包括自定義操作指示和所述交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;第二生成單元,用于根據所述流表項操作指示消息生成流表項,所述流表項的匹配域包括所述匹配信息,所述流表項的操作域包括所述操作信息,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。一種數據報文的控制系統,包括上述的控制設備以及上述的交換設備。本發明實施例提供的數據報文的控制方法、設備及系統,由于控制設備根據匹配信息和操作信息的對應關系生成流表項操作指示消息,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;所述控制設備發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。這樣使得所述交換設備所支持的控制命令均能在所述交換設備中實現,與現有技術相比,本發明實施例能夠解決OpenFlow交換設備只能通過OpenFlow協議中規定的功能對OpenFlow交換設備或報文進行控制管理,不能實現所述OpenFlow協議外的功能的問題。附圖說明為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本發明實施例提供的數據報文的控制方法的流程圖一;圖2為本發明實施例提供的數據報文的控制方法的流程圖二;圖3為本發明又一實施例提供的數據報文的控制方法的流程圖;圖4為本發明實施例提供的控制設備的結構示意圖一;圖5為本發明實施例提供的控制設備的結構示意圖二;圖6為本發明實施例提供的交換設備的結構示意圖一;圖7為本發明實施例提供的交換設備的結構示意圖二;圖8為本發明實施例提供的數據報文的控制系統的結構示意圖。具體實施方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。為使本發明技術方案的優點更加清楚,下面結合附圖和實施例對本發明作詳細說明。如圖1所示,本發明實施例提供的數據報文的控制方法,從控制設備側進行闡述,所述方法包括:步驟101、控制設備根據匹配信息和操作信息的對應關系生成流表項操作指示消息。其中,所述流表項操作指示消息包括所述匹配信息和所述操作信息,所述匹配信息和所述操作信息的對應關系是事先配置的,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令。其中,所述流表項操作指示消息用于指示所述交換設備生成流表項,從而將所述流表項操作指示消息中的匹配信息配置到流表項的匹配域中,將所述流表項操作指示消息中的操作信息配置到流表項的操作域中。其中,所述匹配信息中帶有大量數據報文與所述操作信息的對應關系,用于在交換設備接收到數據報文時,所述數據報文若與所述匹配信息匹配,則能通過所述匹配信息找到對應的操作信息。其中,所述操作信息用于在交換設備在接收到數據報文,并根據所述匹配信息找到所述操作信息時,所述操作信息中帶有自定義操作指示,指示所述交換設備執行所述操作信息中所述交換設備所支持的控制命令。例如所述自定義操作指示可以是告知所述交換設備,執行自定義的控制命令,所述自定義的控制命令即為預先設置的所述交換設備所支持的控制命令。其中,所述匹配信息和所述操作信息的對應關系是事先配置的,所述事先配置可以是事先設置有匹配信息和所述操作信息的對應關系表,所述對應關系表可以事先設置在所述控制設備本地的數據庫中,或者設置在其他網元處,但不僅局限于此。其中,由于所述交換設備具有各種型號及系統版本,不同型號及系統版本下的交換設備可以支持不同的控制命令,例如某一型號及系統版本下的交換設備的顯示控制命令為“show”,而另一型號及系統版本下的交換設備的顯示控制命令為“display”,但不僅局限于此。步驟102、所述控制設備發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項。其中,所述流表項的匹配域包括所述匹配信息,所述流表項的操作域包括所述操作信息,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。具體的,由于所述控制設備不知道所述交換設備的型號和系統版本,因此為了保證所述交換設備所支持的控制指令能夠到達所述交換設備,所述控制設備將不同型號和系統版本對應的流表項操作指示消息均發送給所述交換設備。具體的,一般所述流表項存在三個域,匹配域、操作域以及數據域,匹配域中存儲有數據報文頭等信息,例如本實施例中的匹配信息;所述操作域中存儲有與匹配域中各個數據報文頭對應的報文將采取的處理動作信息,如本實施例中的操作信息;所述數據域存儲了數據報文的報文數量及字節大小等信息。具體的,所述控制設備發送所述流表項操作指示消息至所述交換設備可以是通過OpenFlow協議消息中的OFDF_VENDOR_EXTENSION消息發送。如圖2所示,本發明實施例提供的數據報文的控制方法,從交換設備側進行闡述,所述方法包括:步驟201、交換設備接收控制設備發送的流表項操作指示消息。其中,所述流表項操作指示消息包括匹配信息和操作信息,所述操作信息包括自定義操作指示和所述交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令。步驟202、所述交換設備根據所述流表項操作指示消息生成流表項。其中,所述流表項的匹配域包括所述匹配信息,所述流表項的操作域包括所述操作信息,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。本發明實施例提供的數據報文的控制方法,由于控制設備根據匹配信息和操作信息的對應關系生成流表項操作指示消息,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;所述控制設備發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。這樣使得所述交換設備所支持的控制命令均能在所述交換設備中實現,與現有技術相比,本發明實施例能夠解決OpenFlow交換設備只能通過OpenFlow協議中規定的功能對OpenFlow交換設備或報文進行控制管理,不能實現所述OpenFlow協議外的功能的問題。如圖3所示,本發明又一實施例提供的數據報文的控制方法,所述方法包括:步驟301、交換設備發送所述交換設備的型號信息以及系統版本信息至控制設備。執行步驟302,再執行步驟303,或者直接執行步驟303。步驟302、所述交換設備發送數據報文至所述控制設備。在所述控制設備接收到所述交換設備發送的所述數據報文后,執行步驟303。具體的,所述控制設備生成所述流表項操作指示消息可以是由所述交換設備發送數據報文觸發,也可以是根據預先設置的策略觸發,例如在所述控制設備上的存儲有匹配信息和所述操作信息的對應關系的數據庫發生變化時,生成所述流表項操作指示消息,但不僅局限于此。步驟303、所述控制設備根據匹配信息和所述操作信息的對應關系,以及所述交換設備的型號信息和系統版本信息,生成所述流表項操作指示消息。具體的,由于所述交換設備具有各種型號及系統版本,不同型號及系統版本下的交換設備可以支持不同的控制命令,因此為了使得所述流表項操作指示消息中無其他型號及系統版本的交換設備的匹配信息和操作信息,所述控制設備根據匹配信息和所述操作信息的對應關系,以及所述交換設備的型號信息和系統版本信息,生成所述流表項操作指示消息。步驟304、所述控制設備發送所述流表項操作指示消息至所述交換設備。其中,所述流表項操作指示消息包括匹配信息和操作信息,所述操作信息包括自定義操作指示和所述交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令。步驟305、所述交換設備根據所述流表項操作指示消息生成流表項。其中,所述流表項的匹配域包括所述匹配信息,所述流表項的操作域包括所述操作信息,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。步驟306、當接收到所述數據報文時,若所述數據報文與所述流表項的所述匹配信息匹配,所述交換設備根據所述流表項的所述自定義操作指示,對所述數據報文執行所述流表項的所述控制命令。本發明又一實施例提供的數據報文的控制方法,由于控制設備根據匹配信息和操作信息的對應關系生成流表項操作指示消息,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;所述控制設備發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。這樣使得所述交換設備所支持的控制命令均能在所述交換設備中實現,與現有技術相比,本發明實施例能夠解決OpenFlow交換設備只能通過OpenFlow協議中規定的功能對OpenFlow交換設備或報文進行控制管理,不能實現所述OpenFlow協議外的功能的問題。如圖4所示,本發明實施例提供的控制設備,包括:第一生成單元41,用于根據匹配信息和操作信息的對應關系生成流表項操作指示消息,所述流表項操作指示消息包括所述匹配信息和所述操作信息,所述匹配信息和所述操作信息的對應關系是事先配置的,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令。其具體實現方式參見圖1中步驟101所示,此處不再贅述。第一發送單元42,用于發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項,所述流表項的匹配域包括所述匹配信息,所述流表項的操作域包括所述操作信息,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。其具體實現方式參見圖1中步驟102所示,此處不再贅述。進一步的,如圖5所示,所述控制設備,還包括:第一接收單元43,用于接收所述交換設備的型號信息以及系統版本信息。其具體實現方式參見圖3中步驟301所示,此處不再贅述。所述第一生成單元41,具體用于:根據所述匹配信息和所述操作信息的對應關系,以及所述交換設備的型號信息和系統版本信息,生成所述流表項操作指示消息。其具體實現方式參見圖3中步驟303所示,此處不再贅述。進一步的,如圖5所示,所述控制設備,還包括:第二接收單元44,用于接收所述交換設備發送的所述數據報文。其具體實現方式參見圖3中步驟302所示,此處不再贅述。本發明實施例提供的控制設備,由于控制設備根據匹配信息和操作信息的對應關系生成流表項操作指示消息,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;所述控制設備發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。這樣使得所述交換設備所支持的控制命令均能在所述交換設備中實現,與現有技術相比,本發明實施例能夠解決OpenFlow交換設備只能通過OpenFlow協議中規定的功能對OpenFlow交換設備或報文進行控制管理,不能實現所述OpenFlow協議外的功能的問題。如圖6所示,本發明實施例提供的交換設備,包括:第三接收單元51,用于接收控制設備發送的流表項操作指示消息,所述流表項操作指示消息包括匹配信息和操作信息,所述操作信息包括自定義操作指示和所述交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令。其具體實現方式參見圖2中步驟201所示,此處不再贅述。第二生成單元52,用于根據所述流表項操作指示消息生成流表項,所述流表項的匹配域包括所述匹配信息,所述流表項的操作域包括所述操作信息,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。其具體實現方式參見圖2中步驟202所示,此處不再贅述。進一步的,如圖7所示,所述交換設備,還包括:執行單元53,用于當接收到所述數據報文時,若所述數據報文與所述流表項的所述匹配信息匹配,根據所述流表項的所述自定義操作指示,對所述數據報文執行所述流表項的所述控制命令。其具體實現方式參見圖3中步驟306所示,此處不再贅述。進一步的,如圖7所示,所述交換設備,還包括:第二發送單元54,用于發送所述交換設備的型號信息以及系統版本信息至所述控制設備。其具體實現方式參見圖3中步驟301所示,此處不再贅述。進一步的,如圖7所示,所述交換設備,還包括:第三發送單元55,用于發送所述數據報文至所述控制設備。其具體實現方式參見圖3中步驟302所示,此處不再贅述。本發明實施例提供的交換設備,由于控制設備根據匹配信息和操作信息的對應關系生成流表項操作指示消息,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;所述控制設備發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。這樣使得所述交換設備所支持的控制命令均能在所述交換設備中實現,與現有技術相比,本發明實施例能夠解決OpenFlow交換設備只能通過OpenFlow協議中規定的功能對OpenFlow交換設備或報文進行控制管理,不能實現所述OpenFlow協議外的功能的問題。如圖8所示,本發明實施例提供的數據報文的控制系統,包括上述的控制設備61以及交換設備62。其具體實現方式參見上述控制設備及交換設備的實施例,此處不再贅述。本發明實施例提供的數據報文的控制系統,由于控制設備根據匹配信息和操作信息的對應關系生成流表項操作指示消息,所述操作信息包括自定義操作指示和交換設備所支持的控制命令,所述自定義操作指示用于指示執行所述控制命令;所述控制設備發送所述流表項操作指示消息至所述交換設備,以使所述交換設備生成流表項,所述流表項用于指示所述交換設備當所述數據報文與所述匹配信息匹配時,根據所述自定義操作指示,對所述數據報文執行所述控制命令。這樣使得所述交換設備所支持的控制命令均能在所述交換設備中實現,與現有技術相比,本發明實施例能夠解決OpenFlow交換設備只能通過OpenFlow協議中規定的功能對OpenFlow交換設備或報文進行控制管理,不能實現所述OpenFlow協議外的功能的問題。通過以上的實施方式的描述,所屬領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在可讀取的存儲介質中,如計算機的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述的方法。以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應所述以權利要求的保護范圍為準。