背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)可以具有在底層網(wǎng)絡(luò)中經(jīng)由有線或者無線網(wǎng)絡(luò)鏈路由路由器、交換機(jī)、網(wǎng)橋或者其它網(wǎng)絡(luò)設(shè)備相互互連的大量物理服務(wù)器。每個(gè)物理服務(wù)器可以主控在由底層網(wǎng)絡(luò)支持的一個(gè)或者多個(gè)虛擬覆蓋網(wǎng)絡(luò)中相互互連的多個(gè)虛擬化的服務(wù)器或者虛擬網(wǎng)絡(luò)功能。虛擬覆蓋網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)和網(wǎng)絡(luò)端點(diǎn)可以根據(jù)一個(gè)或者多個(gè)網(wǎng)絡(luò)協(xié)議經(jīng)由覆蓋網(wǎng)絡(luò)來交換消息。
技術(shù)實(shí)現(xiàn)要素:
提供這一發(fā)明內(nèi)容以用簡化的形式介紹以下在具體實(shí)施方式中進(jìn)一步描述的概念的選集。這一發(fā)明內(nèi)容沒有旨在于標(biāo)識要求保護(hù)的主題內(nèi)容的關(guān)鍵特征或者實(shí)質(zhì)特征,它也沒有旨在于用來限制要求保護(hù)的權(quán)利要求的范圍。
與設(shè)計(jì)和操作計(jì)算機(jī)網(wǎng)絡(luò)關(guān)聯(lián)的一個(gè)難點(diǎn)是可縮放性。隨著物理和/或虛擬化的服務(wù)器的數(shù)目增加,必需資源的數(shù)量以及操作復(fù)雜性迅速地增加。例如,可能由于功率系統(tǒng)故障、負(fù)荷平衡和/或其它原因而從一個(gè)物理服務(wù)器向另一物理服務(wù)器重定位虛擬機(jī)。重定位的虛擬機(jī)的新地址被更新到對應(yīng)虛擬網(wǎng)絡(luò)中的其它虛擬機(jī)。然而,隨著虛擬機(jī)的數(shù)目達(dá)到數(shù)百萬或者數(shù)千位,這樣的地址更新可能涉及大量信息并且可能花費(fèi)大量時(shí)間,在這大量時(shí)間期間,與重定位的虛擬機(jī)的通信可能不可靠。因此,服務(wù)中斷或者甚至系統(tǒng)故障可能出現(xiàn)。
公開的技術(shù)的若干實(shí)施例可以通過將覆蓋網(wǎng)絡(luò)分割成具有可管理大小的覆蓋分區(qū)來提高計(jì)算機(jī)網(wǎng)絡(luò)的可縮放性。每個(gè)覆蓋分區(qū)可以僅為具有覆蓋分區(qū)中的至少一個(gè)端點(diǎn)的虛擬網(wǎng)絡(luò)獨(dú)立地管理和/或更新可達(dá)性信息。對于在覆蓋分區(qū)中沒有任何端點(diǎn)的虛擬網(wǎng)絡(luò),覆蓋分區(qū)沒有管理與這樣的虛擬網(wǎng)絡(luò)有關(guān)的任何可達(dá)性信息。因此,每個(gè)覆蓋分區(qū)可以與其它覆蓋分區(qū)獨(dú)立地操作以實(shí)現(xiàn)虛擬機(jī)、虛擬網(wǎng)絡(luò)功能和/或其它適當(dāng)端點(diǎn)的快速可達(dá)性更新。
附圖說明
圖1是圖示了根據(jù)公開的技術(shù)的實(shí)施例的具有覆蓋網(wǎng)絡(luò)分割的計(jì)算機(jī)網(wǎng)絡(luò)的示意圖。
圖2是圖示了根據(jù)公開的技術(shù)的實(shí)施例的對于圖1的計(jì)算機(jī)網(wǎng)絡(luò)而言適合的示例分級底層網(wǎng)絡(luò)的示意圖。
圖3是圖示了根據(jù)公開的技術(shù)的實(shí)施例的計(jì)算機(jī)網(wǎng)絡(luò)的示例操作的示意圖。為了清楚而省略了圖1中的計(jì)算機(jī)網(wǎng)絡(luò)的某些部分。
圖4是圖示了根據(jù)公開的技術(shù)的附加實(shí)施例的計(jì)算機(jī)網(wǎng)絡(luò)的示例操作的示意圖。為了清楚而省略了圖1中的計(jì)算機(jī)網(wǎng)絡(luò)的某些部分。
圖5是圖示了根據(jù)公開的技術(shù)的另外實(shí)施例的計(jì)算機(jī)網(wǎng)絡(luò)的示例操作的示意圖。為了清楚而省略了圖1中的計(jì)算機(jī)網(wǎng)絡(luò)的某些部分。
圖6是圖示了根據(jù)公開的技術(shù)的實(shí)施例的本地可達(dá)性接入門的軟件部件的框圖。
圖7是圖示了根據(jù)公開的技術(shù)的實(shí)施例的在圖1的計(jì)算機(jī)網(wǎng)絡(luò)中更新可達(dá)性信息的過程的流程圖。
圖8是圖示了根據(jù)公開的技術(shù)的實(shí)施例的在圖1的計(jì)算機(jī)網(wǎng)絡(luò)中更新可達(dá)性信息的另一過程的流程圖。
圖9是圖示了根據(jù)公開的技術(shù)的實(shí)施例的管理覆蓋分區(qū)中的可達(dá)性信息的過程的流程圖。
圖10是圖示了根據(jù)公開的技術(shù)的實(shí)施例的管理覆蓋分區(qū)中的可達(dá)性信息的另一過程的流程圖。
圖11是圖示了根據(jù)公開的技術(shù)的實(shí)施例的重定位虛擬租戶端點(diǎn)的過程的流程圖。
圖12是對于圖1中的計(jì)算機(jī)網(wǎng)絡(luò)的某些部件而言適合的計(jì)算設(shè)備。
具體實(shí)施方式
以下描述用于分割、管理和/或更新覆蓋網(wǎng)絡(luò)的系統(tǒng)、設(shè)備、部件、模塊、例程和過程的某些實(shí)施例。在以下描述中,部件的具體細(xì)節(jié)被包括以提供對公開的技術(shù)的某些實(shí)施例的透徹理解。本領(lǐng)域技術(shù)人員也將理解,該技術(shù)可以具有附加實(shí)施例。沒有以下參照圖1至圖12描述的實(shí)施例的細(xì)節(jié)中的若干細(xì)節(jié)也可以實(shí)現(xiàn)該技術(shù)。
如這里所用,術(shù)語“計(jì)算機(jī)網(wǎng)絡(luò)”一般地是指具有多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的互連網(wǎng)絡(luò),這些網(wǎng)絡(luò)節(jié)點(diǎn)將多個(gè)端點(diǎn)連接到彼此和其它網(wǎng)絡(luò)(例如,因特網(wǎng))。術(shù)語“網(wǎng)絡(luò)節(jié)點(diǎn)”一般地是指物理和/或軟件模仿的(或者虛擬)的網(wǎng)絡(luò)設(shè)備。示例網(wǎng)絡(luò)節(jié)點(diǎn)包括路由器、交換機(jī)、集線器、網(wǎng)橋、負(fù)荷平衡器、安全網(wǎng)關(guān)、防火墻、網(wǎng)絡(luò)名稱翻譯器或者名稱服務(wù)器。
支持虛擬或者物理網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)節(jié)點(diǎn)和網(wǎng)絡(luò)端點(diǎn)的計(jì)算機(jī)網(wǎng)絡(luò)可以在概念上被劃分成在底層網(wǎng)絡(luò)之上被實(shí)施的覆蓋網(wǎng)絡(luò)?!案采w網(wǎng)絡(luò)”一般地是指在底層網(wǎng)絡(luò)之上被實(shí)施的和在底層網(wǎng)絡(luò)上面操作的抽象的網(wǎng)絡(luò),該底層網(wǎng)絡(luò)可以包括與彼此和與物理端點(diǎn)互連的多個(gè)物理網(wǎng)絡(luò)節(jié)點(diǎn)。例如,覆蓋網(wǎng)絡(luò)可以包括在底層網(wǎng)絡(luò)之上被實(shí)施的一個(gè)或者多個(gè)虛擬網(wǎng)絡(luò)。虛擬網(wǎng)絡(luò)互連被主控在由底層網(wǎng)絡(luò)中的物理網(wǎng)絡(luò)節(jié)點(diǎn)互連的不同物理服務(wù)器上的多個(gè)物理服務(wù)器或者虛擬化的服務(wù)器。覆蓋網(wǎng)絡(luò)中的虛擬網(wǎng)絡(luò)節(jié)點(diǎn)可以由與沿著底層網(wǎng)絡(luò)中的一個(gè)或者多個(gè)物理網(wǎng)絡(luò)節(jié)點(diǎn)的一個(gè)或者多個(gè)路徑個(gè)體地對應(yīng)的虛擬或者邏輯鏈路而被相互連接。
“虛擬網(wǎng)絡(luò)”一般地是指覆蓋網(wǎng)絡(luò)中的底層網(wǎng)絡(luò)的部分的抽象化。虛擬網(wǎng)絡(luò)可以包括由用戶或者“租戶”個(gè)體地用來訪問虛擬網(wǎng)絡(luò)和關(guān)聯(lián)的計(jì)算、存儲或者其它適當(dāng)資源的、被稱為“租戶站點(diǎn)”的一個(gè)或者多個(gè)虛擬端點(diǎn)。租戶站點(diǎn)可以主控一個(gè)或者多個(gè)租戶端點(diǎn)(“tep”),例如,虛擬機(jī)。租戶站點(diǎn)也可以包括虛擬路由表(“vrt”),該vrt包含用于在特定虛擬網(wǎng)絡(luò)中的tep之中路由消息的可達(dá)性信息。例如,可達(dá)性信息可以包括虛擬端點(diǎn)到虛擬端點(diǎn)當(dāng)前駐留的底層網(wǎng)絡(luò)中的網(wǎng)絡(luò)節(jié)點(diǎn)的地址的映射。
“網(wǎng)絡(luò)虛擬化邊緣”或者“nve”一般地是指在底層網(wǎng)絡(luò)的邊緣的用于將一個(gè)或者多個(gè)租戶站點(diǎn)連接到它們的相應(yīng)虛擬網(wǎng)絡(luò)的網(wǎng)絡(luò)實(shí)體。在一個(gè)示例中,在基于多協(xié)議標(biāo)簽切換網(wǎng)絡(luò)(“mpls”)的虛擬專有網(wǎng)絡(luò)(“vpn”)中的網(wǎng)絡(luò)虛擬化邊緣是vpn提供方邊緣?!疤摂M化的網(wǎng)絡(luò)功能”或者“vnf”一般地是指在底層網(wǎng)絡(luò)中被實(shí)施的和駐留在服務(wù)器或者網(wǎng)絡(luò)節(jié)點(diǎn)中的網(wǎng)絡(luò)功能。示例vnf包括軟件負(fù)荷平衡器、虛擬防火墻和虛擬網(wǎng)絡(luò)名稱翻譯器。
術(shù)語“端點(diǎn)”一般地是指物理或者軟件模仿的計(jì)算設(shè)備。示例端點(diǎn)包括網(wǎng)絡(luò)服務(wù)器、網(wǎng)絡(luò)存儲設(shè)備、個(gè)人計(jì)算機(jī)、移動(dòng)計(jì)算設(shè)備(例如,智能電話)、網(wǎng)絡(luò)功能虛擬化或者虛擬機(jī)。每個(gè)端點(diǎn)可以與可以在計(jì)算機(jī)網(wǎng)絡(luò)中具有獨(dú)特值的端點(diǎn)關(guān)聯(lián)。端點(diǎn)標(biāo)識符(或者網(wǎng)絡(luò)節(jié)點(diǎn)標(biāo)識符)的示例可以包括在mpls網(wǎng)絡(luò)中被使用的標(biāo)簽的至少部分、在mpls網(wǎng)絡(luò)中被使用的標(biāo)簽棧、根據(jù)網(wǎng)際協(xié)議(“ip”)的一個(gè)或者多個(gè)地址、一個(gè)或者多個(gè)虛擬ip地址、在虛擬局域網(wǎng)中的一個(gè)或者多個(gè)標(biāo)簽、一個(gè)或者多個(gè)介質(zhì)訪問控制地址、一個(gè)或者多個(gè)lambda標(biāo)識符、一個(gè)或者多個(gè)連接路徑、一個(gè)或者多個(gè)物理接口標(biāo)識符或者一個(gè)或者多個(gè)分組頭部或者包絡(luò)。
術(shù)語“域”一般地是指覆蓋網(wǎng)絡(luò)的物理或者邏輯分區(qū)。域可以包括與彼此和/或與底層網(wǎng)絡(luò)中的多個(gè)端點(diǎn)互連的選擇的數(shù)目的網(wǎng)絡(luò)節(jié)點(diǎn)。域也可以被連接到包括多個(gè)附加網(wǎng)絡(luò)節(jié)點(diǎn)的一個(gè)或者多個(gè)更高級域,這些附加網(wǎng)絡(luò)節(jié)點(diǎn)將特定域連接到在域分級中的相同或者不同級的域。在某些實(shí)施例中,軟件定義的網(wǎng)絡(luò)(“sdn”)可以用來將覆蓋網(wǎng)絡(luò)劃分成多個(gè)域。在其它實(shí)施例中,覆蓋網(wǎng)絡(luò)的域中的一個(gè)或者多個(gè)域可以至少部分地是使用分布式路由和/或轉(zhuǎn)發(fā)協(xié)議的分布式計(jì)算機(jī)網(wǎng)絡(luò)。
計(jì)算機(jī)網(wǎng)絡(luò)、比如在大規(guī)模數(shù)據(jù)中心中被使用的計(jì)算機(jī)網(wǎng)絡(luò)可能難以設(shè)計(jì)和/或操作。隨著物理和/或虛擬化的服務(wù)器的數(shù)目增加,必需資源的數(shù)量或者操作復(fù)雜性迅速地增加。例如,更新啟動(dòng)、重定位或者終結(jié)的虛擬機(jī)的地址可能涉及大量信息并且可能在虛擬機(jī)的數(shù)目達(dá)到數(shù)百萬或者數(shù)千萬時(shí)花費(fèi)大量時(shí)間。在這樣的地址更新期間,去往重定位的虛擬機(jī)的消息可以仍然被路由到重定位的虛擬機(jī)的先前地址并且因此可能丟失。這樣的不可靠通信可能造成服務(wù)中斷或者甚至系統(tǒng)故障。公開的技術(shù)的若干實(shí)施例可以通過將覆蓋網(wǎng)絡(luò)分割成覆蓋分區(qū)來解決前述縮放和/或更新缺陷中的至少一些缺陷。這樣,可以通過包括各自獨(dú)立地管理可達(dá)性信息的附加覆蓋分區(qū)來按比例放大計(jì)算機(jī)網(wǎng)絡(luò)。作為結(jié)果,可以比常規(guī)技術(shù)更迅速地完成或者“收斂”地址更新,并且因此減少通信中斷的風(fēng)險(xiǎn)。
對覆蓋網(wǎng)絡(luò)中的可達(dá)性信息的管理也可能給支持覆蓋網(wǎng)絡(luò)的底層網(wǎng)絡(luò)帶來附加需求。通常地使用底層網(wǎng)絡(luò)的控制平面來在每個(gè)虛擬網(wǎng)絡(luò)中的端點(diǎn)之中傳播虛擬網(wǎng)絡(luò)路由和終端狀態(tài)信息。例如,取代每物理服務(wù)器僅一個(gè)網(wǎng)絡(luò)路由,底層網(wǎng)絡(luò)的控制平面協(xié)議可能必須宣布用于被主控在該物理服務(wù)器上的所有虛擬網(wǎng)絡(luò)的所有虛擬網(wǎng)絡(luò)路由。在計(jì)算機(jī)網(wǎng)絡(luò)被縮放以支持附著到大量虛擬網(wǎng)絡(luò)的數(shù)百或者甚至數(shù)百萬個(gè)虛擬機(jī)時(shí),待維護(hù)和傳播的可達(dá)性信息的絕對體量構(gòu)成重大挑戰(zhàn)。
圖1是圖示了根據(jù)公開的技術(shù)的實(shí)施例的具有覆蓋網(wǎng)絡(luò)分割的計(jì)算機(jī)網(wǎng)絡(luò)100的示意圖。如圖1中所示,計(jì)算機(jī)網(wǎng)絡(luò)100可以包括底層網(wǎng)絡(luò)120以及在底層網(wǎng)絡(luò)120之上被實(shí)施的和在底層網(wǎng)絡(luò)120上面操作的覆蓋網(wǎng)絡(luò)121。在所圖示的實(shí)施例中,覆蓋網(wǎng)絡(luò)121出于示例目的而被示出為包括第一虛擬網(wǎng)絡(luò)112a、第二虛擬網(wǎng)絡(luò)112b和第三虛擬網(wǎng)絡(luò)112c。在其它實(shí)施例中,覆蓋網(wǎng)絡(luò)121可以包括任何其它適當(dāng)數(shù)目的虛擬網(wǎng)絡(luò)和/或虛擬網(wǎng)絡(luò)功能(未示出)。
如圖1中所示,底層網(wǎng)絡(luò)120可以包括互連多個(gè)服務(wù)器102(分別被示出為第一服務(wù)器、第二服務(wù)器和第三服務(wù)器102a-102c)的多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)111(出于示例目的而示出了三個(gè))。服務(wù)器102可以個(gè)體地包括被耦合到存儲器106和輸入/輸出部件108的處理器104。處理器102可以包括微處理器、現(xiàn)場可編程門陣列和/或其它適當(dāng)邏輯器件。存儲器104可以包括被配置為存儲從處理器102接收的數(shù)據(jù)以及用于處理器102的指令(例如,用于執(zhí)行以下參照圖7至圖11而被討論的方法的指令)的非瞬態(tài)易失性和/或非易失性介質(zhì)(例如,rom;ram;磁盤存儲介質(zhì);光存儲介質(zhì);閃存設(shè)備和/或其它適當(dāng)存儲介質(zhì))和/或其它類型的計(jì)算機(jī)可讀存儲介質(zhì)。輸入/輸出部件108可以包括被配置為從操作者和/或自動(dòng)化的軟件控制器(未示出)接受輸入和向操作者和/或自動(dòng)化的軟件控制器提供輸出的顯示器、觸屏、鍵盤、鼠標(biāo)、打印機(jī)和/或其它適當(dāng)類型的輸入/輸出設(shè)備。盡管在圖1中底層網(wǎng)絡(luò)120被示出為具有平面網(wǎng)絡(luò)結(jié)構(gòu),但是在某些實(shí)施例中,底層網(wǎng)絡(luò)120可以如以下參照圖2更詳細(xì)地描述的那樣被組織成多個(gè)分級域。在另外的實(shí)施例中,可以按照其它適當(dāng)方式組織底層網(wǎng)絡(luò)120。
服務(wù)器102可以個(gè)體地在存儲器106中包含指令,這些指令在由處理器102執(zhí)行時(shí)使得個(gè)體處理器102提供管理程序107和nve109。管理程序107可以個(gè)體地被配置為生成、監(jiān)視、終止和/或以別的方式管理被組織成租戶站點(diǎn)110的一個(gè)或者多個(gè)虛擬機(jī)114。例如,如圖1中所示,第一服務(wù)器102a可以提供分別管理第一租戶站點(diǎn)110a和第二租戶站點(diǎn)110b的第一管理程序107a。第二服務(wù)器102b可以提供分別管理第二租戶站點(diǎn)110b’和第三租戶站點(diǎn)110c的第二管理程序107b。第三服務(wù)器102c可以提供分別管理第一租戶站點(diǎn)110a’和第三租戶站點(diǎn)110c’的管理程序107c。租戶站點(diǎn)110可以各自包括一個(gè)或者多個(gè)虛擬機(jī)114和/或虛擬網(wǎng)絡(luò)功能(未示出)。在圖1中管理程序107被個(gè)體地示出為軟件部件。然而,在其它實(shí)施例中,管理程序107可以各自是固件和/或硬件部件。nve109可以被配置為將一個(gè)或者多個(gè)租戶站點(diǎn)110連接到它們的相應(yīng)虛擬網(wǎng)絡(luò)122。盡管在圖1中nve109被示出為分離的軟件部件,但是在另外的實(shí)施例中,nve109可以被集成到對應(yīng)管理程序107或者形成對應(yīng)管理程序107的部分。
如圖1中所示,不同服務(wù)器102可以個(gè)體地主控租戶站點(diǎn)110,租戶站點(diǎn)110包括用于特定租戶101(被分別標(biāo)識為第一租戶101a、第二租戶101b和第三租戶101c)的多個(gè)虛擬機(jī)114。例如,第一服務(wù)器102a和第三服務(wù)器102c可以均主控用于第一租戶101a的租戶站點(diǎn)110a和110a’。第一服務(wù)器102a和第二服務(wù)器102b可以均主控用于第二租戶101b的租戶站點(diǎn)110b和110b’。第二服務(wù)器102b和第三服務(wù)器102c可以均主控用于第三租戶101c的租戶站點(diǎn)110c和110c’。每個(gè)虛擬機(jī)114可以執(zhí)行對應(yīng)操作系統(tǒng)、中間件和/或應(yīng)用。
覆蓋網(wǎng)絡(luò)121可以包括跨多個(gè)服務(wù)器102互連特定租戶101的租戶站點(diǎn)110的一個(gè)或者多個(gè)虛擬網(wǎng)絡(luò)122。例如,第一虛擬網(wǎng)絡(luò)122a互連在第一服務(wù)器102a和在第三服務(wù)器102c的第一租戶站點(diǎn)110a和110a’。第二虛擬網(wǎng)絡(luò)122b互連在第一服務(wù)器102a和在第二服務(wù)器102b的第二租戶站點(diǎn)110b和110b’。第三虛擬網(wǎng)絡(luò)122c互連在第二服務(wù)器102b和在第三服務(wù)器102c的第三租戶站點(diǎn)110c和110c’。盡管一個(gè)虛擬網(wǎng)絡(luò)122被示出為對應(yīng)于一個(gè)租戶101,但是在其它實(shí)施例中,多個(gè)虛擬網(wǎng)絡(luò)122可以被指派為對應(yīng)于單個(gè)租戶101。
即使在不同服務(wù)器102上主控特定虛擬網(wǎng)絡(luò)122上的虛擬機(jī)114,虛擬機(jī)114也仍然可以經(jīng)由虛擬網(wǎng)絡(luò)122相互通信。例如,第一服務(wù)器102a上的第一租戶站點(diǎn)110a的虛擬機(jī)114可以至少部分基于用于第一虛擬網(wǎng)絡(luò)122a的第一vrt112a來與第三服務(wù)器102c上的第一租戶站點(diǎn)110a’的其它虛擬機(jī)114通信。在另一示例中,第一服務(wù)器102a上的第二租戶站點(diǎn)110b的虛擬機(jī)114可以至少部分基于用于第二虛擬網(wǎng)絡(luò)122b的第二vrt112b來與第二服務(wù)器102b上的第二租戶站點(diǎn)110b’的其它虛擬機(jī)114通信。可以將虛擬網(wǎng)絡(luò)122中的每個(gè)虛擬網(wǎng)絡(luò)的通信與其它虛擬網(wǎng)絡(luò)122隔離。在某些實(shí)施例中,可以允許通信以受控方式通過安全網(wǎng)關(guān)或者以別的方式從一個(gè)虛擬網(wǎng)絡(luò)122穿越到另一虛擬網(wǎng)絡(luò)122。vrt112可以個(gè)體地包含租戶地址,每個(gè)租戶地址包括與特定虛擬網(wǎng)絡(luò)122中的虛擬化的端點(diǎn)或者網(wǎng)絡(luò)節(jié)點(diǎn)對應(yīng)的虛擬網(wǎng)絡(luò)標(biāo)識符。因此,不同虛擬網(wǎng)絡(luò)122可以使用一個(gè)或者多個(gè)相同虛擬網(wǎng)絡(luò)標(biāo)識符和/或標(biāo)識符值。作為結(jié)果,租戶可以在每個(gè)虛擬網(wǎng)絡(luò)中使用他/她自己的地址空間,該地址空間可能與其它租戶的地址空間和/或與在數(shù)據(jù)中心內(nèi)由數(shù)據(jù)中心提供方使用的地址空間重疊。示例虛擬網(wǎng)絡(luò)標(biāo)識符可以包括ip地址、mac地址和/或其它適當(dāng)?shù)刂?。在其它?shí)施例中,可以用其它適當(dāng)方式隔離不同虛擬網(wǎng)絡(luò)122的通信。
虛擬網(wǎng)絡(luò)122中的每個(gè)虛擬網(wǎng)絡(luò)也可以允許個(gè)體租戶101經(jīng)由底層網(wǎng)絡(luò)120和/或其它適當(dāng)網(wǎng)絡(luò)(例如,因特網(wǎng))來訪問對應(yīng)租戶站點(diǎn)110。例如,第一租戶101a可以訪問在分別由第一服務(wù)器102a或者第三服務(wù)器102c主控的第一租戶站點(diǎn)110a或者110a’的虛擬機(jī)114之一。第二租戶101b可以訪問在分別由第一服務(wù)器102a或者第二服務(wù)器102b主控的第二租戶站點(diǎn)110b或者110b’的虛擬機(jī)114之一。第三租戶101c可以訪問在分別由第二服務(wù)器102b或者第三服務(wù)器102c主控的第三租戶站點(diǎn)110c或者110c’的虛擬機(jī)114之一。
在操作期間,在特定租戶站點(diǎn)110的虛擬機(jī)114可能需要被重定位并且由不同服務(wù)器102主控。例如,在第一租戶站點(diǎn)110a的一個(gè)或者多個(gè)虛擬機(jī)114可能由于第一服務(wù)器102a的系統(tǒng)維護(hù)或者其它適當(dāng)原因而需要被重定位到第三服務(wù)器102c。在重定位期間,重定位的虛擬機(jī)114可以維護(hù)第一虛擬網(wǎng)絡(luò)122a中的它們的相應(yīng)虛擬網(wǎng)絡(luò)標(biāo)識符(例如,ip地址或者mac地址)。然而,這些虛擬機(jī)114的如例如由底層網(wǎng)絡(luò)地址標(biāo)識的物理位置需要從第一服務(wù)器102a被更新到第三服務(wù)器102c。如以上討論的那樣,用重定位的虛擬機(jī)114的新網(wǎng)絡(luò)地址更新相同虛擬網(wǎng)絡(luò)122中的其它虛擬機(jī)144可能耗費(fèi)時(shí)間,并且可能造成通信和/或系統(tǒng)故障。
公開的技術(shù)的若干實(shí)施例可以通過(1)邏輯地分割覆蓋網(wǎng)絡(luò)121和(2)在逐個(gè)分區(qū)的基礎(chǔ)上獨(dú)立地更新可達(dá)性信息,來減少為了更新重定位的虛擬機(jī)114、啟動(dòng)的新虛擬機(jī)、終止的虛擬機(jī)、新配置的虛擬機(jī)或者其它虛擬網(wǎng)絡(luò)功能(未示出)的網(wǎng)絡(luò)地址而需要的時(shí)間量。例如,如圖1中所示,基于服務(wù)器102將覆蓋網(wǎng)絡(luò)121分割成各自包括指派的本地可達(dá)性接入網(wǎng)關(guān)(“l(fā)rag”)124的覆蓋分區(qū)125(分別被個(gè)體地標(biāo)識為第一、第二和第三覆蓋分區(qū)125a-125c)。例如,第一服務(wù)器102a與有第一lrag124a的第一分區(qū)125a關(guān)聯(lián)。第二服務(wù)器102a與有第二lrag124b的第二分區(qū)125b關(guān)聯(lián)。第三服務(wù)器102a與有第三lrag124c的第三分區(qū)125c關(guān)聯(lián)。
盡管基于服務(wù)器102來劃分圖1中所示的覆蓋分區(qū)125,但是在其它實(shí)施例中,也可以基于服務(wù)器102、虛擬網(wǎng)絡(luò)122、虛擬機(jī)114的子集、租戶站點(diǎn)110、前述各項(xiàng)的組合中的一項(xiàng)或者多項(xiàng)的物理位置或者可以基于其它適當(dāng)物理和/或邏輯實(shí)體來劃分覆蓋分區(qū)125。以下參照圖5更具體地討論劃分覆蓋網(wǎng)絡(luò)121的另一示例模式。
lrag124可以被配置為僅為具有對應(yīng)覆蓋分區(qū)125中的至少一個(gè)端點(diǎn)(例如,虛擬機(jī)114)的虛擬網(wǎng)絡(luò)122來獨(dú)立地填充、更新和/或以別的方式操縱租戶站點(diǎn)110中的vrt112。例如,第一lrag124a可以被配置為操縱分別與由第一虛擬網(wǎng)絡(luò)122a和第二虛擬網(wǎng)絡(luò)122b互連的第一租戶101a和第二租戶101b關(guān)聯(lián)的第一vrt112a和第二vrt112b。第二lrag124b可以被配置為操縱與分別由第二虛擬網(wǎng)絡(luò)122b和第三虛擬網(wǎng)絡(luò)122c互連的第二租戶101a和第三租戶101b關(guān)聯(lián)的第二vrt112b和第三vrt112c。第三lrag124c可以被配置為操縱與分別由第一虛擬網(wǎng)絡(luò)122a和第三虛擬網(wǎng)絡(luò)122c互連的第一租戶101a和第三租戶101c關(guān)聯(lián)的第一vrt112a和第三vrt112c。這樣,每個(gè)lrag124被配置為管理和更新用于有限數(shù)目的虛擬網(wǎng)絡(luò)122的vrt112。可以選擇與每個(gè)lrag124對應(yīng)的虛擬網(wǎng)絡(luò)122的數(shù)目以具有可管理的大小。例如,在圖1中所示的實(shí)施例中,每個(gè)lrag124對應(yīng)于兩個(gè)虛擬網(wǎng)絡(luò)122。在其它實(shí)施例中,每個(gè)lrag124可以對應(yīng)于一個(gè)、三個(gè)、四個(gè)、五個(gè)、六個(gè)或者任何其它適當(dāng)數(shù)目的虛擬網(wǎng)絡(luò)122。在前述實(shí)施例中,lrag124可以被配置為直接地、通過管理程序107、通過服務(wù)器102中的分離的代理或者通過服務(wù)器102中的分布式協(xié)議和對應(yīng)過程的組合來操縱vrt112。
在某些實(shí)施例中,lrag124也可以被配置為與對應(yīng)管理程序107配合來實(shí)例化、修改、終止和/或以別的方式管理對應(yīng)覆蓋分區(qū)125中的虛擬機(jī)114。例如,第一lrag124a可以使得第一管理程序107a實(shí)例化用于第一租戶站點(diǎn)110a、用于第二租戶站點(diǎn)110b或者二者的一個(gè)或者多個(gè)虛擬機(jī)114。在另一示例中,第一lrag124a也可以使得第一管理程序107終止用于第一租戶站點(diǎn)110a、用于第二租戶站點(diǎn)110b或者二者的一個(gè)或者多個(gè)虛擬機(jī)114。在其它實(shí)施例中,前述功能可以由對應(yīng)服務(wù)器102的其它適當(dāng)軟件、固件和/或硬件部件執(zhí)行。
在所圖示的實(shí)施例中,lrag124被示出為與對應(yīng)服務(wù)器102獨(dú)立的軟件部件。在其它實(shí)施例中,lrag124也可以包括固件和/或硬件部件。在某些實(shí)施例中,lrag124可以由計(jì)算機(jī)網(wǎng)絡(luò)100的一個(gè)或者多個(gè)附加服務(wù)器(未示出)主控。在其它實(shí)施例中,至少一個(gè)lrag124(例如,第一lrag124a)可以由對應(yīng)服務(wù)器102(例如,第一服務(wù)器102a)主控。在另外的實(shí)施例中,lrag124可以由底層網(wǎng)絡(luò)120的網(wǎng)絡(luò)節(jié)點(diǎn)111和/或其它適當(dāng)部件中的一項(xiàng)或者多項(xiàng)主控。在再另外的實(shí)施例中,lrag124可以在適當(dāng)布置中具有前述實(shí)施例和/或其它適當(dāng)部件的任何組合。
計(jì)算機(jī)網(wǎng)絡(luò)100也可以包括被操作地耦合到lrag124的覆蓋網(wǎng)絡(luò)資源管理器126。覆蓋網(wǎng)絡(luò)資源管理器126可以被配置為向特定虛擬機(jī)114、租戶站點(diǎn)110、虛擬網(wǎng)絡(luò)122、前述各項(xiàng)的組合或者其它適當(dāng)實(shí)體分配計(jì)算機(jī)網(wǎng)絡(luò)100的物理資源。例如,在一個(gè)實(shí)施例中,覆蓋網(wǎng)絡(luò)資源管理器126可以向與第一租戶站點(diǎn)110a關(guān)聯(lián)的一個(gè)或者多個(gè)虛擬機(jī)114分配第一服務(wù)器102a的資源。在另一示例中,覆蓋網(wǎng)絡(luò)資源管理器126可以向相同的一個(gè)或者多個(gè)虛擬機(jī)114分配第二服務(wù)器102a的資源。
覆蓋網(wǎng)絡(luò)資源管理器126也可以被配置為與關(guān)聯(lián)于某些覆蓋分區(qū)125的lrag124傳達(dá)可達(dá)性信息。示例可達(dá)性信息可以例如包括標(biāo)識虛擬機(jī)114’被主控于其上的、底層網(wǎng)絡(luò)120的物理服務(wù)器(例如,第一服務(wù)器102a)和/或網(wǎng)絡(luò)設(shè)備111的底層位置標(biāo)識符或者底層網(wǎng)絡(luò)地址。底層位置標(biāo)識符或者底層網(wǎng)絡(luò)地址可以包括mpls標(biāo)簽或者mpls標(biāo)簽的部分、排序的mpls標(biāo)簽的棧、一個(gè)或者多個(gè)ipv4地址、一個(gè)或者多個(gè)ipv6地址、一個(gè)或者多個(gè)虛擬ip地址、一個(gè)或者多個(gè)vlan標(biāo)記、一個(gè)或者多個(gè)mac地址、一個(gè)或者多個(gè)lambda標(biāo)識符、通向端點(diǎn)的一個(gè)或者多個(gè)連接路徑、一個(gè)或者多個(gè)物理接口標(biāo)識符、一個(gè)或者多個(gè)位集合、一個(gè)或者多個(gè)分組頭部或者包絡(luò)或者其它適當(dāng)位置標(biāo)識符中的至少一項(xiàng)(或者它們的組合)。
可達(dá)性信息也可以包括第一虛擬網(wǎng)絡(luò)122a上的虛擬機(jī)114’的虛擬網(wǎng)絡(luò)標(biāo)識符、經(jīng)過底層網(wǎng)絡(luò)120到達(dá)虛擬機(jī)114’的路由和/或其它適當(dāng)傳輸信息。在某些實(shí)施例中,傳輸信息可以包括服務(wù)質(zhì)量信息,比如分組如何在底層網(wǎng)絡(luò)120的網(wǎng)絡(luò)設(shè)備111處被處理或者排隊(duì)。在其它實(shí)施例中,傳輸信息可以包括關(guān)于分組是否將經(jīng)受深度分組檢查、經(jīng)受與服務(wù)鏈化關(guān)聯(lián)的網(wǎng)絡(luò)功能(例如,防火墻、負(fù)荷平衡器等)的信息?;诳蛇_(dá)性信息、lrag124可以按照及時(shí)方式填充和/或更新對應(yīng)vrt112中的條目,并且因此減少通信中斷和/或系統(tǒng)故障的風(fēng)險(xiǎn)。以下參照圖3至圖5更具體地描述覆蓋網(wǎng)絡(luò)資源管理器126和lrag124的操作的若干示例。在其它實(shí)施例中,lrag124可以僅用在覆蓋網(wǎng)絡(luò)121中被使用的地址、路由和標(biāo)識符來填充和/或更新對應(yīng)vrt112中的條目。這樣的地址、路由和標(biāo)識符到在底層網(wǎng)絡(luò)120中被用來標(biāo)識目的地虛擬機(jī)114駐留的物理主機(jī)的地址和標(biāo)識符的映射可以由在服務(wù)器102中駐留或者與服務(wù)器102分離的分離軟件、固件和/或硬件實(shí)體執(zhí)行。在某些實(shí)施例中,lrag124可以用映射信息來配置這樣的分離的實(shí)體。在其它實(shí)施例中,這樣的分離的實(shí)體可以由不同管理實(shí)體(未示出)配置。
圖2是圖示了根據(jù)公開的技術(shù)的實(shí)施例的對于圖1的計(jì)算機(jī)網(wǎng)絡(luò)100而言適合的示例分級底層網(wǎng)絡(luò)120的示意圖。盡管在圖2中示出了底層網(wǎng)絡(luò)120的特定布置,但是分割覆蓋網(wǎng)絡(luò)121(圖1)的各種技術(shù)可以被應(yīng)用于具有與圖2中所示的不同的網(wǎng)絡(luò)節(jié)點(diǎn)和/或端點(diǎn)的布置的其它底層網(wǎng)絡(luò)。對底層網(wǎng)絡(luò)120的分割一般地可以獨(dú)立于覆蓋網(wǎng)絡(luò)121被分割的方式和/或如何指派lrag124。如圖2中所示,底層網(wǎng)絡(luò)120可以包括具有一個(gè)或者多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)111的核心域131。底層網(wǎng)絡(luò)120也可以包括一個(gè)或者多個(gè)一級域133。兩個(gè)一級域133出于說明目的而在圖2中被示出并且被個(gè)體地標(biāo)識為域d1-1和d1-2。在所圖示的實(shí)施例中,一級域d1-1包括兩個(gè)二級域135(被個(gè)體地標(biāo)識為d2-1和d2-2)。一級域d1-2包括一個(gè)二級域d2-3。在其它實(shí)施例中,一級域104可以包括其它適當(dāng)數(shù)目的域和/或端點(diǎn)。
二級域106可以個(gè)體地包括一個(gè)或者多個(gè)端點(diǎn)141(比如服務(wù)器102)、一個(gè)或者多個(gè)邊緣節(jié)點(diǎn)137和將端點(diǎn)108連接到邊緣節(jié)點(diǎn)137的一個(gè)或者多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)111。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)節(jié)點(diǎn)111可以個(gè)體地包括架頂(“tor”)路由器或者交換機(jī)。在其它實(shí)施例中,網(wǎng)絡(luò)節(jié)點(diǎn)111可以包括網(wǎng)橋、網(wǎng)關(guān)或者其它適當(dāng)通信設(shè)備。在所圖示的實(shí)施例中,二級域135中的每個(gè)二級域包括形成邊緣節(jié)點(diǎn)組的兩個(gè)邊緣節(jié)點(diǎn)137(例如,邊緣節(jié)點(diǎn)en2-1和en2-1’)。在某些實(shí)施例中,例如對于非流量工程類型分組,可以隨機(jī)地訪問邊緣節(jié)點(diǎn)組中的邊緣節(jié)點(diǎn)137。在其它實(shí)施例中,可以具體地標(biāo)識和指定邊緣節(jié)點(diǎn)組中的邊緣節(jié)點(diǎn)136之一以處置例如流量工程類型分組。在另外的實(shí)施例中,可以基于任何其它適當(dāng)標(biāo)準(zhǔn)來按照其它適當(dāng)方式訪問邊緣節(jié)點(diǎn)137。
圖2中所示的分級劃分可以按照各種方式被應(yīng)用于一個(gè)或者多個(gè)數(shù)據(jù)中心。例如,在某些實(shí)施例中,圖2中所示的分級劃分可以被應(yīng)用于具有核心域131的一個(gè)數(shù)據(jù)中心,核心域131包括數(shù)據(jù)中心的一個(gè)或者多個(gè)t3寬帶交換機(jī)。一級域133可以包括被連接到具有t1和/或tor交換機(jī)的二級域135的t2交換機(jī)。在其它實(shí)施例中,一級域133可以包括t2和t1交換機(jī)二者而二級域135包括tor交換機(jī)。在另一示例中,圖2中所示的分級劃分也可以被應(yīng)用于多個(gè)數(shù)據(jù)中心。例如,核心域131可以包括互連多個(gè)數(shù)據(jù)中心和t3寬帶交換機(jī)的核心網(wǎng)絡(luò)。在每個(gè)數(shù)據(jù)中心內(nèi),一級域133可以包括t2交換機(jī)而二級域可以包括t1和/或tor交換機(jī)。在另外的示例中,底層網(wǎng)絡(luò)120的劃分可以包括附加和/或不同域級。
在前述實(shí)施例中的任何實(shí)施例中,邊緣節(jié)點(diǎn)137可以被配置為沿著一個(gè)或者多個(gè)網(wǎng)絡(luò)路徑或者隧道143向/從更高級或者更低級域路由通信。例如,可以經(jīng)由從網(wǎng)絡(luò)節(jié)點(diǎn)111’開始的隧道143路由從二級域d2-1中的服務(wù)器102’到二級域d2-3中的服務(wù)器102”的消息到邊緣節(jié)點(diǎn)en2-1或者en2-1’,并且然后到一級域d1-1。一級域d1-1的邊緣節(jié)點(diǎn)en1-1可以經(jīng)由核心域131的網(wǎng)絡(luò)節(jié)點(diǎn)111中的一個(gè)或者多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)向一級域d1-2轉(zhuǎn)發(fā)消息。一級域d1-2然后可以經(jīng)由邊緣節(jié)點(diǎn)en1-2向二級域d2-3的邊緣節(jié)點(diǎn)en2-3或者en2-3’轉(zhuǎn)發(fā)消息,邊緣節(jié)點(diǎn)en2-3或者en2-3’轉(zhuǎn)而經(jīng)由網(wǎng)絡(luò)節(jié)點(diǎn)111’向服務(wù)器102”轉(zhuǎn)發(fā)消息。在某些實(shí)施例中,可以例如用根據(jù)例如mpls協(xié)議、基于底層網(wǎng)絡(luò)120中的源或者目的地地址中的至少一個(gè)地址而被預(yù)先計(jì)算出的網(wǎng)絡(luò)路由來預(yù)先建立隧道143。在其它實(shí)施例中,可以在自組織(adhoc)基礎(chǔ)上或者以其它適當(dāng)方式計(jì)算、建立和/或以別的方式形成隧道143。
圖3是圖示了根據(jù)公開的技術(shù)的實(shí)施例的計(jì)算機(jī)網(wǎng)絡(luò)100的示例操作的示意圖。為了清楚而從圖3省略了計(jì)算機(jī)網(wǎng)絡(luò)100的某些部件。如圖3中所示,覆蓋網(wǎng)絡(luò)資源管理器126可以被配置為向lrag124傳達(dá)關(guān)于任何資源分配(例,如向虛擬機(jī)114分配資源、重定位任何虛擬機(jī)114和/或虛擬網(wǎng)絡(luò)功能或者其它適當(dāng)資源分配操作)的信息?;谶@樣的信息,個(gè)體lrag124然后可以僅為具有對應(yīng)覆蓋分區(qū)125中的至少一個(gè)端點(diǎn)的虛擬網(wǎng)絡(luò)122配置、更新和/或以別的方式操縱對應(yīng)虛擬網(wǎng)絡(luò)122中的虛擬機(jī)114、虛擬網(wǎng)絡(luò)功能和/或vrt。
為了舉例說明,覆蓋網(wǎng)絡(luò)資源管理器126可以被配置為通知第一lrag124a以實(shí)例化新虛擬機(jī)114’并且將實(shí)例化的虛擬機(jī)114’附著到第一虛擬機(jī)網(wǎng)絡(luò)122a。在一個(gè)實(shí)施例中,覆蓋網(wǎng)絡(luò)資源管理器126通過傳輸可達(dá)性信息132來通知第一lrag124a。在其它實(shí)施例中,覆蓋網(wǎng)絡(luò)資源管理器126也可以經(jīng)由應(yīng)用編程接口和/或其它適當(dāng)接口來通知第一lrag124a。響應(yīng)于可達(dá)性信息132,第一lrag124a(在圖1中具有第一管理程序107a)可以實(shí)例化請求的虛擬機(jī)114’并且將虛擬機(jī)114’附著到第一虛擬網(wǎng)絡(luò)122a。第一lrag124a然后可以向覆蓋網(wǎng)絡(luò)資源管理器126傳輸狀態(tài)通知134以報(bào)告對虛擬機(jī)114’的實(shí)例化被完成并且虛擬機(jī)114’被附著到第一虛擬網(wǎng)絡(luò)122a。
覆蓋網(wǎng)絡(luò)資源管理器126然后可以確定哪個(gè)(些)覆蓋分區(qū)125受報(bào)告的資源分配影響并且向受影響的覆蓋分區(qū)125中的對應(yīng)lrag124傳達(dá)關(guān)于資源分配的適當(dāng)可達(dá)性信息。例如,在上例中,實(shí)例化的虛擬機(jī)114’被附著到第一虛擬網(wǎng)絡(luò)122a,并且因此第一覆蓋分區(qū)125a和第三覆蓋分區(qū)125c受影響,因?yàn)樗鼈儼谝惶摂M網(wǎng)絡(luò)122a的至少一個(gè)端點(diǎn)。對照而言,第二覆蓋分區(qū)125b未受影響,因?yàn)樗鼪]有包括第一虛擬網(wǎng)絡(luò)122a的任何端點(diǎn)。覆蓋網(wǎng)絡(luò)資源管理器126然后可以僅向受影響的覆蓋分區(qū)125中的那些lrag124(例如,第一lrag124a和第三lrag124c)傳輸關(guān)于實(shí)例化的虛擬機(jī)114’的可達(dá)性信息132,而沒有向未受影響的覆蓋分區(qū)中的lrag124(例如,第二lrag124b)傳輸相同信息。
基于傳輸?shù)目蛇_(dá)性信息,第一lrag124a和第三lrag124c然后可以更新第一vrt112a和第三vrt112b以具有用于實(shí)例化的虛擬機(jī)114’的新的或者更新的條目。例如,第一vrt112a中的條目可以包括用于第一虛擬網(wǎng)絡(luò)122a上的實(shí)例化的虛擬機(jī)114’的租戶地址(例如,虛擬網(wǎng)絡(luò)地址),因?yàn)樘摂M機(jī)114’是本地的。第三vrt112c中的對應(yīng)條目可以包括租戶地址和例如標(biāo)識例如用于虛擬機(jī)114’的第一服務(wù)器102a的關(guān)聯(lián)的底層位置標(biāo)識符。
覆蓋網(wǎng)絡(luò)資源管理器126和lrag124也可以配合以將一個(gè)或者多個(gè)虛擬機(jī)114從一個(gè)服務(wù)器102無縫地重定位到另一服務(wù)器。例如,可以決定將被主控在第一服務(wù)器102a上的虛擬機(jī)114’(以下被稱為始發(fā)虛擬機(jī)114’)從第一服務(wù)器102a重定位到第三服務(wù)器102c。用于這樣的重定位的原因可以包括負(fù)荷平衡、系統(tǒng)升級和/或維護(hù)、用戶請求、服務(wù)器故障和/或其它適當(dāng)原因。
作為初始操作,覆蓋網(wǎng)絡(luò)資源管理器126通過向第三lrag124c傳輸可達(dá)性信息132來預(yù)備在第三服務(wù)器102c處的目標(biāo)虛擬機(jī)114”?;诳蛇_(dá)性信息,第三lrag124c配置第一虛擬網(wǎng)絡(luò)122a的nve109c(圖1)中的vrt112c。第三lrag124c然后與第三管理程序107c(圖1)通信以設(shè)立和啟動(dòng)目標(biāo)虛擬機(jī)114’‘。如果第三nve109c不包括用于第一虛擬網(wǎng)絡(luò)122a的任何端點(diǎn),則可以創(chuàng)建用于目標(biāo)虛擬機(jī)114”的新租戶站點(diǎn)110和vrt112。然后可以基于由第三lrag124c從覆蓋網(wǎng)絡(luò)資源管理器126接收的信息來向vrt112填充信息(例如,地址和/或網(wǎng)絡(luò)路由)。如果第三nve109c已經(jīng)包括第一虛擬網(wǎng)絡(luò)122a的至少一個(gè)端點(diǎn),則第一租戶站點(diǎn)110a’中的目標(biāo)虛擬機(jī)114”可以被附著到第一虛擬網(wǎng)絡(luò)122a。
第三lrag124c然后可以向覆蓋網(wǎng)絡(luò)資源管理器126傳輸狀態(tài)通知134并且向它通知用于目標(biāo)虛擬機(jī)114”的預(yù)備被完成。作為響應(yīng),覆蓋網(wǎng)絡(luò)資源管理器126通知第一lrag124a以開始向被主控在第三服務(wù)器102c上的目標(biāo)虛擬機(jī)114”遷移始發(fā)虛擬機(jī)114’。在某些實(shí)施例中,對虛擬機(jī)114’的重定位可以包括從始發(fā)虛擬機(jī)114’向目標(biāo)虛擬機(jī)114”傳輸配置、數(shù)據(jù)和/或其它適當(dāng)信息。
對始發(fā)虛擬機(jī)114’的重定位可以根據(jù)這里被稱為熱、暖或者冷重定位的三個(gè)場景。在熱重定位中,始發(fā)虛擬機(jī)114’從一個(gè)服務(wù)器102被重定位到另一服務(wù)器102而又繼續(xù)運(yùn)行并且沒有被關(guān)停和在新位置被重啟。在暖重定位中,用被保存在存儲器或者盤文件中的關(guān)聯(lián)的配置掛起始發(fā)虛擬機(jī)114’,并且以后一旦重定位被完成就恢復(fù)虛擬機(jī)114。在冷重定位中,始發(fā)虛擬機(jī)114’被關(guān)停而關(guān)聯(lián)的配置被移動(dòng)到新主機(jī)中的管理程序107,并且虛擬機(jī)114’然后在新位置中被重啟。
在這樣的重定位期間,始發(fā)虛擬機(jī)114’可以維護(hù)它的網(wǎng)絡(luò)狀態(tài)和連通信息(例如,它的租戶地址(例如,第一虛擬網(wǎng)絡(luò)122a中的ip地址)和/或它的mac地址)以防止或者至少減少中斷和需要重啟現(xiàn)有tcp會話的風(fēng)險(xiǎn)。然而,底層網(wǎng)絡(luò)120(圖1)中的新主機(jī)(即,第三服務(wù)器102c)的ip地址在始發(fā)虛擬機(jī)114’被重定位到第三服務(wù)器102c時(shí)必然地改變。
為了維護(hù)第一虛擬網(wǎng)絡(luò)122a中的始發(fā)虛擬機(jī)114’的ip地址,覆蓋網(wǎng)絡(luò)121中的虛擬機(jī)114’的地址從底層網(wǎng)絡(luò)120中的相同虛擬機(jī)114的地址被去耦合。例如,在某些實(shí)施例中,始發(fā)虛擬機(jī)114’可以由包括租戶虛擬網(wǎng)絡(luò)標(biāo)識符(“tvni”)、租戶地址(“tn”)和底層網(wǎng)絡(luò)地址(“una”)的端點(diǎn)標(biāo)識符標(biāo)識為tvni/ta→una。tvni標(biāo)識虛擬機(jī)114’被附著到的虛擬網(wǎng)絡(luò)(例如,第一虛擬網(wǎng)絡(luò)122a)。租戶地址可以例如包括標(biāo)識第一虛擬網(wǎng)絡(luò)122a上的虛擬機(jī)114’的ip地址。底層網(wǎng)絡(luò)地址標(biāo)識虛擬機(jī)114’被主控在其上的在底層網(wǎng)絡(luò)120(圖1)中的網(wǎng)絡(luò)節(jié)點(diǎn)。在其它實(shí)施例中,可以按照其它適當(dāng)方式標(biāo)識虛擬機(jī)114’。
響應(yīng)于重定位,可以維護(hù)虛擬機(jī)114’的端點(diǎn)標(biāo)識符的部分并且可以調(diào)整另一部分。例如,在一個(gè)實(shí)施例中,可以維護(hù)虛擬機(jī)114’的tvni/ta,從而使得虛擬機(jī)114’在第一虛擬網(wǎng)絡(luò)122a上具有相同地址。然而,可以調(diào)整una以對應(yīng)于主控目標(biāo)虛擬機(jī)114”的第三服務(wù)器102c。因此,虛擬機(jī)114’的端點(diǎn)標(biāo)識符可以從tvni/ta→una被調(diào)整成tvni/ta→una’,其中una和una’分別對應(yīng)于第一服務(wù)器102a和第三服務(wù)器102c的地址。
繼續(xù)上例,響應(yīng)于來自第三lrag124c的狀態(tài)通知134,覆蓋網(wǎng)絡(luò)資源管理器126可以向受虛擬機(jī)114’的再定位所影響的在覆蓋分區(qū)125中的lrag傳輸更新后的可達(dá)性信息。與不包含受影響的虛擬網(wǎng)絡(luò)122的覆蓋分區(qū)125關(guān)聯(lián)的lrag124沒有接收任何更新后的可達(dá)性信息?;诟潞蟮目蛇_(dá)性信息132,每個(gè)受影響的lrag124然后可以并行、串行或者按照其它適當(dāng)方式來配置nve109中的對應(yīng)vrt112。每個(gè)lrag124與所有其它lrag124獨(dú)立地操作并且負(fù)責(zé)僅向被包含在關(guān)聯(lián)的覆蓋分區(qū)125中的相關(guān)端點(diǎn)散播可達(dá)性信息132。
在某些實(shí)施例中,始發(fā)lrag(例如,第一lrag124a)也可以將經(jīng)過底層網(wǎng)絡(luò)120(圖2)的過渡隧道143的始發(fā)點(diǎn)配置成目標(biāo)點(diǎn)以用于減少或者甚至避免在重定位期間的分組丟失。目標(biāo)lrag124(例如,第三lrag124c)可以配置過渡隧道的目標(biāo)端點(diǎn)。過渡隧道可以包括一個(gè)或者多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)111(圖10的底層網(wǎng)絡(luò)120,虛擬機(jī)114’的配置、數(shù)據(jù)和/或其它適當(dāng)信息可以通過該底層網(wǎng)絡(luò)120從始發(fā)主機(jī)(例如,第一服務(wù)器102a)被傳輸?shù)侥繕?biāo)主機(jī)(例如,第三服務(wù)器102c))。在其它實(shí)施例中,過渡隧道可以由其它適當(dāng)實(shí)體建立。
在一個(gè)實(shí)施例中,可以預(yù)建立過渡隧道143。例如,預(yù)建立的隧道可以包括從始發(fā)主機(jī)到目標(biāo)主機(jī)的網(wǎng)絡(luò)路徑。在底層網(wǎng)絡(luò)120中的網(wǎng)絡(luò)節(jié)點(diǎn)中的轉(zhuǎn)發(fā)表中建立該路徑。底層網(wǎng)絡(luò)120如果比如圖2中所示的那樣被分級地分割,則可以按照例如mpls協(xié)議來在底層網(wǎng)絡(luò)120中預(yù)建立從服務(wù)器102到任何其它服務(wù)器102的過渡隧道。在一個(gè)實(shí)施例中,利用底層網(wǎng)絡(luò)地址以標(biāo)識底層網(wǎng)絡(luò)120中的希望的網(wǎng)絡(luò)路徑。標(biāo)識的網(wǎng)絡(luò)路徑可以不同于按照對應(yīng)路由協(xié)議而被計(jì)算出的最短網(wǎng)絡(luò)路徑。在另一實(shí)施例中,底層網(wǎng)絡(luò)地址可以用來標(biāo)識可以被使用的網(wǎng)絡(luò)路徑。在其它實(shí)施例中,可以利用租戶虛擬網(wǎng)絡(luò)標(biāo)識符、租戶地址或者底層網(wǎng)絡(luò)地址中的至少一些的組合以標(biāo)識底層網(wǎng)絡(luò)120中的希望的網(wǎng)絡(luò)路徑。
在底層網(wǎng)絡(luò)地址被用來標(biāo)識網(wǎng)絡(luò)路徑時(shí),如果需要,則相同底層網(wǎng)絡(luò)地址可以標(biāo)識用于由底層網(wǎng)絡(luò)120轉(zhuǎn)發(fā)的分組的服務(wù)鏈化??赡芤笤谕ㄟ^底層網(wǎng)絡(luò)120被傳送時(shí)的覆蓋網(wǎng)絡(luò)分組經(jīng)受過一個(gè)或者多個(gè)物理和/或虛擬化的網(wǎng)絡(luò)功能的序列。這樣的網(wǎng)絡(luò)功能的示例可以包括防火墻、名稱服務(wù)器、負(fù)荷平衡器和/或其它適當(dāng)功能,并且被統(tǒng)稱為服務(wù)鏈化。由于底層網(wǎng)絡(luò)地址標(biāo)識經(jīng)過底層網(wǎng)絡(luò)120的具體路徑,所以相同底層網(wǎng)絡(luò)地址也可以被用來選擇或者標(biāo)識具體路徑,該路徑在希望的序列中穿越實(shí)施某些網(wǎng)絡(luò)功能的網(wǎng)絡(luò)節(jié)點(diǎn)。
覆蓋網(wǎng)絡(luò)資源管理器126可以確定將用于過渡隧道143的底層網(wǎng)絡(luò)地址和/或網(wǎng)絡(luò)路徑并且向與始發(fā)主機(jī)關(guān)聯(lián)的第一lrag124a傳達(dá)底層網(wǎng)絡(luò)地址和/或網(wǎng)絡(luò)路徑。在某些實(shí)施例中,覆蓋網(wǎng)絡(luò)資源管理器126可以通過向始發(fā)主機(jī)傳輸目標(biāo)主機(jī)的某些可達(dá)性信息(例如,它的底層網(wǎng)絡(luò)地址)來標(biāo)識網(wǎng)絡(luò)路徑。在其它實(shí)施例中,可以按照其它適當(dāng)方式來標(biāo)識網(wǎng)絡(luò)路徑。一旦底層網(wǎng)絡(luò)地址和/或網(wǎng)絡(luò)路徑被確定,在始發(fā)主機(jī)(例如,第一服務(wù)器102a)處的隧道操作就可以開始。在某些實(shí)施例中,第一服務(wù)器102a可以使用底層網(wǎng)絡(luò)地址來封裝與重定位的虛擬機(jī)114’(或者vnf)關(guān)聯(lián)的分組,并且通過底層網(wǎng)絡(luò)120向目標(biāo)虛擬機(jī)114”轉(zhuǎn)發(fā)封裝的分組。這樣可以減少或者甚至避免在虛擬機(jī)重定位期間的分組丟失。
最終地,可能不再需要過渡隧道,因?yàn)槭苡绊懙奶摂M網(wǎng)絡(luò)122(例如,第一虛擬網(wǎng)絡(luò)122a)的vrt112都用新端點(diǎn)標(biāo)識符值誒獨(dú)立地更新。因此,可以向目標(biāo)虛擬機(jī)114”直接地傳輸去往重定位的虛擬機(jī)114’的消息。過渡隧道可以在始發(fā)nve109處在虛擬網(wǎng)絡(luò)122的vrt112中包括條目。因此,可以在選擇的時(shí)間段之后例如通過使用定時(shí)器來消除過渡隧道以消除vrt中112中的條目。
盡管以上描述的虛擬機(jī)重定位僅涉及一個(gè)虛擬機(jī)114’,但是在其它實(shí)施例中,可以執(zhí)行大體地相似或者相同的操作以在批量模式中移動(dòng)多個(gè)虛擬機(jī)和/或虛擬網(wǎng)絡(luò)功能。例如,可以重復(fù)前述操作以將多個(gè)或者所有虛擬機(jī)114從一個(gè)物理服務(wù)器102重定位到另一物理服務(wù)器102、從物理位置中的服務(wù)器102重定位到不同物理位置中的服務(wù)器102或者從數(shù)據(jù)中心中的服務(wù)器102重定位到不同數(shù)據(jù)中心中的服務(wù)器102。在另一示例中,多個(gè)或者所有虛擬機(jī)114可以被關(guān)聯(lián)為去往物理或者虛擬化的網(wǎng)絡(luò)功能(比如軟件負(fù)荷平衡器)的組。在這樣的示例中,如果軟件負(fù)荷平衡器被,則可能希望與軟件負(fù)荷平衡器一起移動(dòng)多個(gè)或者所有關(guān)聯(lián)的虛擬機(jī)114以例如保持駐留在服務(wù)器102中的虛擬機(jī)114物理地接近軟件負(fù)荷平衡器。在其它示例中,可以按照其它適當(dāng)方式執(zhí)行前述操作以實(shí)現(xiàn)對虛擬機(jī)和/或虛擬網(wǎng)絡(luò)功能的批量重定位。
在以上參照圖3的描述中,覆蓋網(wǎng)絡(luò)資源管理器126向個(gè)體受影響的lrag124散播關(guān)于對虛擬機(jī)114的重定位的更新后的可達(dá)性信息132。然而,在其它實(shí)施例中,這樣的散播可以由其它適當(dāng)實(shí)體執(zhí)行。例如,如圖4中所示,一旦lrag124已經(jīng)在主控虛擬機(jī)114或者虛擬網(wǎng)絡(luò)功能的適當(dāng)服務(wù)器102中配置了vrt112,每個(gè)lrag124就可以使用路由協(xié)議(比如邊界網(wǎng)關(guān)協(xié)議(“bgp”))來向其它lrag124宣布更新后的可達(dá)性信息132。在某些實(shí)施例中,可以通過在lrag124之中使用路由過濾來僅向與如下覆蓋分區(qū)125關(guān)聯(lián)的那些lrag124宣布新路由,這些覆蓋分區(qū)125包含用于虛擬機(jī)114或者虛擬網(wǎng)絡(luò)功能被附著到的虛擬網(wǎng)絡(luò)122的端點(diǎn)。始發(fā)lrag124(例如,第一lrag124a)可以例如使用路由過濾技術(shù)(比如bgp中的路由目標(biāo)(rt)特征)來確定受重定位影響的其它lrag124。始發(fā)lrag124然后可以向那些受影響的lrag124傳輸更新后的可達(dá)性信息132。每個(gè)lrag124也可以向?qū)?yīng)覆蓋分區(qū)125中的其它nve109宣布新可達(dá)性信息,這些覆蓋分區(qū)包含虛擬機(jī)114或者虛擬網(wǎng)絡(luò)功能被附著到的虛擬網(wǎng)絡(luò)122的端點(diǎn)(如果有的話)。nve109可以被邏輯地互連到對應(yīng)lrag124作為客戶端,并且lrag124僅能夠基于路由過濾或者其它適當(dāng)技術(shù)來宣布路由。在其它實(shí)施例中,始發(fā)lrag124可以向所有其它lrag124廣播更新后的可達(dá)性信息132。其它lrag124轉(zhuǎn)而可以個(gè)體地確定更新后的可達(dá)性信息132是否影響被包含在對應(yīng)覆蓋分區(qū)125中的任何端點(diǎn)?;诖_定,其它lrag124可以相應(yīng)地更新對應(yīng)vrt112和/或nve109(圖1)。
在圖1至圖4中,服務(wù)器102中的每個(gè)服務(wù)器被示出為在具有對應(yīng)lrag124的對應(yīng)覆蓋分區(qū)125中。然而,如以上討論的那樣,可以在其它適當(dāng)基礎(chǔ)上劃分覆蓋分區(qū)125。例如,如圖5中所示,第一覆蓋分區(qū)125a可以包括備互連到第一服務(wù)器102a和第三服務(wù)器102c二者的第一lrag124a。第二覆蓋分區(qū)125b可以包括被互連到第二服務(wù)器102b的第二lrag124b。在另外的實(shí)施例中,服務(wù)器102和/或lrag124可以具有其它適當(dāng)布置和/或配置。盡管以上在覆蓋分區(qū)125的上下文中描述了參照圖3至圖5對虛擬機(jī)114的遷移,但是在其它實(shí)施例中,也可以在不包括分割的覆蓋網(wǎng)絡(luò)、包括部分地分割的覆蓋網(wǎng)絡(luò)或者包括覆蓋和/或底層網(wǎng)絡(luò)中的其它適當(dāng)布置的計(jì)算機(jī)網(wǎng)絡(luò)中實(shí)施利用過渡隧道143的前述遷移技術(shù)。
圖6是圖示了根據(jù)公開的技術(shù)的實(shí)施例的對于圖1的計(jì)算機(jī)網(wǎng)絡(luò)100而言適合的lrag124的示例軟件部件的框圖。如圖6中所示,lrag124可以包括被相互互連的配置部件142、控制部件144和可選更新部件146。部件142、144和146中的每個(gè)部件可以是在常規(guī)編程語言中被編寫為源代碼的計(jì)算機(jī)程序、過程或者例程,或者一個(gè)或者多個(gè)模塊可以是硬件模塊。盡管在圖6中僅示出了前述部件,但是在其它實(shí)施例中,lrag124也可以包括輸入部件、輸出部件、網(wǎng)絡(luò)部件和/或其它適當(dāng)部件中的一個(gè)或者多個(gè)部件。
配置部件142可以被配置為基于從覆蓋網(wǎng)絡(luò)資源管理器126接收的可達(dá)性信息來填充、更新和/或以別的方式管理對應(yīng)覆蓋分區(qū)125(圖1)中的vrt112。例如,如圖6中所示,配置模塊142可以基于可達(dá)性信息132中的網(wǎng)絡(luò)節(jié)點(diǎn)的映射來生成、更新或者以別的方式管理vrt112中的轉(zhuǎn)發(fā)表148中的條目。在某些實(shí)施例中,轉(zhuǎn)發(fā)表148中的條目可以個(gè)體地包括源網(wǎng)絡(luò)節(jié)點(diǎn)的源地址、目的地網(wǎng)絡(luò)節(jié)點(diǎn)的目的地地址和/或例如經(jīng)由圖2的底層網(wǎng)絡(luò)120的在源和目的地網(wǎng)絡(luò)節(jié)點(diǎn)之間的一個(gè)或者多個(gè)網(wǎng)絡(luò)路徑。在其它實(shí)施例中,轉(zhuǎn)發(fā)表148中的條目可以包括網(wǎng)絡(luò)節(jié)點(diǎn)111(圖2)、邊緣節(jié)點(diǎn)137(圖2)、域133或者135(圖2)和/或其它適當(dāng)網(wǎng)絡(luò)實(shí)體的標(biāo)識,這些網(wǎng)絡(luò)實(shí)體形成從源到目的地網(wǎng)絡(luò)節(jié)點(diǎn)的路由的至少部分。
控制部件144可以被配置為在管理虛擬機(jī)114時(shí)控制管理程序107。例如,在一個(gè)實(shí)施例中,控制部件144可以指令管理程序107基于接收的可達(dá)性信息132來實(shí)例化新虛擬機(jī)114并且將實(shí)例化的虛擬機(jī)114附著到虛擬網(wǎng)絡(luò)122(圖1)。在另一示例中,控制部件144可以指令管理程序107基于接收的可達(dá)性信息132來掛起、終止和/或以別的方式操縱虛擬機(jī)114之一。在另外的示例中,控制部件144可以使得管理程序107執(zhí)行前述操作和/或其它適當(dāng)操作的組合。
在一個(gè)實(shí)施例中,更新部件146可以被配置為向覆蓋網(wǎng)絡(luò)資源管理器126提供狀態(tài)通知134。狀態(tài)通知134可以包括如下信息,該信息向覆蓋網(wǎng)絡(luò)資源管理器126通知關(guān)于與虛擬機(jī)114有關(guān)的實(shí)例化、掛起、終止和/或其它適當(dāng)操作的完成。在其它實(shí)施例中,更新部件146也可以向其它lrag124’(為了清楚而用虛線示出)宣布更新后的可達(dá)性信息132。
在操作中,覆蓋網(wǎng)絡(luò)資源管理器126可以向lrag124傳輸可達(dá)性信息132?;诮邮盏目蛇_(dá)性信息132,配置部件142可以配置vrt112中的轉(zhuǎn)發(fā)表148。在某些實(shí)施例中,控制部件144也可以基于接收的可達(dá)性信息132來實(shí)例化、掛起、終止或者以別的方式操縱被主控在服務(wù)器102上的虛擬機(jī)114中的一個(gè)或者多個(gè)虛擬機(jī)。一旦控制部件144完成了對虛擬機(jī)114的操縱,更新部件146就可以向覆蓋網(wǎng)絡(luò)資源管理器126傳輸向它通知完成的狀態(tài)通知134。作為響應(yīng),在某些實(shí)施例中,覆蓋網(wǎng)絡(luò)資源管理器126然后可以向其它受影響的lrag124’傳輸更新后的可達(dá)性信息132。在其它實(shí)施例中,lrag124可以向其它lrag124’直接地宣布更新后的可達(dá)性信息132。
圖7是圖示了根據(jù)公開的技術(shù)的實(shí)施例的更新圖1的計(jì)算機(jī)網(wǎng)絡(luò)100中的可達(dá)性信息的過程200的流程圖。如圖7中所示,過程200可以包括在階段202接收可達(dá)性信息。在一個(gè)實(shí)施例中,可以從數(shù)據(jù)庫接收可達(dá)性信息,該數(shù)據(jù)庫包含在虛擬和對應(yīng)物理網(wǎng)絡(luò)節(jié)點(diǎn)之間的映射的記錄。在其它實(shí)施例中,可以按照其它適當(dāng)方式獲得可達(dá)性信息。
在某些實(shí)施例中,過程200可以包括可選階段204,在可選階段204中確定用于覆蓋網(wǎng)絡(luò)的每個(gè)覆蓋分區(qū)的適當(dāng)可達(dá)性信息的子集。在一個(gè)實(shí)施例中,可達(dá)性信息的子集包括與虛擬網(wǎng)絡(luò)有關(guān)的可達(dá)性信息,該虛擬網(wǎng)絡(luò)包括對應(yīng)覆蓋分區(qū)中的至少一個(gè)端點(diǎn)。對于不包括對應(yīng)覆蓋分區(qū)中的至少一個(gè)端點(diǎn)的虛擬網(wǎng)絡(luò),從子集排除與這樣的虛擬網(wǎng)絡(luò)有關(guān)的可達(dá)性信息。過程200然后可以包括在階段206向每個(gè)覆蓋分區(qū)中的lrag傳輸確定的適當(dāng)可達(dá)性信息。作為響應(yīng),每個(gè)覆蓋分區(qū)中的lrag然后可以更新與具有特定覆蓋分區(qū)中的至少一個(gè)端點(diǎn)的虛擬網(wǎng)絡(luò)有關(guān)的一個(gè)或者多個(gè)虛擬路由表。在其它實(shí)施例中,可以省略可選階段204,并且可以向所有覆蓋分區(qū)傳輸相同可達(dá)性信息。作為響應(yīng),每個(gè)覆蓋分區(qū)可以確定用于具有每個(gè)覆蓋分區(qū)中的至少一個(gè)端點(diǎn)的虛擬網(wǎng)絡(luò)的可達(dá)性信息的子集。在更多其它實(shí)施例中,每個(gè)lrag可以例如向圖1的覆蓋網(wǎng)絡(luò)資源管理器126預(yù)訂接收與一個(gè)或者多個(gè)虛擬網(wǎng)絡(luò)對應(yīng)的適當(dāng)可達(dá)性信息。在另外的實(shí)施例中,可以例如通過在傳輸之前確定第一子集并且在每個(gè)覆蓋分區(qū)處從第一子集確定第二子集來利用前述確定操作的組合。過程200也可以包括如以下參照圖8被更具體描述的那樣在階段208更新可達(dá)性信息。
圖8是圖示了根據(jù)公開的技術(shù)的實(shí)施例的更新圖1的計(jì)算機(jī)網(wǎng)絡(luò)100中的可達(dá)性信息的過程220的流程圖。如圖8中所示,過程200可以包括在階段222從覆蓋分區(qū)接收狀態(tài)更新。更新可以包括虛擬機(jī)和/或虛擬網(wǎng)絡(luò)功能的實(shí)例化、啟動(dòng)、掛起、終止和/或其它適當(dāng)操作的完成通知中的一項(xiàng)或者多項(xiàng)。過程220然后可以包括確定受接收的狀態(tài)更新影響的一個(gè)或者多個(gè)其它覆蓋分區(qū)。在一個(gè)實(shí)施例中,如果覆蓋分區(qū)包括具有受更新影響的至少一個(gè)端點(diǎn)的虛擬網(wǎng)絡(luò),則覆蓋分區(qū)受影響。在其它實(shí)施例中,可以基于其它適當(dāng)標(biāo)準(zhǔn)來確定受影響的覆蓋分區(qū)。過程220然后可以包括在階段226僅向受影響的覆蓋分區(qū)傳輸可達(dá)性更新。未受影響的其它覆蓋分區(qū)不接收可達(dá)性更新。
圖9是圖示了根據(jù)公開的技術(shù)的實(shí)施例的管理覆蓋分區(qū)中的可達(dá)性信息的過程300的流程圖。如圖9中所示,過程300包括在階段302接收可達(dá)性信息。接收的可達(dá)性信息僅用于具有覆蓋分區(qū)中的至少一個(gè)端點(diǎn)的虛擬網(wǎng)絡(luò)。過程300然后可以包括在階段304為覆蓋分區(qū)中的虛擬網(wǎng)絡(luò)配置虛擬路由表。可選地,過程300也可以包括向圖1的覆蓋網(wǎng)絡(luò)資源管理器126、其它覆蓋分區(qū)(未示出)和/或其它適當(dāng)實(shí)體宣布可達(dá)性更新。
圖10是圖示了根據(jù)公開的技術(shù)的實(shí)施例的管理覆蓋分區(qū)中的可達(dá)性信息的另一過程301的流程圖。過程301的操作可以與圖9中的過程300的操作大體地相似,不同在于過程301包括在階段303確定用于當(dāng)前覆蓋分區(qū)的適當(dāng)可達(dá)性信息。適當(dāng)可達(dá)性信息可以包括僅與具有覆蓋分區(qū)中的至少一個(gè)端點(diǎn)的虛擬網(wǎng)絡(luò)有關(guān)的信息。在其它實(shí)施例中,過程301也可以包括確定用于其它覆蓋分區(qū)的適當(dāng)可達(dá)性信息并且例如按照適當(dāng)路由協(xié)議來散播確定的適當(dāng)可達(dá)性信息。
圖11是圖示了根據(jù)公開的技術(shù)的實(shí)施例的重定位虛擬租戶端點(diǎn)(“tep”)的過程400的流程圖。如圖11中所示,過程400包括在階段402接收用于重定位始發(fā)tep的指示。始發(fā)tep可以包括虛擬機(jī)、虛擬網(wǎng)絡(luò)功能和/或其它適當(dāng)實(shí)體。過程400然后可以包括在階段404預(yù)備目標(biāo)tep??梢酝ㄟ^實(shí)例化、啟動(dòng)和/或以別的方式生成被附著到包含始發(fā)tep的虛擬網(wǎng)絡(luò)的目標(biāo)tep來預(yù)備目標(biāo)tep。過程400可以包括用于確定目標(biāo)tep是否準(zhǔn)備好的決定階段406。如果目標(biāo)tep沒有準(zhǔn)備好,則過程400恢復(fù)在階段404預(yù)備目標(biāo)tep。
如果目標(biāo)tep準(zhǔn)備好,則過程400前進(jìn)到在階段408建立在始發(fā)和目標(biāo)tep之間的隧道。在某些實(shí)施例中,可以例如通過預(yù)先確定在與始發(fā)和目標(biāo)tep對應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)之間的一個(gè)或者多個(gè)網(wǎng)絡(luò)路徑來預(yù)建立隧道。例如,可以根據(jù)mpls協(xié)議、基于主控目標(biāo)tep的網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)地址來預(yù)先確定隧道。在其它實(shí)施例中,可以例如通過基于始發(fā)和/或目標(biāo)tep地址計(jì)算網(wǎng)絡(luò)路徑來在自組織基礎(chǔ)上建立隧道。
過程400然后可以包括在階段410經(jīng)由隧道將始發(fā)tep重定位到目標(biāo)tep。在一個(gè)實(shí)施例中,將始發(fā)tep重定位到目標(biāo)tep可以包括對虛擬機(jī)的熱、暖或者冷遷移。在其它實(shí)施例中,重定位可以包括其它適當(dāng)類型的遷移。過程400也可以包括在階段412向其它覆蓋分區(qū)更新重定位的始發(fā)tep的可達(dá)性信息。在某些實(shí)施例中,更新后的可達(dá)性信息由與目標(biāo)tep關(guān)聯(lián)的覆蓋分區(qū)中的lrag、由圖1的覆蓋網(wǎng)絡(luò)資源管理器126、前述部件的組合或者計(jì)算機(jī)網(wǎng)絡(luò)100(圖1)的其它適當(dāng)部件僅傳輸?shù)狡渌采w分區(qū),這些其它覆蓋分區(qū)具有包含始發(fā)tep的虛擬網(wǎng)絡(luò)的至少一個(gè)端點(diǎn)。在其它實(shí)施例中,向所有其它覆蓋分區(qū)傳輸更新后的可達(dá)性信息。過程400然后包括在階段416獨(dú)立地更新虛擬分區(qū)中的每個(gè)虛擬分區(qū)中的虛擬路由表,這些虛擬分區(qū)具有包含始發(fā)tep的虛擬網(wǎng)絡(luò)的至少一個(gè)端點(diǎn)。
過程400也可以包括在階段414經(jīng)由建立的隧道向目標(biāo)tep轉(zhuǎn)發(fā)去往始發(fā)tep的通信持續(xù)至少一個(gè)時(shí)間段,并且在時(shí)間段已經(jīng)到期之后終止轉(zhuǎn)發(fā)。在所圖示的實(shí)施例中,階段410、412和414被示出為相互并行。在其它實(shí)施例中,可以串行或者以其它適當(dāng)方式來執(zhí)行前述操作。
圖12是對于圖1中的計(jì)算機(jī)網(wǎng)絡(luò)100的某些部件而言適合的計(jì)算設(shè)備600。例如,計(jì)算設(shè)備600可以對于圖1的服務(wù)器102、覆蓋網(wǎng)絡(luò)資源管理器126或者lrag124而言適合。在很基本配置602中,計(jì)算設(shè)備600通常地包括一個(gè)或者多個(gè)處理器604和系統(tǒng)存儲器606。存儲器總線608可以被用于在處理器604與系統(tǒng)存儲器606之間通信。
根據(jù)希望的配置,處理器604可以是任何類型,包括但不限于微處理器(μp)、微控制器(μc)、數(shù)字信號處理器(dsp)或者這些的任何組合。處理器604可以包括一級或者多級高速緩存(比如1級高速緩存610和2級高速緩存612)、處理器核614和寄存器616。示例處理器核614可以包括算術(shù)邏輯單元(alu)、浮點(diǎn)單元(fpu)、數(shù)字信號處理核(dsp核)或者這些的任何組合。示例存儲器控制器618也可以與處理器604一起被使用,或者在一些實(shí)現(xiàn)方式中,存儲器控制器618可以是處理器604的內(nèi)部部分。
根據(jù)希望的配置,系統(tǒng)存儲器606可以是任何類型,包括但不限于易失性存儲器(比如ram)、非易失性存儲器(比如rom、閃存等)或者這些的任何組合。系統(tǒng)存儲器606可以包括操作系統(tǒng)620、一個(gè)或者多個(gè)應(yīng)用622和程序數(shù)據(jù)624。如圖12中所示,操作系統(tǒng)620可以包括用于管理一個(gè)或者多個(gè)虛擬機(jī)114的管理程序107。在圖12中由在內(nèi)虛線內(nèi)的那些部件圖示了這一描述的基本配置602。
計(jì)算設(shè)備600可以具有用于有助于在基本配置602與任何其它設(shè)備和接口之間的通信的附加特征或者功能和附加接口。例如,總線/接口控制器630可以被用來有助于經(jīng)由存儲接口總線634在基本配置602與一個(gè)或者多個(gè)數(shù)據(jù)存儲設(shè)備632之間的通信。數(shù)據(jù)存儲設(shè)備632可以是可去除存儲設(shè)備636、非可去除存儲設(shè)備638或者這些的組合??扇コ鎯头强扇コ鎯υO(shè)備的示例聊舉數(shù)例包括磁盤設(shè)備(比如軟盤驅(qū)動(dòng)和硬盤驅(qū)動(dòng)(hdd))、光盤驅(qū)動(dòng)(比如緊致盤(cd)驅(qū)動(dòng)或者數(shù)字萬用盤(dvd)驅(qū)動(dòng))、固態(tài)驅(qū)動(dòng)(ssd)和帶驅(qū)動(dòng)。示例計(jì)算機(jī)存儲介質(zhì)可以包括在用于信息(比如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其它數(shù)據(jù))的存儲的任何方法或者技術(shù)中被實(shí)施的易失性和非易失性、可去除和非可去除介質(zhì)。術(shù)語“計(jì)算機(jī)可讀存儲介質(zhì)”或者“計(jì)算機(jī)可讀存儲設(shè)備”排除傳播的信號和通信介質(zhì)。
系統(tǒng)存儲器606、可去除存儲設(shè)備636和非可去除存儲設(shè)備638是計(jì)算機(jī)可讀存儲介質(zhì)的示例。計(jì)算機(jī)可讀存儲介質(zhì)包括但不限于ram、rom、eeprom、閃存或者其它存儲器技術(shù)、cd-rom、數(shù)字萬用盤(dvd)或者其它光存儲裝置、磁盒、磁帶、磁盤存儲裝置或者其它磁存儲設(shè)備或者可以被用來存儲希望的信息并且可以由計(jì)算設(shè)備600訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)可讀存儲介質(zhì)可以是計(jì)算設(shè)備600的部分。術(shù)語“計(jì)算機(jī)可讀存儲介質(zhì)”排除傳播的信號和通信介質(zhì)。
計(jì)算設(shè)備600也可以包括用于有助于經(jīng)由總線/接口控制器630從各種接口設(shè)備(例如,輸出設(shè)備642、外圍接口644和通信設(shè)備646)到基本配置602的通信的接口總線640。示例輸出設(shè)備642包括可以被配置為經(jīng)由一個(gè)或者多個(gè)a/v端口652與各種外部設(shè)備(比如顯示器或者揚(yáng)聲器)通信的圖形處理單元648和音頻處理單元650。示例外圍接口644包括可以被配置為經(jīng)由一個(gè)或者多個(gè)i/o端口658與外部設(shè)備(比如輸入設(shè)備(例如,鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等))或者其它外圍設(shè)備(例如,打印機(jī)、掃描儀等)通信的串行接口控制器654或者并行接口控制器656。示例通信設(shè)備646包括可以被布置為有助于經(jīng)由一個(gè)或者多個(gè)通信端口664通過網(wǎng)絡(luò)通信鏈路與一個(gè)或者多個(gè)其它計(jì)算設(shè)備662的通信的網(wǎng)絡(luò)控制器660。
網(wǎng)絡(luò)通信鏈路可以是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通常地可以由在調(diào)制的數(shù)據(jù)信號(比如載波或者其它傳送機(jī)制)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其它數(shù)據(jù)體現(xiàn)并且可以包括任何信息遞送介質(zhì)。“調(diào)制的數(shù)據(jù)信號”可以是如下信號,該信號讓它的特性中的一個(gè)或者多個(gè)特性以對信號中的信息進(jìn)行編碼這樣的方式而被設(shè)置或者改變。舉例而言而非限制,通信介質(zhì)可以包括有線介質(zhì)(比如有線網(wǎng)絡(luò)或者直接接線連接)以及無線介質(zhì)(比如聲、射頻(rf)、微波、紅外線(ir)和其它無線介質(zhì))。如這里所用的術(shù)語計(jì)算機(jī)可讀介質(zhì)可以包括存儲介質(zhì)和通信介質(zhì)二者。
計(jì)算設(shè)備600可以被實(shí)施為小型規(guī)格便攜(或者移動(dòng))電子設(shè)備(比如蜂窩電話、個(gè)人數(shù)據(jù)助理(pda)、個(gè)人媒體播放器設(shè)備、無線網(wǎng)守設(shè)備、個(gè)人頭戴式耳機(jī)設(shè)備、專用設(shè)備或者包括以上功能中的任何功能的混合設(shè)備)的部分。計(jì)算設(shè)備600也可以被實(shí)施為包括膝上型計(jì)算機(jī)和非膝上型計(jì)算機(jī)配置二者的個(gè)人計(jì)算機(jī)。
以上已經(jīng)出于示例的目的而描述了本技術(shù)的具體實(shí)施例。然而,可以做出各種修改而沒有脫離前述公開內(nèi)容。此外,一個(gè)實(shí)施例的單元中的許多單元可以加上或者取代其它實(shí)施例的單元而被與其它實(shí)施例組合。因而,本技術(shù)除了受所附權(quán)利要求限制之外不受限制。