亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于在第3層網(wǎng)絡(luò)中提供擁塞通知的系統(tǒng)和方法與流程

文檔序號:12289946閱讀:245來源:國知局
用于在第3層網(wǎng)絡(luò)中提供擁塞通知的系統(tǒng)和方法與流程

本申請是2015年4月1日遞交的美國專利申請14/676,053號的延續(xù)案,該美國專利申請要求2014年6月19日遞交的美國臨時申請62/014,223號的申請日的權(quán)益,其公開內(nèi)容通過引用被并入在此。



背景技術(shù):

量化擁塞通知(Quantized Congestion Notification,QCN)是一種為以太網(wǎng)提出的相對較新的擁塞管理機(jī)制。其允許了交換機(jī)向流量源生成早期擁塞反饋,這些流量源于是可以適應(yīng)性地改變其傳送速率以減輕擁塞和高延遲。然而,在第3層網(wǎng)絡(luò)中采用QCN被諸如缺乏對于隧道技術(shù)的支持、復(fù)雜性和高成本之類的挑戰(zhàn)所阻止。



技術(shù)實(shí)現(xiàn)要素:

提供了一種系統(tǒng)和方法,用于通過L3網(wǎng)絡(luò)發(fā)送擁塞通知消息和在L3交換機(jī)中實(shí)現(xiàn)QCN。

本技術(shù)的一個方面提供了一種方法,包括:在L3網(wǎng)絡(luò)的第一結(jié)構(gòu)塊中的第一交換機(jī)處接收數(shù)據(jù)封包,由第一交換機(jī)改寫數(shù)據(jù)封包的頭部中的信息以標(biāo)識第一交換機(jī)和第一結(jié)構(gòu)塊的至少一者,其中該信息不被轉(zhuǎn)發(fā)該數(shù)據(jù)封包的其他交換機(jī)進(jìn)一步修改,將該數(shù)據(jù)封包轉(zhuǎn)發(fā)到L3網(wǎng)絡(luò)的第二結(jié)構(gòu)塊中的第二交換機(jī),由第二交換機(jī)響應(yīng)于接收到該數(shù)據(jù)封包而判定第二交換機(jī)是否被擁塞,在第二交換機(jī)處響應(yīng)于檢測到的擁塞而生成通知消息,將通知消息轉(zhuǎn)發(fā)到第一交換機(jī),并且將通知消息從第一交換機(jī)轉(zhuǎn)發(fā)到數(shù)據(jù)封包的源。

本公開的另一方面提供了一種方法,包括:在L3網(wǎng)絡(luò)的第一結(jié)構(gòu)塊中的第一交換機(jī)處接收數(shù)據(jù)封包,由第一交換機(jī)改寫數(shù)據(jù)封包的頭部中的信息以標(biāo)識第一交換機(jī)和第一結(jié)構(gòu)塊的至少一者,其中該信息不被轉(zhuǎn)發(fā)該數(shù)據(jù)封包的其他交換機(jī)進(jìn)一步修改,將該數(shù)據(jù)封包轉(zhuǎn)發(fā)到第二交換機(jī),從第二交換機(jī)接收擁塞通知消息,并且將通知消息從第一交換機(jī)轉(zhuǎn)發(fā)到數(shù)據(jù)封包的源。

本公開的另外一方面提供了一種方法,包括:在L3網(wǎng)絡(luò)的第二結(jié)構(gòu)塊中的交換機(jī)處接收數(shù)據(jù)封包,由交換機(jī)響應(yīng)于接收到該數(shù)據(jù)封包而判定交換機(jī)是否被擁塞,在交換機(jī)處響應(yīng)于檢測到的擁塞而生成通知消息,并且將通知消息轉(zhuǎn)發(fā)到數(shù)據(jù)封包的源。

附圖說明

圖1是根據(jù)本公開的一方面的示例系統(tǒng)圖。

圖2是根據(jù)本公開的一些方面的另一示例系統(tǒng)圖。

圖3圖示了根據(jù)本公開的一些方面的源地址標(biāo)記的示例。

圖4圖示了根據(jù)本公開的一些方面的源地址標(biāo)記的另一示例。

圖5圖示了根據(jù)本公開的一些方面的QCN消息路由的示例。

圖6是根據(jù)本公開的一些實(shí)施例的示例方法的流程圖。

具體實(shí)施方式

本公開提供了在L3網(wǎng)絡(luò)中發(fā)送量化擁塞通知(QCN)消息,而不要求交換機(jī)硬件上的改變。具體地,L2轉(zhuǎn)發(fā)覆蓋(forwarding overlay)利用了數(shù)據(jù)封包的源介質(zhì)訪問控制(media access control,MAC)標(biāo)記和QCN消息的層次化路由。

