一種流表下發方法、系統、sdn控制器及sdn交換機的制作方法
【技術領域】
[0001]本發明涉及網絡技術領域,特別是SDN網絡技術領域,具體為一種流表下發方法、系統、SDN控制器及SDN交換機。
【背景技術】
[0002]軟件定義網絡(Software Defined Network, SDN),是Emulex網絡一種新型網絡創新架構,是網絡虛擬化的一種實現方式,其核心技術OpenFlow通過將網絡設備控制面與數據面分離開來,從而實現了網絡流量的靈活控制,使網絡作為管道變得更加智能。傳統IT架構中的網絡,根據業務需求部署上線以后,如果業務需求發生變動,重新修改相應網絡設備(路由器、交換機、防火墻)上的配置是一件非常繁瑣的事情。在互聯網/移動互聯網瞬息萬變的業務環境下,網絡的高穩定與高性能還不足以滿足業務需求,靈活性和敏捷性反而更為關鍵。SDN所做的事是將網絡設備上的控制權分離出來,由集中的控制器管理,無須依賴底層網絡設備(路由器、交換機、防火墻),屏蔽了來自底層網絡設備的差異。而控制權是完全開放的,用戶可以自定義任何想實現的網絡路由和傳輸規則策略,從而更加靈活和智能。SDN是下一代IP網絡管理架構設計的代表,這種思路強調拆分控制層面與轉發層面,用“流交換”替換“包轉換”,用“集中管理”取代單獨配置。OpenFlow則是實現這種思路時,用網絡集中管理平臺的流表(Flow Table,更通用的詞是NIB,即Network Informat1nBase)取代網絡設備路由表(RIB,Routing Informat1n Base)的協議。
[0003]SDN網絡包括SDN Controller (SDN控制器)和SDN交換機。SDN控制器是軟件定義網絡(SDN)中的應用程序,負責流量控制以確保智能網絡。SDN控制器是基于如OpenFlow等協議的,允許服務器告訴交換機向哪里發送數據包。SDN控制器是整個SDN網絡的控制中心,SDN交換機通過OpenFlow協議,依靠SDN控制器下發各種流表進行報文轉發。SDN網絡中,支持OpenFlow的SDN交互機依靠流表進行業務轉發,SDN交互機中的流表是SDN控制器生成并一條條下發給SDN交互機。用戶業務很多時,SDN控制器會生成大量流表項,通過OpenFlow協議本身的流表下發機制,配置SDN交換機的流表速度比較慢,因此生成流表很多,流表下發速度慢,導致業務完全生效時間會很長,影響用戶體驗。
【發明內容】
[0004]鑒于以上所述現有技術的缺點,本發明的目的在于提供一種流表下發方法、系統、SDN控制器及SDN交換機,用于解決現有技術中SDN控制器中生成流表很多時,流表下發速度慢的問題。
[0005]為實現上述目的及其他相關目的,本發明提供一種流表下發方法,應用于SDN網路中SDN控制器向SDN交換機下發流表的過程中,所述流表下發方法包括:檢測SDN控制器生成的流表項的數量是否超過預設的閾值,若是,則生成包含所述流表項的流文件,若否,則所述SDN控制器向SDN交換機下發包含所述流表項的流表;在生成包含所述流表項的流文件后,向所述SDN交互機發送包含所述流文件信息的流表消息;所述SDN交互機根據接收到的所述流表消息以預設的網絡訪問方式從所述SDN控制器獲取所述流文件中的流表項;所述SDN交互機根據獲取的流表項配置并下發流表。
[0006]優選地,所述流表下發方法還包括:擴展OpenFlow協議標準中的Experimenter消息,在向所述SDN交互機發送包含所述流文件信息的流表消息時,由所述Experimenter消息攜帶所述流表消息。
[0007]優選地,所述流表下發方法還包括:在向所述SDN交互機發送包含所述流文件信息的流表消息之后,所述SDN控制器在預設時間內未收到所述SDN交互機反饋的用于確認已獲取流表項并已下發流表的反饋信息時,所述SDN控制器向SDN交換機下發包含所述流表項的流表。
[0008]優選地,所述預設的網絡訪問方式為FTP網絡訪問方式。
[0009]為實現上述目的,本發明還提供一種SDN控制器,用于SDN網路中向SDN交換機下發流表,所述SDN控制器內包含:閾值設置模塊,用于設置流表項的閾值;閾值檢測模塊,與所述閾值設置模塊相連,用于檢測SDN控制器生成的流表項的數量是否超過預設的閾值;流文件模塊,與所述閾值檢測模塊相連,用于在SDN控制器生成的流表項的數量超過預設的閾值時生成包含所述流表項的流文件;流表下發模塊,與所述閾值檢測模塊相連,用于在SDN控制器生成的流表項的數量未超過預設的閾值時向SDN交換機下發包含所述流表項的流表;流表信息發送模塊,與所述流文件模塊相連,用于向SDN交互機發送包含所述流文件信息的流表消息。
[0010]優選地,所述SDN控制器中還包含:擴展模塊,與所述流表信息發送模塊相連,用于擴展OpenFlow協議標準中的Experimenter消息;在所述流表信息發送模塊向所述SDN交互機發送包含所述流文件信息的流表消息時,由所述Experimenter消息攜帶所述流表消息。
[0011]優選地,所述SDN控制器中還包含:反饋信息接收模塊,用于判斷在預設時間內是否收到所述SDN交互機反饋的用于確認已獲取流表項并已下發流表的反饋信息;在預設時間內未收到所述SDN交互機反饋的反饋信息時,所述流表下發模塊向所述SDN交換機下發包含所述流表項的流表。
[0012]為實現上述目的,本發明還提供一種SDN交換機,用于SDN網路中向SDN控制器獲取流表,所述SDN交換機內包含:流表信息接收模塊,用于從SDN控制器接收包含流文件信息的流表消息;流表項獲取模塊,與所述流表信息接收模塊相連,用于根據接收到的所述流表消息以預設的網絡訪問方式從所述SDN控制器獲取所述流文件中的流表項;配置下發模塊,與所述流表項獲取模塊相連,用于根據獲取的流表項配置并下發流表。
[0013]優選地,所述SDN交換機內還包含:反饋信息發送模塊,與所述配置下發模塊相連,用于向所述SDN控制器發送用于確認已獲取流表項并已下發流表的反饋信息。
[0014]為實現上述目的,本發明還提供一種流表下發系統,應用于SDN網路中SDN控制器向SDN交換機下發流表的過程中,所述流表下發系統包括如上所述的SDN控制器和如上所述的SDN交換機。
[0015]如上所述,本發明的一種流表下發方法、系統、SDN控制器及SDN交換機,具有以下有益效果:
[0016]1、本發明通過SDN控制器生成包含大量流表項的流文件,SDN交互機利用FTP方式從SDN控制器一次性獲取下發大量流表項,提高了整個SDN網絡的流表下發速度。
[0017]2、本發明避免了傳統流表下發方式,通過消息機制保障流表之間的依賴;如SND交換機不支持FTP下發方式,可繼續按傳統流表下發方式處理。
[0018]3、本發明簡單高效,具有較強的通用性和實用性。
【附圖說明】
[0019]圖1顯示為本發明的流表下發方法的流程示意圖。
[0020]圖2顯示為本發明的流表下發方法中SDN控制器的處理流程示意圖。
[0021]圖3顯示為本發明的流表下發方法中SDN交換機的處理流程示意圖。
[0022]圖4顯示為本發明的流表下發系統的結構示意圖。
[0023]圖5顯示為本發明的SDN控制器的結構示意圖。
[0024]圖6顯示為本發明的SDN交換機的結構示意圖。
[0025]元件標號說明
[0026]1流表下發系統
[0027]11SDN 控制器
[0028]111閾值設置模塊
[0029]112閾值檢測模塊
[0030]113流文件模塊
[0031]114流表下發模塊
[0032]115流表信息發送模塊
[0033]116擴展模塊
[0034]117反饋信息接收模塊
[0035]12SDN 交換機
[0036]121流表信息接收模塊
[0037]122流表項獲取模塊
[0038]123配置下發模塊
[0039]124反饋信息發送模塊
[0040]S11 ?S16 步驟
【具體實施方式】
[0041]以下通過特定的具體實例說明本發明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發明的其他優點與功效。本發明還可以通過另外不同的【具體實施方式】加以實施或應用,本說明書中的各項細節也可以基于不同觀點與應用,在沒有背離本發明的精神下進行各種修飾或改變。
[0042]請參閱圖1至圖6,本實施例的目的在于提供一種流表下發方法、系統、SDN控制器及SDN交換機,用于解決現有技術中SDN控制器中生成流表很多時,流表下發速度慢的問題。以下將詳細闡述本發明的一種流表下發方法、系統、SDN控制器及SDN交換機的原理及實施方式,使本領域技術人員不需要創造性勞動即可理解本發明的一種流表下發方法、系統、SDN控制器及SDN交換機。<