国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      沒有結(jié)構(gòu)化瓶頸的數(shù)據(jù)中心的制作方法

      文檔序號:7735902閱讀:161來源:國知局

      專利名稱::沒有結(jié)構(gòu)化瓶頸的數(shù)據(jù)中心的制作方法沒有結(jié)構(gòu)化瓶頸的數(shù)據(jù)中心相關(guān)申請的交叉引用本申請要求2008年6月9日提交的授予Maltz等人的題為“DATACENTERWITHOUTSTRUCTURALBOTTLENECKS(沒有結(jié)構(gòu)化瓶頸的數(shù)據(jù)中心)”的臨時專利申請No.61/060,040的優(yōu)先權(quán),該申請的全部內(nèi)容通過引用結(jié)合于此。背景當今的數(shù)據(jù)中心中主存的應(yīng)用程序遭受資源內(nèi)部分割、剛性、以及由連接數(shù)據(jù)中心的服務(wù)器的網(wǎng)絡(luò)的體系結(jié)構(gòu)施加的帶寬制約。當前常規(guī)體系結(jié)構(gòu)將web服務(wù)靜態(tài)地映射到以太網(wǎng)VLAN,由于控制平面開銷,每一個VLAN在大小方面限制于幾百個服務(wù)器。經(jīng)由昂貴的自定義硬件和專有軟件來實現(xiàn)用于跨VLAN分散流量的IP路由器和用于跨服務(wù)器在VLAN內(nèi)分散請求的負載平衡器。如此,昂貴的IP路由器端口變成任何機架-到任何機架服務(wù)器連接的瓶頸,如此,限制了許多數(shù)據(jù)密集型應(yīng)用程序(例如,數(shù)據(jù)挖掘、映射/降低計算、分布式文件系統(tǒng)、團(blob)存儲)的流量。此外,常規(guī)體系結(jié)構(gòu)將流量集中于必須常常升級和替換以跟上需求的一些硬件中一直接抵觸數(shù)據(jù)中心的其余部分的流行原則(流行原則為橫向擴展(添加更多便宜的組件)而并非縱向擴展(向少量的昂貴的組件添加更多能力和復(fù)雜性))的方法。將流量集中于小數(shù)量的網(wǎng)絡(luò)路由器和交換機的做法還將網(wǎng)絡(luò)置于發(fā)生故障和停機的風(fēng)險中,因為這種小數(shù)量的組件的故障擊敗嵌入到系統(tǒng)中的冗余,并導(dǎo)致停機?,F(xiàn)在存在在極低的端口成本下有非常高的端口速度的商用交換硬件可用,使得現(xiàn)在是重新設(shè)計數(shù)據(jù)中心網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的恰好時機。數(shù)據(jù)中心包括服務(wù)器和網(wǎng)絡(luò)組件,其中,組件之間的距離通常小于一毫秒的光速傳播時間(即,以Kibps速度或更大的速度,越過少量的交換機)。基礎(chǔ)結(jié)構(gòu)的服務(wù)器部分現(xiàn)在就商品化而言太遙遠一高端企業(yè)級服務(wù)器已經(jīng)被大量的低成本PC所替代。分布式計算和系統(tǒng)管理軟件中的新發(fā)明已經(jīng)使個體服務(wù)器的不可靠性被系統(tǒng)作為整體的聚合的可靠性所掩蓋。運行的主題是由PC商品化的經(jīng)濟因素進行驅(qū)動的“橫向擴展代替縱向擴展”。商用部件的特征在于廣泛的可用性、標準化、以及用于增大的能力的驅(qū)動程序(例如,IGbpsUOGbps技術(shù)已可用,IOOGbps技術(shù)現(xiàn)在是新興的)。數(shù)據(jù)中心基礎(chǔ)結(jié)構(gòu)的網(wǎng)絡(luò)部分為商品化呈現(xiàn)下一新領(lǐng)域。需要互連的服務(wù)器的數(shù)量的增大已經(jīng)如此延伸了企業(yè)網(wǎng)絡(luò)解決方案的限制,以至于當前體系結(jié)構(gòu)類似最初旨在在數(shù)量級較小的企業(yè)網(wǎng)絡(luò)中工作的協(xié)議的一系列修補和替代方法?,F(xiàn)在將參考圖1講述常規(guī)數(shù)據(jù)中心的某些挑戰(zhàn)和要求,圖1示出了從推薦的源獲取的數(shù)據(jù)中心的常規(guī)體系結(jié)構(gòu)100。參見“Ciscosystems=Datacenter=Loadbalancingdatacenterservices,2004(思科系統(tǒng)數(shù)據(jù)中心負載平衡數(shù)據(jù)中心服務(wù),2004)”,其藉此通過引用整體結(jié)合于此。多個應(yīng)用程序在數(shù)據(jù)中心內(nèi)運行,但是,通常每一應(yīng)用程序都被主存在其自己的一組(潛在可能的虛擬)服務(wù)器機器102中,單個組織擁有并控制數(shù)據(jù)中心內(nèi)的活動。來自因特網(wǎng)104的請求通常被發(fā)送到公開可見和可路由的虛擬IP地址(VIP),并且有與在數(shù)據(jù)中心中運行的每一應(yīng)用程序相關(guān)聯(lián)的一個或多個VIP。從因特網(wǎng)到達的請求,基于目的VIP地址,通過邊界路由器(BR)和訪問路由器4(AR)被IP(層3)路由到層2域。VIP被配置到連接到頂交換機⑶的兩個負載平衡器(LB)上,并使用復(fù)雜的機制來確保如果一個負載平衡器失敗,則其他負載平衡器拾起流量。參ΒΕ.R.HindenPJf^^"Virtualrouterredundancyprotocol(^1%^!^VRRP)”,該申請通過引用整體結(jié)合于此。對于每一個VIP,負載平衡器被配置成具有直接IP地址列表(DIP),直接IP地址是負載平衡器下面的機架中的物理服務(wù)器102的私有和內(nèi)部地址。此DIP列表定義可以處理到該VIP的請求的服務(wù)器池,負載平衡器跨池中的DIP分散請求。隨著數(shù)據(jù)中心中所需的服務(wù)器的數(shù)量增長,向?qū)?域中添加附加成對的交換機和相關(guān)聯(lián)機架,如圖所示。由于廣播和控制平面流量的開銷,層2子網(wǎng)在大小方面被限制于幾百個服務(wù)器,如此,在層2交換機上配置了VLAN,以將域分割為多個層2子網(wǎng),每個VLAN—個子網(wǎng)。當層2域最終達到與大小大約為4000個服務(wù)器的大以太網(wǎng)域相關(guān)聯(lián)的限制(例如,VLAN耗盡、廣播/控制流量)時,創(chuàng)建附加層2域,并將其連接到其他訪問路由器對。常規(guī)方法具有下列問題資源的分段諸如目的NAT(或半NAT)和直接服務(wù)器返回之類的流行的負載平衡技術(shù),要求VIP的池中的所有DIP都位于同一層2域中。參見由C.Kopparapu所著的‘‘LoadBalancingServers,Firewalls,andCaches(負載平衡服務(wù)器、防火墻和高速緩存)”,其藉此通過引用整體結(jié)合于此。此約束意味著,如果應(yīng)用程序增長并要求更多服務(wù)器,則它不能使用其他層2域中的可用服務(wù)器一最終導(dǎo)致對資源的分段和利用不足。經(jīng)由源NAT(或完全NAT)的負載平衡允許服務(wù)器跨層2域分散,但是,隨后服務(wù)器從來不看客戶機IP,這常常是無法接受的,因為服務(wù)器需要將客戶機IP記入日志以便進行規(guī)章順應(yīng)性和數(shù)據(jù)挖掘。差的服務(wù)器到服務(wù)器連接網(wǎng)絡(luò)的分層本性意味著,為使不同的層2域中的服務(wù)器進行通信,流量必須經(jīng)過網(wǎng)絡(luò)的層3部分。由于層3端口比層2端口昂貴得多,因此這些鏈路通常被過量預(yù)訂(例如,訪問路由器和邊界路由器之間的鏈路的容量小于連接到訪問路由器的服務(wù)器的輸出容量的總和)。結(jié)果是,數(shù)據(jù)中心的不同部分中的服務(wù)器之間可用的帶寬會是十分有限的。這將產(chǎn)生嚴重的全局優(yōu)化問題,因為必須小心翼翼地安置屬于所有應(yīng)用程序的所有服務(wù)器,以確保其流量的總和不會使任何一個網(wǎng)絡(luò)鏈路飽和,并且在實踐中,在應(yīng)用程序之間實現(xiàn)這一水平的協(xié)調(diào)是困難的。在服務(wù)器之間缺乏足夠的容量還將服務(wù)器的池分段。例如,當在數(shù)據(jù)中心中運行的應(yīng)用程序需要更多服務(wù)器來處理其工作負載時,位于數(shù)據(jù)中心中的別處的未使用的服務(wù)器無法投入服務(wù)中一如果在它們和現(xiàn)有應(yīng)用程序服務(wù)器之間沒有足夠容量的話??v向擴展,而非橫向擴展的專有硬件常規(guī)體系結(jié)構(gòu)中的負載平衡器被成對地用于1+1彈性配置中。當負載對于負載平衡器來說變得太大時,操作員將現(xiàn)有負載平衡器替換為具有更大的容量的新的對,而不可能添加單個負載平衡器來獲得更大的容量。概述本系統(tǒng)涉及用于橫向擴展數(shù)據(jù)中心聯(lián)網(wǎng)的簡單設(shè)計。該系統(tǒng)設(shè)計使用簡單的網(wǎng)格類體系結(jié)構(gòu)、商用交換機、對控制平面的修改,以控制協(xié)議開銷以及通過多徑路由來支持靈活的流量工程。它將負載平衡的功能解聚為一組標準服務(wù)器,結(jié)果,負載平衡服務(wù)器硬件可以在數(shù)據(jù)中心中的機架之間分布,從而導(dǎo)致更大的靈活性和較少的分段。該體系結(jié)構(gòu)創(chuàng)建巨大且靈活的交換域、支持任何服務(wù)器/任何服務(wù)、全互聯(lián)靈活性、以及低成本的未嚴加管制的服務(wù)器容量。在各實施例中,本發(fā)明的系統(tǒng)執(zhí)行一種將數(shù)據(jù)中心內(nèi)的多個服務(wù)器聯(lián)網(wǎng)在一起的方法。該方法包括通過提供目的地服務(wù)器地址作為平坦地址來定址供傳遞到目的地服務(wù)器的數(shù)據(jù)分組的步驟。平坦地址是僅指示服務(wù)器或目的地的身份而不是將服務(wù)器或目的地連接到網(wǎng)絡(luò)的位置的地址。該方法還包括獲取將分組路由到目的地服務(wù)器所需的路由信息的步驟。該路由信息可以從服務(wù)于多個服務(wù)器的目錄服務(wù)獲取。一旦獲取路由信息,就可以根據(jù)目的地服務(wù)器的平坦地址和從目錄服務(wù)獲取的路由信息來將數(shù)據(jù)分組路由到目的地服務(wù)器。與常規(guī)體系結(jié)構(gòu)完全不同,當前體系結(jié)構(gòu)符合下列挑戰(zhàn)任何地方的布局該體系結(jié)構(gòu)允許數(shù)據(jù)中心中的任何地方的任何服務(wù)器是任何VIP背后的服務(wù)器池的一部分,以便服務(wù)器池可以動態(tài)地收縮或擴展。即,服務(wù)器以及每一VIP背后的DIP可以被置于數(shù)據(jù)中心中的任何地方。服務(wù)器到服務(wù)器帶寬許多應(yīng)用程序要求數(shù)據(jù)中心內(nèi)的大量的計算,如此,該體系結(jié)構(gòu)優(yōu)化數(shù)據(jù)中心中的每對服務(wù)器之間的帶寬,而不管它們所在的位置。橫向擴展的商用硬件隨著需要更大的容量,本系統(tǒng)使得添加更多單個組件比用較新且較高容量模型替換現(xiàn)有組件更加容易。這要求該體系結(jié)構(gòu)支持其中所有組件都是活動的彈性模型,其中,η個組件中有1個組件失敗只移除總?cè)萘康?/η。利用相同體系結(jié)構(gòu)支持任意數(shù)量的服務(wù)器未來的數(shù)據(jù)中心將在大致100,000個服務(wù)器之間提供密集的內(nèi)部通信。本系統(tǒng)允許有效的負載平衡和這么多的服務(wù)器之間的通信。信息存儲和用于交換和負載平衡的消息接發(fā)隨著服務(wù)器的數(shù)量線性地縮放。網(wǎng)絡(luò)硬件和消息接發(fā)隨著網(wǎng)絡(luò)元件的數(shù)量以ηlogη縮放。如下面所說明的,本系統(tǒng)通過利用服務(wù)器的可編程性、帶有標準路由和封裝能力的交換機、以及交換機硬件中所實現(xiàn)的某一有用的數(shù)據(jù)平面原語來應(yīng)付這些挑戰(zhàn)。附圖簡述圖1是數(shù)據(jù)中心的常規(guī)網(wǎng)絡(luò)體系結(jié)構(gòu)的圖示。圖2是示出了由沒有過量預(yù)訂鏈路的網(wǎng)絡(luò)所連接的所有服務(wù)器的本系統(tǒng)的體系結(jié)構(gòu)的概覽的圖示。圖3是主機的網(wǎng)絡(luò)棧的圖示。圖4是當數(shù)據(jù)分組從一個服務(wù)器流向同一個數(shù)據(jù)中心中的另一服務(wù)器時的數(shù)據(jù)分組處理的示例性圖示。圖5是跨因特網(wǎng)的連接的網(wǎng)絡(luò)路徑的圖示。圖6是連接103680個服務(wù)器的交換機的示例拓撲結(jié)構(gòu)的圖示。圖7是示例互連拓撲的圖示。圖8是示例互連拓撲的圖示。圖9是使用144端口交換機雙倍縮放互連拓撲的圖示。詳細描述現(xiàn)在將參考圖2-9來說明本發(fā)明的系統(tǒng)。給定帶有低于$100并降至$10的Kibps端口、具有降至$1,000到$100的IOGbps端口、以及帶有接近于標準化的40Gbps和IOOGbps的商用交換硬件的可用性,正是重新設(shè)計數(shù)據(jù)中心網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的時候。下面提供了用于商品化用于“云”服務(wù)的數(shù)據(jù)中心的網(wǎng)絡(luò)的系統(tǒng),其中,大量的服務(wù)器協(xié)作地處理巨大的工作負載(例如,web搜索)。本發(fā)明的系統(tǒng)的特征包括網(wǎng)格上的流量工程在商用交換機的網(wǎng)格上使用Valiant(英勇)負載平衡(VLB),以實現(xiàn)熱點空閑內(nèi)核結(jié)構(gòu)(hot-spotfreecorefabric),該結(jié)構(gòu)以不在意的方式支持任意流量模式(即,它適應(yīng)由服務(wù)器接口卡準許的任何流量矩陣)。交換機的作用簡化為快速轉(zhuǎn)發(fā),且縮放和控制中的許多復(fù)雜性被轉(zhuǎn)移到服務(wù)器。擴展到巨大的層2域數(shù)據(jù)分組在服務(wù)器之間使用平坦地址引導(dǎo),以便任何服務(wù)器都可以使用任何地址,不管它在物理上連接到數(shù)據(jù)中心中的何處。如此處所使用的,平坦地址是只指示服務(wù)器或目的地的標識而不指示服務(wù)器或目的地被連接到網(wǎng)絡(luò)上的位置的地址。平坦地址與在拓撲上有效的其他地址不同,在拓撲上有效意味著這些地址不僅標識服務(wù)器或目的地,而且還指示服務(wù)器或目的地連接到網(wǎng)絡(luò)上的位置。網(wǎng)絡(luò)對于服務(wù)器來說看來似乎是單個巨大的層2域,但是,可使用若干種技術(shù),以便此域可以縱向擴展到10萬個服務(wù)器或更多。解聚負載平衡功能負載平衡被實現(xiàn)為數(shù)據(jù)分組轉(zhuǎn)發(fā)的整體組成部分,以便可以使用一致散列來跨多個服務(wù)器地分散去往任何IP地址的流量。在下面的描述中,使用術(shù)語“數(shù)據(jù)分組”和“分組”來指由服務(wù)器所發(fā)送的以首部為開始的數(shù)據(jù)序列。首部可以是層2或者層3,而后面的數(shù)據(jù)可包括額外的首部。在下面的描述中,術(shù)語“路由器”和“交換機”可互換地使用,來指在至少一個端口上接收數(shù)據(jù)分組并作為響應(yīng)將數(shù)據(jù)分組傳輸出一個或多個端口的組件。體系結(jié)構(gòu)圖2提供了根據(jù)本發(fā)明系統(tǒng)的體系結(jié)構(gòu)200的概覽。兩個特征是將單個層2域中的數(shù)據(jù)中心內(nèi)的所有100000個服務(wù)器連接在一起的網(wǎng)絡(luò)和可在服務(wù)器池上分布請求的靈活方式。下面說明了該體系結(jié)構(gòu),后面是提供有關(guān)每一點的更多細節(jié)的小節(jié)。網(wǎng)絡(luò)207被設(shè)計成具有完全可達性,而沒有過量預(yù)訂的鏈路,這意味著,任何服務(wù)器都可以以該服務(wù)器的網(wǎng)絡(luò)接口的完全mbps速率與任何其他服務(wù)器進行通信。對于平坦地址空間的支持有效地支持在數(shù)據(jù)中心看到的移動性形式通過注冊新位置,圖像或虛擬機從一個物理機器遷移到另一個物理機器。結(jié)果對于在層3-7操作的負載平衡器上的VIP/DIP和應(yīng)用程序服務(wù)器上的安全策略而言是透明的。本系統(tǒng)的網(wǎng)絡(luò)的層3部分使用等價多徑(ECMP)來在所有邊界路由器(BR)和訪問路由器(AR)上均勻地分散從因特網(wǎng)202接收到的請求。隨著請求進入層2域,訪問路由器使用一致的散列來在充當目的VIP的負載平衡器的一組服務(wù)器206上均勻地分散請求。通過配置或交換機可編程性,可以使用加權(quán)多徑而并非等價多徑。最后,負載平衡器使用應(yīng)用程序?qū)S秘撦d分布函數(shù)來在由其DIP所標識的實現(xiàn)應(yīng)用程序功能的服務(wù)器210的池上分散請求。本系統(tǒng)的用于在一組服務(wù)器206分散發(fā)往一IP地址的數(shù)據(jù)分組的能力意味著,負載平衡器可以被解聚一即,從商用服務(wù)器代替專門的高吞吐量硬件來構(gòu)建。隨著所提供的負載開始淹沒現(xiàn)有的負載平衡器,可以提供額外的服務(wù)器206來作為負載平衡器以稀釋負載。另外,使用商用服務(wù)器作為負載平衡器可使它們能完全可編程,且其算法針對特定數(shù)據(jù)中心應(yīng)用程序可調(diào),而并非設(shè)法應(yīng)付供應(yīng)商在固件中所提供的算法。如在圖2中所示,任何訪問路由器、負載平衡器或服務(wù)器的失敗不會對數(shù)據(jù)中心的功能造成長期危害。保健服務(wù)連續(xù)地監(jiān)視每一服務(wù)器的活性,而當檢測到服務(wù)器被從旋轉(zhuǎn)池取出的問題時,不再向它發(fā)送新請求。(控制和管理平面實現(xiàn)都是可能的。參見,例如,M.Isard所著的"Autopilot:Automaticdatacentermanagement(自云力導(dǎo)航自云力數(shù)據(jù)中心管理)”,其藉此通過引用整體結(jié)合于此)??捎玫慕M件在設(shè)計本系統(tǒng)的數(shù)據(jù)中心網(wǎng)絡(luò)時,由于兩種原因,期望使用低成本的交換機。第一原因是經(jīng)濟因素。低成本的交換機會降低網(wǎng)絡(luò)的總成本。第二原因是冗余模型。使用多個低成本的交換機能實現(xiàn)在失敗的情況下適度降級的n+m冗余模型。盡管低成本交換機缺乏更昂貴的交換機或路由器的許多數(shù)據(jù)分組處理特征,但是,當前體系結(jié)構(gòu)示出了具有以硬件實現(xiàn)的轉(zhuǎn)發(fā)平面的但是帶有可編程控制平面軟件的交換機如何足以實現(xiàn)優(yōu)美而性能好的設(shè)計。低成本的交換機具有影響數(shù)據(jù)中心網(wǎng)絡(luò)的設(shè)計的下列特性。封裝/解除封裝機制封裝允許交換機在另一種數(shù)據(jù)分組內(nèi)攜帶一種數(shù)據(jù)分組,且由最外面首部確定對數(shù)據(jù)分組的轉(zhuǎn)發(fā)。解除封裝允許接收發(fā)往其地址的已封裝數(shù)據(jù)分組的該交換機移除最外面的首部,然后使用其正常轉(zhuǎn)發(fā)規(guī)則一但是適用于下一最外面首部一來轉(zhuǎn)發(fā)數(shù)據(jù)分組。如隨后的小節(jié)所示,具有實現(xiàn)此基本要素的交換機是有價值的,因為它允許末端服務(wù)器上的軟件編排復(fù)雜的網(wǎng)絡(luò)行為,并且服務(wù)器軟件可以比交換機上的軟件更輕松地編寫、修改和部署。低成本的交換機常常實現(xiàn)多個封裝/解除封裝機制。第一示例是IP中IP(IP-in-IP)封裝(由評定要求文件2003進行定義,其藉此通過引用整體結(jié)合于此),其中IP數(shù)據(jù)分組被封裝在另一個IP首部內(nèi)。第二示例是VLAN封裝,其中,數(shù)據(jù)分組被封裝在包含VLAN標記的802.1首部內(nèi)。第三示例是MAC中MAC(MAC_in_MAC)隧穿(在IEEE802.Iah中闡述,其藉此通過引用整體結(jié)合于此)定義了類似于IP中IP封裝的層2。當交換機接收到發(fā)送到其自己的MAC地址的數(shù)據(jù)分組時,它移除最外面MAC首部,且如果里面有另一個MAC首部,則將數(shù)據(jù)分組轉(zhuǎn)發(fā)到里面首部中的MAC目的地址。當今802.Iah是在“電信級以太網(wǎng)”交換機中實現(xiàn)的,但是可以預(yù)期會被廣泛應(yīng)用。受限的轉(zhuǎn)發(fā)表大小由于大型芯片上存儲器的成本,低成本交換機常常具有小的轉(zhuǎn)發(fā)表。例如,盡管一些交換機在其轉(zhuǎn)發(fā)表中支持超過100KMAC條目,但是,絕大多數(shù)交換機只支持16000MAC個條目或12000個IP路由條目。由于是以帶有100K個服務(wù)器的數(shù)據(jù)中心為目標,顯然,不是每一個交換機都保留至每一服務(wù)器的路由。節(jié)點度有各種節(jié)點度的低成本的交換機可用,如此,可以使用多種交換機。例如,將來自每一機架中的20個服務(wù)器的20個Kibps鏈路聚合到2個10(ibpS上行鏈路上的架頂式(top-of-rack:T0R)交換機。作為第二示例,帶有IOGbps的144端口的“核心”交換機。這類交換機可從諸如Broadcom(廣通)、Arastra(艾拉思塔)、WovenSystems(機織系統(tǒng)),FulcrumMicrosystems(支點微系統(tǒng)),Nortel(北電),以及Extreme(極進)之類的供應(yīng)商處購得。服務(wù)器到服務(wù)器轉(zhuǎn)發(fā)在數(shù)據(jù)中心中的服務(wù)器之間轉(zhuǎn)發(fā)數(shù)據(jù)分組的能力是本系統(tǒng)的基本方面,其他功能被構(gòu)建于其上。在提供轉(zhuǎn)發(fā)時有三個主要問題要解決。轉(zhuǎn)發(fā)可縮放性本系統(tǒng)必須使用由每一交換機只能存儲16000個轉(zhuǎn)發(fā)條目的諸交換機構(gòu)成的網(wǎng)絡(luò)來連接100000個服務(wù)器。本系統(tǒng)不允許交換機看見每一服務(wù)器的目的地址。本發(fā)明的系統(tǒng)的解決方案是讓發(fā)送方服務(wù)器將其數(shù)據(jù)分組封裝到目的地的架頂式交換機,以使得交換機只需存儲其他交換機以及它們自己直接連接的服務(wù)器的轉(zhuǎn)發(fā)條目??梢杂卸喾N實施例。在一個實施例中,由服務(wù)器所發(fā)送的L2數(shù)據(jù)分組被封裝在MAC中MAC數(shù)據(jù)分組內(nèi)。在另一實施例中,由服務(wù)器所發(fā)送的L3數(shù)據(jù)分組被封裝在IP中IP數(shù)據(jù)分組內(nèi)。在更進一步的實施例中,數(shù)據(jù)分組可以被封裝在VLAN或Q中Q(VLAN中的VLAN)中。應(yīng)該理解,“架頂式交換機”被用來描述服務(wù)器所連接的交換機。此交換機常常與服務(wù)器位于同一機架上,但是,交換機的位置并非重要的,且在需要時,可以將它安置到數(shù)據(jù)中心中的別處,或與服務(wù)器集成到一個包中(如在刀片式服務(wù)器配置中那樣,其中,一個包包括由交換機連接的多個服務(wù)器或中央處理單元)。ARP可縮放性目標是創(chuàng)建支持平坦地址并連接所有服務(wù)器的單個大型層2域。如上文所描述的,常規(guī)設(shè)計的一個失敗在于,每一服務(wù)器使用地址解析協(xié)議(ARP)來解析它希望與其進行通信的其他服務(wù)器的地址。ARP協(xié)議所使用的廣播數(shù)據(jù)分組導(dǎo)致無法接受的開銷,其將層2域的大小限制成遠比所希望的服務(wù)器的數(shù)量(例如,100000個服務(wù)器)小。本發(fā)明的系統(tǒng)的解決方案是在由服務(wù)器所生成的ARP數(shù)據(jù)分組離開服務(wù)器之前截取它們,并替代地向目錄服務(wù)發(fā)送請求。目錄服務(wù)返回發(fā)送方服務(wù)器必須使用的地址(例如,目的服務(wù)器的MAC或IP地址,和/或目的地服務(wù)器所連接到的架頂式交換機,和/或一個或多個中間交換機的MAC或IP地址)。流量工程在不知道應(yīng)用程序?qū)⑦\行的流量模式的情況下,本系統(tǒng)必須支持任何流量矩陣,其中,沒有服務(wù)器被要求發(fā)送或接收比其網(wǎng)絡(luò)接口所允許的Kibps更多的流量(被稱為軟管流量模型。參見N.G.Duffield,P.Goyal,A.G.Greenberg,P.P.Mishra,K.K.Ramakrishnan,以及J.E.vanderMerwe所著的"Aflexiblemodelforresourcemanagementinvirtualprivatenetwork(用于虛擬專用網(wǎng)絡(luò)中的資源管理的柔性模型),,,其藉此通過引用整體結(jié)合于此)。本發(fā)明的系統(tǒng)的解決方案是使用Valiant負載平衡(VLB),這是已知的處理服從軟管模型的任意流量波動的不在意路由策略(obliviousroutingstrategy)0參見由Μ·Kodialam、T.V.Lakshman、J·B.Orlin,以及S.Sengupta所著的“AVersatileSchemeforRoutingHighlyVariableTrafficinServiceOverlaysandIPBackbones(用于在月艮務(wù)冠帶層和IP主干中路由高度可變流量的通用方案)”和由R.Zhang-Shen和N.McKeownM^r白勺“DesigningaPredictableInternetBackboneNetwork(i^ifnTfjSllJM^zF網(wǎng))”,在此引用了這兩個文件的全部內(nèi)容作為參考。VLB要求跨網(wǎng)絡(luò)發(fā)送的每一數(shù)據(jù)分組在被轉(zhuǎn)發(fā)到其目的地之前首先從隨機選擇的中間交換機“彈出”。本發(fā)明的系統(tǒng)通過向數(shù)據(jù)分組添加將這些數(shù)據(jù)分組送往隨機選擇的交換機的附加封裝首部來來實現(xiàn)VLB。通過使用擁塞控制機制(例如,IP網(wǎng)絡(luò)中的TCP或以太網(wǎng)中的QCN),將任意提供的流量需求轉(zhuǎn)換為接近于軟管模型下可容許的負載的流量矩陣負載一從網(wǎng)絡(luò)邊緣處的端口發(fā)送出或進入其的流量不超過端口速度。擁塞控制、VLB,以及適當?shù)慕粨Q機拓撲組合起來確保均勻的高吞吐量。負載分散在構(gòu)建數(shù)據(jù)中心應(yīng)用程序時,能夠跨一組服務(wù)器分散請求常常是有用的。本系統(tǒng)的解決方案是支持負載分散作為基本轉(zhuǎn)發(fā)的一部分。每當本系統(tǒng)將數(shù)據(jù)分組發(fā)送到IP地址I時,已準備好將該IPI地址解析為MAC或IP地址列表,這些地址與其他服務(wù)器相關(guān)聯(lián),這些其他服務(wù)器中的每一個都適用于處理最初由應(yīng)用程序發(fā)送到IP地址I的數(shù)據(jù)分組。在此情況下,發(fā)送方可以使用一致的散列來選擇向其發(fā)送數(shù)據(jù)分組的地址??偟膩碚f,這些解決方案能在例如使用帶有小的轉(zhuǎn)發(fā)表的交換機的同時實現(xiàn)帶有VLB的流量不在意屬性的大型層2域。由單個IP地址解析為多個地址的能力所產(chǎn)生的網(wǎng)絡(luò)的負載分散能力,意味著,負載平衡可以使用服務(wù)器本身來實現(xiàn),而無需專門的負載平衡硬件。從目錄獲取路徑信息當在服務(wù)器210上運行的應(yīng)用程序?qū)⒁l(fā)送到一IP地址的數(shù)據(jù)分組呈現(xiàn)給其網(wǎng)絡(luò)棧時,服務(wù)器在它可以創(chuàng)建并發(fā)送數(shù)據(jù)分組之前需要兩個信息片段。如上所述,它必須具有負責處理該IP地址的服務(wù)器的地址列表,以及其中那些服務(wù)器中的每一個所連接到的架頂式交換機的地址。它還需要交換機地址列表,它將從該列表中隨機挑選要從其“彈出”數(shù)據(jù)分組的交換機。服務(wù)器從由本系統(tǒng)所維護的目錄服務(wù)獲取這些信息片段。下面將講述藉由其利用數(shù)據(jù)填充目錄服務(wù)的手段。圖3示出了本系統(tǒng)中的服務(wù)器210的網(wǎng)絡(luò)棧300。傳統(tǒng)ARP實現(xiàn)已經(jīng)被禁用,并被替換為可以在用戶或內(nèi)核模式下運行的進程,簡稱為代理302,并且已添加了新的虛擬接口,叫做封裝器306,來封裝傳出分組。這些變化對應(yīng)用程序是完全透明的。當封裝器306從IP網(wǎng)絡(luò)棧接收數(shù)據(jù)分組時,它計算數(shù)據(jù)分組的流id,并檢查其活動流的緩存,以查找匹配條目。如果沒有條目,則將數(shù)據(jù)分組列入隊列,并向代理302發(fā)送請求,以使用目錄服務(wù)查找遠程IP。一旦目錄服務(wù)返回IP地址解析到的地址、那些服務(wù)器所連接到的架頂式交換機的地址、以及一組要使用的VLB中間交換機,封裝器306就選擇目的地址(以及其相對應(yīng)的架頂式交換機地址)以及該流的VLB中間節(jié)點,并高速緩存此映射。服務(wù)器可以為每一流選擇不同中間節(jié)點,如此,在所有VLB中間節(jié)點之間分散其負載,而不導(dǎo)致TCP數(shù)據(jù)分組重排序。如果目錄服務(wù)將一遠程IP地址映射到地址列表,則服務(wù)器將為到該遠程IP的每一個流選擇不同地址,從而實現(xiàn)負載分散。利用來自流高速緩存中的條目中的信息,封裝和轉(zhuǎn)發(fā)數(shù)據(jù)分組是直接的。圖4示出了如何利用三個首部傳送IP數(shù)據(jù)分組400。最外面首部402將所選中間節(jié)點(N)作為目的地,中間首部404將目標架頂式交換機(TD)作為目的地,而最里邊首部406具有最終目的地的地址(D)。應(yīng)該理解,可以使用各種首部封裝協(xié)議,包括MAC、VLAN或IP。發(fā)送方服務(wù)器的架頂式交換機(化)將數(shù)據(jù)分組轉(zhuǎn)發(fā)到VLB中間節(jié)點,該VLB中間節(jié)點在接收到數(shù)據(jù)分組之際移除外部首部,并將數(shù)據(jù)分組轉(zhuǎn)發(fā)到目的地的架頂式交換機。該過程重復(fù),且架頂式交換機將帶有單個首部的普通以太網(wǎng)數(shù)據(jù)分組轉(zhuǎn)發(fā)到目的服務(wù)器。諸如SEUE之類的現(xiàn)有工作(參見C.Kim、Μ.Caesar,以及J.Rexford所著的"Buildingscalableself-configuringnetworkswithSEIZE(構(gòu)建具有SEIZE的可縮放自配置網(wǎng)絡(luò))”,在此引用該文的全部內(nèi)容作為參考)還使用中間交換機“彈出”流量。然而,本系統(tǒng)和SEUE之間的主要區(qū)別在于,SEUE通過相同中間節(jié)點將所有流量路由到給定目的地,而本系統(tǒng)跨所有可用的中間節(jié)點分散流量以獲得VLB的優(yōu)點。外部連接圖5示出了在數(shù)據(jù)中心的外面起源或終止的連接的網(wǎng)絡(luò)路徑。外部流量通過邊界路由器(BR)進入和退出數(shù)據(jù)中心。邊界路由器通過層3等價多徑(ECMP)路由配置連接到一組訪問路由器(AR)。如上文所描述的,通過經(jīng)由本系統(tǒng)的目錄服務(wù)的地址解析和源處的以太網(wǎng)數(shù)據(jù)分組的封裝,在數(shù)據(jù)中心內(nèi)路由流量。由于訪問路由器可能不被修改以執(zhí)行源路由,所有外部流量都可以通過充當?shù)綌?shù)據(jù)中心的網(wǎng)關(guān)的叫做“進入服務(wù)器”的特殊服務(wù)器502來路由。每一進入服務(wù)器都具有兩個網(wǎng)絡(luò)接口一一個直接連接到訪問路由器,而另一個經(jīng)由架頂式交換機連接到數(shù)據(jù)中心網(wǎng)絡(luò)。對于來自因特網(wǎng)的數(shù)據(jù)分組,進入服務(wù)器502從訪問路由器獲取數(shù)據(jù)分組,使用本系統(tǒng)的目錄服務(wù)解析內(nèi)部IP,并使用前面所描述的相同服務(wù)器到服務(wù)器的轉(zhuǎn)發(fā)機制來在數(shù)據(jù)中心內(nèi)轉(zhuǎn)發(fā)流量。目錄服務(wù)將層2域的默認網(wǎng)關(guān)的IP地址映射到進入服務(wù)器的MAC地址,因此向因特網(wǎng)前進的數(shù)據(jù)分組通過它們流入到訪問路由器。在一替換實施例中,進入服務(wù)器可以具有一個網(wǎng)絡(luò)接口,且該接口連接到架頂式交換機。負載平衡許多數(shù)據(jù)中心應(yīng)用程序要求在服務(wù)器池上分發(fā)工作的能力。在某些情況下,工作發(fā)源于因特網(wǎng)中的客戶機,在其他情況下,發(fā)源自數(shù)據(jù)中心內(nèi)的服務(wù)器。本系統(tǒng)提供支持最常見類型的工作分發(fā)的機制。負載分散當目標是將請求均勻地分散在服務(wù)器池上并且服務(wù)器應(yīng)該將客戶機的IP地址看作請求的源地址時,由根據(jù)本系統(tǒng)的服務(wù)器到服務(wù)器轉(zhuǎn)發(fā)機制所提供的負載分散基本要素是足夠的。該池中的所有服務(wù)器都將配置有與該池相關(guān)聯(lián)的VIP以及它們自己的IP地址。然后,目錄服務(wù)將維護與VIP相關(guān)聯(lián)的池中的所有服務(wù)器的地址。響應(yīng)于對VIP的給定請求,將使用一致的散列來為每一個請求挑選服務(wù)器。負載平衡當目標是在實際服務(wù)器前面放置中間盒時,本系統(tǒng)可以使用如圖2所示的方法。VIP被配置到所有中間盒上,導(dǎo)致進入服務(wù)器使用上文所描述的一致的散列和負載分散方法來跨中間盒均勻地分散請求。通過以此方式跨多個中間盒分散負載,本系統(tǒng)支持N+1故障轉(zhuǎn)移配置,與常規(guī)體系結(jié)構(gòu)所使用的1+1故障轉(zhuǎn)移配置相反。中間盒自由地實現(xiàn)應(yīng)用程序所希望的任何功能。例如,中間盒可以實現(xiàn)負載平衡器,該負載平衡器重寫源和目的IP地址以使用某種工作負載或請求敏感的邏輯來在第二服務(wù)器池上分散請求,或者,它可以進行深數(shù)據(jù)分組檢查,以在將請求發(fā)送到應(yīng)用程序服務(wù)器之前證實請求。作為另一個示例,中間盒可以結(jié)束傳入TCP連接,并解密它們中所包含的SSL連接,從而,從應(yīng)用程序服務(wù)器卸載工作。此示例還示出了負載分散為什么必須使用一致的散列-ECMP可以將數(shù)據(jù)分組(為相同TCP連接的一部分)送往多個不同的訪問路由器和進入服務(wù)器??墒牵心切?shù)據(jù)分組最終被發(fā)送到同一個中間盒是關(guān)鍵的,一致的散列將確保此發(fā)生。作為一致的散列的替代方案是節(jié)點之間的每流態(tài)(per-flowstate)同步。11交換機拓撲結(jié)構(gòu)有許多可用來將構(gòu)成層2域的交換機連接起來的物理拓撲,但是,本節(jié)提供了將^100000服務(wù)器互連并特別適用于Valiant負載平衡的拓撲的一個具體示例。如圖6所示,每一架頂式交換機602在網(wǎng)絡(luò)一側(cè)具有2個10(ibpS端口,這些端口連接到兩個不同核心進入-外出交換機604,以便容錯。在一個實施例中,有Ii1=144個這樣的進入-外出交換機604。這些進入-外出交換機在它們之間沒有鏈路,但是,它們中的每一個都通過10(ibpS端口連接到每一中間交換機602,中間交換機602有n2=72個。此拓撲結(jié)構(gòu)是克洛斯(clos)網(wǎng)絡(luò)的修改,并特別適用于VLB,因為它向由流占據(jù)的路徑添加最小的延伸(額外的跳躍)。此外,每一流都可以從同一組交換機602中選擇其要彈出的中間交換機602??刂破矫姹鞠到y(tǒng)的控制平面具有至少兩個職責第一,在交換機中維護轉(zhuǎn)發(fā)表;第二,操作跟蹤每一服務(wù)器用來連接到網(wǎng)絡(luò)的端口,以及服務(wù)器的IP和MAC地址的目錄服務(wù)。架頂式交換機可以被編程以跟蹤直接連接到它們的服務(wù)器的IP和MAC地址,并在鏈路狀態(tài)廣告(LSA)中宣告此信息。替換地,向數(shù)據(jù)中心應(yīng)用程序指派服務(wù)器的供應(yīng)系統(tǒng)可以在其指定它們時記錄每一服務(wù)器的MAC地址、IP地址,以及TOR。維護轉(zhuǎn)發(fā)表如上文所闡述的,本系統(tǒng)要求每一交換機都具有帶有每個其他交換機的條目的轉(zhuǎn)發(fā)表。可以使用可以計算數(shù)據(jù)中心中的大致漲個交換機之間的路由的任何技術(shù)。在一個可能的實施例中,交換機在它們本身之間運行鏈路狀態(tài)路由協(xié)議。在一替換實施例中,可以基于4D體系結(jié)構(gòu)使用在邏輯上集中的路由,以計算交換機的轉(zhuǎn)發(fā)表,并響應(yīng)于失敗根據(jù)需要重新計算表。超正方體(參見H.Yan、D.A.Maltz、Τ.S.Ε.Ng、H.Gogineni,H.Zhang,以及Ζ.Cai所著的Tesseract:Α4Dnetworkcontrolplane(超正方體4D網(wǎng)絡(luò)控制平面),在此引用該文的全部內(nèi)容作為參考)表明,使用判決元件所實現(xiàn)的集中式控制輕松地縮放以管理1000個交換機,如此,可以計算100000個服務(wù)器數(shù)據(jù)中心中的大致5000個交換機的路由。為消除由廣播流量所引起的縮放問題,交換機可以被編程為將沒有轉(zhuǎn)發(fā)條目的任何數(shù)據(jù)分組轉(zhuǎn)發(fā)到判決元件。這會誘捕服務(wù)器可能發(fā)送的任何廣播數(shù)據(jù)分組(例如,DHCP請求),并允許判決元件決定如何處理它。為防止透明學(xué)習(xí)算法改變由判決元件所產(chǎn)生的轉(zhuǎn)發(fā)表,可以禁用交換機上的學(xué)習(xí)。在一替換實施例中,可以使用交換機上其他代理來截取并轉(zhuǎn)發(fā)廣播流量。例如,可以使用交換機上的DHCP中繼代理來將DHCP請求轉(zhuǎn)發(fā)到DHCP服務(wù)器。在又一實施例中,每一服務(wù)器上的代理可以截取服務(wù)器嘗試發(fā)送的廣播或多播數(shù)據(jù)分組,并將這些數(shù)據(jù)分組重定向到判決元件或目錄服務(wù)器供進行處理。維護目錄服務(wù)有許多用于實現(xiàn)本系統(tǒng)所需的目錄服務(wù)的方式,但是一個這樣的方法如下運行控制平面的判決元件提供一目錄服務(wù),該目錄服務(wù)將服務(wù)器的IP地址映射到(服務(wù)器地址、架頂式交換機地址)元組的列表和中間節(jié)點地址的列表。此設(shè)計實現(xiàn)起來簡單,因為填充目錄服務(wù)所需的大部分信息來自從架頂式交換機中獲取的LSA,并已經(jīng)可為判決元件所用。然而,當服務(wù)器崩潰時,在LSA更新以及從目錄服務(wù)中移除服務(wù)器之前可能要花費一些時間。大多數(shù)數(shù)據(jù)中心應(yīng)用程序已經(jīng)提供監(jiān)視服務(wù)器的保健服務(wù)(例如,AutoPilot(gsj]M),#JALM.IsardM胃白勺"AutopilotAutomaticdatacentermanagement(自動導(dǎo)航自動數(shù)據(jù)中心管理)”,在此引用該文的全部內(nèi)容作為參考),且本系統(tǒng)利用此保健服務(wù)來從跨其上對請求進行負載平衡的服務(wù)器的池中快速地移除失敗的服務(wù)器。在一替換實施例中,目錄服務(wù)是通過不直接參與網(wǎng)絡(luò)控制平面的操作的服務(wù)器來實現(xiàn)的。在此實施例中,作為供應(yīng)過程、配置過程的一部分,或經(jīng)由服務(wù)器向DHCP系統(tǒng)的注冊,將IP地址、架頂式交換機地址和中間交換機地址之間的映射通知給服務(wù)器。也可以使用目錄服務(wù)來通過禁止由某一服務(wù)器對某一IP地址的解析,來實現(xiàn)安全策略(例如,用于將應(yīng)用程序彼此隔離)。給定新興的云服務(wù)數(shù)據(jù)中心的規(guī)模、成本和重要性,重新考慮其網(wǎng)絡(luò)的組件和總體體系結(jié)構(gòu)是網(wǎng)絡(luò)社區(qū)的責任。這些數(shù)據(jù)中心的組件包括非常低的價格點的帶有吉比特速度網(wǎng)絡(luò)端口的強大的多核服務(wù)器;自動化幾十萬個服務(wù)器和交換機的配置和管理的分布式系統(tǒng);并且所有這些都在單個組織的控制下。這些因素一起打開了對數(shù)據(jù)中心內(nèi)部的服務(wù)器和交換機進行基礎(chǔ)改變的機會,但仍維護外部IP接口。令人遺憾的是,流行的數(shù)據(jù)中心網(wǎng)絡(luò)體系結(jié)構(gòu)(圖1)不足以實現(xiàn)這些組件的完全優(yōu)點。具體而言,在當今的云服務(wù)數(shù)據(jù)中心,網(wǎng)絡(luò)和服務(wù)器容量被分段,且二等分帶寬低于聚合服務(wù)器帶寬一到兩個數(shù)量級。在本系統(tǒng)中,提供了利用新興的數(shù)據(jù)中心組件的能力的網(wǎng)絡(luò)設(shè)計。利用將網(wǎng)絡(luò)功能置于主機的能力來在商用服務(wù)器上實現(xiàn)解聚的可縮放負載平衡,以及附屬的網(wǎng)絡(luò)健康監(jiān)測和目錄服務(wù)。利用如此重構(gòu)的功能,控制平面和數(shù)據(jù)平面可以被擴展以支持在數(shù)據(jù)中心中的所有服務(wù)器之間提供全帶寬的巨大的層2交換域。數(shù)據(jù)中心互連和流量工程的一個重要設(shè)計目標是為了在受服務(wù)器線卡進入/外出約束(當前是mbps)的數(shù)據(jù)中心中的所有服務(wù)器之間支持任意流量模式。這意味著,在任何給定時間在任何服務(wù)器對之間都可能存在并發(fā)流,只要進入或退出服務(wù)器的總流量至多是K^bps。也稱為軟管流量模型的此流量波動模型(參見N.G.Duffield,P.Goyal,A.G.Greenberg、P.P.Mishra、K.K.Ramakrishnan,以及J.Ε·vanderMerwe所著的"Aflexiblemodelforresourcemanagementinvirtualprivatenetworks(用于虛擬專用網(wǎng)絡(luò)中的資源管理的柔性模型)”,在此引用該文的全部內(nèi)容作為參考),在ISP主干網(wǎng)設(shè)計的上下文中的文獻里已經(jīng)被考慮(例如,指定虛擬專用網(wǎng)絡(luò)(VPN)的流量要求)。為在軟管模型中路由流量,此處闡述了某些具體互連拓撲,這些互連拓撲考慮了交換機端口數(shù)連同保證軟管流量的吞吐量而無需實時測量流量或響應(yīng)于它而重新配置網(wǎng)絡(luò)的不在意路由策略。本設(shè)計使用簡單的網(wǎng)格類體系結(jié)構(gòu)、商用交換機、對控制平面的修改,以控制協(xié)議開銷(例如,來自ARP)以及通過多徑路由來支持靈活的流量工程(參見SLAM期刊之計算(SIAMJournalonComputing)中由L.G.Valiant所著的"Aschemeforfastparallelcommunication(用于快速并行通信的方案)”,在此引用該文的全部內(nèi)容作為參考)。它將負載平衡的功能解聚為一組常規(guī)服務(wù)器,結(jié)果,負載平衡服務(wù)器硬件可以在數(shù)據(jù)中心中的機架之間分布,導(dǎo)致更大的靈活性和較少的分段。該體系結(jié)構(gòu)創(chuàng)建巨大且靈活的層2交換域,從而支持任何服務(wù)器/任何服務(wù)、全網(wǎng)格靈活性、以及低成本下的未分段的服務(wù)器容量?;ミB拓撲構(gòu)造下面的構(gòu)造通過較小的交換節(jié)點的互連產(chǎn)生極高吞吐量的網(wǎng)絡(luò)。該構(gòu)造提供非常高的靈活性和非常高的效率一意味著,該結(jié)構(gòu)允許從任何節(jié)點到任何其他節(jié)點發(fā)生高速度傳輸,而不管節(jié)點位置如何。此外,任何服務(wù)都可以在任何節(jié)點上得到支持,并且該服務(wù)可以動態(tài)地遷移到其他節(jié)點。這些構(gòu)造的有利屬性包括支持全速率下的任意流量混合和矩陣。具體而言,可以使用η節(jié)點結(jié)構(gòu)來支持任何流量矩陣Τ,其中ΣJi,j<Ci并且ΣJi,,.<…,其中,Ty是多個節(jié)點中從節(jié)點i到節(jié)點j的需求,Ci是節(jié)點i可以成功地發(fā)送流量的最高速率,Clj是節(jié)點j可以成功地接收流量的最高速率?!ぶС謴V泛的節(jié)點和鏈路失敗集,并且對于存活的結(jié)構(gòu)影響小且服務(wù)帶寬適度退化一通過自適應(yīng)調(diào)整路由方案或(重新)隨機化對目的地服務(wù)器、架頂式交換機或者中間交換機的地址選擇的動作。·支持多路徑路由一要么通過隨機或基于散列的負載分散機制,要么通過流量工程機制。·支持TCP友好行為,這意味著分組重新排序事件是罕見的。·支持使流量出入交換機結(jié)構(gòu)?!ぶС挚缛我夤?jié)點組對流量進行負載平衡?!ぷ詣踊W(wǎng)絡(luò)和系統(tǒng)管理的集成。構(gòu)件是至少兩種類型的節(jié)點類型1度dl,速度sl(即,dl雙向端口,且每一端口在每一方向以速度Sl運行)?!ゎ愋?度d2,速度s2(即,d2雙向端口,且每一端口在每一方向以速度s2運行)。一般而言,類型i度di,速度si(即,di雙向端口,且每一端口在每一方向以速度s2運行Si運行)。假設(shè)類型1節(jié)點提供訪問;即,到源和到接收器的流量一這些具有訪問側(cè)上以訪問速度運行的某一數(shù)量P的端口。假設(shè)類型2(或更高)節(jié)點充當類型1節(jié)點之間的中轉(zhuǎn)。在由類型1和類型2節(jié)點構(gòu)成的網(wǎng)絡(luò)中,可以使用多種路由算法中的任何一種??梢允褂玫娜N類型的路由算法為最短路徑轉(zhuǎn)發(fā)(SPF)節(jié)點i到節(jié)點j之間的路由沿著給定的與鏈路相關(guān)聯(lián)的度量下從i到j(luò)的最短路徑。-Valiant負載平衡(VLB)節(jié)點i到節(jié)點j之間的路由是通過首先確定中間節(jié)點k然后路由i到k接下來經(jīng)由k到j(luò)來選擇的。為可證明地獲得高吞吐量,將從i到j(luò)的流量分散到大量的路徑上是有利的。因此,可以通過通信流id(TCP/IP首部的非易失性分量)的偽隨機散列來選擇k。可以使用SPF來從i路由到k,并從k到j(luò)。到不同中間節(jié)點k的流量分割比可以相等或不相等?!ち髁抗こ?TE)可以通過考慮流量矩陣和網(wǎng)絡(luò)拓撲(例如,通過測量),以及優(yōu)化過程中的一個來選擇路由,以便在沿著從i到j(luò)的路徑的每一節(jié)點對i,j之間分割流量。這可以例如通過產(chǎn)生不必取最短路徑的路由的優(yōu)化(例如,多商用流優(yōu)化)來完成,或者替換地,通過調(diào)整SPF權(quán)重和使用SPF。假設(shè)有nl個類型1節(jié)點和n2個類型2節(jié)點,如此,總共有η=nl+n2個節(jié)點??梢园慈缦路绞疥愂鰠?shù)之間的關(guān)系該結(jié)構(gòu)按如下方式工作。兩個節(jié)點類型可以被視為在邏輯上排列成圓。(此圓與物理布局毫無關(guān)系一它只是用于描述如何在網(wǎng)絡(luò)中放置邊緣的方便設(shè)計。物理布局是任意的。)按如下方式在節(jié)點之間添加鏈路1.將每一個節(jié)點連接到節(jié)點i-Ι以及i+Ι模η。2.繞著圓以n/(dl_2)位置間隔增量,將每一個節(jié)點連接到其他節(jié)點(模η)。這在兩種類型的每一個節(jié)點處使用度dl,并消耗類型1節(jié)點的所有鏈路。3.重復(fù)步驟2,只考慮類型2節(jié)點的較小嵌入環(huán),并繞著圓以n2/(d2-dl)位置間隔增量,將每一類型2節(jié)點連接到其他類型2節(jié)點(模n2)。這消耗類型2節(jié)點的所有鏈路。步驟1、2被概括為在第一層中使用任何dl-正則(連接的)圖拓撲結(jié)構(gòu)。其他具體示例包括(i)繞著圓在任一方向上將每一個節(jié)點連接到節(jié)點直到dl/2位置,(ii)如果節(jié)點的數(shù)量是dl次冪,則為(dl/2)維環(huán)形。類似地,步驟3被概況為類型2節(jié)點之間的互連。在所有鏈路都是兩部分(在類型(1)和類型(之間)的情況下,可以使用結(jié)構(gòu)的變化。這導(dǎo)致下面參考圖8所描述的第二示例中的優(yōu)化的VLB互連。在該示例中,還提供了對類型(1)和類型(交換機使用144端口交換機的版本。作為第二示例的變體的圖9的第三示例允許縱向擴展到200000個服務(wù)器來進行互連。一種考慮該結(jié)構(gòu)的方便方式在于,首先在維度dl的正則2維柵格中嵌入(隨機地或有規(guī)則地)η個節(jié)點,然后,在維度d2-dl的另一個正則2維柵格中嵌入(也是隨機地或有規(guī)則地)類型2節(jié)點。類型2節(jié)點提供通過原始柵格的“捷徑”。柵格可被創(chuàng)建成具有相當大的增長靈活性——通過在嵌入中保留孔,以及經(jīng)由通過更大的度dl'和d2'(dl<dl'和d2<d2')來實現(xiàn),從而保留備用端口以便有機地并簡單地容納新節(jié)點。示例1(帶有計算)參考圖7,下面的示例示出了在40000個服務(wù)器數(shù)據(jù)中心中提供全速率結(jié)構(gòu)的互連拓撲結(jié)構(gòu)700。使用更具體的術(shù)語,假設(shè)1.類型(1)的L2訪問交換機,帶有用于訪問的ρ=20IOG端口(面向架頂式交換機),以及網(wǎng)絡(luò)側(cè)上的度dl=20IOG端口。這些有nl=48。2.類型⑵的L2中轉(zhuǎn)交換機,帶有度d2=100IOG端口(假設(shè)現(xiàn)在沒有訪問側(cè)端口)。這些有n2=24。則,有總節(jié)點=n=nl+n2平均節(jié)點度d=(nl*dl+n2*d2)/n假設(shè)VLB或TE,給定類型(1)交換機對之間的平均(雙向)需求=(l/n)*(p+p)=2p/n交換機(1)對的數(shù)量=nl*(nl-l)/2給定類型⑴和類型⑵交換機對之間的平均(雙向)需求=(l/n)*p(因為類型⑵交換機沒有訪問權(quán))=ρ/η交換機(1)、⑵對的數(shù)量=nl*n2以上交換機對之間的總需求=(2p/n)*nl*(nl-l)/2+(p/n)*nl*n2=(p/η)*nl*(nl+n2-l)最短路徑的平均跳躍長度可以近似為sqrt(n/d)。因此,所使用的總帶寬-跳躍(以IOG為單位)=(p/n)*nl*(nl+n2-l)*sqrt(n/d)網(wǎng)絡(luò)中的IOG鏈路的數(shù)量=n*d/2因此,平均鏈路利用率=[(p/n)*nl*(nl+n2-l)*Sqrt(n/d)]/(n*d/2)(其應(yīng)該是小于1以支持全速率任何到任何(any-to-any)流量矩陣)。這些是平均數(shù)。為獲得準確數(shù),可以選擇參數(shù)來確定對于VLB和TE的路由和分割比。假設(shè)IOG端口平均耗費$1K,總成本大約是$4.1Μ。示例2(優(yōu)化的VLB互連)參考圖8,通過按如下方式優(yōu)化VLB分割比,對于此特定情形(20xl0G軟管),可以獲得更簡單的互連拓撲結(jié)構(gòu)800。1.將每一類型⑴節(jié)點連接到π2=20個類型⑵節(jié)點,對于每一個,使用一個IOG端口。(在兩種類型(1)節(jié)點或兩種類型(節(jié)點之間沒有鏈路)2.與使用具有分割比1/20的VLB——每一類型(1)節(jié)點都分割至所有n2=20個類型⑵節(jié)點。然后,所有鏈路被完全使用。每一類型(1)節(jié)點上的端口=20+20=40每一類型⑵節(jié)點上的端口=48(每一類型⑴節(jié)點一個)。所使用的總的IOG端口=48*40+20*48=2880(每一個被100%利用)這會增加到大約$2.9M(每個端口@$1K)。為與以前的設(shè)計進行比較,如果每一鏈路利用率都被縮小為0.7(同類型作比較),結(jié)果是觀80/0.7=4115個端口。大約$4.IM(與以前的設(shè)計成本相比較)。再次參考上面的圖6,對類型(1)和類型(使用144端口交換機,獲得下面的互連。這可以支持高達144X36X20=103680個服務(wù)器。示例3(雙倍縮放優(yōu)化的VLB互連)現(xiàn)在參考圖9,通過重復(fù)上文在圖6中所討論的拓撲并將每一TOR連接到拓撲的不同副本中的類型(1)交換機,互連拓撲900可以擴展到2X144X36X20=207360服務(wù)器。路由和流量工程可以基于上文參考圖6所示出和討論的拓撲的Valiant負載平衡來示出不在意路由策略。考慮在TOR-A處進入網(wǎng)絡(luò)并退出TOR-B的兩個服務(wù)器之間的端對端流。此流在網(wǎng)絡(luò)中沿著路徑TOR-A->類型(1)交換機(連接到TOR-A)->類型(交換機_>類型(1)交換機(連接到TOR-B)->T0R-B。在概念上,在給定TOR處進入網(wǎng)絡(luò)的流以比率l/n2=1/72被分割到每一中間節(jié)點類型(2)交換機??梢则炞C,當每一服務(wù)器線卡準許流量以IG的全線速率進入/外出時,這樣的分割比導(dǎo)致網(wǎng)絡(luò)中的所有IOG鏈路完全被利用。為防止數(shù)據(jù)分組重排序(以及其對TCP性能的潛在影響),每一流都可以被散列到中間節(jié)點(例如,基于5元組流標識符)。為隱藏核心網(wǎng)絡(luò)中的服務(wù)器地址,并實現(xiàn)如上的兩階段路由,使用兩級的封裝/隧穿(參見,例如,RFC2003或IEEE802.Iah標準,http//www.ieee802.org/l/pages/802.lah.html,在此引用了該文的全部內(nèi)容作為參考)來在核心網(wǎng)絡(luò)中轉(zhuǎn)發(fā)數(shù)據(jù)分組。前面的對本發(fā)明的詳細描述只是為了說明和描述。它不是詳盡的說明或?qū)⒈景l(fā)明限于所公開的準確的形式。鑒于上述教導(dǎo),許多修改和變型都是可能的。所描述的實施例只是為了最好地說明本發(fā)明的原理以及其實際應(yīng)用,從而使精通本技術(shù)的其他人在各種實施例中最佳地利用本發(fā)明,適合于特定用途的各種修改也是可以的。本發(fā)明的范圍由所附的權(quán)利要求進行定義。權(quán)利要求1.一種將數(shù)據(jù)中心內(nèi)的多個服務(wù)器(210)聯(lián)網(wǎng)在一起的方法,所述方法包括以下步驟定址供傳遞到目的地服務(wù)器O10)的數(shù)據(jù)分組000),所述定址步驟包括提供目的地服務(wù)器地址作為平坦地址的步驟;從服務(wù)于所述多個服務(wù)器的目錄服務(wù)(30獲取將所述分組路由到所述目的地服務(wù)器所需的路由信息;以及根據(jù)所述目的地服務(wù)器的平坦地址和從所述目錄服務(wù)(302)獲取的路由信息來將所述數(shù)據(jù)分組(400)路由到所述目的地服務(wù)器。2.如權(quán)利要求1所述的方法,其特征在于,將所述數(shù)據(jù)分組路由到所述目的地服務(wù)器的步驟包括封裝所述數(shù)據(jù)分組以及修改其首部的步驟中的至少一個,所述封裝和修改步驟由用于路由所述數(shù)據(jù)分組的第一服務(wù)器或交換機執(zhí)行。3.如權(quán)利要求1所述的方法,其特征在于,從所述目錄服務(wù)獲取路由信息的步驟包括獲取所述目的地服務(wù)器的架頂式交換機和所述數(shù)據(jù)分組經(jīng)過的一個或多個中間交換機中的至少一個的地址的步驟。4.如權(quán)利要求1所述的方法,其特征在于,還包括使用Valiant負載平衡來確定由所述目錄服務(wù)提供的路由信息的步驟。5.如權(quán)利要求4所述的方法,其特征在于,還包括在所述目錄服務(wù)中存儲負責處理每一個虛擬IP地址的服務(wù)器的地址以及連接那些服務(wù)器中的每一個的架頂式交換機的地址的列表的步驟。6.如權(quán)利要求1所述的方法,其特征在于,還包括從由所述目錄服務(wù)提供的替換組件中選擇以下組件的步驟從其彈出所述數(shù)據(jù)分組的一個或多個交換機;以及接收所述數(shù)據(jù)分組的服務(wù)器。7.一種用于允許數(shù)據(jù)中心中的服務(wù)器之間的通信的方法,包括將數(shù)據(jù)中心內(nèi)的用于運行客戶機應(yīng)用程序的多個服務(wù)器連接到多個交換機和鏈路;由服務(wù)器上的應(yīng)用程序創(chuàng)建數(shù)據(jù)分組,所述數(shù)據(jù)分組包括預(yù)期用于另一服務(wù)器或應(yīng)用程序的信息,并用指示所述目的地服務(wù)器或應(yīng)用程序的身份的地址來定址所述分組;以及由服務(wù)器和交換機中的一個使用目錄服務(wù)來處理所述數(shù)據(jù)分組,以便將所述預(yù)期服務(wù)器或應(yīng)用程序的身份轉(zhuǎn)換成能夠處理所述數(shù)據(jù)分組的服務(wù)器的一個或多個地址以及跨所述多個交換機將所述分組定向到那些一個或多個地址所需的信息。8.如權(quán)利要求7所述的方法,其特征在于,還包括以下步驟向上或向下更改所述目錄服務(wù)中被列為能夠處理被定址到應(yīng)用程序或服務(wù)器的數(shù)據(jù)分組的服務(wù)器的數(shù)量以更改可用于處理預(yù)期用于服務(wù)器或應(yīng)用程序的分組的數(shù)據(jù)中心的容量。9.如權(quán)利要求8所述的方法,其特征在于,還包括由其他服務(wù)器而非專用負載平衡器來將請求或數(shù)據(jù)中心工作負載分發(fā)給各服務(wù)器的步驟。10.如權(quán)利要求7所述的方法,其特征在于,還包括通過以下步驟來增加網(wǎng)絡(luò)的容量以便承載附加通信的步驟邏輯上將所述多個交換機安排成兩個或更多層或類型的交換機;向所述多個交換機和鏈路添加交換機和鏈路以便增加一個或多個層的寬度;以及更改所述網(wǎng)絡(luò)的控制平面或由所述目錄服務(wù)返回的路由信息,以使得所述網(wǎng)絡(luò)所承載的數(shù)據(jù)分組散布在現(xiàn)有鏈路和所添加的鏈路上。11.如權(quán)利要求10所述的方法,其特征在于,還包括以下步驟由控制平面和/或目錄服務(wù)通過重定向數(shù)據(jù)分組來對包括η個交換機或鏈路的層中的鏈路或交換機的故障作出反應(yīng)以便避開發(fā)生故障的交換機或鏈路,以使得所述網(wǎng)絡(luò)的容量降低其在所述故障之前的容量的大約1/η因子。12.如權(quán)利要求10所述的方法,其特征在于,還包括通過選擇要從其彈出所述數(shù)據(jù)分組的交換機或服務(wù)器來將數(shù)據(jù)分組散布在現(xiàn)有鏈路和新鏈路上的步驟。13.一種數(shù)據(jù)中心體系結(jié)構(gòu),包括所述數(shù)據(jù)中心內(nèi)的用于運行所有客戶機應(yīng)用程序的多個聯(lián)網(wǎng)服務(wù)器,所述多個聯(lián)網(wǎng)服務(wù)器中的第一服務(wù)器上的應(yīng)用程序創(chuàng)建去往所述多個聯(lián)網(wǎng)服務(wù)器中的目的地服務(wù)器的數(shù)據(jù)分組,所述應(yīng)用程序用平坦地址標識所述目的地服務(wù)器;用于將所述數(shù)據(jù)分組從所述第一服務(wù)器路由到所述目的地服務(wù)器的交換機的網(wǎng)絡(luò);以及用于存儲路由信息的目錄服務(wù),所述路由信息用于經(jīng)由所述多個交換機中的一個或多個來將所述數(shù)據(jù)分組從所述第一服務(wù)器路由到所述目的地服務(wù)器。14.如權(quán)利要求13所述的數(shù)據(jù)中心體系結(jié)構(gòu),其特征在于,所述目錄服務(wù)將所述路由信息傳送給所述第一服務(wù)器。15.如權(quán)利要求13所述的數(shù)據(jù)中心體系結(jié)構(gòu),其特征在于,當服務(wù)器不提供顯式路由指令時,所述目錄服務(wù)將所述路由信息傳送給來自所述服務(wù)器的數(shù)據(jù)分組所采用的路徑上的交換機。16.如權(quán)利要求13所述的數(shù)據(jù)中心體系結(jié)構(gòu),其特征在于,所述交換機的網(wǎng)絡(luò)由層2以太網(wǎng)交換機組成。17.如權(quán)利要求13所述的數(shù)據(jù)中心體系結(jié)構(gòu),其特征在于,所述平坦地址和目錄服務(wù)允許數(shù)據(jù)網(wǎng)絡(luò)在不增加所述交換機中的轉(zhuǎn)發(fā)表的大小的情況下橫向擴展。18.如權(quán)利要求13所述的數(shù)據(jù)中心體系結(jié)構(gòu),其特征在于,還包括包含所述目錄服務(wù)的控制平面,所述目錄服務(wù)存儲負責處理虛擬IP地址的服務(wù)器的地址和連接那些服務(wù)器中的每一個的架頂式交換機的地址的列表。19.如權(quán)利要求18所述的數(shù)據(jù)中心體系結(jié)構(gòu),其特征在于,還包括查詢所述目錄服務(wù)的代理和用于封裝所述數(shù)據(jù)分組的封裝器,其中所述目錄服務(wù)還存儲交換機地址的列表,所述代理和封轉(zhuǎn)器中的至少一個從所述交換機地址的列表中隨機挑選要從其彈出所述數(shù)據(jù)分組的交換機。20.如權(quán)利要求13所述的數(shù)據(jù)中心體系結(jié)構(gòu),其特征在于,被用作一個或多個中間物的一個或多個服務(wù)器替換專用負載平衡器。全文摘要公開一種將數(shù)據(jù)中心內(nèi)的多個服務(wù)器聯(lián)網(wǎng)在一起的方法。該方法包括通過提供目的地服務(wù)器地址作為平坦地址來定址供傳遞到目的地服務(wù)器的數(shù)據(jù)分組的步驟。該方法還包括獲取將分組路由到目的地服務(wù)器所需的路由信息的步驟。該路由信息可以從服務(wù)于多個服務(wù)器的目錄服務(wù)獲取。一旦獲取路由信息,就可以根據(jù)目的地服務(wù)器的平坦地址和從目錄服務(wù)獲取的路由信息來將數(shù)據(jù)分組路由到目的地服務(wù)器。文檔編號H04L29/02GK102113274SQ200980131126公開日2011年6月29日申請日期2009年6月1日優(yōu)先權(quán)日2008年6月9日發(fā)明者A·G·格林伯格,D·A·馬爾茨,P·K·帕特爾,P·拉希瑞,S·森古普塔申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1