源MAC標(biāo)記(tagging)可由網(wǎng)絡(luò)的結(jié)構(gòu)塊(fabric block)中的交換機(jī)執(zhí)行,例如機(jī)架頂(top of rack,TOR)交換機(jī)或邊緣路由器。例如,每個TOR可改寫主機(jī)生成的數(shù)據(jù)封包的L2頭部。頭部中的源MAC唯一地標(biāo)識TOR,并且可被設(shè)置為TOR的IP前綴。作為另一示例,結(jié)構(gòu)塊中的邊緣路由器可通過把與結(jié)構(gòu)塊相對應(yīng)的標(biāo)識符(例如,IP前綴)編碼在正被轉(zhuǎn)發(fā)的數(shù)據(jù)封包的源MAC中來執(zhí)行源MAC標(biāo)記。在任一示例中,轉(zhuǎn)發(fā)數(shù)據(jù)封包但不執(zhí)行標(biāo)記的交換機(jī)保持?jǐn)?shù)據(jù)封包的源MAC不被修改。

由檢測擁塞的交換機(jī)生成的QCN消息被層次化轉(zhuǎn)發(fā)。例如,首先,QCN消息被基于其目的地MAC從擁塞的交換機(jī)L2轉(zhuǎn)發(fā)到執(zhí)行源MAC標(biāo)記的邊緣路由器或TOR。QCN消息的L2轉(zhuǎn)發(fā)規(guī)則可被聚集到一小組訪問控制列表(access control list,ACL)規(guī)則中。QCN消息隨后按照匹配QCN有效載荷的ACL被從邊緣路由器或TOR轉(zhuǎn)發(fā)到擁塞源。

圖1圖示了連接多個計算機(jī)160、162、164、182、184的示例網(wǎng)絡(luò)150。網(wǎng)絡(luò)150可例如是數(shù)據(jù)中心或者連接兩個或更多個主機(jī)設(shè)備的路由器或其他交換設(shè)備的任何其他集合。網(wǎng)絡(luò)150包括多個第3層(L3)交換機(jī)142、144、146、148。每個L3交換機(jī)可包括處理器130和耦合到處理器130的存儲器120。每個L3交換機(jī)142-148還可包括一個或多個輸入端口,用于從其他L3交換機(jī)或計算設(shè)備接收數(shù)據(jù),例如封包或程序更新。類似地,每個L3交換機(jī)142-148可具有一個或多個輸出端口,用于通過網(wǎng)絡(luò)150發(fā)送數(shù)據(jù)。

每個路由器可具有處理器和存儲器,例如路由器144的存儲器120,其存儲數(shù)據(jù)122和指令128,例如用于檢測擁塞和將擁塞通知給違規(guī)(offending)的流量源。例如,L3交換機(jī)144對接收到的數(shù)據(jù)封包采樣并且基于采樣的封包來檢測擁塞。如果檢測到擁塞,則L3交換機(jī)144利用采樣的封包以互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)頭部來組裝通知消息。示例通知消息在下文參考圖2-圖4和圖6來更詳細(xì)描述。通知消息的目的地被設(shè)置為采樣的封包的源,并且通知消息被發(fā)送到L3交換機(jī)144的通過其接收到采樣封包的入口端口。從而,例如,如果計算機(jī)182是違規(guī)的流量源,則通知消息通過L3交換機(jī)142被轉(zhuǎn)發(fā)到計算機(jī)182。作為響應(yīng),計算機(jī)182可降低其封包傳送速率。

存儲器120存儲處理器130可訪問的信息,包括指令128,以及可被處理器130執(zhí)行或以其他方式使用的數(shù)據(jù)122。存儲器120可以是能夠存儲處理器可訪問的信息的任何類型的,包括計算機(jī)可讀介質(zhì),或者存儲可在電子設(shè)備的輔助下被讀取的數(shù)據(jù)的其他介質(zhì),例如硬盤驅(qū)動器、存儲卡、ROM、RAM、DVD或其他光盤,以及其他可寫存儲器和只讀存儲器。系統(tǒng)和方法可包括前述的不同組合,由此指令和數(shù)據(jù)的不同部分被存儲在不同類型的介質(zhì)上。

