一種消息傳輸方法及裝置的制造方法
【技術領域】
[0001 ]本發(fā)明涉及通信技術領域,特別涉及一種消息傳輸方法及裝置。
【背景技術】
[0002]SDN( Software Defined Network,軟件定義網絡),是一種新型網絡創(chuàng)新架構,其核心思想是將網絡設備的控制層面與轉發(fā)層面分離,以實現對網絡流量的靈活控制,為核心網絡及應用的創(chuàng)新提供良好的平臺。
[0003]SDN網絡主要由控制器和交換機構成。在SDN網絡中,控制器和每一個交換機之間的信道為開放交換模型(OpenFlow)信道,OpenFlow信道是連接控制器和每一個交換機的接口。控制器通過OpenFlow信道配置和管理交換機,在OpenFlow信道中傳輸的消息都是根據OpenFl ow協(xié)議定義的。
[0004]控制器和交換機之間的OpenFlow信道可以包含多個網絡連接,控制器和交換機之間的消息傳輸可以在多個網絡連接上進行,達到負載分擔的目的。現有的一種消息傳輸方法是,控制器或者交換機根據各自的每個網絡連接已發(fā)送消息的消息量,選擇進行消息傳輸的網絡連接。但是,對端設備(交換機或控制器)的該網絡連接的可用緩存數量可能用盡或者很少,這樣將無法接收到消息或者導致消息擁塞,使得消息不能被及時處理,影響整個SDN網絡的正常運行。
【發(fā)明內容】
[0005]本發(fā)明實施例提供一種消息傳輸方法及裝置。技術方案如下:
[0006]—種消息傳輸方法,應用于第一設備,所述第一設備與第二設備之間的開放交換模型OpenFlow信道具有至少兩個網絡連接,所述方法包括:
[0007]獲取所述第二設備的每個網絡連接的可用緩存數量;
[0008]存在待發(fā)送的第一消息時,根據所述第二設備的每個網絡連接的可用緩存數量,確定用于傳輸所述第一消息的第一網絡連接;
[0009]使用所述第一網絡連接將所述第一消息發(fā)送給所述第二設備。
[0010]—種消息傳輸裝置,應用于第一設備,所述第一設備與第二設備之間的開放交換模型OpenFlow信道具有至少兩個網絡連接,所述裝置包括:
[0011]可用緩存數量獲取模塊,用于獲取所述第二設備的每個網絡連接的可用緩存數量;
[0012]第一網絡連接確定模塊,用于在存在待發(fā)送的第一消息時,根據所述第二設備的每個網絡連接的可用緩存數量,確定用于傳輸所述第一消息的第一網絡連接;
[0013]第一消息發(fā)送模塊,用于使用所述第一網絡連接將所述第一消息發(fā)送給所述第二設備。
[0014]應用本發(fā)明實施例所提供的技術方案,第一設備根據第二設備的每個網絡連接的可用緩存數量,確定用于傳輸第一消息的第一網絡連接,并使用第一網絡連接將第一消息發(fā)送給第二設備。這樣,在第一設備需要自己選擇用于傳輸第一消息的網絡連接的情況下,第一設備可以選擇第二設備的可用緩存數量較多的網絡連接進行消息的傳輸,可以有效避免第二設備的網絡連接的消息擁塞,以便第二設備能夠及時獲得或處理第一設備發(fā)送的消息,避免影響整個SDN網絡的正常運行。
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0016]圖1為本發(fā)明實施例中OpenFlow信道多網絡連接示意圖;
[0017]圖2為本發(fā)明實施例中消息傳輸方法的一種實施流程圖;
[0018]圖3為本發(fā)明實施例中消息傳輸方法的另一種實施流程圖;
[0019]圖4為本發(fā)明實施例中消息傳輸裝置的一種結構示意圖;
[0020]圖5為本發(fā)明實施例中消息傳輸裝置的另一種結構示意圖。
【具體實施方式】
[0021 ]為了使本領域技術人員更好地理解本發(fā)明實施例中的技術方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0022]本發(fā)明實施例所提供的一種消息傳輸方法應用于第一設備,第一設備與第二設備之間的開放交換模型OpenFlow信道具有至少兩個網絡連接。在SDN網絡中,第一設備可以為控制器或交換機,在第一設備為控制器的情況下,第二設備可以為交換機,在第一設備為交換機的情況下,第二設備可以為控制器。
[0023]在SDN網絡中,控制器和交換機之間的OpenFlow信道至少存在一個主連接,可以不存在副連接,還可以存在一個或多個副連接。主連接是OpenFlow信道的基礎連接,只有當主連接正常時其他的副連接才可以傳輸消息。在本發(fā)明實施例中,控制器和交換機之間具有至少兩個網絡連接,即一個主連接和至少一個副連接。
[0024]如圖1所示,為SDN網絡中一個控制器和一個交換機的OpenFlow信道多網絡連接的示意圖,在控制器和交換機之間的OpenFlow信道存在兩個網絡連接,一個主連接和一個副連接,OpenFlow信道上的消息可以同時在這些網絡連接上傳輸,達到負載分擔的目的。[°°25] 通過OpenFlow信道的消息是根據OpenFlow協(xié)議定義的,通常采用TLS(TransportLayer Security,安全傳輸層協(xié)議)加密來保證傳輸的安全性,但也支持簡單的TCP(Transmiss1n Control Protocol,傳輸控制協(xié)議)直接傳輸。目前,OpenFlow協(xié)議支持三種消息類型,分別為:控制器_交換機(controller-to-switch)類型、異步(asynchronous)類型、對稱(symmetric)類型??刂破?交換機類型的消息,可以是由控制器發(fā)起的,由交換機接收并處理的消息,主要由控制器對交換機進行狀態(tài)查詢和修改配置等操作。異步類型的消息,可以是由交換機發(fā)送給控制器的、用來通知交換機上發(fā)生的某些異步事件的消息。對稱類型的消息,是指雙向對稱的消息,用來建立控制器和交換機的連接,檢測對方是否在線等。
[0026]在SDN網絡中,第一設備向第二設備發(fā)送的第一消息可以是異步類型的消息,如作為第一設備的控制器向作為第二設備的交換機發(fā)送流表添加請求消息,或者,作為第一設備的交換機向作為第二設備的控制器發(fā)送端口狀態(tài)消息等。當第一設備為控制器時,該第一消息還可以是控制器-交換機類型的請求消息,如作為第一設備的控制器向作為第二設備的交換機發(fā)送流表內容獲取請求消息等。當第一設備為交換機時,該第一消息還可以是與第二設備發(fā)送的請求消息對應的應答消息,如作為第一設備的交換機向作為第二設備的控制器返回的攜帶流表內容的應答消息等。
[0027]參見圖2所示,為本發(fā)明實施例所提供的一種消息傳輸方法的實施流程圖,該方法可以包括以下步驟:
[0028]S210:獲取所述第二設備的每個網絡連接的可用緩存數量。
[0029]在本發(fā)明實施例中,第一設備與第二設備之間的OpenFlow信道具有至少兩個網絡連接。對于第一設備或者第二設備的每個網絡連接而言,該網絡連接的可用緩存數量標識了該設備能夠接收消息的最大數據量。
[0030]如果第一設備隨機進行網絡連接的選擇,或者按照現有技術的方法根據每個網絡連接已發(fā)送消息的消息量確定網絡連接,所使用的網絡連接可能是第二設備中可用緩存數量較少的網絡連接,這樣,很容易造成第二設備在該網絡連接上的消息擁塞,使得第二設備無法及時有效的處理第一設備發(fā)送的消息。
[0031]為盡量避免第二設備的網絡連接的