專利名稱:實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以太網(wǎng)領(lǐng)域技術(shù),尤其涉及一種實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的方法及系統(tǒng)。
背景技術(shù):
目前互聯(lián)網(wǎng)發(fā)展迅速,其應(yīng)用規(guī)模的龐大及其地位的重要性,遠(yuǎn)遠(yuǎn)超出了設(shè)計(jì)者們的想象,而現(xiàn)在的互聯(lián)網(wǎng)主要有以下弊端特定的范圍內(nèi)沒(méi)有統(tǒng)一的管理、網(wǎng)絡(luò)轉(zhuǎn)發(fā)機(jī)制與策略單一、運(yùn)營(yíng)商難以最大限度優(yōu)化自身網(wǎng)絡(luò)、以及傳統(tǒng)交換機(jī)用于轉(zhuǎn)發(fā)的功能和協(xié)議多且雜,很難配置,系統(tǒng)容易出錯(cuò)等問(wèn)題。為應(yīng)對(duì)上述弊端,人們提出了 Openflow交換機(jī),其將傳統(tǒng)交換機(jī)上的報(bào)文轉(zhuǎn)發(fā)和轉(zhuǎn)發(fā)策略分離開(kāi)來(lái),采用專門的一臺(tái)控制器(controller) 通過(guò)網(wǎng)線和交換機(jī)連接。這樣原來(lái)同在一臺(tái)交換機(jī)設(shè)備上的報(bào)文轉(zhuǎn)發(fā)功能(硬件芯片實(shí)現(xiàn))和報(bào)文轉(zhuǎn)發(fā)策略(各種軟件協(xié)議)就被分開(kāi)到了不同的硬件設(shè)備上。而一臺(tái)控制器(controller)還可以控制多臺(tái)Openflow交換機(jī),從而實(shí)現(xiàn)了統(tǒng)一的轉(zhuǎn)發(fā)控制端,更有效地控制了網(wǎng)絡(luò)。目前,在Openflow交換機(jī)系統(tǒng)中,無(wú)論是控制器本身還是控制器的控制通道(control path),都有可能由于種種原因而導(dǎo)致其不可靠,譬如,控制網(wǎng)絡(luò)擁塞,網(wǎng)絡(luò)不可用或控制器死機(jī)等問(wèn)題,此時(shí),如果某個(gè)控制器出現(xiàn)了網(wǎng)絡(luò)斷開(kāi),而該控制器的功能又不能被其他控制器所替代,那么勢(shì)必導(dǎo)致整個(gè)交換機(jī)系統(tǒng)的不能正常運(yùn)作。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的方法,提聞交換機(jī)系統(tǒng)的穩(wěn)定性。相應(yīng)于上述方法,本發(fā)明的另一目的在于提供一種實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的系統(tǒng)。為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明的技術(shù)方案如下所述實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的包括如下步驟
51、部署與交換機(jī)通信的多個(gè)控制器,其中,所述多個(gè)控制器可為多個(gè)對(duì)等設(shè)備、或者一個(gè)主設(shè)備與若干從設(shè)備的組合、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合;
52、在所述控制器被部署為一個(gè)主設(shè)備與若干從設(shè)備的組合時(shí),實(shí)時(shí)監(jiān)測(cè)當(dāng)前主設(shè)備的網(wǎng)絡(luò)可達(dá)性是否正常,若是,維持當(dāng)前配置;若否,跳轉(zhuǎn)到步驟S3 ;
53、將所述從設(shè)備擇一設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備。作為上述方法的進(jìn)一步改進(jìn),所述步驟S2具體包括周期性向所述主設(shè)備發(fā)送hello消息,以獲悉所述主設(shè)備的網(wǎng)絡(luò)可達(dá)性。作為上述方法的進(jìn)一步改進(jìn),所述步驟S3具體包括向所有從設(shè)備發(fā)送“需要主設(shè)備”的請(qǐng)求信息,并等待所述從設(shè)備返回相應(yīng)的“可成為主設(shè)備”的響應(yīng)信息;將最先反饋所述響應(yīng)信息的從設(shè)備設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備。作為上述方法的進(jìn)一步改進(jìn),在所述控制器被部署為多個(gè)對(duì)等設(shè)備、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合時(shí),該方法還包括當(dāng)所述對(duì)等設(shè)備對(duì)交換機(jī)進(jìn)行修改操作時(shí),由交換機(jī)向所有控制器發(fā)送“正在修改流表”和“目前沒(méi)有修改流表”的異步消息,其中,“正在修改流表”的消息包括被修改的流表ID及修改流表的控制器ID。作為上述方法的進(jìn)一步改進(jìn),該方法還包括如下步驟
接收網(wǎng)絡(luò)報(bào)文;
計(jì)算各報(bào)文所對(duì)應(yīng)的報(bào)文加權(quán)值及各控制器所對(duì)應(yīng)的控制器加權(quán)值;
根據(jù)所述報(bào)文加權(quán)值,獲取多個(gè)報(bào)文加權(quán)值區(qū)間,并根據(jù)各控制器加權(quán)值,為每一個(gè)報(bào)文加權(quán)值區(qū)間對(duì)應(yīng)一個(gè)控制器,其中,所述報(bào)文加權(quán)值區(qū)間的數(shù)目與控制器的數(shù)目相等; 根據(jù)當(dāng)前報(bào)文的報(bào)文加權(quán)值所處于的報(bào)文加權(quán)值區(qū)間,將該報(bào)文發(fā)送至與該報(bào)文加權(quán)值區(qū)間相對(duì)應(yīng)的控制器。相應(yīng)地,所述實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的系統(tǒng)包括
控制器部署單元、用于部署與交換機(jī)通信的多個(gè)控制器,其中,所述多個(gè)控制器可為多個(gè)對(duì)等設(shè)備、或者一個(gè)主設(shè)備與若干從設(shè)備的組合、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合;
網(wǎng)絡(luò)監(jiān)測(cè)單元、在所述控制器被部署為一個(gè)主設(shè)備與若干從設(shè)備的組合時(shí),該單元至少用于實(shí)時(shí)監(jiān)測(cè)當(dāng)前主設(shè)備的網(wǎng)絡(luò)可達(dá)性是否正常,若是,維持當(dāng)前配置;若否,則執(zhí)行主設(shè)備重設(shè)單元;
主設(shè)備重設(shè)單元、用于將所述從設(shè)備擇一設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備。作為上述系統(tǒng)的進(jìn)一步改進(jìn),所述網(wǎng)絡(luò)監(jiān)測(cè)單元具體用于周期性向所述主設(shè)備發(fā)送hello消息,以獲悉所述主設(shè)備的網(wǎng)絡(luò)可達(dá)性。作為上述系統(tǒng)的進(jìn)一步改進(jìn),所述主設(shè)備重設(shè)單元具體用于向所有從設(shè)備發(fā)送“需要主設(shè)備”的請(qǐng)求信息,并等待所述從設(shè)備返回相應(yīng)的“可成為主設(shè)備”的響應(yīng)信息;將最先反饋所述響應(yīng)信息的從設(shè)備設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備。作為上述系統(tǒng)的進(jìn)一步改進(jìn),在所述控制器被部署為多個(gè)對(duì)等設(shè)備、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合時(shí),該系統(tǒng)還包括一異步消息發(fā)送單元,其用于當(dāng)所述對(duì)等設(shè)備對(duì)交換機(jī)進(jìn)行修改操作時(shí),由交換機(jī)向所有控制器發(fā)送“正在修改流表”和“目前沒(méi)有修改流表”的異步消息,其中,“正在修改流表”的消息包括被修改的流表ID及修改流表的控制器ID。作為上述系統(tǒng)的進(jìn)一步改進(jìn),該系統(tǒng)還包括如下單元
報(bào)文接收單元、用于接收網(wǎng)絡(luò)報(bào)文;
權(quán)值計(jì)算單元、用于計(jì)算各報(bào)文所對(duì)應(yīng)的報(bào)文加權(quán)值及各控制器所對(duì)應(yīng)的控制器加權(quán)
值;
控制器對(duì)應(yīng)單元、用于根據(jù)所述報(bào)文加權(quán)值,獲取多個(gè)報(bào)文加權(quán)值區(qū)間,并根據(jù)各控制器加權(quán)值,為每一個(gè)報(bào)文加權(quán)值區(qū)間對(duì)應(yīng)一個(gè)控制器,其中,所述報(bào)文加權(quán)值區(qū)間的數(shù)目與控制器的數(shù)目相等;
報(bào)文分發(fā)單元、用于根據(jù)當(dāng)前報(bào)文的報(bào)文加權(quán)值所處于的報(bào)文加權(quán)值區(qū)間,將該報(bào)文發(fā)送至與該報(bào)文加權(quán)值區(qū)間相對(duì)應(yīng)的控制器。
本發(fā)明的有益效果是本發(fā)明通過(guò)實(shí)時(shí)監(jiān)測(cè)交換機(jī)系統(tǒng)中控制器的網(wǎng)絡(luò)可達(dá)性,并且在系統(tǒng)中主設(shè)備的網(wǎng)絡(luò)斷開(kāi)時(shí),擇一地將某一從設(shè)備設(shè)置為主設(shè)備,從而實(shí)現(xiàn)了系統(tǒng)中時(shí)刻存在可正常工作的主設(shè)備,進(jìn)而提高了系統(tǒng)穩(wěn)定性。
圖I是本發(fā)明一實(shí)施方式中Openflow交換機(jī)系統(tǒng)的網(wǎng)絡(luò)架構(gòu)示意 圖2是本發(fā)明另一實(shí)施方式中Openflow交換機(jī)系統(tǒng)的網(wǎng)絡(luò)架構(gòu)示意 圖3是本發(fā)明具體實(shí)施方式
中實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的方法的流程 圖4是本發(fā)明具體實(shí)施方式
中實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器負(fù)載平衡的方法的流程圖;
圖5是本發(fā)明具體實(shí)施方式
中實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的系統(tǒng)的單元示意 圖6是本發(fā)明具體實(shí)施方式
中實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器負(fù)載平衡的系統(tǒng)的單元示意圖。
具體實(shí)施例方式以下將結(jié)合附圖所示的具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行詳細(xì)描述。但這些實(shí)施方式并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實(shí)施方式所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護(hù)范圍內(nèi)。參圖I及圖2所示,其分別示意地繪示了本發(fā)明兩種Openflow交換機(jī)系統(tǒng)的網(wǎng)絡(luò)架構(gòu),該架構(gòu)包括多個(gè)控制器(controllerl、controller〗、controller3…controllerN),控制器與Openflow交換機(jī)之間通過(guò)控制網(wǎng)絡(luò)相連,Openflow交換機(jī)另一端通過(guò)多業(yè)務(wù)端口連接多個(gè)終設(shè)備(終纟而1、終纟而2、終纟而3…終纟而N),上述終纟而設(shè)備可包括手機(jī)、電腦、PDA(個(gè)人數(shù)字處理)等。所述終端可通過(guò)數(shù)據(jù)通道與Openflow交換機(jī)相互通信,實(shí)現(xiàn)報(bào)文發(fā)送。其中,本發(fā)明為每一個(gè)控制器配置不同的角色,角色可以為主設(shè)備(Master)、從設(shè)備(Slave)、以及對(duì)等設(shè)備(Peer)。不同角色的控制器具有以下功能
主設(shè)備、其在系統(tǒng)中只能有一臺(tái),該設(shè)備具有控制所連接著的交換機(jī)的所有Openflow行為的權(quán)限,包括添加/刪除/修改流,得到端口 /流/流表的統(tǒng)計(jì)信息,更改端口配置,發(fā)送特定報(bào)文等功能;
從設(shè)備、該設(shè)備只能監(jiān)聽(tīng)/查看/接收連接的交換機(jī)的信息,不能夠控制/修改交換機(jī)上的配置;
對(duì)等設(shè)備、與主設(shè)備的行為所相同,即具備主設(shè)備的所有權(quán)限,不同之處在于,一個(gè)交換機(jī)系統(tǒng)可以存在多臺(tái)對(duì)等設(shè)備。呈上所述,同一交換機(jī)系統(tǒng)中,所述多個(gè)控制器可為多個(gè)對(duì)等設(shè)備、或者一個(gè)主設(shè)備與若干從設(shè)備的組合、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合。其中,控制器角色具有以下互斥特點(diǎn)其一、只能有一臺(tái)控制器可以設(shè)置為主設(shè)備,當(dāng)檢測(cè)到一臺(tái)設(shè)備要求做為主設(shè)備后,其他設(shè)備都會(huì)被設(shè)置為從設(shè)備;其二、當(dāng)檢測(cè)到交換機(jī)上有控制器被設(shè)為主設(shè)備后,所有起他連接的設(shè)備都會(huì)被設(shè)為從設(shè)備;其三、當(dāng)檢測(cè)到交換機(jī)上有控制器已經(jīng)被設(shè)成主設(shè)備后,該設(shè)備將被設(shè)置成從設(shè)備,如果檢測(cè)到交換機(jī)上的其他控制器為從設(shè)備,或?qū)Φ仍O(shè)備的話,該設(shè)備依然是對(duì)等設(shè)備。參圖3所示,在本發(fā)明具體實(shí)施例中,所述的實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的方法,其包括如下步驟
Si、部署與交換機(jī)通信 的多個(gè)控制器,所述多個(gè)控制器可為多個(gè)對(duì)等設(shè)備、或者一個(gè)主設(shè)備與若干從設(shè)備的組合、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合;其中,本實(shí)施方式中,可通過(guò)手動(dòng)將控制器其中之一設(shè)置為主設(shè)備(或者對(duì)等設(shè)備),而其他的設(shè)備則自動(dòng)被設(shè)置為從設(shè)備。S2、在所述控制器被部署為一個(gè)主設(shè)備與若干從設(shè)備的組合時(shí),實(shí)時(shí)監(jiān)測(cè)當(dāng)前主設(shè)備的網(wǎng)絡(luò)可達(dá)性是否正常(網(wǎng)絡(luò)是否斷開(kāi)),若是,維持當(dāng)前配置;若否,跳轉(zhuǎn)到步驟S3 ;
具體地,在本發(fā)明優(yōu)選的實(shí)施例中,該步驟中“監(jiān)測(cè)當(dāng)前主設(shè)備的網(wǎng)絡(luò)可達(dá)性”的步驟具體為周期性向所述主設(shè)備發(fā)送hello消息,以獲悉所述主設(shè)備的網(wǎng)絡(luò)可達(dá)性。S3、將所述從設(shè)備擇一設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備。其中,在原來(lái)從設(shè)備中的某一個(gè)被設(shè)置為主設(shè)備后,系統(tǒng)中其余所有控制器則自動(dòng)設(shè)置為從設(shè)備。具體地,在本發(fā)明優(yōu)選的實(shí)施例中,所述步驟S3具體包括
交換機(jī)向所有從設(shè)備發(fā)送“需要主設(shè)備”的請(qǐng)求信息(0FP_MASTER_C0NTR0LLER_REQUEST),并等待所述從設(shè)備返回相應(yīng)的“可成為主設(shè)備”的響應(yīng)信息(0FP_MASTER_C0NTRLLER_RESP0ND);交換機(jī)將最先反饋所述響應(yīng)信息(0FP_MASTER_C0NTRLLER_RESP0ND)的從設(shè)備設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備,從而實(shí)現(xiàn)了多主從控制器設(shè)備的冗余備份。此外,本發(fā)明的方法中,如上介紹,還可以把多臺(tái)控制器配置成對(duì)等設(shè)備,以各自操作一部份交換機(jī)上的流表,這樣根據(jù)客戶的策略,實(shí)現(xiàn)一定程度上的分布式控制或負(fù)載平衡。但是多臺(tái)對(duì)等設(shè)備做互相冗余備份又一個(gè)問(wèn)題由于多個(gè)對(duì)等設(shè)備可以同時(shí)對(duì)交換機(jī)進(jìn)行修改操作(如添加流、刪除流等),而在目前Openflow交換機(jī)架構(gòu)下,控制器每次讀取交換機(jī)流表的間隔時(shí)間很長(zhǎng)(即同步間隔時(shí)間很長(zhǎng)),所以會(huì)帶來(lái)不同對(duì)等設(shè)備在進(jìn)行交換機(jī)操作時(shí)數(shù)據(jù)不同步的問(wèn)題。針對(duì)上述缺陷,本發(fā)明在所述控制器被部署為多個(gè)對(duì)等設(shè)備、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合時(shí),該方法還包括步驟S4:當(dāng)所述對(duì)等設(shè)備對(duì)交換機(jī)進(jìn)行修改操作時(shí),由交換機(jī)向所有控制器發(fā)送“正在修改流表”和“目前沒(méi)有修改流表”的異步消息,其中,“正在修改流表”的消息包括被修改的流表ID及修改流表的控制器ID,這樣可以以極短的時(shí)間及時(shí)通知所有對(duì)等設(shè)備,防止對(duì)等設(shè)備由于同步不及時(shí),而對(duì)交換機(jī)進(jìn)行誤操作,實(shí)現(xiàn)了對(duì)等控制器設(shè)備冗余備份。目前,由于Openflow交換機(jī)系統(tǒng)中的控制通道(control path)和多個(gè)控制器(controller)之間的網(wǎng)絡(luò)連接的不確定性(如網(wǎng)絡(luò)中斷),導(dǎo)致控制器的反應(yīng)速度慢,且在packet_in報(bào)文過(guò)多時(shí),易造成系統(tǒng)中的控制器負(fù)擔(dān)過(guò)重,進(jìn)而在一定程度上造成系統(tǒng)不穩(wěn)定。參圖4所示,本發(fā)明為解決此技術(shù)問(wèn)題,在上述方法中還融合了一種實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器負(fù)載平衡的方法,其具體包括如下步驟
55、接收來(lái)自于各終端設(shè)備的網(wǎng)絡(luò)報(bào)文;
56、計(jì)算各報(bào)文所對(duì)應(yīng)的報(bào)文加權(quán)值及各控制器所對(duì)應(yīng)的控制器加權(quán)值;
其中,在本發(fā)明具體實(shí)施方式
中,在步驟S6中,“計(jì)算報(bào)文加權(quán)值”的步驟具體包括 S61、根據(jù)各報(bào)文自身的優(yōu)先級(jí)字段進(jìn)行加權(quán),得到包權(quán)值packet_priority (權(quán)值范圍為(TlOO);其中,報(bào)文字段包括基于VLAN報(bào)文的報(bào)文優(yōu)先級(jí)(VLAN Priority)、基于IP報(bào)文的報(bào)文優(yōu)先級(jí)(DSCP/ToS)、基于MPLS報(bào)文的報(bào)文優(yōu)先級(jí)(MPLS Exp Bit)等,對(duì)于上述各類型的報(bào)文,報(bào)文優(yōu)先級(jí)越高,其加權(quán)值也就越高。S62、根據(jù)Openflow流自身的優(yōu)先級(jí)進(jìn)行加權(quán),得到流權(quán)值flow_priority ;同樣地,流權(quán)值flow_priority的范圍也為(TlOO。S63、根據(jù)所述包權(quán)值packet_priority及流權(quán)值flow_priority,計(jì)算得出所述報(bào)文加權(quán)值overall_packet_priority (權(quán)值范圍為(TlOO),其中,報(bào)文加權(quán)值= (2/3)*包權(quán)值 +(1/3)* 流權(quán)值。值得一提的是,上述 packet_priority 和 overall_packet_priority的計(jì)算均可由特定功能的芯片來(lái)實(shí)現(xiàn)。其中,本發(fā)明交換機(jī)需要收集各控制器的控制器加權(quán)值,該控制器加權(quán)值overall_controller_priority (權(quán)值范圍為O 100)是根據(jù)Openflow交換機(jī)和控制器之間網(wǎng)絡(luò)鏈路的當(dāng)前狀態(tài)以及控制器的狀態(tài)得到的,具體地,上述步驟S6中,“計(jì)算控制器加權(quán)值”的步驟具體包括
S64、獲取控制器與交換機(jī)之間的網(wǎng)絡(luò)鏈路的速度權(quán)值link_priority (權(quán)值范圍為(TlOO);其中,具體地,系統(tǒng)定時(shí)由交換機(jī)給各控制器發(fā)送Echo Request消息,間隔一段時(shí)間后,交換機(jī)會(huì)接收到控制器回復(fù)的Echo Reply報(bào)文,此時(shí),交換機(jī)可以算出交換機(jī)和控制器之間網(wǎng)絡(luò)鏈路的速度,鏈路速度=Echo Request報(bào)文長(zhǎng)度/ (2 *間隔時(shí)間)。S65、根據(jù)控制器所連接的交換機(jī)數(shù)目得到數(shù)量權(quán)值concurrent_connection_priority (權(quán)值范圍為O 100);
566、根據(jù)控制器當(dāng)前的服務(wù)質(zhì)量得到質(zhì)量權(quán)值service_quality_prio;rity(權(quán)值范圍為(Γ100);其中,服務(wù)質(zhì)量包括過(guò)去一小時(shí)的CPU/內(nèi)存占用比例、控制器的硬件性能和重啟次數(shù)等;
567、綜合所述速度權(quán)值link_priority、數(shù)量權(quán)值 concurrent_connection_priority、及質(zhì)量權(quán)值service_quality_priority計(jì)算得出控制器加權(quán)值ovserall_controller_priority,其中,控制器加權(quán)值=(2/4)*速度權(quán)值+ (1/4)*數(shù)量權(quán)值+ (1/4)*質(zhì)量權(quán)值。在本發(fā)明更優(yōu)選的實(shí)施方式中,Openflow交換機(jī)和控制器之間網(wǎng)絡(luò)鏈路的加權(quán)數(shù)據(jù),每隔一段時(shí)間(30秒),交換機(jī)都要向控制器請(qǐng)求一次;并且,每隔I分鐘,交換機(jī)需要計(jì)算出綜合加權(quán)值。本發(fā)明以設(shè)置三個(gè)控制器的交換機(jī)系統(tǒng)為例,交換機(jī)根據(jù)各子項(xiàng)的加權(quán)值得到一張報(bào)文加權(quán)值和控制器加權(quán)值的對(duì)應(yīng)表格,只需要每分鐘隨機(jī)米樣選取12個(gè)報(bào)文(米樣本文數(shù)目不一定),根據(jù)權(quán)值大小排序,可以得到表格(表I)如下
權(quán)利要求
1.一種實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的方法,其特征在于,該方法包括 51、部署與交換機(jī)通信的多個(gè)控制器,其中,所述多個(gè)控制器可為多個(gè)對(duì)等設(shè)備、或者一個(gè)主設(shè)備與若干從設(shè)備的組合、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合; 52、在所述控制器被部署為一個(gè)主設(shè)備與若干從設(shè)備的組合時(shí),實(shí)時(shí)監(jiān)測(cè)當(dāng)前主設(shè)備的網(wǎng)絡(luò)可達(dá)性是否正常,若是,維持當(dāng)前配置;若否,跳轉(zhuǎn)到步驟S3 ; 53、將所述從設(shè)備擇一設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟S2具體包括 周期性向所述主設(shè)備發(fā)送hello消息,以獲悉所述主設(shè)備的網(wǎng)絡(luò)可達(dá)性。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟S3具體包括 向所有從設(shè)備發(fā)送“需要主設(shè)備”的請(qǐng)求信息,并等待所述從設(shè)備返回相應(yīng)的“可成為主設(shè)備”的響應(yīng)信息; 將最先反饋所述響應(yīng)信息的從設(shè)備設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述控制器被部署為多個(gè)對(duì)等設(shè)備、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合時(shí),該方法還包括 當(dāng)所述對(duì)等設(shè)備對(duì)交換機(jī)進(jìn)行修改操作時(shí),由交換機(jī)向所有控制器發(fā)送“正在修改流表”和“目前沒(méi)有修改流表”的異步消息,其中,“正在修改流表”的消息包括被修改的流表ID及修改流表的控制器ID。
5.根據(jù)權(quán)利要求I至4中任意一項(xiàng)所述的方法,其特征在于,該方法還包括如下步驟 接收網(wǎng)絡(luò)報(bào)文; 計(jì)算各報(bào)文所對(duì)應(yīng)的報(bào)文加權(quán)值及各控制器所對(duì)應(yīng)的控制器加權(quán)值; 根據(jù)所述報(bào)文加權(quán)值,獲取多個(gè)報(bào)文加權(quán)值區(qū)間,并根據(jù)各控制器加權(quán)值,為每一個(gè)報(bào)文加權(quán)值區(qū)間對(duì)應(yīng)一個(gè)控制器,其中,所述報(bào)文加權(quán)值區(qū)間的數(shù)目與控制器的數(shù)目相等;根據(jù)當(dāng)前報(bào)文的報(bào)文加權(quán)值所處于的報(bào)文加權(quán)值區(qū)間,將該報(bào)文發(fā)送至與該報(bào)文加權(quán)值區(qū)間相對(duì)應(yīng)的控制器。
6.一種實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的系統(tǒng),其特征在于,該系統(tǒng)包括 控制器部署單元、用于部署與交換機(jī)通信的多個(gè)控制器,其中,所述多個(gè)控制器可為多個(gè)對(duì)等設(shè)備、或者一個(gè)主設(shè)備與若干從設(shè)備的組合、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合; 網(wǎng)絡(luò)監(jiān)測(cè)單元、在所述控制器被部署為一個(gè)主設(shè)備與若干從設(shè)備的組合時(shí),該單元至少用于實(shí)時(shí)監(jiān)測(cè)當(dāng)前主設(shè)備的網(wǎng)絡(luò)可達(dá)性是否正常,若是,維持當(dāng)前配置;若否,則執(zhí)行主設(shè)備重設(shè)單元; 主設(shè)備重設(shè)單元、用于將所述從設(shè)備擇一設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)監(jiān)測(cè)單元具體用于周期性向所述主設(shè)備發(fā)送hello消息,以獲悉所述主設(shè)備的網(wǎng)絡(luò)可達(dá)性。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述主設(shè)備重設(shè)單元具體用于 向所有從設(shè)備發(fā)送“需要主設(shè)備”的請(qǐng)求信息,并等待所述從設(shè)備返回相應(yīng)的“可成為主設(shè)備”的響應(yīng)信息;將最先反饋所述響應(yīng)信息的從設(shè)備設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,在所述控制器被部署為多個(gè)對(duì)等設(shè)備、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合時(shí),該系統(tǒng)還包括一異步消息發(fā)送單元,其用于 當(dāng)所述對(duì)等設(shè)備對(duì)交換機(jī)進(jìn)行修改操作時(shí),由交換機(jī)向所有控制器發(fā)送“正在修改流表”和“目前沒(méi)有修改流表”的異步消息,其中,“正在修改流表”的消息包括被修改的流表ID及修改流表的控制器ID。
10.根據(jù)權(quán)利要求6至9任意一項(xiàng)所述的系統(tǒng),其特征在于,該系統(tǒng)還包括如下單元 報(bào)文接收單元、用于接收網(wǎng)絡(luò)報(bào)文; 權(quán)值計(jì)算單元、用于計(jì)算各報(bào)文所對(duì)應(yīng)的報(bào)文加權(quán)值及各控制器所對(duì)應(yīng)的控制器加權(quán)值; 控制器對(duì)應(yīng)單元、用于根據(jù)所述報(bào)文加權(quán)值,獲取多個(gè)報(bào)文加權(quán)值區(qū)間,并根據(jù)各控制器加權(quán)值,為每一個(gè)報(bào)文加權(quán)值區(qū)間對(duì)應(yīng)一個(gè)控制器,其中,所述報(bào)文加權(quán)值區(qū)間的數(shù)目與控制器的數(shù)目相等; 報(bào)文分發(fā)單元、用于根據(jù)當(dāng)前報(bào)文的報(bào)文加權(quán)值所處于的報(bào)文加權(quán)值區(qū)間,將該報(bào)文發(fā)送至與該報(bào)文加權(quán)值區(qū)間相對(duì)應(yīng)的控制器。
全文摘要
本發(fā)明提供一種實(shí)現(xiàn)Openflow交換機(jī)系統(tǒng)中控制器冗余備份的方法及系統(tǒng),其方法包括部署與交換機(jī)通信的多個(gè)控制器,其中,所述多個(gè)控制器可為多個(gè)對(duì)等設(shè)備、或者一個(gè)主設(shè)備與若干從設(shè)備的組合、或者多個(gè)對(duì)等設(shè)備與若干從設(shè)備的組合;在所述控制器被部署為一個(gè)主設(shè)備與若干從設(shè)備的組合時(shí),實(shí)時(shí)監(jiān)測(cè)當(dāng)前主設(shè)備的網(wǎng)絡(luò)可達(dá)性是否正常,若是,維持當(dāng)前配置;若否,將所述從設(shè)備擇一設(shè)置為當(dāng)前系統(tǒng)的主設(shè)備,本發(fā)明通過(guò)實(shí)時(shí)監(jiān)測(cè)交換機(jī)系統(tǒng)中控制器的網(wǎng)絡(luò)可達(dá)性,并且在系統(tǒng)中主設(shè)備的網(wǎng)絡(luò)斷開(kāi)時(shí),擇一地將某一從設(shè)備設(shè)置為主設(shè)備,從而實(shí)現(xiàn)了系統(tǒng)中時(shí)刻存在可正常工作的主設(shè)備,進(jìn)而提高了系統(tǒng)穩(wěn)定性。
文檔編號(hào)H04L12/939GK102882719SQ20121036317
公開(kāi)日2013年1月16日 申請(qǐng)日期2012年9月26日 優(yōu)先權(quán)日2012年9月26日
發(fā)明者趙 怡 申請(qǐng)人:盛科網(wǎng)絡(luò)(蘇州)有限公司