指令128可以是要被處理器130直接執(zhí)行(例如機(jī)器代碼)或間接執(zhí)行(例如腳本)的任何指令集合。例如,指令可作為計算機(jī)代碼被存儲在計算機(jī)可讀介質(zhì)上。在這方面上,術(shù)語“指令”和“程序”在本文中可被互換使用。指令可以目標(biāo)代碼格式來存儲以供處理器直接處理,或者以任何其他計算機(jī)語言來存儲,包括根據(jù)需要解釋或預(yù)先編譯的獨(dú)立源代碼模塊的集合或腳本。指令的功能、方法和例程在下文更詳細(xì)說明。

數(shù)據(jù)122可被處理器130根據(jù)指令128來檢索、存儲或修改。例如,雖然系統(tǒng)和方法不受任何特定的數(shù)據(jù)結(jié)構(gòu)的限制,但數(shù)據(jù)可被存儲在計算機(jī)寄存器中、存儲在諸如具有多個不同字段和記錄的表格之類的關(guān)系數(shù)據(jù)庫中、存儲在XML文檔中或者存儲在平面文件中。數(shù)據(jù)也可被格式化為任何計算機(jī)可讀格式。數(shù)據(jù)可包括足以識別相關(guān)信息的任何信息,例如數(shù)字、描述性文本、專有代碼、對存儲在同一存儲器的其他區(qū)域或不同存儲器(包括其他網(wǎng)絡(luò)位置)中的數(shù)據(jù)的引用或者被函數(shù)用來計算相關(guān)數(shù)據(jù)的信息。

處理器130可以是任何傳統(tǒng)處理器,例如市售路由器中的處理器?;蛘?,處理器可以是專用控制器,例如ASIC或其他基于硬件的處理器。處理器和存儲器可實(shí)際包括多個處理器和存儲器,這些處理器和存儲器可安裝在同一物理殼體內(nèi)或者可不安裝在同一物理殼體內(nèi)。例如,存儲器可以是位于數(shù)據(jù)中心的服務(wù)器群中的硬盤驅(qū)動器或者其他存儲介質(zhì)。從而,對處理器、存儲器或計算機(jī)的提及將被理解為包括對可并行操作或者可不并行操作的處理器、存儲器或計算機(jī)的集合的提及。

與交換機(jī)144類似,交換機(jī)148也可包括存儲器194和處理器190,其結(jié)構(gòu)可與上述的存儲器120和處理器130類似。存儲器194還可包括數(shù)據(jù)192和指令198,用于例如檢測擁塞,生成通知消息,并且通過L3網(wǎng)絡(luò)將通知消息L2轉(zhuǎn)發(fā)(L2forwarding)到擁塞源。

計算機(jī)160、162、164、182、184可以是各種計算設(shè)備中的任何一種,包括數(shù)據(jù)中心中的服務(wù)器、個人數(shù)字助理(personal digital assistant,PDA)、膝上型計算機(jī)、平板PC、上網(wǎng)本、PC等等。這些設(shè)備可經(jīng)由有線連接來連接到網(wǎng)絡(luò)150,例如通過調(diào)制解調(diào)器,或者無線地連接到網(wǎng)絡(luò)150,例如通過與路由器142-148之一通信的接入點(diǎn)。雖然在圖1中只描繪了幾個計算機(jī),但應(yīng)當(dāng)明白系統(tǒng)可包括許多連接的計算機(jī),其中每個不同的計算機(jī)在網(wǎng)絡(luò)150的不同節(jié)點(diǎn)處。網(wǎng)絡(luò)和居間的節(jié)點(diǎn)可包括各種配置和協(xié)議,包括因特網(wǎng)、萬維網(wǎng)、內(nèi)聯(lián)網(wǎng)、虛擬專用網(wǎng)、廣域網(wǎng)、本地網(wǎng)絡(luò)、使用一個或多個公司專有的通信協(xié)議的私有網(wǎng)絡(luò)、以太網(wǎng)、WiFi(例如,802.11、802.11b、g、n或其他這種標(biāo)準(zhǔn))和HTTP,以及前述的各種組合。這種通信可由任何能夠向和從其他計算機(jī)傳送數(shù)據(jù)的設(shè)備來促成,例如調(diào)制解調(diào)器(例如,撥號、線纜或光纖)和無線接口。

