一種為軟件定義網(wǎng)絡(luò)控制器提供備份的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種為軟件定義網(wǎng)絡(luò)控制器提供備份的方法,包括:在初始階段,將多個(gè)控制器定義為候選主控制器,多個(gè)候選主控制器間發(fā)送第一協(xié)議報(bào)文;提取第一協(xié)議報(bào)文的優(yōu)先級(jí);檢測(cè)各該候選主控制器自身的優(yōu)先級(jí)是否高于第一協(xié)議報(bào)文的優(yōu)先級(jí);若高于,則定義候選主控制器為主控制器;主控制器發(fā)送第二協(xié)議報(bào)文;主控制器在第一預(yù)設(shè)時(shí)間內(nèi)分別發(fā)送第一協(xié)議報(bào)文至各備份控制器;判斷各該備份控制器在第二預(yù)設(shè)時(shí)間段內(nèi)是否接收到第一協(xié)議報(bào)文;若是,提取報(bào)文優(yōu)先級(jí),繼續(xù)判斷備份控制器自身的優(yōu)先級(jí)是否高于第一協(xié)議報(bào)文的優(yōu)先級(jí);若否,則定義備選主控制器為主控制器。本發(fā)明解決了控制器的可靠性、擴(kuò)展性、及性能方面的問(wèn)題,增加了網(wǎng)絡(luò)可靠性。
【專利說(shuō)明】一種為軟件定義網(wǎng)絡(luò)控制器提供備份的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計(jì)算機(jī)通信網(wǎng)絡(luò)領(lǐng)域,涉及一種提供備份的方法及系統(tǒng),特別是涉及 一種為軟件定義網(wǎng)絡(luò)控制器提供備份的方法及系統(tǒng)。
【背景技術(shù)】
[0002] SDN(Software Defined Network)網(wǎng)絡(luò),這種將控制和轉(zhuǎn)發(fā)相分離的新型網(wǎng)絡(luò)架 構(gòu),使復(fù)雜的網(wǎng)絡(luò)管理變得容易很多,其中的控制器負(fù)責(zé)整個(gè)SDN網(wǎng)絡(luò)的集中化控制,對(duì)于 把握全網(wǎng)資源視圖、改善網(wǎng)絡(luò)資源交付都具有非常重要的作用。但是隨著網(wǎng)絡(luò)規(guī)模的增大, 單一控制器在可擴(kuò)展性方面存在的問(wèn)題也變得越來(lái)越明顯,而其中控制器的控制能力的集 中化,也意味著控制器的安全性和性能成為全網(wǎng)的瓶頸,這些單一的控制器無(wú)法應(yīng)對(duì)跨多 個(gè)地域的SND網(wǎng)絡(luò)問(wèn)題,需要多個(gè)SDN控制器東西向的擴(kuò)展,一旦控制器在性能或安全性上 得不到保障,隨之而來(lái)的是全網(wǎng)的服務(wù)能力的降級(jí)甚至是癱瘓。為了解決SDN網(wǎng)絡(luò)部署單 一控制器可能面臨的可靠性、擴(kuò)展性、性能方面的問(wèn)題,人們提出了多控制器控制平面。多 控制器控制平面的主要思想就是將現(xiàn)有網(wǎng)絡(luò)劃分為不同的區(qū)域,在每個(gè)區(qū)域內(nèi)部署一個(gè)或 多個(gè)控制器,而這些控制器通過(guò)保證網(wǎng)絡(luò)狀態(tài)的一致性,來(lái)實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的協(xié)調(diào)統(tǒng)一管理。這 種多控制器控制平面在實(shí)現(xiàn)上既可以表現(xiàn)為每臺(tái)交換機(jī)由多個(gè)控制器控制,又可以是每個(gè) 控制器控制多個(gè)交換機(jī),而每個(gè)交換機(jī)僅由一個(gè)控制器控制。至于具體的實(shí)現(xiàn)形式,學(xué)術(shù)界 和工業(yè)界紛紛提出了一些方案,但是目前為止還沒(méi)有相對(duì)成熟的產(chǎn)品。
[0003] 為了解決控制器集中控制單一節(jié)點(diǎn)的可靠性,擴(kuò)展性,控制器的集群技術(shù)迫在眉 睫。目前,用于多個(gè)控制器之間溝通和聯(lián)系的東西向接口還沒(méi)定義標(biāo)準(zhǔn)。控制器集群式解決 控制器東西向擴(kuò)展的重要技術(shù)之一,雖然當(dāng)前有很多成熟的技術(shù)和成功的經(jīng)驗(yàn)可供參考, 但對(duì)SDN網(wǎng)絡(luò)而言,還有許多內(nèi)容需要進(jìn)一步研究。
[0004] 所以,如何提供一種為軟件定義網(wǎng)絡(luò)控制器提供備份的方法及系統(tǒng),以解決現(xiàn)有 技術(shù)中的單一控制器無(wú)法應(yīng)對(duì)跨多個(gè)地域的SDN網(wǎng)絡(luò),無(wú)法解決單一控制器在可靠性、擴(kuò) 展性、性能方面差的種種缺陷,實(shí)已成為本領(lǐng)域從業(yè)者亟待解決的技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0005] 鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種為軟件定義網(wǎng)絡(luò)控制 器提供備份的方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中單一控制器無(wú)法應(yīng)對(duì)跨多個(gè)地域的SDN網(wǎng) 絡(luò),無(wú)法解決單一控制器在可靠性、擴(kuò)展性、性能方面差的問(wèn)題。
[0006] 為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明一方面提供一種為軟件定義網(wǎng)絡(luò)控制器 提供備份的方法,應(yīng)用于包括交換機(jī)和多個(gè)控制器的網(wǎng)絡(luò)系統(tǒng)中,所述方法包括以下步驟: 步驟一,在初始階段,將多個(gè)控制器定義為候選主控制器,所述多個(gè)候選主控制器間發(fā)送具 有優(yōu)先級(jí)屬性的第一協(xié)議報(bào)文;步驟二,各該候選主控制器接收所述第一協(xié)議報(bào)文,依據(jù)所 述第一協(xié)議報(bào)文的優(yōu)先級(jí)屬性提取所述第一協(xié)議報(bào)文的優(yōu)先級(jí);步驟三,將提取到的所述 第一協(xié)議報(bào)文的優(yōu)先級(jí)與各該候選主控制器自身的優(yōu)先級(jí)進(jìn)行比較,檢測(cè)各該候選主控制 器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí);步驟四,若所述候選主控器自身的 優(yōu)先級(jí)高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),則定義所述候選主控制器為主控制器,剩余候選 主控制器為備份控制器;步驟五,所述主控制器發(fā)送第二協(xié)議報(bào)文至交換機(jī);步驟六,所述 主控制器在第一預(yù)設(shè)時(shí)間內(nèi)分別發(fā)送所述第一協(xié)議報(bào)文至各備份控制器;步驟七,判斷各 該備份控制器在第二預(yù)設(shè)時(shí)間段內(nèi)是否接收到所述第一協(xié)議報(bào)文;若是,提取報(bào)文優(yōu)先級(jí), 判斷所述備份控制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí);若所述備份控制 器自身的優(yōu)先級(jí)高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),定義所述備份控制器為主控制器,返回 步驟五;若所述備份控制器自身的優(yōu)先級(jí)低于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),返回步驟六; 若否,則定義所述備選主控制器為主控制器,返回步驟五。
[0007] 可選地,所述為軟件定義網(wǎng)絡(luò)控制器提供備份的方法還包括:若所述候選主控器 自身的優(yōu)先級(jí)不高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),將所述候選主控制器定義為備份控制 器,并將所述備份控制器置于等待接收所述第一協(xié)議報(bào)文的狀態(tài),轉(zhuǎn)入步驟七。
[0008] 可選地,所述為軟件定義網(wǎng)絡(luò)控制器提供備份的方法中將提取到的所述第一協(xié)議 報(bào)文的優(yōu)先級(jí)與各該候選主控制器自身的優(yōu)先級(jí)進(jìn)行比較,檢測(cè)各該候選主控制器自身的 優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí)的步驟等效于判斷所述虛擬控制器的IP地址 是否與所述多個(gè)候選主控制器中的一個(gè)候選主控制器的IP地址重合;若重合,則表示與所 述虛擬控制器的IP地址重合的候選主控制器具有最高優(yōu)先級(jí),具有最高優(yōu)先級(jí)的所述候 選主控制器為主控制器,剩余候選主控制器為備份控制器,所述主控制器在所述第一預(yù)設(shè) 時(shí)間段內(nèi)給所述備份控制器發(fā)送所述第一協(xié)議報(bào)文。
[0009] 可選地,所述第一協(xié)議報(bào)文的優(yōu)先級(jí)范圍在0?255之間,最高優(yōu)先級(jí)為255。 [0010] 可選地,所述為軟件定義網(wǎng)絡(luò)提供備份的方法還包括:所述候選主控制器被定義 為主控制器時(shí),所述主控制器發(fā)送第二協(xié)議報(bào)文至所述交換機(jī),所述交換機(jī)生成記錄所述 虛擬控制器的IP地址和接收所述第二協(xié)議報(bào)文的入端口的端口號(hào)的映射表。
[0011] 可選地,當(dāng)在所述第二預(yù)設(shè)時(shí)間段內(nèi)所述多個(gè)備份控制器未接收到所述第一協(xié)議 報(bào)文時(shí),則表示所述主控制器發(fā)生故障,所述多個(gè)備份控制器宣告自己為主控制器,在多個(gè) 備份控制器中重新選舉產(chǎn)生新的主控制器;新產(chǎn)生的所述主控制器給所述交換機(jī)發(fā)送第二 協(xié)議報(bào)文,所述交換機(jī)更新所述映射表。
[0012] 可選地,所述第一協(xié)議報(bào)文為虛擬路由器冗余協(xié)議報(bào)文,所述第二協(xié)議報(bào)文為地 址解析協(xié)議報(bào)文。
[0013] 本發(fā)明另一方面還提供一種為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng),包括:多個(gè) 控制器,所述多個(gè)控制器包括:發(fā)送模塊,用于在初始階段將多個(gè)控制器定義為候選主控 制器時(shí),在所述多個(gè)候選主控制器間發(fā)送具有優(yōu)先級(jí)屬性的第一協(xié)議報(bào)文;且所述發(fā)送模 塊還用于發(fā)送第二協(xié)議報(bào)文至交換機(jī);接收模塊,用于接收各該候選主控制器發(fā)送的第一 協(xié)議報(bào)文;提取模塊,用于在接收到所述第一協(xié)議報(bào)文后,分別依據(jù)所述第一協(xié)議報(bào)文的優(yōu) 先級(jí)屬性提取所述第一協(xié)議報(bào)文的優(yōu)先級(jí);比較模塊,用于將提取到的所述第一協(xié)議報(bào)文 的優(yōu)先級(jí)與各該候選主控制器自身的優(yōu)先級(jí)進(jìn)行比較,檢測(cè)各該候選主控制器自身的優(yōu)先 級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí);若是,則定義所述候選主控制器為主控制器,剩余 候選主控制器為備份控制器,調(diào)用所述發(fā)送模塊在第一預(yù)設(shè)時(shí)間段內(nèi)發(fā)送第二協(xié)議報(bào)文至 所述交換機(jī),且在第一預(yù)設(shè)時(shí)間段內(nèi)分別發(fā)送所述第一協(xié)議報(bào)文至各備份控制器;若否,則 定義所述候選主控制器為備份控制器,將所述備份控制器置于等待接收所述第一協(xié)議報(bào)文 的狀態(tài);判斷模塊,用于判斷各該備份控制器在第二預(yù)設(shè)時(shí)間段內(nèi)是否接收到所述第一協(xié) 議報(bào)文,若是,則調(diào)用所述提取模塊和比較模塊分別提取第一協(xié)議報(bào)文優(yōu)先級(jí),檢測(cè)所述備 份控制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),若是,則定義所述備份控制 器為主控制器,并調(diào)用所述發(fā)送模塊發(fā)送第二協(xié)議報(bào)文至所述交換機(jī);若否,則調(diào)用所述發(fā) 送模塊在所述第一預(yù)設(shè)時(shí)間段內(nèi)分別發(fā)送所述第一協(xié)議報(bào)文至各備份控制器;若否,則定 義所述備份控制器為主控制器,調(diào)用所述發(fā)送模塊發(fā)送第二協(xié)議報(bào)文至所述交換機(jī)。
[0014] 可選地,所述為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng)還包括虛擬模塊,所述虛擬 模塊用于根據(jù)第一協(xié)議由所述多個(gè)控制器組成的虛擬控制器,為所述多個(gè)控制器和所述虛 擬控制器預(yù)先配置IP地址和優(yōu)先級(jí)。
[0015] 可選地,所述比較模塊還用于判斷所述虛擬控制器的IP地址是否與所述多個(gè)候 選主控制器中的一個(gè)候選主控制器的IP地址重合,若重合,則表示與所述虛擬控制器的IP 地址重合的候選主控制器具有最高優(yōu)先級(jí),具有最高優(yōu)先級(jí)的所述候選主控制器為主控制 器,剩余候選主控制器為備份控制器,所述主控制器在一預(yù)設(shè)時(shí)間段內(nèi)給所述備份控制器 發(fā)送第一協(xié)議報(bào)文。
[0016] 如上所述,本發(fā)明的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法及系統(tǒng),具有以下有 益效果:
[0017] 本發(fā)明通過(guò)設(shè)置VRRP控制器組的虛擬控制器的IP地址,交換機(jī)不用感知所有的 控制器的IP地址,只需感知所述虛擬控制器的虛擬IP地址,交換機(jī)無(wú)需和每個(gè)控制器溝 通,VRRP控制器組中的主控制器會(huì)主動(dòng)和交換機(jī)去建立聯(lián)系,然后交換機(jī)只會(huì)和主控制器 交互。本發(fā)明解決了單點(diǎn)控制器的可靠性、擴(kuò)展性、及性能方面的問(wèn)題,增加了網(wǎng)絡(luò)的可靠 性,實(shí)現(xiàn)了單一控制器可以應(yīng)對(duì)跨多個(gè)地域的SDN網(wǎng)絡(luò),及實(shí)現(xiàn)了多個(gè)SDN控制器東西向的 擴(kuò)展。
【專利附圖】
【附圖說(shuō)明】
[0018] 圖1顯示為本發(fā)明的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法流程圖。
[0019] 圖2顯示為本發(fā)明的為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng)實(shí)體結(jié)構(gòu)圖。
[0020] 圖3顯示為本發(fā)明的為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng)中控制器原理結(jié)構(gòu) 圖。
[0021] 元件標(biāo)號(hào)說(shuō)明
[0022] 1 為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng)
[0023] 11 控制器
[0024] 110 虛擬模塊
[0025] 111 發(fā)送模塊
[0026] 112 接收模塊
[0027] 113 提取模塊
[0028] 114 比較模塊
[0029] 115 判斷模塊
[0030] 12 交換機(jī)
[0031] 13 虛擬控制器
[0032] S1 ?S10 步驟
【具體實(shí)施方式】
[0033] 以下通過(guò)特定的具體實(shí)例說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書(shū) 所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過(guò)另外不同的具體實(shí) 施方式加以實(shí)施或應(yīng)用,本說(shuō)明書(shū)中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒(méi)有背離 本發(fā)明的精神下進(jìn)行各種修飾或改變。需說(shuō)明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施 例中的特征可以相互組合。
[0034] 需要說(shuō)明的是,以下實(shí)施例中所提供的圖示僅以示意方式說(shuō)明本發(fā)明的基本構(gòu) 想,遂圖示中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸 繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也 可能更為復(fù)雜。
[0035] 本發(fā)明所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法及系統(tǒng)的技術(shù)原理如下:
[0036] 在SDN環(huán)境中,數(shù)據(jù)平面和控制平面分離,作為數(shù)據(jù)平面的交換機(jī)和控制平面的 控制器相連,通過(guò)控制器負(fù)責(zé)制定轉(zhuǎn)發(fā)策略來(lái)指導(dǎo)數(shù)據(jù)平面的交換機(jī)。本發(fā)明通過(guò)VRRP協(xié) 議建立一個(gè)虛擬控制器,稱之為一個(gè)備份組。通過(guò)VRRP可以把虛擬控制器的責(zé)任動(dòng)態(tài)分布 到具體的某臺(tái)控制器上,這個(gè)虛擬的控制器擁有自己的IP地址(這個(gè)IP地址可以和備份 組內(nèi)的某個(gè)控制器的地址相同,相同的則稱為IP擁有者),備份控制器也有自己的IP地址。 交換機(jī)僅僅知道這個(gè)虛擬控制器的IP地址,而并不知道主控制器和備份控制器的IP地址。 如果備份組的主控制器壞掉,備份的控制器將會(huì)選舉出一個(gè)新的主控制器,繼續(xù)向交換機(jī) 提供服務(wù)。VRRP控制器組中,按優(yōu)先級(jí)選舉主控制器,VRRP協(xié)議中優(yōu)先級(jí)的范圍是0-255, 若VRRP控制器的IP地址和虛擬控制器的接口 IP地址相同,則該VRRP控制器被稱為該IP 地址的所有者,IP地址所有者具有最高優(yōu)先級(jí):255??膳渲玫膬?yōu)先級(jí)范圍是0-254。對(duì)于 相同優(yōu)先級(jí)的候選控制器,按照IP地址大小順序選舉。VRRP還提供優(yōu)先級(jí)搶占策略,如果 配置的高優(yōu)先級(jí),高優(yōu)先級(jí)的備份路由器便會(huì)剝奪當(dāng)前低優(yōu)先級(jí)的主控控制器而成為新的 主控控制器。只有主控控制器會(huì)處理來(lái)自交換機(jī)的消息,并且去控制交換機(jī),備份控制器也 處理來(lái)自交換機(jī)的消息,但是不會(huì)去控制交換機(jī)。備份控制器也會(huì)接受主控制器的VRRP報(bào) 文,和自己的優(yōu)先級(jí)對(duì)比,如果優(yōu)先級(jí)比自己的低,自己從備份控制器變成主控制器。同時(shí), 備份控制器和主控制器會(huì)同步消息進(jìn)行交換機(jī)信息和流表的同步,當(dāng)從備份控制器變成主 控控制器,可以知道當(dāng)前交換機(jī)最新的狀態(tài)。
[0037] 實(shí)施例一
[0038] 本實(shí)施例提供一種為軟件定義網(wǎng)絡(luò)控制器提供備份的方法,應(yīng)用于包括交換機(jī)和 多個(gè)控制器的網(wǎng)絡(luò)系統(tǒng)中,請(qǐng)參閱圖1,顯示為為軟件定義網(wǎng)絡(luò)控制器提供備份的方法的流 程圖,所述為軟件定義網(wǎng)絡(luò)控制器提供備份的方法包括:
[0039] S1,在初始階段,初始化包括交換機(jī)和多個(gè)控制器的網(wǎng)絡(luò)系統(tǒng),將所述多個(gè)控制器 定義為候選主控制器,所述多個(gè)候選主控制器間發(fā)送具有優(yōu)先級(jí)屬性的第一協(xié)議報(bào)文,并 根據(jù)第一協(xié)議將所述多個(gè)控制器捆綁在一起創(chuàng)建一虛擬控制器,為所述多個(gè)控制器和所述 虛擬控制器預(yù)先配置IP地址和優(yōu)先級(jí)。所述第一協(xié)議報(bào)文為虛擬路由器冗余協(xié)議(VRRP) 報(bào)文。其中,所述虛擬控制器也稱之為控制器備份組。
[0040] S2,所述各該候選主控制器接收其他候選主控制器發(fā)送的所述第一協(xié)議報(bào)文,依 據(jù)所述第一協(xié)議報(bào)文的優(yōu)先級(jí)屬性提取所述第一協(xié)議報(bào)文的優(yōu)先級(jí)。所述第一協(xié)議報(bào)文的 優(yōu)先級(jí)范圍在〇?255之間,最高優(yōu)先級(jí)為255,其他可配置優(yōu)先級(jí)的范圍為0-254。
[0041] S3,所述多個(gè)候選主控制器分別將提取到的所述第一協(xié)議報(bào)文的優(yōu)先級(jí)與各該候 選主控制器自身的優(yōu)先級(jí)進(jìn)行比較,檢測(cè)各該候選主控制器自身的優(yōu)先級(jí)是否高于所述第 一協(xié)議報(bào)文的優(yōu)先級(jí);若是,則執(zhí)行步驟S4 ;若否,則執(zhí)行步驟S7。所述步驟S3中將提取到 的所述第一協(xié)議報(bào)文的優(yōu)先級(jí)與各該候選主控制器自身的優(yōu)先級(jí)進(jìn)行比較,檢測(cè)各該候選 主控制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí)的步驟等效于判斷所述虛擬 控制器的IP地址是否與所述多個(gè)候選主控制器中的一個(gè)候選主控制器的IP地址重合,若 重合,則執(zhí)行步驟S4 ;若不重合,則執(zhí)行步驟S5。
[0042] S4,經(jīng)優(yōu)先級(jí)比較之后,將優(yōu)先級(jí)最高的候選主控制器定義為主控制器,即表示與 所述虛擬控制器的IP地址重合的候選主控制器具有最高優(yōu)先級(jí),具有最高優(yōu)先級(jí)的所述 候選主控制器為主控制器,剩余候選主控制器為備份控制器。
[0043] S5,所述主控制器發(fā)送第二協(xié)議報(bào)文至所述交換機(jī),所述交換機(jī)生成記錄所述虛 擬控制器的IP地址和接收所述第二協(xié)議報(bào)文的入端口的端口號(hào)的映射表。所述第二協(xié)議 報(bào)文為地址解析協(xié)議(ARP)報(bào)文。其中第二協(xié)議報(bào)文的報(bào)文源IP是所述虛擬控制器的IP 地址,控制器本身的IP地址用于VRRP廣播使用,所述交換機(jī)不感知控制器的IP地址。當(dāng) 所述交換機(jī)收到第二協(xié)議報(bào)文,會(huì)根據(jù)生成的所述映射表向控制器發(fā)送基于OPEN FLOW協(xié) 議的第三協(xié)議報(bào)文,且轉(zhuǎn)入步驟S8。
[0044] S6,所述主控制器在第一預(yù)設(shè)時(shí)間內(nèi)分別給步驟S4中提及的各備份控制器發(fā)送 所述第一協(xié)議報(bào)文。
[0045] S7,經(jīng)優(yōu)先級(jí)之后,將候選主控制器自身的優(yōu)先級(jí)不高于第一協(xié)議報(bào)文優(yōu)先級(jí)的 候選主控制器定義為備份控制器,并將所述備份控制器置于等待接收所述第一協(xié)議報(bào)文的 狀態(tài),并轉(zhuǎn)入步驟S8。
[0046] S8,判斷各該備份控制器在第二預(yù)設(shè)時(shí)間段內(nèi)是否接收到所述第一協(xié)議報(bào)文,若 否,則執(zhí)行步驟S5 ;若是,則執(zhí)行步驟S9。在本實(shí)施例中,本步驟S8是為了防止定義為主控 制器的控制器出現(xiàn)發(fā)生故障的現(xiàn)象。當(dāng)在所述第二預(yù)設(shè)時(shí)間段內(nèi)所述多個(gè)備份控制器未接 收到所述第一協(xié)議報(bào)文時(shí),則表示所述主控制器發(fā)生故障,所述多個(gè)備份控制器宣告自己 為主控制器,在多個(gè)備份控制器中重新選舉產(chǎn)生新的主控制器;新產(chǎn)生的所述主控制器給 所述交換機(jī)發(fā)送第二協(xié)議報(bào)文,所述交換機(jī)更新所述映射表。
[0047] S9,依據(jù)所述第一協(xié)議報(bào)文的優(yōu)先級(jí)屬性提取所述第一協(xié)議報(bào)文的優(yōu)先級(jí),并判 斷所述備份控制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),若是,則執(zhí)行步驟 S10 ;若否,則表示經(jīng)優(yōu)先級(jí)比較之后,若所述備份控制器自身的優(yōu)先級(jí)低于所述第一協(xié)議 報(bào)文的優(yōu)先級(jí),返回步驟S6。
[0048] S10,經(jīng)優(yōu)先級(jí)比較之后,若所述備份控制器自身的優(yōu)先級(jí)高于所述第一協(xié)議報(bào)文 的優(yōu)先級(jí),則將優(yōu)先級(jí)較高的備份控制器定義為主控制器,返回步驟S5 ;
[0049] 在本實(shí)施例所提供的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法中還包括當(dāng)在所述 另一預(yù)設(shè)時(shí)間段內(nèi)所述多個(gè)備份控制器未接收到所述第一協(xié)議報(bào)文時(shí),則表示所述主控制 器發(fā)生故障,所述多個(gè)備份控制器宣告自己為主控制器,在多個(gè)備份控制器中重新選舉,產(chǎn) 生新的主控制器;新產(chǎn)生的主控制器給所述交換機(jī)發(fā)送第二協(xié)議報(bào)文,所述交換機(jī)更新所 述映射表。
[0050] 本實(shí)施例所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法通過(guò)設(shè)置VRRP控制器組 的虛擬控制器的IP地址,交換機(jī)不用感知所有的控制器的IP地址,只需感知所述虛擬控制 器的虛擬IP地址,交換機(jī)無(wú)需和每個(gè)控制器溝通,VRRP控制器組中的主控制器會(huì)主動(dòng)和交 換機(jī)去建立聯(lián)系,然后交換機(jī)只會(huì)和主控制器交互。本發(fā)明解決了單點(diǎn)控制器的可靠性、擴(kuò) 展性、及性能方面的問(wèn)題,增加了網(wǎng)絡(luò)的可靠性,實(shí)現(xiàn)了單一控制器可以應(yīng)對(duì)跨多個(gè)地獄的 SDN網(wǎng)絡(luò),及實(shí)現(xiàn)了多個(gè)SDN控制器東西向的擴(kuò)展。
[0051] 實(shí)施例二
[0052] 本實(shí)施例提供一種為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng)1,請(qǐng)參閱圖2,顯示為 為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng)的實(shí)體結(jié)構(gòu)圖,所述為軟件定義網(wǎng)絡(luò)控制器提供備 份的系統(tǒng)1包括多個(gè)控制器11、多個(gè)交換機(jī)12,其中將所述多個(gè)控制器11捆綁在一起創(chuàng)建 一虛擬控制器13。所述多個(gè)控制器11中包括主控制器和備份控制器。
[0053] 請(qǐng)參閱圖3,顯示為為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng)中控制器原理結(jié)構(gòu)圖, 所述多個(gè)控制器11包括虛擬模塊110、發(fā)送模塊111、接收模塊112、提取模塊113、比較模 塊114、及判斷模塊115。
[0054] 其中,所述發(fā)送模塊111用于在初始階段將多個(gè)控制器定義為候選主控制器時(shí), 發(fā)送第一協(xié)議報(bào)文至其他所述控制器11,即其他所述候選主控制器,所述第一協(xié)議報(bào)文具 有優(yōu)先級(jí)屬性。所述第一協(xié)議報(bào)文為虛擬路由器冗余協(xié)議(VRRP)報(bào)文。在發(fā)送第一協(xié)議 報(bào)文至其他控制器11之前,所述虛擬模塊110根據(jù)第一協(xié)議將所述多個(gè)控制器捆綁在一起 創(chuàng)建一虛擬控制器13,為所述多個(gè)控制器11和所述虛擬控制器13預(yù)先配置IP地址和優(yōu)先 級(jí)。其中,所述虛擬控制器13也稱之為控制器備份組。
[0055] 與所述發(fā)送模塊111連接的接收模塊112用于接收其他控制器11,即各該候選主 控制器發(fā)送的第一協(xié)議報(bào)文。
[0056] 與所述接收模塊112連接的提取模塊113用于在接收到所述第一協(xié)議報(bào)文后,分 別依據(jù)所述第一協(xié)議報(bào)文的優(yōu)先級(jí)屬性提取所述第一協(xié)議報(bào)文的優(yōu)先級(jí)。所述第一協(xié)議報(bào) 文的優(yōu)先級(jí)范圍在〇?255之間,最高優(yōu)先級(jí)為255,其他可配置優(yōu)先級(jí)的范圍為0-254。
[0057] 與所述提取模塊113連接的比較模塊114用于將提取到的所述第一協(xié)議報(bào)文的 優(yōu)先級(jí)與各該候選主控制器自身的優(yōu)先級(jí)進(jìn)行比較,檢測(cè)控制器11 (各該候選主控制器) 自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí);若是,則定義優(yōu)先級(jí)最高的控制器 11 (優(yōu)先級(jí)最高的候選主控制器)為主控制器,剩余控制器11 (剩余候選主控制器)為備 份控制器,;若否,則定義候選主控制器自身的優(yōu)先級(jí)不高于第一協(xié)議報(bào)文優(yōu)先級(jí)的候選主 控制器(控制器11)為備份控制器,將所述備份控制器置于等待接收所述第一協(xié)議報(bào)文的 狀態(tài)。所述比較模塊114包括定時(shí)器A,所述定時(shí)器A用于啟動(dòng)所述第一預(yù)設(shè)時(shí)間段。所 述比較模塊114將提取到的所述第一協(xié)議報(bào)文的優(yōu)先級(jí)與控制器自身的優(yōu)先級(jí)進(jìn)行比較, 檢測(cè)各該候選主控制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí)的功能等效于 判斷所述虛擬控制器的IP地址是否與所述多個(gè)候選主控制器中的一個(gè)候選主控制器的IP 地址重合,若重合,則表示與所述虛擬控制器的IP地址重合的候選主控制器具有最高優(yōu)先 級(jí),具有最高優(yōu)先級(jí)的所述候選主控制器為主控制器,剩余候選主控制器為備份控制器,所 述主控制器在一預(yù)設(shè)時(shí)間段內(nèi)給所述備份控制器發(fā)送第一協(xié)議報(bào)文,若不重合,定義優(yōu)先 級(jí)未高于第一協(xié)議報(bào)文優(yōu)先級(jí)的控制器11為備份控制器,并將這些控制器11置于等待接 收所述第一協(xié)議報(bào)文的狀態(tài)。
[0058] 在本實(shí)施例中,經(jīng)優(yōu)先級(jí)比較之后,所述發(fā)送模塊111還用于將第二協(xié)議報(bào)文發(fā) 送至所述交換機(jī)12。所述交換機(jī)12用于生成記錄所述虛擬控制器13的IP地址和接收所 述第二協(xié)議報(bào)文的入端口的端口號(hào)的映射表。所述第二協(xié)議報(bào)文為地址解析協(xié)議(ARP)報(bào) 文。其中第二協(xié)議報(bào)文的報(bào)文源IP是所述虛擬控制器13的IP地址,控制器本身的IP地 址用于VRRP廣播使用,所述交換機(jī)不感知控制器的IP地址。當(dāng)所述交換機(jī)12收到第二協(xié) 議報(bào)文,會(huì)根據(jù)生成的所述映射表向控制器11發(fā)送基于OPEN FLOW協(xié)議的第三協(xié)議報(bào)文。 且所述發(fā)送模塊111還用于在所述第一預(yù)設(shè)時(shí)間段內(nèi)分別發(fā)送所述第一協(xié)議報(bào)文至各備 份控制器。
[0059] 與所述比較模塊114連接的判斷模塊115用于判斷在第二預(yù)設(shè)時(shí)間段內(nèi)多個(gè)備份 控制器是否接收到所述第一協(xié)議報(bào)文,若否,則繼續(xù)調(diào)用所述發(fā)送模塊111,所述發(fā)送模塊 111將第二協(xié)議報(bào)文發(fā)送至所述交換機(jī)12。所述交換機(jī)12用于生成記錄所述虛擬控制器 13的IP地址和接收所述第二協(xié)議報(bào)文的入端口的端口號(hào)的映射表。所述第二協(xié)議報(bào)文為 地址解析協(xié)議(ARP)報(bào)文。其中第二協(xié)議報(bào)文的報(bào)文源IP是所述虛擬控制器13的IP地 址,控制器本身的IP地址用于VRRP廣播使用,所述交換機(jī)不感知控制器的IP地址。當(dāng)所 述交換機(jī)12收到第二協(xié)議報(bào)文,會(huì)根據(jù)生成的所述映射表向控制器11發(fā)送基于OPEN FLOW 協(xié)議的第三協(xié)議報(bào)文,。所述判斷模塊115具有定時(shí)器B,所述定時(shí)器B用于啟動(dòng)所述第二 預(yù)設(shè)時(shí)間段;若是,則調(diào)用所述提取模塊113和比較模塊114分別用于根據(jù)檢測(cè)在第二預(yù) 設(shè)時(shí)間段內(nèi)備份控制器接收的所述第一協(xié)議報(bào)文的優(yōu)先級(jí)屬性提取所述第一協(xié)議報(bào)文的 優(yōu)先級(jí),檢測(cè)所述備份控制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),若是,則 將優(yōu)先級(jí)較高的備份控制器定義為主控制器,令所述發(fā)送模塊111用于將第二協(xié)議報(bào)文發(fā) 送至所述交換機(jī)12。所述交換機(jī)12用于生成記錄所述虛擬控制器13的IP地址和接收所 述第二協(xié)議報(bào)文的入端口的端口號(hào)的映射表。所述第二協(xié)議報(bào)文為地址解析協(xié)議(ARP)報(bào) 文。其中第二協(xié)議報(bào)文的報(bào)文源IP是所述虛擬控制器13的IP地址,控制器本身的IP地 址用于VRRP廣播使用,所述交換機(jī)不感知控制器的IP地址。當(dāng)所述交換機(jī)12收到第二協(xié) 議報(bào)文,會(huì)根據(jù)生成的所述映射表向控制器11發(fā)送基于OPEN FLOW協(xié)議的第三協(xié)議報(bào)文。 若否,令所述發(fā)送模塊111發(fā)送第一協(xié)議報(bào)文。
[0060] 本發(fā)明所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法及系統(tǒng)通過(guò)設(shè)置VRRP控制 器組的虛擬控制器的IP地址,交換機(jī)不用感知所有的控制器的IP地址,只需感知所述虛擬 控制器的虛擬IP地址,交換機(jī)無(wú)需和每個(gè)控制器溝通,VRRP控制器組中的主控制器會(huì)主動(dòng) 和交換機(jī)去建立聯(lián)系,然后交換機(jī)只會(huì)和主控制器交互。本發(fā)明解決了單點(diǎn)控制器的可靠 性、擴(kuò)展性、及性能方面的問(wèn)題,增加了網(wǎng)絡(luò)的可靠性,實(shí)現(xiàn)了單一控制器可以應(yīng)對(duì)跨多個(gè) 地獄的SDN網(wǎng)絡(luò),及實(shí)現(xiàn)了多個(gè)SDN控制器東西向的擴(kuò)展。
[0061] 所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點(diǎn)而具高度產(chǎn)業(yè)利用價(jià)值。
[0062] 述實(shí)施例僅例示性說(shuō)明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉 此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對(duì)上述實(shí)施例進(jìn)行修飾或改變。因此, 舉凡所屬【技術(shù)領(lǐng)域】中具有通常知識(shí)者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成 的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。
【權(quán)利要求】
1. 一種為軟件定義網(wǎng)絡(luò)控制器提供備份的方法,應(yīng)用于包括交換機(jī)和多個(gè)控制器的網(wǎng) 絡(luò)系統(tǒng)中,其特征在于,所述方法包括以下步驟: 步驟一,在初始階段,將多個(gè)控制器定義為候選主控制器,所述多個(gè)候選主控制器間發(fā) 送具有優(yōu)先級(jí)屬性的第一協(xié)議報(bào)文; 步驟二,各該候選主控制器接收所述第一協(xié)議報(bào)文,依據(jù)所述第一協(xié)議報(bào)文的優(yōu)先級(jí) 屬性提取所述第一協(xié)議報(bào)文的優(yōu)先級(jí); 步驟三,將提取到的所述第一協(xié)議報(bào)文的優(yōu)先級(jí)與各該候選主控制器自身的優(yōu)先級(jí)進(jìn) 行比較,檢測(cè)各該候選主控制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí); 步驟四,若所述候選主控器自身的優(yōu)先級(jí)高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),則定義所 述候選主控制器為主控制器,剩余候選主控制器為備份控制器; 步驟五,所述主控制器發(fā)送第二協(xié)議報(bào)文至交換機(jī); 步驟六,所述主控制器在第一預(yù)設(shè)時(shí)間內(nèi)分別發(fā)送所述第一協(xié)議報(bào)文至各備份控制 器; 步驟七,判斷各該備份控制器在第二預(yù)設(shè)時(shí)間段內(nèi)是否接收到所述第一協(xié)議報(bào)文;若 是,提取報(bào)文優(yōu)先級(jí),判斷所述備份控制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu) 先級(jí);若所述備份控制器自身的優(yōu)先級(jí)高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),定義所述備份控 制器為主控制器,返回步驟五;若所述備份控制器自身的優(yōu)先級(jí)低于所述第一協(xié)議報(bào)文的 優(yōu)先級(jí),返回步驟六;若否,則定義所述備選主控制器為主控制器,返回步驟五。
2. 根據(jù)權(quán)利要求1所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法,其特征在于:所述 為軟件定義網(wǎng)絡(luò)控制器提供備份的方法還包括: 若所述候選主控器自身的優(yōu)先級(jí)不高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),將所述候選主控 制器定義為備份控制器,并將所述備份控制器置于等待接收所述第一協(xié)議報(bào)文的狀態(tài),轉(zhuǎn) 入步驟七。
3. 根據(jù)權(quán)利要求1所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法,其特征在于:所述 為軟件定義網(wǎng)絡(luò)控制器提供備份的方法中將提取到的所述第一協(xié)議報(bào)文的優(yōu)先級(jí)與各該 候選主控制器自身的優(yōu)先級(jí)進(jìn)行比較,檢測(cè)各該候選主控制器自身的優(yōu)先級(jí)是否高于所述 第一協(xié)議報(bào)文的優(yōu)先級(jí)的步驟等效于判斷所述虛擬控制器的IP地址是否與所述多個(gè)候選 主控制器中的一個(gè)候選主控制器的IP地址重合;若重合,則表示與所述虛擬控制器的IP 地址重合的候選主控制器具有最高優(yōu)先級(jí),具有最高優(yōu)先級(jí)的所述候選主控制器為主控制 器,剩余候選主控制器為備份控制器,所述主控制器在所述第一預(yù)設(shè)時(shí)間段內(nèi)給所述備份 控制器發(fā)送所述第一協(xié)議報(bào)文。
4. 根據(jù)權(quán)利要求3所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法,其特征在于:所述 第一協(xié)議報(bào)文的優(yōu)先級(jí)范圍在〇?255之間,最高優(yōu)先級(jí)為255。
5. 根據(jù)權(quán)利要求1所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法,其特征在于:所述 為軟件定義網(wǎng)絡(luò)提供備份的方法還包括: 所述候選主控制器被定義為主控制器時(shí),所述主控制器發(fā)送第二協(xié)議報(bào)文至所述交換 機(jī),所述交換機(jī)生成記錄所述虛擬控制器的IP地址和接收所述第二協(xié)議報(bào)文的入端口的 端口號(hào)的映射表。
6. 根據(jù)權(quán)利要求5所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法,其特征在于:當(dāng)在 所述第二預(yù)設(shè)時(shí)間段內(nèi)所述多個(gè)備份控制器未接收到所述第一協(xié)議報(bào)文時(shí),則表示所述主 控制器發(fā)生故障,所述多個(gè)備份控制器宣告自己為主控制器,在多個(gè)備份控制器中重新選 舉產(chǎn)生新的主控制器;新產(chǎn)生的所述主控制器給所述交換機(jī)發(fā)送第二協(xié)議報(bào)文,所述交換 機(jī)更新所述映射表。
7. 根據(jù)權(quán)利要求1所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的方法,其特征在于:所述 第一協(xié)議報(bào)文為虛擬路由器冗余協(xié)議報(bào)文,所述第二協(xié)議報(bào)文為地址解析協(xié)議報(bào)文。
8. -種為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng),其特征在于,包括: 多個(gè)控制器,所述多個(gè)控制器包括: 發(fā)送模塊,用于在初始階段將多個(gè)控制器定義為候選主控制器時(shí),在所述多個(gè)候選主 控制器間發(fā)送具有優(yōu)先級(jí)屬性的第一協(xié)議報(bào)文;且所述發(fā)送模塊還用于發(fā)送第二協(xié)議報(bào)文 至交換機(jī); 接收模塊,用于接收各該候選主控制器發(fā)送的第一協(xié)議報(bào)文; 提取模塊,用于在接收到所述第一協(xié)議報(bào)文后,分別依據(jù)所述第一協(xié)議報(bào)文的優(yōu)先級(jí) 屬性提取所述第一協(xié)議報(bào)文的優(yōu)先級(jí); 比較模塊,用于將提取到的所述第一協(xié)議報(bào)文的優(yōu)先級(jí)與各該候選主控制器自身的 優(yōu)先級(jí)進(jìn)行比較,檢測(cè)各該候選主控制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先 級(jí);若是,則定義所述候選主控制器為主控制器,剩余候選主控制器為備份控制器,調(diào)用所 述發(fā)送模塊在第一預(yù)設(shè)時(shí)間段內(nèi)發(fā)送第二協(xié)議報(bào)文至所述交換機(jī),且在第一預(yù)設(shè)時(shí)間段內(nèi) 分別發(fā)送所述第一協(xié)議報(bào)文至各備份控制器;若否,則定義所述候選主控制器為備份控制 器,將所述備份控制器置于等待接收所述第一協(xié)議報(bào)文的狀態(tài); 判斷模塊,用于判斷各該備份控制器在第二預(yù)設(shè)時(shí)間段內(nèi)是否接收到所述第一協(xié)議報(bào) 文,若是,則調(diào)用所述提取模塊和比較模塊分別提取第一協(xié)議報(bào)文優(yōu)先級(jí),檢測(cè)所述備份控 制器自身的優(yōu)先級(jí)是否高于所述第一協(xié)議報(bào)文的優(yōu)先級(jí),若是,則定義所述備份控制器為 主控制器,并調(diào)用所述發(fā)送模塊發(fā)送第二協(xié)議報(bào)文至所述交換機(jī);若否,則調(diào)用所述發(fā)送模 塊在所述第一預(yù)設(shè)時(shí)間段內(nèi)分別發(fā)送所述第一協(xié)議報(bào)文至各備份控制器;若否,則定義所 述備份控制器為主控制器,調(diào)用所述發(fā)送模塊發(fā)送第二協(xié)議報(bào)文至所述交換機(jī)。
9. 根據(jù)權(quán)利要求8所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng),其特征在于:所述 為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng)還包括虛擬模塊,所述虛擬模塊用于根據(jù)第一協(xié)議 由所述多個(gè)控制器組成的虛擬控制器,為所述多個(gè)控制器和所述虛擬控制器預(yù)先配置IP 地址和優(yōu)先級(jí)。
10. 根據(jù)權(quán)利要求9所述的為軟件定義網(wǎng)絡(luò)控制器提供備份的系統(tǒng),其特征在于:所述 比較模塊還用于判斷所述虛擬控制器的IP地址是否與所述多個(gè)候選主控制器中的一個(gè)候 選主控制器的IP地址重合,若重合,則表示與所述虛擬控制器的IP地址重合的候選主控制 器具有最高優(yōu)先級(jí),具有最高優(yōu)先級(jí)的所述候選主控制器為主控制器,剩余候選主控制器 為備份控制器,所述主控制器在一預(yù)設(shè)時(shí)間段內(nèi)給所述備份控制器發(fā)送第一協(xié)議報(bào)文。
【文檔編號(hào)】H04L12/703GK104158642SQ201410387804
【公開(kāi)日】2014年11月19日 申請(qǐng)日期:2014年8月8日 優(yōu)先權(quán)日:2014年8月8日
【發(fā)明者】朱亞娟 申請(qǐng)人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司