流表項處理方法以及裝置的制造方法
【技術領域】
[0001] 本發明涉及通信技術領域,尤其涉及一種流表項處理方法以及裝置。
【背景技術】
[0002] SDN(Software Defined Network,軟件定義網絡)是一種新型的網絡架構,其可以 將網絡設備的控制面與數據面進行分離,由控制器(Controller)實現控制面功能,以及由 若干交換設備(Switch)實現數據面功能,每個交換設備下可以連接若干個虛擬機。
[0003] SDN技術中最為流行的是OpenFlow (開放流)協議,OpenFlow協議允許控制器直 接訪問和操作交換設備的轉發平面,這些交換設備可能是物理上實際存在的交換設備,也 可能是OVS (Open Virtual Switch,開放虛擬交換設備)。
[0004] 現有技術中,SDN網絡中支持運行多個0VS,每個OVS獨立工作。然而,若由于外界 原因造成某個OVS故障,將直接導致該OVS上運行的虛擬機停止工作,進而影響虛擬機上的 業務運行。
【發明內容】
[0005] 針對現有技術的缺陷,本發明提供了一種流表項處理方法以及裝置。
[0006] 本發明提供了一種流表項處理方法,應用于SDN網絡中的本地交換設備,其中該 方法包括:
[0007] 與所述SDN網絡中各交換設備進行堆疊,同步所述SDN網絡中各交換設備的流表 項,并確定所述SDN網絡中交換設備的網絡拓撲;
[0008] 確定鄰居交換設備故障,且接收到控制設備發送的所述鄰居交換設備運行的虛擬 機的配置信息時,使用所述配置信息在本地交換設備上啟動所述虛擬機;
[0009] 修改本地交換設備上同步的所述鄰居交換設備的流表項,修改后的所述鄰居交換 設備的流表項用于指示本地交換設備轉發所述虛擬機在所述鄰居交換設備故障之前與當 前堆疊中的交換設備下掛的虛擬機交互的流量;
[0010] 通知所述控制設備所述虛擬機在所述本地交換設備上已啟動,以使所述控制設備 指示除本地交換設備以外的各交換設備修改與所述虛擬機相關的流表項。
[0011] 本發明還提供一種流表項處理裝置,應用于SDN網絡中的本地交換設備,包括:
[0012] 同步單元,用于與所述SDN網絡中各交換設備進行堆疊,同步所述SDN網絡中各交 換設備的流表項,并確定所述SDN網絡中交換設備的網絡拓撲;
[0013] 獲取單元,用于確定鄰居交換設備故障時,從控制設備獲取所述鄰居交換設備運 行的虛擬機的配置信息,使用所述配置信息在本地交換設備上啟動所述虛擬機;
[0014] 修改單元,用于修改本地交換設備上同步的所述鄰居交換設備的流表項,修改后 的所述鄰居交換設備的流表項用于指示本地交換設備轉發所述虛擬機在所述鄰居交換設 備故障之前與當前堆疊中的交換設備下掛的虛擬機交互的流量;
[0015] 通知單元,用于通知所述控制設備所述虛擬機在所述本地交換設備上已啟動,以 使所述控制設備指示除本地交換設備以外的各交換設備修改與所述虛擬機相關的流表項
[0016] 本發明提供的流表項處理方法以及裝置,通過將SDN網絡中各交換設備進行堆疊 并進行流表項同步,以在確定鄰居交換設備故障時,在本地交換設備上啟動鄰居交換設備 上運行的虛擬機,并修改本地同步的流表項中該鄰居交換設備的流表項,從而在任一交換 設備出現故障時,可由其鄰居交換設備快速接替故障交換設備每個虛擬機的業務,保證這 些虛擬機在堆疊中的業務不中斷。
【附圖說明】
[0017] 圖1是本發明實施例中的組網環境示意圖;
[0018] 圖2是本發明實施例中一種流表項處理方法流程示意圖;
[0019] 圖3是本發明實施例中交換設備故障的組網環境示意圖;
[0020] 圖4是本發明實施例中流表項處理裝置的邏輯結構示意圖;
[0021] 圖5是本發明實施例中流表項處理裝置所在本地交換設備的硬件架構示意圖。
【具體實施方式】
[0022] 為使本申請的目的,技術方案及優點更加清楚明白,以下參照附圖對本申請方案 做進一步的詳細說明。
[0023] 為了解決現有技術中存在的問題,本發明提供了一種流表項處理方法以及裝置。
[0024] 本發明實施例所應用的一種網絡環境如圖1所示,在SDN網絡中,包括控制設備、 交換設備以及接入交換設備的多個虛擬機(VM,Virtual Machine)。該交換設備可以是實 際存在的硬件交換設備也可以是〇VS(Open Virtual Switch,虛擬交換設備)。圖1示出的 交換設備以及虛擬機分別為OVS (包括OVS1、OVS2、OVS3和0VS4)以及VM (包括VM1、VM2、 VM3、和VM4),其中,OVS2為本地交換設備,OVSl以及OVS3分別為OVS2的鄰居交換設備,每 個OVS上又包括至少一個堆疊端口(Port),如OVSl上包括Portl和Port2,其中Portl為 VMl的端口(即交換設備與VM相連的端口),Port2為堆疊端口(即交換設備與交換設備 相連的端口)。
[0025] 請參考圖2,為本發明提供的流表項處理方法的處理流程示意圖,該流表項處理方 法可應用于交換設備0VS,本發明以應用于本地交換設備0VS2為例進行說明,該流表項處 理方法包括以下步驟:
[0026] 步驟201,與所述SDN網絡中各交換設備進行堆疊,同步所述SDN網絡中各交換設 備的流表項,并確定所述SDN網絡中交換設備的網絡拓撲;
[0027] SDN網絡中,在本地交換設備啟動時,該啟動的交換設備可以接收控制設備發送的 Request (請求)消息,該消息為控制設備獲取該交換設備的設備信息的請求,本地交換設 備0VS2可通過配置文件獲取自身的設備信息,該設備信息可以包括設備運行模式(獨立 模式以及堆疊模式)、設備優先級、設備編號、設備的DPID (Data Path Identity,數據路徑 標識)、端口連接關系與鏈路狀態、設備啟動時間以及堆疊端口(為建立堆疊系統提供的端 口)等。并由本地交換設備0VS2將自身的設備信息生成REPLY(回應)消息,通過與控制 設備建立的連接上送至控制設備保存。
[0028] 之后,本地交換設備0VS2將該設備信息作為拓撲信息發送至鄰居交換設備,并由 鄰居交換設備轉發至其他交換設備。同時本地交換設備0VS2也可以收集SDN網絡中其他 交換設備的拓撲信息,并根據收集到的拓撲信息創建本地的拓撲信息表項,后續接收到的 拓撲信息均可保存在該拓撲信息表項中,各交換設備即可以通過各自保存的拓撲信息表項 確定出SDN網絡中交換設備的網絡拓撲。如表1所示,該拓撲信息表項可以為:
[0029]
【主權項】
1. 一種流表項處理方法,應用于軟件定義網絡SDN網絡中的本地交換設備,其特征在 于,包括: 與所述SDN網絡中各交換設備進行堆疊,同步所述SDN網絡中各交換設備的流表項,并 確定所述SDN網絡中交換設備的網絡拓撲; 確定鄰居交換設備故障,且接收到控制設備發送的所述鄰居交換設備運行的虛擬機的 配置信息時,使用所述配置信息在本地交換設備上啟動所述虛擬機; 修改本地交換設備上同步的所述鄰居交換設備的流表項,修改后的所述鄰居交換設備 的流表項用于指示本地交換設備轉發所述虛擬機在所述鄰居交換設備故障之前與當前堆 疊中的交換設備下掛的虛擬機交互的流量; 通知所述控制設備所述虛擬機在所述本地交換設備上已啟動,以使所述控制設備指示 除本地交換設備以外的各交換設備修改與所述虛擬機相關的流表項。
2. 根據權利要求1所述的方法,其特征在于,修改本地交換設備上同步的所述鄰居交 換設備的流表項具體包括: 若根據所述SDN網絡中交換設備的網絡拓撲確定僅有所述鄰居交換設備從所述堆疊 中分裂,則將本地交換設備上同步的所述鄰居交換設備的流表項中的鄰居交換設備數據路 徑標識DPID修改為本地交換設備的DPID,并當所述鄰居交換設備的流表項中的目的地址 和源地址均不為本地交換設備在鄰居交換設備故障之前啟動的虛擬機地址時,將該流表項 中的鄰居交換設備的堆疊端口修改為本地交換設備除與所述鄰居交換設備相連的堆疊端 口之外的另一堆疊端口,當所述鄰居交換設備的流表項中的目的地址或源地址為本地交換 設備在鄰居交換設備故障之前啟動的虛擬機地址時,將該流表項中的鄰居交換設備的堆疊 端口修改為該流表項中目的地址或源地址對應的虛擬機的接口; 若根據所述SDN網絡中交換設備的網絡拓撲確定除所述鄰居交換設備從所述堆疊中 分裂外,還有其它交換設備從所述堆疊中分裂,則將本地交換設備上同步的所述鄰居交換 設備的流表項中與所述其它交換設備相關的流表項刪除,將所述鄰居交換設備的流表項中 剩余的流表項中的鄰居交換設備的DPID修改為本地交換設備的DPID,并當所述剩余的流 表項中的目的地址和源地址均不為本地交換設備在鄰居交換設備故障之前啟動的虛擬機 地址時,將該流表項中的鄰居交換設備的堆疊端口修改為本地交換設備除與所述鄰居交換 設備相連的堆疊端口之外的另一堆疊端口,當所述剩余的流表項中的目的地址或源地址為 本地交換設備在鄰居交換設備故障之前啟動的虛擬機地址時,將該流表項中的鄰居交換設 備的堆疊端口修改為該流表項中目的地址或源地址對應的虛擬機的接口。
3. 如權利要求1所述的方法,其特征在于,所述與所述SDN網絡中各交換設備進行堆 疊,同步所述SDN網絡中各交換設備的流表項,并確定所述SDN網絡中交換設備的網絡