一般來說,L3交換機(jī)144接收數(shù)據(jù)封包并且對數(shù)據(jù)封包執(zhí)行源標(biāo)記,以使得源標(biāo)簽(tag)隨著數(shù)據(jù)封包被路由而被更多交換機(jī)維護(hù)。交換機(jī)144還被配置為接收來自另一交換機(jī)的通知消息,并且利用被聚集到ACL規(guī)則中的L2轉(zhuǎn)發(fā)規(guī)則將通知消息轉(zhuǎn)發(fā)到數(shù)據(jù)封包的源。L3交換機(jī)148可在與交換機(jī)148分開的結(jié)構(gòu)塊中。交換機(jī)148可被配置為從交換機(jī)144接收數(shù)據(jù)封包,基于數(shù)據(jù)封包檢測擁塞,并且作為響應(yīng)生成擁塞通知消息。交換機(jī)148還被配置為利用L2轉(zhuǎn)發(fā)例如通過交換機(jī)144將通知消息發(fā)送到流量源。這種操作在下文更詳細(xì)論述。

圖2圖示了示例數(shù)據(jù)中心網(wǎng)絡(luò)200。網(wǎng)絡(luò)300具有層次化拓?fù)?,其中多個結(jié)構(gòu)塊210、260由塊間網(wǎng)絡(luò)250互連。塊間網(wǎng)絡(luò)250可包括例如一個或多個交換設(shè)備,例如路由器、脊交換機(jī)(spine)等等。雖然在圖2中只示出了兩個結(jié)構(gòu)塊210、260,但網(wǎng)絡(luò)200可包括任何數(shù)目的結(jié)構(gòu)塊。

每個結(jié)構(gòu)塊210、260可包括一個或多個處于拓?fù)涞淖畹图墑e的主機(jī)設(shè)備212、262,一個或多個機(jī)架頂(TOR)交換機(jī)214、264連接到下一級別中的主機(jī)設(shè)備。一個或多個邊緣路由器216、266可存在于每個結(jié)構(gòu)塊210、260的邊緣。邊緣路由器216、266可通過例如塊內(nèi)網(wǎng)絡(luò)220、270連接到TOR交換機(jī)214、264。每個塊內(nèi)網(wǎng)絡(luò)220、270可包括用于傳送封包的一個或多個交換機(jī)和/或其他網(wǎng)絡(luò)設(shè)備。雖然結(jié)構(gòu)塊210、260被示為只包括幾級硬件,但應(yīng)當(dāng)理解在該層次體系中可包括額外的或更少的級別。

在例如網(wǎng)絡(luò)200那樣的層次化拓?fù)涞臄?shù)據(jù)中心網(wǎng)絡(luò)中,TOR交換機(jī)之間的流量是基于封包互聯(lián)網(wǎng)協(xié)議(IP)頭部來被L3轉(zhuǎn)發(fā)的。例如,封包可通過分別行經(jīng)TOR 214、塊內(nèi)網(wǎng)絡(luò)220、邊緣路由器216、塊間網(wǎng)絡(luò)250、邊緣路由器266、塊內(nèi)網(wǎng)絡(luò)270和TOR 264被從結(jié)構(gòu)塊210中的主機(jī)212路由到結(jié)構(gòu)塊260中的主機(jī)262。這種封包可具有提供用于將封包通過網(wǎng)絡(luò)200從一跳路由到下一跳的信息的IPv4或IPv6頭部。

QCN消息通常是第2層(L2)封包。當(dāng)數(shù)據(jù)封包對L2網(wǎng)絡(luò)節(jié)點(diǎn)的擁塞做出貢獻(xiàn)時,數(shù)據(jù)封包的源地址(例如,介質(zhì)訪問控制(MAC)地址)被拷貝到QCN消息封包中作為QCN消息的目的地地址。QCN消息的有效載荷包括對擁塞做出貢獻(xiàn)的數(shù)據(jù)封包的前64B。為了使能在例如網(wǎng)絡(luò)200這樣的L3網(wǎng)絡(luò)中使用QCN消息,提供了L2轉(zhuǎn)發(fā)覆蓋。L2轉(zhuǎn)發(fā)覆蓋采用數(shù)據(jù)封包的源MAC標(biāo)記和QCN消息的層次化路由。利用轉(zhuǎn)發(fā)覆蓋,擁塞可被網(wǎng)絡(luò)200中的TOR交換機(jī)214、264或邊緣路由器216、266中的任何一者檢測和報告。

源MAC標(biāo)記可例如由每個結(jié)構(gòu)塊中的TOR之中的一個或多個執(zhí)行,或者由每個結(jié)構(gòu)塊中的邊緣路由器之中的一個或多個執(zhí)行。例如,被指定為執(zhí)行源MAC標(biāo)記的節(jié)點(diǎn)可被編程為用其MAC地址來給數(shù)據(jù)封包加標(biāo)簽。在一些示例中,在每個結(jié)構(gòu)塊中可指定一個節(jié)點(diǎn)執(zhí)行源MAC標(biāo)記。在其他示例中,每個結(jié)構(gòu)塊的給定級別中的每個節(jié)點(diǎn)可被指定為執(zhí)行標(biāo)記。例如,如果結(jié)構(gòu)塊210中的每個邊緣路由器都執(zhí)行源MAC標(biāo)記,則通過網(wǎng)絡(luò)傳送的數(shù)據(jù)封包無論其采取哪條路徑經(jīng)過結(jié)構(gòu)塊210都將被加標(biāo)簽。

