軟件定義網(wǎng)絡(luò)(sdn)中的分層控制的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般涉及通信網(wǎng)絡(luò)領(lǐng)域,尤其涉及軟件定義網(wǎng)絡(luò)(SDN)領(lǐng)域。
【背景技術(shù)】
[0002]在軟件定義網(wǎng)絡(luò)(SDN)架構(gòu)中,執(zhí)行重要的網(wǎng)絡(luò)路由和切換功能的控制平面(control plane)與數(shù)據(jù)轉(zhuǎn)發(fā)平面(data forwarding plane)是分離的(decoupled)??刂破矫婵梢允沁壿嫾械?,且可以利用各種不同架構(gòu)的硬件組件來實(shí)現(xiàn)。數(shù)據(jù)平面可采用廉價且簡單的網(wǎng)絡(luò)開關(guān)或路由器,該網(wǎng)絡(luò)開關(guān)或路由器可由SDN控制器配置而得到。由于在定制和優(yōu)化特定用戶需求的網(wǎng)絡(luò)服務(wù)方面的可量測性(scalability)、成本效益、可靠性和靈活性,因此在研究和商業(yè)環(huán)境中,SDN范式(paradigm)均已日益獲得普及。
[0003]SDN能夠使信息技術(shù)(IT)組織遷移至橫向擴(kuò)展模型聯(lián)網(wǎng)技術(shù),由此可在需要時添加網(wǎng)絡(luò)功能,并且SDN控制器能使該組織以集中方式管理所有的聯(lián)網(wǎng)功能。但是,SDN中的常規(guī)集中控制方法也存在中央控制器所能支持的網(wǎng)絡(luò)設(shè)備(例如開關(guān)或路由器)數(shù)量的限制,這限制了 SDN的可量測性和擴(kuò)展性。因此,SDN的應(yīng)用不得不限制在相對較小規(guī)模的網(wǎng)絡(luò)中。通常,在廣域網(wǎng)(WAN)中,不同子網(wǎng)絡(luò)的SD控制器依靠硬件設(shè)施相互鏈接并通信。因此,難以用軟件綜合管理整個WAN。
[0004]用于SDN中的流程處理的一種標(biāo)準(zhǔn)是OpenFlow,其定義了用于在控制平面和轉(zhuǎn)發(fā)平面之間傳輸消息的協(xié)議,并描述了分組處理模型。例如,當(dāng)分組到達(dá)OpenFlow開關(guān)時,將頭字段(head fields)與流量表(Flow Table)條目進(jìn)行比較。如果匹配,則根據(jù)流量表中規(guī)定的相應(yīng)操作來處理分組,例如轉(zhuǎn)發(fā)至指定端口或丟棄。當(dāng)OpenFlow開關(guān)接收到不能與流量表中的任何條目匹配的分組時,其對分組進(jìn)行封裝并發(fā)送給控制器。然后控制器決定應(yīng)怎樣處理該分組,并通知開關(guān)丟棄分組或在流量表中生成新的條目以支持新的流量。
[0005]傳統(tǒng)的SDN系統(tǒng)一般會維護(hù)預(yù)定義的網(wǎng)絡(luò)地圖。如果需要將分組發(fā)送至未包含在該預(yù)定義網(wǎng)絡(luò)地圖內(nèi)的網(wǎng)絡(luò)節(jié)點(diǎn),則路由器或虛擬路由器向控制器發(fā)送請求,作為響應(yīng),控制器可更新網(wǎng)絡(luò)地圖。為了減少等待時間(latency),網(wǎng)絡(luò)地圖需要被快速更新,例如以毫秒級,但不幸的是這難以實(shí)現(xiàn)。因此,傳統(tǒng)的SDN網(wǎng)絡(luò)通常對于等待時間很敏感。
【發(fā)明內(nèi)容】
[0006]因此,有利地,需要提供一種軟件定義網(wǎng)絡(luò)(SDN)控制機(jī)制,為SDN提供增強(qiáng)的可量測性和較高的等待時間冗余。因此,本發(fā)明的多個實(shí)施方式采用分布式控制系統(tǒng)來控制SDN中的網(wǎng)絡(luò)設(shè)備,從而管理SDN的網(wǎng)絡(luò)服務(wù)。分布式控制系統(tǒng)包括控制器層級體系,其包括區(qū)域控制器以及一個或多個根控制器。各個區(qū)域控制器配置為控制一組網(wǎng)絡(luò)裝置并維護(hù)與之相關(guān)的區(qū)域網(wǎng)絡(luò)地圖。各個區(qū)域控制器可包括多層,并能根據(jù)OpenFlow協(xié)議直接控制虛擬路由器。各個根控制器配置為控制一組區(qū)域控制器,并維護(hù)跨SDN的多個區(qū)域的全局網(wǎng)絡(luò)地圖(global network map)。根控制器能在彼此間以及與其下級控制器之間同步全局網(wǎng)絡(luò)地圖。根控制器不可被激活以用于確定分組傳輸路由,除非其下級區(qū)域控制器未具備用以確定所請求路由的足夠信息。
[0007]在本發(fā)明的一個實(shí)施方式中,一種配置以用于為軟件定義網(wǎng)絡(luò)(SDN)提供網(wǎng)絡(luò)管理的分級控制系統(tǒng)包括:(I)區(qū)域控制器,配置為控制各個網(wǎng)絡(luò)設(shè)備組,并維護(hù)其區(qū)域網(wǎng)絡(luò)地圖,其中,SDN包括多個區(qū)域,其中各個區(qū)域包括區(qū)域控制器和各個網(wǎng)絡(luò)設(shè)備組;和(2) —個或多個根控制器,其中,各個根控制器配置為:維護(hù)跨SDN的多個區(qū)域的全局網(wǎng)絡(luò)地圖;將全局網(wǎng)絡(luò)地圖傳送給區(qū)域控制器;與另一根控制器同步全局網(wǎng)絡(luò)地圖。
[0008]上述內(nèi)容是概要說明,因此包含對細(xì)節(jié)的必要的簡化、概括和省略;因此,本領(lǐng)域技術(shù)人員可以理解,該概要說明只是示意性的,并非意在做出任何方式的限制。在下文所闡述的非限制性詳細(xì)說明中,僅由權(quán)利要求限定的本發(fā)明的其他方面、創(chuàng)新性特征和優(yōu)點(diǎn)將變得清楚。
【附圖說明】
[0009]通過閱讀以下詳細(xì)說明并結(jié)合附圖,可以更好地理解本發(fā)明的多個實(shí)施例,附圖中相同的參考標(biāo)記指代相同的元件,其中:
[0010]圖1為示出根據(jù)本發(fā)明的一個實(shí)施方式的分布式SDN控制系統(tǒng)的示例性架構(gòu)的框圖。
[0011]圖2為描繪根據(jù)本發(fā)明的一個實(shí)施方式的、通過分布式控制系統(tǒng)確定分組傳輸路徑的示例性方法的流程圖。
[0012]圖3為示出根據(jù)本發(fā)明的一個實(shí)施方式的采用分布式控制系統(tǒng)的SDN的示例性架構(gòu)的框圖。
【具體實(shí)施方式】
[0013]下面將對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)說明,附圖中舉例說明了其示例。雖然本發(fā)明是結(jié)合優(yōu)選實(shí)施例進(jìn)行描述的,但應(yīng)當(dāng)意識到的是,這些優(yōu)選實(shí)施例并非意在將本發(fā)明限制于這些實(shí)施例。相反,本發(fā)明意在覆蓋如權(quán)利要求所限定的包含在本發(fā)明的精神和保護(hù)范圍內(nèi)的變形、修改和等同體。此外,在本發(fā)明的下述實(shí)施例的詳細(xì)說明中,提供了許多特定細(xì)節(jié)以便于更徹底地理解本發(fā)明。但是,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)意識到,本發(fā)明可以在不需要這些特定細(xì)節(jié)的情況下得以實(shí)施。在其他方面,未詳細(xì)描述公知的方法、步驟、組件和電路,以避免對本發(fā)明的實(shí)施例中的各個方面造成不必要的混淆。雖然為了清楚起見,方法是按照編號的步驟的順序來描述的,但該編號并不必然代表步驟的順序。應(yīng)當(dāng)理解的是,某些步驟可以跳過,或并行執(zhí)行,或不需要維持嚴(yán)格的順序而執(zhí)行。顯示本發(fā)明實(shí)施例的附圖是半概括性的,并非按比例的,尤其是附圖中的某些尺寸為了呈現(xiàn)得清楚是被放大顯示的。類似的,雖然為了便于描述,附圖中的視角呈現(xiàn)為大致相似的方向,但附圖中的這種描繪在很大程度上是任意的。一般而言,本發(fā)明能夠以任意方向來操作。
[0014]符號和術(shù)語
[0015]但是,應(yīng)當(dāng)記住的是,所有這些以及類似的術(shù)語與適當(dāng)?shù)奈锢砹肯嚓P(guān),且僅僅是適用于這些物理量的便捷標(biāo)記。除非特別聲明,否則從下面的描述中可以清楚地理解的是,在本發(fā)明的全文中,采用諸如“處理”、“訪問”、“執(zhí)行”、“存儲”或“表現(xiàn)(rendering)”之類術(shù)語的描述指的是計算機(jī)系統(tǒng)或類似電子計算裝置的動作和處理,計算機(jī)系統(tǒng)對在計算機(jī)系統(tǒng)的寄存器和存儲器以及其他計算機(jī)可讀介質(zhì)中代表物理(電子)量的數(shù)據(jù)進(jìn)行管理,以及將其轉(zhuǎn)換為計算機(jī)系統(tǒng)的存儲器或寄存器或其他類似信息存儲器、傳輸或顯示裝置中的類似的代表物理量的其他數(shù)據(jù)。當(dāng)某個組件出現(xiàn)于多個實(shí)施例中時,使用相同的參考標(biāo)記意味著該組件是與最初的實(shí)施例中所示組件相同的組件。
[0016]軟件定義網(wǎng)絡(luò)(SDN)中的分級控制
[0017]本發(fā)明的實(shí)施方式采用分布式控制系統(tǒng),其包括控制器層級體系以控制網(wǎng)絡(luò)設(shè)備,從而管理軟件定義網(wǎng)絡(luò)(SDN)的網(wǎng)絡(luò)服務(wù)??刂破鲗蛹夡w系包括位于下層的區(qū)域控制器和位于上層的根控制器。各個區(qū)域控制器可被配置為控制一個或多個網(wǎng)絡(luò)設(shè)備并維護(hù)區(qū)域網(wǎng)絡(luò)地圖,區(qū)域網(wǎng)絡(luò)地圖包括與該區(qū)域控制器所管理的網(wǎng)絡(luò)區(qū)域相關(guān)的區(qū)域網(wǎng)絡(luò)拓?fù)?。區(qū)域控制器可具有多層,并能例如通過虛擬路由器直接控制網(wǎng)絡(luò)區(qū)域中的網(wǎng)絡(luò)設(shè)備。各個根控制器可被配置為控制包含區(qū)域控制器組的子網(wǎng)絡(luò)或所述根控制器的下級控制器、以及相關(guān)的網(wǎng)絡(luò)設(shè)備。
[0018]根控制器可維護(hù)包括SDN的區(qū)域內(nèi)網(wǎng)絡(luò)信息的全局網(wǎng)絡(luò)地圖,并將全局網(wǎng)絡(luò)地圖與其他同級的根控制器同步。根控制器可通過從其下級控制器獲取與其管理的子網(wǎng)絡(luò)相關(guān)的路由信息來更新全局網(wǎng)絡(luò)地圖。根控制器還可從其同級的根控制器獲得與其他子網(wǎng)絡(luò)相關(guān)的彳目息。
[0019]如果下層控制器(例如區(qū)域控制器)沒有足夠的路由信息來為分組確定路由,則上層控制器(例如根控制器)可通過使用其中所包含的更大的網(wǎng)絡(luò)地圖來確定分組傳輸路由,并將相關(guān)的路由信息推送給下層控制器。然后,路由信息被用于更新流量表以轉(zhuǎn)發(fā)分組。通過根據(jù)本發(fā)明的邏輯分布式控制系統(tǒng),SDN可以有利地被擴(kuò)展到任意尺寸,并能夠跨越整個全局網(wǎng)絡(luò)。分布式控制系統(tǒng)可被配置為分級控制系統(tǒng)。
[0020]圖1為示出根據(jù)本發(fā)明的一個實(shí)施方式的分布式SDN控制系統(tǒng)100的示例性架構(gòu)的框圖。在該示例中,控制系統(tǒng)包括具有多個根控制器例如111和112的頂層,以及具有多個區(qū)域控制器例如121-124的底層。每個區(qū)域控制器可控制一個或多個虛擬路由器例如131-135。每個虛擬路由器被用作多個物理裝置的抽象表示,例如主路由器和備份路由器。
[00