一種軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備端口狀態(tài)管理的方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備端口狀態(tài)管理的方法,該方法包括:交換轉(zhuǎn)發(fā)設(shè)備檢測到本地的某個端口的第一狀態(tài)在up狀態(tài)和down狀態(tài)之間變化時,如果該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),則向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài),如果該端口的第二狀態(tài)當(dāng)前處于抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文?;谕瑯拥陌l(fā)明構(gòu)思,本發(fā)明還提出一種裝置,在端口狀態(tài)頻繁變化時,能夠避免交換轉(zhuǎn)發(fā)設(shè)備頻繁向OpenFlow控制器發(fā)送通告報文,造成OpenFlow控制器頻繁計算下發(fā)流表項的情況發(fā)生,從而有效的節(jié)省了網(wǎng)絡(luò)中的帶寬資源。
【專利說明】一種軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備端口狀態(tài)管理的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備端口狀態(tài)管理的方法和裝置。
【背景技術(shù)】
[0002]開放流(OpenFlow)是一種軟件定義網(wǎng)絡(luò)(SoftwareDefined Network, SDN)架構(gòu)中定義控制器和轉(zhuǎn)發(fā)層的軟件應(yīng)用程序接口,可以基于硬件來控制網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)發(fā),與傳統(tǒng)網(wǎng)絡(luò)的最大區(qū)別,是將控制平面和網(wǎng)絡(luò)轉(zhuǎn)發(fā)平面分離開來,網(wǎng)絡(luò)轉(zhuǎn)發(fā)平面的設(shè)備將不再擁有控制功能,將控制平面交給獨立于轉(zhuǎn)發(fā)平面之外的操作系統(tǒng),特性則是基于操作系統(tǒng)進行定制。OpenFlow將網(wǎng)絡(luò)控制功能單獨分離出來并邏輯集中到控制軟件上,以實現(xiàn)SDN中控制平面和轉(zhuǎn)發(fā)平面的分離以及網(wǎng)絡(luò)控制和管理的集中,是定義控制器和轉(zhuǎn)發(fā)層的軟件應(yīng)用程序接口,可基于硬件來控制網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)發(fā)。
[0003]每個被OpenFlow技術(shù)虛擬化出來的網(wǎng)絡(luò)由交換轉(zhuǎn)發(fā)設(shè)備(如OpenFlow交換機)、OpenFlow控制器、安全通道(Secure Channel)組成。
[0004]OpenFlow交換機:接收OpenFlow控制器下發(fā)的流表項,并根據(jù)流表項進行簡單的報文處理;當(dāng)任一端口狀態(tài)由激活(up)狀態(tài)和巖機(down)狀態(tài)之間的轉(zhuǎn)換時,向OpenFlow控制器發(fā)送通告報文上報該端口的狀態(tài)。
[0005]OpenFlow控制器:是虛擬網(wǎng)的控制中心,根據(jù)用戶的配置或者動態(tài)運行的協(xié)議生成流表項下發(fā)到OpenFlow交換機,可能由實驗程序生成流表項,也可以靜態(tài)配置流表項。OpenFlow控制器上可能運行實驗程序、第三方開發(fā)的軟件等。
[0006]安全通道:在OpenFlow交換機和OpenFlow控制器之間通過預(yù)先配置的安全通道通信,該安全通道基于SSL建立。
[0007]當(dāng)OpenFlow交換機上的端口出現(xiàn)物理狀態(tài)變化時,OpenFlow交換機會向OpenFlow控制器發(fā)送通告報文上報端口狀態(tài),OpenFlow控制器會根據(jù)端口狀態(tài)進行協(xié)議計算,重新下發(fā)消息給交換機進行流表項的修改或刪除等操作。若端口的物理狀態(tài)頻繁變化,交換機會頻繁向OpenFlow控制器發(fā)送通告報文上報端口狀態(tài),導(dǎo)致OpenFlow控制器計算繁忙,OpenFlow交換機上的流表項項也頻繁變化。
【發(fā)明內(nèi)容】
[0008]有鑒于此,本發(fā)明提供一種軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備端口狀態(tài)管理的方法和裝置,在端口狀態(tài)頻繁變化時,能夠避免交換轉(zhuǎn)發(fā)設(shè)備頻繁向OpenFlow控制器發(fā)送通告報文,造成OpenFlow控制器頻繁計算下發(fā)流表項的情況發(fā)生,從而有效的節(jié)省了網(wǎng)絡(luò)中的帶寬資源。
[0009]為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
[0010]一種軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備端口狀態(tài)管理的方法,所述方法包括:[0011 ] 交換轉(zhuǎn)發(fā)設(shè)備檢測到本地任一端口的第一狀態(tài)發(fā)生變化時,若確定該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),向開放流OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài);
[0012]若確定該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文;
[0013]當(dāng)?shù)诙顟B(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài);
[0014]接收OpenFlow控制器下發(fā)的流表項時,刪除該端口對應(yīng)的原流表項,并根據(jù)新下發(fā)的流表項將該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備上,使備份設(shè)備根據(jù)OpenFlow控制器下發(fā)的流表項轉(zhuǎn)發(fā)該流量,其中,所述新下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備,所述備份設(shè)備上OpenFlow控制器下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使備份設(shè)備轉(zhuǎn)發(fā)該交換轉(zhuǎn)發(fā)設(shè)備通過備份端口發(fā)來的流量;
[0015]其中,第一狀態(tài)為宕機down狀態(tài)或激活up狀態(tài),第二狀態(tài)為非抑制狀態(tài)或抑制狀態(tài),且第二狀態(tài)通過第一狀態(tài)變化的次數(shù)確定。
[0016]一種裝置,可應(yīng)用于軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備,該裝置包括:檢測單元、確定單元、收發(fā)單元和處理單元;
[0017]所述檢測單元,用于檢測本地任一端口的第一狀態(tài)是否發(fā)生變化;
[0018]所述確定單元,用于當(dāng)所述檢測單元檢測到本地任一端口的第一狀態(tài)發(fā)生變化時,確定該端口當(dāng)前的第二狀態(tài);
[0019]所述收發(fā)單元,用于若所述確定單元確定該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài);若確定該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文;其中,第一狀態(tài)為宕機down狀態(tài)或激活up狀態(tài),第二狀態(tài)為非抑制狀態(tài)或抑制狀態(tài),且第二狀態(tài)通過第一狀態(tài)的變化次數(shù)確定;用于當(dāng)所述確定單元確定該端口的第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài);用于接收OpenFlow控制器下發(fā)的流表項;
[0020]所述處理單元,用于當(dāng)所述收發(fā)單元接收到OpenFlow控制器下發(fā)的流表項時,刪除該端口對應(yīng)的原流表項,并根據(jù)新下發(fā)的流表項將該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備上,使備份設(shè)備根據(jù)OpenFlow控制器下發(fā)的流表項轉(zhuǎn)發(fā)該流量,其中,所述新下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備,所述備份設(shè)備上OpenFlow控制器下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使備份設(shè)備轉(zhuǎn)發(fā)該交換轉(zhuǎn)發(fā)設(shè)備通過備份端口發(fā)來的流量。
[0021]一種裝置,可應(yīng)用于軟件定義網(wǎng)絡(luò)中控制設(shè)備,該裝置包括:接收單元和處理單元;
[0022]所述接收單元,用于接收通告報文;
[0023]所述處理單元,用于當(dāng)所述接收單元接收到交換轉(zhuǎn)發(fā)設(shè)備在檢測到本地任一端口的第一狀態(tài)發(fā)生變化,且該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài)時,而發(fā)送的上報該端口當(dāng)前的第一狀態(tài)的通告報文時,根據(jù)該端口的第一狀態(tài)進行處理;當(dāng)所述接收單元接收到該交換轉(zhuǎn)發(fā)設(shè)備的該端口的第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,發(fā)送的上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)的通告報文時,為該端口新下發(fā)流表項,使所述交換轉(zhuǎn)發(fā)設(shè)備刪除該端口上原流表項,并根據(jù)新下發(fā)的流表項將該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備上;同時向所述備份設(shè)備下發(fā)流表項,以使該備份設(shè)備轉(zhuǎn)發(fā)通過所述交換轉(zhuǎn)發(fā)設(shè)備的備份端口發(fā)來的流量;其中,第一狀態(tài)為宕機down狀態(tài)或激活up狀態(tài),第二狀態(tài)為非抑制狀態(tài)或抑制狀態(tài),且第二狀態(tài)通過第一狀態(tài)變化的次數(shù)確定。
[0024]綜上所述,本發(fā)明通過交換轉(zhuǎn)發(fā)設(shè)備檢測到本地的某個端口的第一狀態(tài)在up狀態(tài)和down狀態(tài)之間變化時,如果該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),則向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài),如果該端口的第二狀態(tài)當(dāng)前處于抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文。在端口狀態(tài)頻繁變化時,能夠避免交換轉(zhuǎn)發(fā)設(shè)備頻繁向OpenFlow控制器發(fā)送通告報文,造成OpenFlow控制器頻繁計算下發(fā)流表項的情況發(fā)生,從而有效的節(jié)省了網(wǎng)絡(luò)中的帶寬資源。
【專利附圖】
【附圖說明】
[0025]圖1為本發(fā)明具體實施例中端口狀態(tài)管理方法流程示意圖;
[0026]圖2為本發(fā)明具體實施例中應(yīng)用于交換轉(zhuǎn)發(fā)設(shè)備的裝置結(jié)構(gòu)示意圖;
[0027]圖3為本發(fā)明具體實施例中應(yīng)用于控制設(shè)備的裝置結(jié)構(gòu)示意圖。
【具體實施方式】
[0028]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進一步地詳細說明。
[0029]本發(fā)明實施例中提出一種軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備端口狀態(tài)管理的方法:交換轉(zhuǎn)發(fā)設(shè)備檢測到本地的某個端口的第一狀態(tài)在up狀態(tài)和down狀態(tài)之間變化時,如果該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),則向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài),如果該端口的第二狀態(tài)當(dāng)前處于抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文。在端口狀態(tài)頻繁變化時,能夠避免交換轉(zhuǎn)發(fā)設(shè)備頻繁向OpenFlow控制器發(fā)送通告報文,造成OpenFlow控制器頻繁計算下發(fā)流表項的情況發(fā)生,從而有效的節(jié)省了網(wǎng)絡(luò)中的帶寬資源。
[0030]在本發(fā)明具體實施例中,端口的狀態(tài)包括兩類狀態(tài),分別為第一狀態(tài)和第二狀態(tài),其中,第一狀態(tài)為down狀態(tài)或up狀態(tài),第二狀態(tài)為非抑制狀態(tài)或抑制狀態(tài),且第二狀態(tài)由第一狀態(tài)的變化次數(shù)確定。具體確定方法為:
[0031]第一狀態(tài)變化一次,第一狀態(tài)的變化次數(shù)增加一次。第一狀態(tài)的變化次數(shù)小于預(yù)設(shè)抑制值時,第二狀態(tài)為非抑制狀態(tài);第一狀態(tài)的變化次數(shù)達到預(yù)設(shè)抑制值時,第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)。
[0032]第一狀態(tài)的變化次數(shù),可以包括第一狀態(tài)由up狀態(tài)變?yōu)閐own狀態(tài),以及由down狀態(tài)變?yōu)閁P狀態(tài)的次數(shù);也可以僅包括第一狀態(tài)由up狀態(tài)變?yōu)閐own狀態(tài)的次數(shù)。
[0033]參見圖1,圖1為本發(fā)明具體實施例中端口狀態(tài)管理方法流程示意圖。具體步驟為:
[0034]步驟101,交換轉(zhuǎn)發(fā)設(shè)備檢測到本地任一端口的第一狀態(tài)發(fā)生變化。
[0035]本步驟中第一狀態(tài)發(fā)生變化,包括第一狀態(tài)由up狀態(tài)到down狀態(tài),以及由down狀態(tài)到UP狀態(tài)之間的變化。
[0036]在具體實現(xiàn)時,該交換轉(zhuǎn)發(fā)設(shè)備可以為OpenFlow交換機。
[0037]步驟102,該交換轉(zhuǎn)發(fā)設(shè)備若確定該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài),結(jié)束本流程。
[0038]該交換轉(zhuǎn)發(fā)設(shè)備在檢測到該端口的第一狀態(tài)發(fā)生變化時,無論是第一狀態(tài)由up狀態(tài)變?yōu)閐own狀態(tài),還是由down狀態(tài)變?yōu)閡p狀態(tài),但是第一狀態(tài)變換后,該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài)時,都同現(xiàn)有實現(xiàn),向OpenFlow控制器發(fā)送通告報文,告知OpenFlow控制器該端口的第一狀態(tài)當(dāng)前為up狀態(tài)還是down狀態(tài)。
[0039]這樣,OpenFlow控制器接收到交換轉(zhuǎn)發(fā)設(shè)備上報的通告報文時,根據(jù)上報的第一狀態(tài)為該交換轉(zhuǎn)發(fā)設(shè)備的該端口下發(fā)流表項等處理,具體處理過程同現(xiàn)有實現(xiàn),這里不再詳細描述。
[0040]步驟103,該交換轉(zhuǎn)發(fā)設(shè)備若確定該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文。
[0041]該交換轉(zhuǎn)發(fā)設(shè)備在檢測到第一狀態(tài)發(fā)生變化時,無論是第一狀態(tài)由up狀態(tài)變?yōu)閐own狀態(tài),還是由down狀態(tài)變?yōu)閡p狀態(tài),但是第一狀態(tài)變化后,該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時,不再向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文。
[0042]這樣,OpenFlow控制器就不知道該交換轉(zhuǎn)發(fā)設(shè)備的該端口狀態(tài)發(fā)生變化,不會重新下發(fā)流表項,這樣就能夠避免交換轉(zhuǎn)發(fā)設(shè)備頻繁向OpenFlow控制器發(fā)送通告報文,造成OpenFlow控制器頻繁計算下發(fā)流表項的情況發(fā)生,從而有效的節(jié)省了網(wǎng)絡(luò)中的帶寬資源。
[0043]步驟101中當(dāng)交換轉(zhuǎn)發(fā)設(shè)備檢測到本地任一端口的第一狀態(tài)發(fā)生變化時,還需確定該次第一狀態(tài)發(fā)生變化時,是否影響了第二狀態(tài)的變化,即該次第一狀態(tài)的變化前后,該端口的第二狀態(tài)是否變化。即如果該次第一狀態(tài)的變化使第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,需要通告給OpenFlow控制器。具體處理如下:
[0044]當(dāng)該端口的第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)。
[0045]OpenFlow控制器接收到通告報文上報的該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時,為該交換轉(zhuǎn)發(fā)設(shè)備下發(fā)新的流表項,使該交換轉(zhuǎn)發(fā)設(shè)備刪除該端口上舊的流表項,并將該端口上的流量通過備份端口轉(zhuǎn)發(fā)給備份設(shè)備,同時給備份端口下發(fā)流表項,轉(zhuǎn)發(fā)該交換轉(zhuǎn)發(fā)設(shè)備通過備份端口轉(zhuǎn)發(fā)來的流量。
[0046]該交換轉(zhuǎn)發(fā)設(shè)備接收到OpenFlow控制器下發(fā)的流表項時,將該端口對應(yīng)的原流表項刪除,并根據(jù)下發(fā)的流表項將該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備上,使備份設(shè)備根據(jù)OpenFlow控制器下發(fā)的流表項轉(zhuǎn)發(fā)該流量。其中,所述新下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備,所述備份設(shè)備上OpenFlow控制器下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使備份設(shè)備轉(zhuǎn)發(fā)該交換轉(zhuǎn)發(fā)設(shè)備通過備份端口發(fā)來的流量。
[0047]該交換轉(zhuǎn)發(fā)設(shè)備的該端口的第二狀態(tài)由非抑制狀態(tài)進入抑制狀態(tài)時,即該端口的該次第一狀態(tài)變化前,第二狀態(tài)為非抑制狀態(tài),且該次第一狀態(tài)變化后,第二狀態(tài)為抑制狀態(tài)時,該交換轉(zhuǎn)發(fā)設(shè)備對該端口當(dāng)前的第一狀態(tài)的變化次數(shù)通過預(yù)設(shè)衰減算法進行衰減,當(dāng)衰減后該端口的第一狀態(tài)的變化次數(shù)不大于預(yù)設(shè)啟用值時,該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)。
[0048]對于預(yù)設(shè)衰減算法,使用者可以根據(jù)實際使用進行配置,如滿足半衰期規(guī)律的衰減算法。每經(jīng)過一個半衰期,第一狀態(tài)的變化次數(shù)變?yōu)榍耙话胨テ诘谝粻顟B(tài)的變化次數(shù)的一半。因此,
[0049]每秒之后,Ns= (1/2) (l/T)XNq,其中,Ns為I秒后剩余的第一狀態(tài)的變化次數(shù),T為衰減周期,Nq為I秒前第一狀態(tài)的變化次數(shù)。
[0050]該交換轉(zhuǎn)發(fā)設(shè)備在該衰減過程中,該端口的第一狀態(tài)變化時,增加該端口當(dāng)前的第一狀態(tài)的變化次數(shù)。
[0051]如果該交換轉(zhuǎn)發(fā)設(shè)備的該端口的第一狀態(tài)變化比較頻繁,第一狀態(tài)的變化次數(shù)增加的值大于衰減的值,這樣第一狀態(tài)的變化次數(shù)就會一直增加,在具體實現(xiàn)時,若該端口當(dāng)前的第一狀態(tài)的變化次數(shù)達到最大預(yù)設(shè)值時,不再增加該端口當(dāng)前的第一狀態(tài)的變化次數(shù)。
[0052]如果通過該預(yù)設(shè)衰減算法進行衰減,經(jīng)過一定時間后,還是沒能夠使第一狀態(tài)的變化次數(shù)衰減到預(yù)設(shè)啟用值,或小于預(yù)設(shè)啟用值,即該端口的第二狀態(tài)持續(xù)為抑制狀態(tài)的時間達到最大抑制時間時,繼續(xù)使用預(yù)設(shè)衰減算法對該端口當(dāng)前的第一狀態(tài)的變化次數(shù)進行持續(xù)衰減,直到衰減后該端口的第一狀態(tài)的變化次數(shù)不大于預(yù)設(shè)啟用值,該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)。且在該持續(xù)衰減過程中,該端口的第一狀態(tài)變化時,可以不增加該端口當(dāng)前第一狀態(tài)的變化次數(shù)。
[0053]為了保證對該端口的第一狀態(tài)的變化次數(shù)的持續(xù)衰減,在最大抑制時間內(nèi)能夠衰減到預(yù)設(shè)啟用值,在具體實現(xiàn)時,配置最大預(yù)設(shè)值、最大抑制時間、衰減周期以及預(yù)設(shè)啟用值四者之間遵循如下的關(guān)系:
[0054]C=2T/DXR,其中,C為最大預(yù)設(shè)值,T為最大抑制時間,D為衰減周期,R為預(yù)設(shè)啟用值。
[0055]該交換轉(zhuǎn)發(fā)設(shè)備無論在衰減時間達到最大抑制時間之前,通過衰減,使該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài),還是衰減時間達到最大抑制時間之后通過持續(xù)衰減,使該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài),都向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)。
[0056]OpenFlow控制器接收到該通告報文時,確定第一狀態(tài)為up狀態(tài)還是down狀態(tài),如果時up狀態(tài),為該端口下發(fā)新的流表項,使該端口的流量通過該新下發(fā)的流表項轉(zhuǎn)發(fā)流量,同時可以向備份設(shè)備發(fā)送刪除對應(yīng)流表項的指示,也可以不向備份設(shè)備發(fā)送刪除對應(yīng)流表項的指示,備份設(shè)備上對應(yīng)的表項可自己老化;如果第一狀態(tài)是down狀態(tài),不進行流表下發(fā),維持現(xiàn)有的流量轉(zhuǎn)發(fā)。
[0057]該交換轉(zhuǎn)發(fā)設(shè)備接收到OpenFlow控制器下發(fā)的流表項時,刪除該端口流量通過備份端口轉(zhuǎn)發(fā)的流表項,并根據(jù)新下發(fā)的流表項使用該端口轉(zhuǎn)發(fā)流量。其中,OpenFlow控制器下發(fā)的流表項,為該OpenFlow控制器在本交換轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述通告報文中該端口的第一狀態(tài)為UP時而下發(fā)的流表項。
[0058]本發(fā)明具體實施例還給出一種實現(xiàn)方式,即當(dāng)該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)時,首先確定該端口的第一狀態(tài)當(dāng)前為UP狀態(tài)還是down狀態(tài)。
[0059]如果該端口的第一狀態(tài)當(dāng)前為up狀態(tài),向OpenFlow控制器發(fā)送通告報文上報該端口的第一狀態(tài)為up狀態(tài),以及第二狀態(tài)為非抑制狀態(tài)。
[0060]OpenFlow控制器接收到該通告報文,獲知該交換轉(zhuǎn)發(fā)設(shè)備的該端口當(dāng)前的第一狀態(tài)為up狀態(tài),且第二狀態(tài)為非抑制狀態(tài)時,獲知該交換轉(zhuǎn)發(fā)設(shè)備的該端口又可以重新轉(zhuǎn)發(fā)流量了,因此為該端口新下發(fā)流表項,使該端口的流量通過該新下發(fā)的流表項轉(zhuǎn)發(fā)流量,不再通過備份端口轉(zhuǎn)發(fā)該端口的流量。
[0061]該交換轉(zhuǎn)發(fā)設(shè)備接收到OpenFlow控制器為該端口新下發(fā)的流表項時,刪除該端口流量通過備份端口轉(zhuǎn)發(fā)的流表項,并根據(jù)新下發(fā)的流表項使用該端口繼續(xù)轉(zhuǎn)發(fā)流量。
[0062]如果該端口的第一狀態(tài)當(dāng)前為down狀態(tài),則不發(fā)送通告報文,直到該端口的第一狀態(tài)為up狀態(tài),且第二狀態(tài)仍為非抑制狀態(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口的第一狀態(tài)為up狀態(tài),以及第二狀態(tài)為非抑制狀態(tài)。
[0063]本發(fā)明具體實施例中基于同樣的發(fā)明構(gòu)思,還提出一種裝置,可應(yīng)用于軟件定義網(wǎng)絡(luò)中的交換轉(zhuǎn)發(fā)設(shè)備。參見圖2,圖2為本發(fā)明具體實施例中應(yīng)用于交換轉(zhuǎn)發(fā)設(shè)備的裝置結(jié)構(gòu)示意圖。該裝置包括:檢測單元201、確定單元202、收發(fā)單元203和處理單元204。
[0064]檢測單元201,用于檢測本地任一端口的第一狀態(tài)是否發(fā)生變化。
[0065]確定單元202,用于當(dāng)檢測單元201檢測到本地任一端口的第一狀態(tài)發(fā)生變化時,確定該端口當(dāng)前的第二狀態(tài)。
[0066]收發(fā)單元203,用于若確定單元202確定該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài);若確定該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文;用于當(dāng)確定單元202確定該端口的第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài);用于接收OpenFlow控制器下發(fā)的流表項,其中,第一狀態(tài)為宕機down狀態(tài)或激活up狀態(tài),第二狀態(tài)為非抑制狀態(tài)或抑制狀態(tài),且第二狀態(tài)通過第一狀態(tài)的變化次數(shù)確定。
[0067]處理單元204,用于當(dāng)收發(fā)單元203接收到OpenFlow控制器下發(fā)的流表項時,刪除該端口對應(yīng)的流表項,并根據(jù)新下發(fā)的流表項將該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備上,使備份設(shè)備根據(jù)OpenFlow控制器下發(fā)的流表項轉(zhuǎn)發(fā)該流量。
[0068]較佳地,該裝置進一步包括:配置單元205。
[0069]配置單元205,用于配置預(yù)設(shè)衰減算法、預(yù)設(shè)啟用值、最大預(yù)設(shè)值。
[0070]處理單元204,進一步用于若確定單元202確定該端口的第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,對該端口當(dāng)前的第一狀態(tài)的變化次數(shù)通過配置單元205配置的預(yù)設(shè)衰減算法進行衰減,當(dāng)衰減后該端口的第一狀態(tài)的變化次數(shù)不大于配置單元205配置的預(yù)設(shè)啟用值時,該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài);在該衰減過程中,該端口的第一狀態(tài)變化時,增加該端口當(dāng)前的第一狀態(tài)的變化次數(shù)。
[0071]較佳地,
[0072]配置單元205,進一步用于配置最大預(yù)設(shè)抑制時間。
[0073]處理單元204,進一步用于在所述衰減過程中,當(dāng)該端口的第二狀態(tài)為抑制狀態(tài)的持續(xù)時間達到配置單元205配置的最大抑制時間時,繼續(xù)對該端口的第一狀態(tài)的變化次數(shù)通過預(yù)設(shè)衰減算法進行持續(xù)衰減,直到衰減后該端口的第一狀態(tài)的變化次數(shù)不大于預(yù)設(shè)啟用值時,該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài);在該持續(xù)衰減過程中,該端口的第一狀態(tài)變化時,不增加該端口當(dāng)前的第一狀態(tài)的變化次數(shù)。
[0074]較佳地,
[0075]收發(fā)單元203,進一步用于當(dāng)處理單元204中該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)。
[0076]處理單元204,進一步用于當(dāng)收發(fā)單元203接收到OpenFlow控制器下發(fā)的流表項時,刪除該端口流量通過備份端口轉(zhuǎn)發(fā)的流表項,并根據(jù)新下發(fā)的流表項使用該端口轉(zhuǎn)發(fā)流量;其中,所述OpenFlow控制器下發(fā)的流表項,為該OpenFlow控制器在本交換轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述通告報文中該端口的第一狀態(tài)為up時而下發(fā)的流表項。
[0077]較佳地,
[0078]確定單元202,進一步用于當(dāng)處理單元204中該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)時,收發(fā)單元203向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài),之前,確定該端口的第一狀態(tài)當(dāng)前是否為up狀態(tài),如果是,觸發(fā)收發(fā)單元203執(zhí)行向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)的操作;否貝U,等到該端口的第一狀態(tài)變?yōu)閡p狀態(tài),且第二狀態(tài)為非抑制狀態(tài)時,觸發(fā)收發(fā)單元203執(zhí)行向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)的操作。
[0079]基于同樣的發(fā)明構(gòu)思,本申請還提出一種裝置,可應(yīng)用于軟件定義網(wǎng)絡(luò)中控制設(shè)備。參見圖3,圖3為本發(fā)明具體實施例中應(yīng)用于控制設(shè)備的裝置結(jié)構(gòu)示意圖。該裝置包括:接收單元301和處理單元302。
[0080]接收單元301,用于接收通告報文。
[0081]處理單元302,用于當(dāng)接收單元301接收到交換轉(zhuǎn)發(fā)設(shè)備在檢測到本地任一端口的第一狀態(tài)發(fā)生變化,且該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài)時,而發(fā)送的上報該端口當(dāng)前的第一狀態(tài)的通告報文時,根據(jù)該端口的第一狀態(tài)進行處理;當(dāng)接收單元301接收到該交換轉(zhuǎn)發(fā)設(shè)備的該端口的第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,發(fā)送的上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)的通告報文時,為該端口新下發(fā)流表項,使所述交換轉(zhuǎn)發(fā)設(shè)備刪除該端口上原流表項,并根據(jù)新下發(fā)的流表項將該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備上;同時向所述備份設(shè)備下發(fā)流表項,以使該備份設(shè)備轉(zhuǎn)發(fā)通過所述交換轉(zhuǎn)發(fā)設(shè)備的備份端口發(fā)來的流量;其中,第一狀態(tài)為宕機down狀態(tài)或激活up狀態(tài),第二狀態(tài)為非抑制狀態(tài)或抑制狀態(tài),且第二狀態(tài)通過第一狀態(tài)變化的次數(shù)確定。
[0082]較佳地,
[0083]處理單元302,進一步用于當(dāng)接收單元301接收到該交換轉(zhuǎn)發(fā)設(shè)備在檢測到該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)時,而發(fā)送的上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)的通告報文時,若確定第一狀態(tài)為up狀態(tài),則為該端口下發(fā)流表項,使該交換轉(zhuǎn)發(fā)設(shè)備刪除該端口流量通過備份端口轉(zhuǎn)發(fā)的流表項,并根據(jù)新下發(fā)的流表項轉(zhuǎn)發(fā)該端口的流量;若確定該端口的第一狀態(tài)為down狀態(tài),則不為該端口下發(fā)新的流表項。
[0084]上述實施例的單元可以集成于一體,也可以分離部署;可以合并為一個單元,也可以進一步拆分成多個子單元。
[0085]綜上所述,本發(fā)明具體實施例中交換轉(zhuǎn)發(fā)設(shè)備檢測到本地的某個端口的第一狀態(tài)在up狀態(tài)和down狀態(tài)之間變化時,如果該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),則向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài),如果該端口的第二狀態(tài)當(dāng)前處于抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文。在端口狀態(tài)頻繁變化時,能夠避免交換轉(zhuǎn)發(fā)設(shè)備頻繁向OpenFlow控制器發(fā)送通告報文,造成OpenFlow控制器頻繁計算下發(fā)流表項的情況發(fā)生,從而有效的節(jié)省了網(wǎng)絡(luò)中的帶寬資源。
[0086]以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備端口狀態(tài)管理的方法,其特征在于,所述方法包括:交換轉(zhuǎn)發(fā)設(shè)備檢測到本地任一端口的第一狀態(tài)發(fā)生變化時,若確定該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),向開放流OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài); 若確定該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文; 當(dāng)?shù)诙顟B(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài); 接收OpenFlow控制器下發(fā)的流表項時,刪除該端口對應(yīng)的原流表項,并根據(jù)新下發(fā)的流表項將該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備上,使備份設(shè)備根據(jù)OpenFlow控制器下發(fā)的流表項轉(zhuǎn)發(fā)該流量,其中,所述新下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備,所述備份設(shè)備上OpenFlow控制器下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使備份設(shè)備轉(zhuǎn)發(fā)該交換轉(zhuǎn)發(fā)設(shè)備通過備份端口發(fā)來的流量; 其中,第一狀態(tài)為宕機down狀態(tài)或激活up狀態(tài),第二狀態(tài)為非抑制狀態(tài)或抑制狀態(tài),且第二狀態(tài)通過第一狀態(tài)變化的次數(shù)確定。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)?shù)诙顟B(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,所述方法進一步包括: 對該端口當(dāng)前的第一狀態(tài)的變化次數(shù)通過預(yù)設(shè)衰減算法進行衰減,當(dāng)衰減后該端口的第一狀態(tài)的變化次數(shù)不大于預(yù)設(shè)啟用值時,該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài);在該衰減過程中,該端口的第一狀態(tài)變化時,增加該端口當(dāng)前的第一狀態(tài)的變化次數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法進一步包括: 在所述衰減過程中,當(dāng)該端口的第二狀態(tài)為抑制狀態(tài)的持續(xù)時間達到最大抑制時間時,繼續(xù)對該端口的第一狀態(tài)的變化次數(shù)通過預(yù)設(shè)衰減算法進行持續(xù)衰減,直到衰減后該端口的第一狀態(tài)的變化次數(shù)不大于預(yù)設(shè)啟用值時,該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài); 在該持續(xù)衰減過程中,該端口的第一狀態(tài)變化時,不增加該端口當(dāng)前的第一狀態(tài)的變化次數(shù)。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述方法進一步包括: 當(dāng)該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài); 接收到OpenFlow控制器下發(fā)的流表項時,刪除該端口流量通過備份端口轉(zhuǎn)發(fā)的流表項,并根據(jù)新下發(fā)的流表項使用該端口轉(zhuǎn)發(fā)流量,其中,所述OpenFlow控制器下發(fā)的流表項,為該OpenFlow控制器在本交換轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述通告報文中該端口的第一狀態(tài)為up時而下發(fā)的流表項。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)時,所述向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài),之前,所述方法進一步包括, 確定該端口的第一狀態(tài)當(dāng)前是否為up狀態(tài),如果是,執(zhí)行所述向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)的步驟;否則,等到該端口的第一狀態(tài)變?yōu)閡p狀態(tài),且第二狀態(tài)為非抑制狀態(tài)時,執(zhí)行所述向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)的步驟。
6.一種裝置,可應(yīng)用于軟件定義網(wǎng)絡(luò)中交換轉(zhuǎn)發(fā)設(shè)備,其特征在于,該裝置包括:檢測單元、確定單元、收發(fā)單元和處理單元; 所述檢測單元,用于檢測本地任一端口的第一狀態(tài)是否發(fā)生變化; 所述確定單元,用于當(dāng)所述檢測單元檢測到本地任一端口的第一狀態(tài)發(fā)生變化時,確定該端口當(dāng)前的第二狀態(tài); 所述收發(fā)單元,用于若所述確定單元確定該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài),向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài);若確定該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài),不向OpenFlow控制器發(fā)送上報該端口當(dāng)前第一狀態(tài)的通告報文;其中,第一狀態(tài)為宕機down狀態(tài)或激活up狀態(tài),第二狀態(tài)為非抑制狀態(tài)或抑制狀態(tài),且第二狀態(tài)通過第一狀態(tài)的變化次數(shù)確定;用于當(dāng)所述確定單元確定該端口的第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài);用于接收OpenFlow控制器下發(fā)的流表項; 所述處理單元,用于當(dāng)所述收發(fā)單元接收到OpenFlow控制器下發(fā)的流表項時,刪除該端口對應(yīng)的原流表項,并根據(jù)新下發(fā)的流表項將該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備上,使備份設(shè)備根據(jù)OpenFlow控制器下發(fā)的流表項轉(zhuǎn)發(fā)該流量,其中,所述新下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備,所述備份設(shè)備上OpenFlow控制器下發(fā)的流表項為OpenFlow控制器在通告報文上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)時下發(fā)的,以使備份設(shè)備轉(zhuǎn)發(fā)該交換轉(zhuǎn)發(fā)設(shè)備通過備份端口發(fā)來的流量。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置進一步包括:配置單元; 所述配置單元,用于配置預(yù)設(shè)衰減算法、預(yù)設(shè)啟用值、最大預(yù)設(shè)值; 所述處理單元,進一步用于若所述確定單元確定該端口的第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,對該端口當(dāng)前的第一狀態(tài)的變化次數(shù)通過所述配置單元配置的預(yù)設(shè)衰減算法進行衰減,當(dāng)衰減后該端口的第一狀態(tài)的變化次數(shù)不大于所述配置單元配置的預(yù)設(shè)啟用值時,該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài);在該衰減過程中,該端口的第一狀態(tài)變化時,增加該端口當(dāng)前的第一狀態(tài)的變化次數(shù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述配置單元,進一步用于配置最大預(yù)設(shè)抑制時間; 所述處理單元,進一步用于在所述衰減過程中,當(dāng)該端口的第二狀態(tài)為抑制狀態(tài)的持續(xù)時間達到所述配置單元配置的最大抑制時間時,繼續(xù)對該端口的第一狀態(tài)的變化次數(shù)通過預(yù)設(shè)衰減算法進行持續(xù)衰減,直到衰減后該端口的第一狀態(tài)的變化次數(shù)不大于預(yù)設(shè)啟用值時,該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài);在該持續(xù)衰減過程中,該端口的第一狀態(tài)變化時,不增加該端口當(dāng)前的第一狀態(tài)的變化次數(shù)。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于, 所述收發(fā)單元,進一步用于當(dāng)所述處理單元中該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)時,向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài); 所述處理單元,進一步用于當(dāng)所述收發(fā)單元接收到OpenFlow控制器下發(fā)的流表項時,刪除該端口流量通過備份端口轉(zhuǎn)發(fā)的流表項,并根據(jù)新下發(fā)的流表項使用該端口轉(zhuǎn)發(fā)流量;其中,所述OpenFlow控制器下發(fā)的流表項,為該OpenFlow控制器在本交換轉(zhuǎn)發(fā)設(shè)備發(fā)送的所述通告報文中該端口的第一狀態(tài)為up時而下發(fā)的流表項。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于, 所述確定單元,進一步用于當(dāng)所述處理單元中該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)時,所述收發(fā)單元向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài),之前,確定該端口的第一狀態(tài)當(dāng)前是否為up狀態(tài),如果是,觸發(fā)所述收發(fā)單元執(zhí)行向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)的操作;否則,等到該端口的第一狀態(tài)變?yōu)閡p狀態(tài),且第二狀態(tài)為非抑制狀態(tài)時,觸發(fā)所述收發(fā)單元執(zhí)行向OpenFlow控制器發(fā)送通告報文上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)的操作。
11.一種裝置,可應(yīng)用于軟件定義網(wǎng)絡(luò)中控制設(shè)備,其特征在于,該裝置包括:接收單元和處理單元; 所述接收單元,用于接收通告報文; 所述處理單元,用于當(dāng)所述接收單元接收到交換轉(zhuǎn)發(fā)設(shè)備在檢測到本地任一端口的第一狀態(tài)發(fā)生變化,且該端口的第二狀態(tài)當(dāng)前為非抑制狀態(tài)時,而發(fā)送的上報該端口當(dāng)前的第一狀態(tài)的通告報文時,根據(jù)該端口的第一狀態(tài)進行處理;當(dāng)所述接收單元接收到該交換轉(zhuǎn)發(fā)設(shè)備的該端口的第二狀態(tài)由非抑制狀態(tài)變?yōu)橐种茽顟B(tài)時,發(fā)送的上報該端口的第二狀態(tài)當(dāng)前為抑制狀態(tài)的通告報文時,為該端口新下發(fā)流表項,使所述交換轉(zhuǎn)發(fā)設(shè)備刪除該端口上原流表項,并根據(jù)新下發(fā)的流表項將該端口的流量通過備份端口轉(zhuǎn)發(fā)到備份設(shè)備上;同時向所述備份設(shè)備下發(fā)流表項,以使該備份設(shè)備轉(zhuǎn)發(fā)通過所述交換轉(zhuǎn)發(fā)設(shè)備的備份端口發(fā)來的流量;其中,第一狀態(tài)為宕機down狀態(tài)或激活up狀態(tài),第二狀態(tài)為非抑制狀態(tài)或抑制狀態(tài),且第二狀態(tài)通過第一狀態(tài)變化的次數(shù)確定。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于, 所述處理單元,進一步用于當(dāng)所述接收單元接收到該交換轉(zhuǎn)發(fā)設(shè)備在檢測到該端口的第二狀態(tài)由抑制狀態(tài)變?yōu)榉且种茽顟B(tài)時,而發(fā)送的上報該端口當(dāng)前的第一狀態(tài)和第二狀態(tài)的通告報文時,若確定第一狀態(tài)為up狀態(tài),則為該端口下發(fā)流表項,使該交換轉(zhuǎn)發(fā)設(shè)備刪除該端口流量通過備份端口轉(zhuǎn)發(fā)的流表項,并根據(jù)新下發(fā)的流表項轉(zhuǎn)發(fā)該端口的流量;若確定該端口的第一狀態(tài)為down狀態(tài),則不為該端口下發(fā)新的流表項。
【文檔編號】H04L12/24GK104426693SQ201310378581
【公開日】2015年3月18日 申請日期:2013年8月27日 優(yōu)先權(quán)日:2013年8月27日
【發(fā)明者】王芳, 王偉 申請人:杭州華三通信技術(shù)有限公司