在數(shù)據(jù)封包的源MAC標(biāo)記由TOR 214執(zhí)行的情況下,每個TOR改寫由主機(jī)212生成的數(shù)據(jù)封包的L2頭部。例如,因?yàn)長2頭部中的源MAC唯一地標(biāo)識TOR,所以源MAC可被設(shè)置為TOR的IP前綴。

在源MAC標(biāo)記由邊緣路由器216執(zhí)行的情況下,相應(yīng)結(jié)構(gòu)塊210的標(biāo)識符被編碼在被轉(zhuǎn)發(fā)的數(shù)據(jù)封包的新的源MAC中。例如,結(jié)構(gòu)塊210的IP前綴可被編碼在QCN封包中。

無論源MAC標(biāo)記由TOR交換機(jī)還是由邊緣路由器執(zhí)行,其他交換機(jī)都不修改轉(zhuǎn)發(fā)的數(shù)據(jù)封包的源MAC。例如,如果源MAC標(biāo)記由TOR 214對于從主機(jī)212路由到主機(jī)262的封包執(zhí)行,則交換機(jī)216、266和264轉(zhuǎn)發(fā)數(shù)據(jù)封包,保持?jǐn)?shù)據(jù)封包的源MAC不被修改。

QCN消息的層次化路由是在每個結(jié)構(gòu)塊210、260內(nèi)執(zhí)行的。在感測到擁塞后,交換機(jī)生成QCN消息。這種消息的目的地MAC是從觸發(fā)擁塞的數(shù)據(jù)封包的源MAC拷貝的。QCN消息的有效載荷包括這些數(shù)據(jù)封包的IP頭部。QCN消息通過L2轉(zhuǎn)發(fā)和訪問控制列表(ACL)轉(zhuǎn)發(fā)的組合被轉(zhuǎn)發(fā)到擁塞源。

QCN消息首先被基于其目的地MAC從擁塞的交換機(jī)L2轉(zhuǎn)發(fā)到執(zhí)行源MAC標(biāo)記的邊緣路由器或TOR。如果結(jié)構(gòu)塊或TOR的IP前綴被用作數(shù)據(jù)封包的源MAC并從而被用作QCN消息的目的地MAC,則QCN消息的L2轉(zhuǎn)發(fā)規(guī)則可被進(jìn)一步聚集到一小組ACL規(guī)則中。這在具有層次化尋址的主機(jī)的數(shù)據(jù)中心網(wǎng)絡(luò)中尤其有效。例如,在每個結(jié)構(gòu)塊具有包括該塊中的所有TOR的IP前綴的單個IP前綴的情況下,QCN消息的L2轉(zhuǎn)發(fā)規(guī)則可被更容易地聚集到更小的一組ACL規(guī)則中。

QCN消息隨后例如通過對QCN有效載荷的ACL匹配被從執(zhí)行源MAC標(biāo)記的邊緣路由器或TOR轉(zhuǎn)發(fā)到擁塞源。例如,QCN消息有效載荷中包括的擁塞源的IP地址被與聚集的那組ACL轉(zhuǎn)發(fā)規(guī)則相比較,并且QCN消息被利用匹配的ACL轉(zhuǎn)發(fā)規(guī)則路由到擁塞源。

這種層次化路由的主要益處在于只在結(jié)構(gòu)塊內(nèi)需要ACL轉(zhuǎn)發(fā),從執(zhí)行數(shù)據(jù)封包的源MAC標(biāo)記的路由器到擁塞源。此外,QCN消息的轉(zhuǎn)發(fā)規(guī)則可從正被從交換機(jī)路由到擁塞源的數(shù)據(jù)流量的轉(zhuǎn)發(fā)規(guī)則來得出。

圖3和圖4圖示了用于L3網(wǎng)絡(luò)的L2轉(zhuǎn)發(fā)覆蓋的兩個示例。在兩個示例中,在兩個不同的結(jié)構(gòu)塊中的主機(jī)之間都有流量流動。在圖3所示的第1示例中,源MAC標(biāo)記由TOR交換機(jī)執(zhí)行,而在圖4所示的第二示例中,源MAC標(biāo)記由邊緣路由器執(zhí)行。

