一種軟件定義網絡sdn的控制系統、方法及裝置的制造方法
【技術領域】
[0001] 本發明涉及互聯網技術領域,特別涉及一種軟件定義網絡SDN的控制系統、方法 及裝置。
【背景技術】
[0002] 近年來,基于TCP/IP的互聯網逐漸暴露出許多的弊端,軟件定義網絡(Software Defined Network, SDN)應運而生。其中,控制器是SDN的重要組成部分。在SDN中,每個控 制器管理其各自的交換機,控制器間不能進行數據的同步。
[0003]目前,采用分布式集群技術來解決上述問題,如圖1所示:在分布式集群系統中設 置有多個控制器,從中隨機確定一個控制器為主控制器1〇〇,其他為從控制器101,當兩個 終端設備110間需要進行通信時,通過交換機向與其相連的從控制器101發送通信請求,從 控制器101計算出通信路徑,并將路徑安裝信息發送給主控制器100,主控制器100將該路 徑安裝信息發送給所有從控制器101,從控制器101根據接收到的路徑安裝信息,安裝相應 路徑;由于主控制器100和從控制101器沒有功能上的特殊性,當主控器100出現故障時, 可以在從控制器101中再隨機確定一個控制器為主控制器100。
[0004] 采用這種方法實現SDN的控制,由于控制器沒有功能上的特殊性,不論從控制器 101是否在該通信路徑中,在終端設備Iio間通信時都需要將通信請求的路徑安裝信息發 送給所有的從控制器101。然而,網絡中的異步事件發生頻率非常高,將每一事件產生的網 絡數據變化信息同步到所有控制器中,會使同步數據量非常大,從而大大增加網絡中數據 傳輸的壓力,并且導致同步的時延過長。
【發明內容】
[0005] 本發明實施例的目的在于提供一種軟件定義網絡SDN的控制系統、方法及裝置, 以減少傳輸的數據信息量和同步的時延。
[0006] 為達到上述目的,本發明實施例公開了一種軟件定義網絡SDN的控制系統,所述 控制系統將網絡劃分成多個子域,其包括超級控制器和域控制器,所述超級控制器負責域 間控制,所述域控制器負責域內控制;所述超級控制器和所述域控制器按照東西向協議 (OpenExchange協議)進行通信;
[0007] 所述域控制器,接收本域內第一終端設備通過交換機發送的通信請求;根據所述 通信請求包含的第一終端設備位置信息和第二終端設備位置信息,確定所述通信請求中的 目標第二終端設備是否屬于本域;當所述第二終端設備不在本域內時,將所述第一終端設 備發送的所述通信請求發送給所述超級控制器;
[0008] 所述超級控制器根據預存的所有終端設備和所述域控制器的對應關系及所述第 一終端設備的位置信息和所述第二終端設備的位置信息,獲得所述第一終端設備與所述第 二終端設備的最佳跨域路徑,并將所述最佳跨域路徑的安裝信息發送給該最佳跨域路徑中 的所有途徑的域控制器;
[0009] 所述所有途徑的域控制器將所述跨域路徑的安裝信息翻譯成南向協議的信息,并 在該最佳跨域路徑中的每個交換機中安裝對應的域內路徑,以使所述第一終端設備按照對 應的路徑與所述第二終端設備進行跨域通信。
[0010] 為達到上述目的,本發明實施例還公開了一種軟件定義網絡SDN的控制方法,其 應用于所述的控制系統;所述控制系統中的所述超級控制器和所述域控制器按照東西向協 議(OpenExchange協議)進行通信;該方法包括如下步驟:
[0011] 所述域控制器接收本域內第一終端設備通過交換機發送的通信請求;
[0012] 所述域控制器根據所述通信請求包含的第一終端設備位置信息和第二終端設備 位置信息,確定所述通信請求中的目標第二終端設備是否屬于本域;
[0013] 當所述第二終端設備不在本域內時,所述域控制器將所述第一終端設備發送的所 述通信請求發送給所述超級控制器;
[0014] 所述超級控制器根據預存的所有終端設備和所述域控制器的對應關系及所述第 一終端設備的位置信息和所述第二終端設備的位置信息,獲得所述第一終端設備與所述第 二終端設備的最佳跨域路徑,并將所述最佳跨域路徑的安裝信息發送給該最佳跨域路徑中 的所有途徑的域控制器;
[0015] 所述所有途徑的域控制器將所述最佳跨域路徑的安裝信息翻譯成南向協議的信 息,并在該最佳跨域路徑中的每個交換機中安裝對應的域內路徑,以使所述第一終端設備 按照對應的路徑與所述第二終端設備進行跨域通信。
[0016] 較佳的,所述方法還包括:
[0017] 當所述第二終端設備在本域內時,所述域控制器根據預存的本域內的所有終端設 備的位置信息及所述第一終端設備的位置信息和所述第二終端設備的位置信息,獲得所述 第一終端設備與所述第二終端設備的通信路徑,并在該通信路徑中的每個所述的交換機中 安裝對應的通信路徑,以使所述第一終端設備按照對應的路徑與所述第二終端設備進行域 內通信。
[0018] 較佳的,所述域控制器將所述第一終端設備發送的所述通信請求發送給所述超級 控制器,包括:
[0019] 根據鏈路質量,確定OpenExchange協議的運行模式,并獲得對應的南向協議的信 息;所述運行模式包括:常規模式和高級模式;在所述常規模式下,所述域控制器不計算出 端口之間的鏈路能力;在所述高級模式下,所述域控制器計算域內出端口之間的鏈路能力, 并發送給所述超級控制器;
[0020] 根據鏈路質量,確定信息的上報模式,以根據所述上報模式將南向協議的信息翻 譯成OpenExchange協議的信息,并發送給所述超級控制器;所述上報模式包括:正常模式 和壓縮模式。
[0021 ] 較佳的,所述根據鏈路質量,確定OpenExchange協議的運行模式,包括:
[0022] 當通信信息的傳輸速度不大于預設的第一傳輸速度時,確定運行模式為所述常規 模式;
[0023] 當通信信息的傳輸速度大于預設的第一傳輸速度時,確定運行模式為所述高級模 式;
[0024] 根據鏈路質量,確定信息的上報模式,包括:
[0025] 當通信信息的傳輸速度不大于預設的第二傳輸速度時,確定上報模式為所 述壓縮模式;在所述壓縮模式下,所述域控制器僅將南向協議的信息的一部分翻譯成 OpenExchange協議的信息,并發送給所述超級控制器;
[0026] 當通信信息的傳輸速度大于預設的第二傳輸速度時,確定上報模式為所述 正常模式;在所述正常模式下,所述域控制器將對應的完整的南向協議的信息翻譯成 OpenExchange協議的信息,并發送給所述超級控制器。
[0027] 較佳的,所述方法還包括:所述域控制器按照預設的第一時長,定期將數據信息同 步到所述超級控制器;所述數據信息包含:鏈路能力、終端設備信息和拓撲信息;或,
[0028] 所述域控制器根據同步命令,將數據信息同步到所述超級控制器;所述同步命令 由所述超級控制器發送給所述域控制器的;
[0029] 所述超級控制器根據同步的數據信息,建立所有終端設備和所述域控制器的對應 關系,并存儲。
[0030] 為達到上述目的,本發明實施例還公開了一種軟件定義網絡SDN的控制裝置,其 應用于所述的控制系統,所述控制系統中的所述超級控制器和所述域控制器按照東西向協 議(OpenExchange協議)進行通信;所述超級控制器包括:跨域路徑獲得單元;所述域控制 器包括:接收單元、確定單元、發送單元和路徑安裝單元;
[0031] 所述接收單元,用于所述域控制器接收本域內第一終端設備通過交換機發送的通 信請求;
[0032] 所述確定單元,用于所述域控制器根據所述通信請求包含的第一終端設備位置信 息和第二終端設備位置信息,確定所述通信請求中的目標第二終端設備是否屬于本域;
[0033] 當所述第二終端設備不在本域內時,觸發所述發送單元;
[0034] 所述發送單元,用于所述域控制器將所述第一終端設備發送的所述通信請求發送 給所述超級控制器;
[0035] 所述跨域路徑獲得單元,用于所述超級控制器根據預存的所有終端設備和所述域 控制器的對應關系及所述第一終端設備的位置信息和所述第二終端設備的位置信息,獲得 所述第一終端設備與所述第二終端設備的最佳跨域路徑,并將所述最佳跨域路徑的安裝信 息發送給該最佳跨域路徑中的所有途徑的域控制器;
[0036] 所述路徑安裝單元,用于所述所有途徑的域控制器將所述最佳跨域路徑的安裝信 息翻譯成南向協議的信息,并在該最佳跨域路徑中的每個交換機中安裝對應的域內路徑, 以使所述第一終端設備按照對應的路徑與所述第二終端設備進行跨域通信。
[0037] 較佳的,所述域控制器還包括:域內路徑獲得單元;
[0038] 所述域內路徑獲得單元,用于當所述第二終端設備在本域內時,所述域控制器根 據預存的本域內的所有終端設備的位置信息及所述第一終端設備的位置信息和所述第二 終端設備的位置信息,獲得所述第一終端設備與所述第二終端設備的通信路徑,并在該通 信路徑中的每個所述的交換機中安裝對應的通信路徑,以使所述第一終端設備按照對應的 路徑與所述第二終端設備進行域內通信。
[0039] 較佳的,所述發送單元包括:運行模式確定子單元和上報模式確定子單元;
[0040] 所述運