如圖3所示,結(jié)構(gòu)塊310包括主機(jī)311、TOR交換機(jī)322和邊緣路由器333。結(jié)構(gòu)塊360通過例如聯(lián)系圖2論述的塊間網(wǎng)絡(luò)與結(jié)構(gòu)塊310通信。結(jié)構(gòu)塊360包括邊緣路由器344、TOR交換機(jī)355和主機(jī)366。結(jié)構(gòu)塊310、360的每一者也可包括其他網(wǎng)絡(luò)設(shè)備,例如額外的交換機(jī)和主機(jī),在本示例中不對其進(jìn)行論述。

第一主機(jī)311發(fā)送以第二主機(jī)366為目的地的數(shù)據(jù)封包318,這由目的地IP(DIP)地址315指示。該封包可通過例如第一TOR 322、第一邊緣路由器333、第二邊緣路由器344和第二TOR 355被發(fā)送到第二主機(jī)366,如路徑390所指示。封包318包括分別為封包標(biāo)識源地址(例如MAC地址)和下一跳目的地地址的頭部312、313。例如,頭部312中的源MAC地址對應(yīng)于第一主機(jī)311,并且頭部313中的目的地MAC地址對應(yīng)于第一TOR 322。

當(dāng)封包318到達(dá)第一TOR 322時,第一TOR 322改寫頭部信息。例如,如更新的封包328中所示,源地址321被第一TOR 322的MAC地址所替換。另外,目的地地址323被改寫成下一跳的MAC地址,下一跳是第一邊緣路由器333。

在此示例中,第一邊緣路由器333對數(shù)據(jù)封包執(zhí)行源MAC標(biāo)記。例如,第一邊緣路由器333改寫頭部信息,與第一TOR 322執(zhí)行的改寫類似。具體地,更新的封包338包括第一邊緣路由器333的源MAC地址,和第二邊緣路由器344的目的地地址。這個源MAC唯一地標(biāo)識第一結(jié)構(gòu)塊310。然而,將會接收封包338的交換機(jī)被編程為不執(zhí)行源地址頭部的進(jìn)一步改寫。例如,第二邊緣路由器344和第二TOR 355可被編程為確定源地址頭部00:00:33是標(biāo)簽并且不應(yīng)當(dāng)被改寫。因此,在更新的封包348、358、360中,只有目的地MAC地址被改寫并且第一邊緣路由器333的源MAC地址被維持。

在圖4中,第一結(jié)構(gòu)塊410中的第一主機(jī)411發(fā)送數(shù)據(jù)封包418以便遞送到第二結(jié)構(gòu)塊460中的第二主機(jī)466。數(shù)據(jù)封包418可沿著路徑490被發(fā)送,經(jīng)過第一TOR 422、第一邊緣路由器433、第二邊緣路由器444和第二TOR 455。

在此示例中,第一TOR 422執(zhí)行數(shù)據(jù)封包的源MAC標(biāo)記。從而,TOR 422利用其自己的MAC地址改寫數(shù)據(jù)封包頭部的源地址,該MAC地址唯一地標(biāo)識源TOR。第一TOR 422還將目的地MAC地址改寫為第一邊緣路由器433的MAC地址。雖然數(shù)據(jù)封包的目的地MAC地址隨著封包行進(jìn)到第二主機(jī)466而被每個節(jié)點(diǎn)更新,但標(biāo)記的源MAC地址不被改變。例如,第一邊緣路由器433、第二邊緣路由器444和第二TOR 455可被編程為維持標(biāo)記的源MAC地址,而只更新目的地MAC地址。

圖5圖示了確定擁塞并且利用L2轉(zhuǎn)發(fā)覆蓋通過L3網(wǎng)絡(luò)轉(zhuǎn)發(fā)QCN消息的示例。在此示例中,沿著路徑590發(fā)送的數(shù)據(jù)流量(未示出)被源結(jié)構(gòu)塊510的第一邊緣路由器533用00:00:00:00:00:44的源MAC加標(biāo)簽,該源MAC唯一地標(biāo)識結(jié)構(gòu)塊510。這個源MAC被維持,直到封包到達(dá)目的地主機(jī)566為止。然而,擁塞發(fā)生在連接到目的地主機(jī)566的第二TOR 555中。從而,TOR 555生成目的地MAC被設(shè)置為數(shù)據(jù)封包的源MAC的QCN消息585,數(shù)據(jù)封包的源MAC是標(biāo)識源結(jié)構(gòu)塊510的00:00:00:00:00:44。中間路由器,例如結(jié)構(gòu)塊560的第二邊緣路由器544,接收該QCN消息并且識別出MAC地址是來自結(jié)構(gòu)塊510的。從而,第二邊緣路由器544例如經(jīng)由路徑595將QCN消息585進(jìn)行L2轉(zhuǎn)發(fā)到結(jié)構(gòu)塊510的邊緣路由器之一,例如第一邊緣路由器533。

一旦QCN消息585到達(dá)結(jié)構(gòu)塊510,它就被路由器經(jīng)由QCN消息585所包括的原始數(shù)據(jù)封包頭部中的源IP的ACL查找來轉(zhuǎn)發(fā)。例如,第一邊緣路由器533和第一TOR 522將QCN消息585轉(zhuǎn)發(fā)到源主機(jī)511,源主機(jī)511是對其檢測到擁塞的數(shù)據(jù)封包的源。邊緣路由器533和TOR 522利用從L2QCN轉(zhuǎn)發(fā)規(guī)則生成的ACL規(guī)則來轉(zhuǎn)發(fā)QCN消息585。這種ACL查找可通過設(shè)立ACL匹配的用戶定義字段來實(shí)現(xiàn)。例如,用戶定義字段592的偏移量被利用QCN消息585中包括的原始數(shù)據(jù)封包頭部中的源IP地址582的偏移量來配置。

根據(jù)一些示例,當(dāng)執(zhí)行源MAC標(biāo)記時,執(zhí)行標(biāo)記的節(jié)點(diǎn)的IP地址被嵌入到源地址中。例如,參考圖5,如果TOR 522的IP地址是0a.0a.01.00/24,則TOR 522將把源地址改寫成02:AA:0A:0A:01:00,使得IP地址被嵌入到源地址中。另外,“02:AA”可以是識別偽造mac地址的特殊值。通過將IP地址嵌入到源地址中,一個或多個ACL規(guī)則可掩蔽掉源地址的更多比特以聚集規(guī)則。

圖6圖示了利用L2轉(zhuǎn)發(fā)覆蓋的L3網(wǎng)絡(luò)中的擁塞通知的方法600。方法600可由例如網(wǎng)絡(luò)中的任何L3交換機(jī)來執(zhí)行。

在方框610中,在L3網(wǎng)絡(luò)的第一結(jié)構(gòu)塊中的第一節(jié)點(diǎn)處接收數(shù)據(jù)封包。第一節(jié)點(diǎn)可例如是TOR交換機(jī)、邊緣路由器或者直接或間接耦合到從其接收數(shù)據(jù)封包的主機(jī)設(shè)備的任何其他交換機(jī)。

在方框620中,第一結(jié)構(gòu)塊的第一節(jié)點(diǎn)對數(shù)據(jù)封包執(zhí)行源MAC標(biāo)記。例如,第一節(jié)點(diǎn)可改寫數(shù)據(jù)封包中的頭部信息來唯一地標(biāo)識第一節(jié)點(diǎn)和/或第一結(jié)構(gòu)塊。頭部信息可以是數(shù)據(jù)封包的源地址字段,并且第一節(jié)點(diǎn)可將其自己的源MAC地址改寫成該字段。接收到該數(shù)據(jù)封包的更多節(jié)點(diǎn)可被編程為維持源MAC標(biāo)簽,例如通過不改寫源地址頭部字段。

在方框630中,第一節(jié)點(diǎn)將數(shù)據(jù)封包轉(zhuǎn)發(fā)到第二結(jié)構(gòu)塊。在轉(zhuǎn)發(fā)數(shù)據(jù)封包時,數(shù)據(jù)封包在到達(dá)第二結(jié)構(gòu)塊之前可穿越第一結(jié)構(gòu)塊中的一個或多個額外的交換機(jī)。例如,如果執(zhí)行源MAC標(biāo)記的第一交換機(jī)存在于第一結(jié)構(gòu)塊中的層次體系的中間層或較低層,則數(shù)據(jù)封包可被發(fā)送到第一結(jié)構(gòu)塊的較高層中的一個或多個中間節(jié)點(diǎn),然后才通過塊間網(wǎng)絡(luò)被發(fā)送到第二結(jié)構(gòu)塊。

在方框640中,在L3網(wǎng)絡(luò)的第二結(jié)構(gòu)塊中的第二節(jié)點(diǎn)處接收被標(biāo)記的數(shù)據(jù)封包。如上所述,第二節(jié)點(diǎn)可基于被標(biāo)記的源MAC地址識別出數(shù)據(jù)封包源自第一結(jié)構(gòu)塊。另外,第二節(jié)點(diǎn)可被編程為維持?jǐn)?shù)據(jù)封包的被標(biāo)記的源MAC地址。

在方框650中,第二節(jié)點(diǎn)基于例如接收到的數(shù)據(jù)封包檢測其是否被擁塞。例如,第二節(jié)點(diǎn)在接收數(shù)據(jù)封包的速度可能比其能夠發(fā)送出數(shù)據(jù)封包的速度更快。從而,第二節(jié)點(diǎn)的吞吐量以及整體網(wǎng)絡(luò)的吞吐量與第二節(jié)點(diǎn)在高效運(yùn)行的情況下的吞吐量相比可能減小。

在方框660中,第二節(jié)點(diǎn)如果確定其被擁塞則生成量化擁塞通知(QCN)消息。生成的QCN消息可包括來自接收到的數(shù)據(jù)封包的信息。例如,QCN消息在其有效載荷中包括源IP地址,該源IP地址標(biāo)識擁塞的源(例如,第一結(jié)構(gòu)塊中的發(fā)送數(shù)據(jù)封包的主機(jī))。QCN消息還包括目的地MAC地址,其是第一結(jié)構(gòu)塊中的第一節(jié)點(diǎn)的被標(biāo)記的源MAC地址。

在方框670中,第二結(jié)構(gòu)塊中的第二節(jié)點(diǎn)將QCN消息發(fā)送到數(shù)據(jù)封包的源。例如,因?yàn)镼CN消息的目的地MAC是數(shù)據(jù)封包的源MAC,所以接收QCN消息的第二結(jié)構(gòu)塊中的任何中間節(jié)點(diǎn)將識別源MAC為來自第一結(jié)構(gòu)塊。從而,中間節(jié)點(diǎn)將把QCN消息L2轉(zhuǎn)發(fā)到第一結(jié)構(gòu)塊中的節(jié)點(diǎn),例如邊緣路由器。

在方框680中,QCN消息被第一結(jié)構(gòu)塊中的第一節(jié)點(diǎn)接收。如果第一節(jié)點(diǎn)是第一結(jié)構(gòu)塊中的邊緣路由器,則其可以是該塊中接收到該QCN消息的第一節(jié)點(diǎn)。然而,如果第一節(jié)點(diǎn)處于第一結(jié)構(gòu)塊中的層次化布置的交換機(jī)的較低層中,則第一結(jié)構(gòu)塊的邊緣路由器和/或中間節(jié)點(diǎn)可利用下面聯(lián)系方框690描述的技術(shù)將QCN消息轉(zhuǎn)發(fā)到第一節(jié)點(diǎn)。

在方框690中,第一節(jié)點(diǎn)利用被聚集成ACL規(guī)則的L2轉(zhuǎn)發(fā)規(guī)則將QCN消息轉(zhuǎn)發(fā)到數(shù)據(jù)封包的源。例如,ACL表中的用戶定義字段可包括數(shù)據(jù)封包的源IP地址。從而,第一節(jié)點(diǎn)可通過將QCN消息的源IP地址與ACL表的用戶定義字段相匹配來執(zhí)行ACL查找。

應(yīng)當(dāng)理解,上述方法中涉及的操作不需要按所描述的確切順序執(zhí)行。更確切地說,可按不同順序處理或同時處理各種操作,并且可添加或省略操作。

上述的系統(tǒng)、方法和示例的有利之處在于它們提供了L3網(wǎng)絡(luò)中的擁塞通知。這樣,引起擁塞的流量源可被通知這種擁塞并且相應(yīng)地做出適應(yīng),例如通過改變其傳送速率或路由。從而,可以大幅減少網(wǎng)絡(luò)中的封包丟棄的數(shù)目。此外,也大大減少了數(shù)據(jù)中心流量的往返時間。

由于可在不脫離權(quán)利要求限定的主題的情況下利用以上論述的特征的這些和其他變化和組合,所以對實(shí)施例的前述描述應(yīng)當(dāng)被作為例示而不是作為對權(quán)利要求限定的主題的限制來理解。作為示例,前述操作不必按以上描述的確切順序執(zhí)行。更確切地說,可按不同順序處理或同時處理各種步驟。除非另有申明,否則也可省略步驟。此外,本文描述的示例的提供,以及措辭為例如摂、包括摂之類的從句,不應(yīng)當(dāng)被解釋為將權(quán)利要求的主題限制到特定示例;更確切地說,這些示例打算只例示許多可能實(shí)施例之一。另外,不同附圖中的相同標(biāo)號可標(biāo)識相同或相似的元素。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1