網(wǎng)絡(luò)中的擁塞通知的制作方法
【專利說明】
【背景技術(shù)】
[0001]在計算機網(wǎng)絡(luò)中數(shù)據(jù)通信業(yè)務(wù)擁塞是常見問題。常規(guī)的擁塞控制方法包括傳輸控制協(xié)議(TCP)擁塞控制(諸如隨機早期檢測(RED)、加權(quán)RED (WRED))和量化擁塞通知(QCN),所述QCN被標準化為電氣和電子工程師協(xié)會(IEEE)標準802.lua_2010。這兩個擁塞控制方法依靠源基于來自網(wǎng)絡(luò)內(nèi)的擁塞點的反饋的速率自適應(yīng)。對于RED擁塞控制,典型地通過使用分組丟棄來提供指示擁塞的反饋。對于QCN擁塞控制,指示擁塞的反饋包括關(guān)于過載率的顯式信息并且該信息使用反向擁塞通知消息被遞送到流源。QCN過程提供公平帶寬劃分。然而,QCN過程未提供用來針對單獨的流控制擁塞的方式。
【附圖說明】
[0002]圖1是圖示了網(wǎng)絡(luò)系統(tǒng)的一個示例的框圖。
[0003]圖2是圖示了通過網(wǎng)絡(luò)系統(tǒng)流動的通信業(yè)務(wù)的一個示例的圖。
[0004]圖3是圖示了服務(wù)器的一個示例的框圖。
[0005]圖4是圖示了交換機的一個示例的框圖。
[0006]圖5是圖示了包括反向擁塞通知消息的計量(metered)量化擁塞通知(QCN)的一個示例的圖。
[0007]圖6是圖示了包括正向擁塞通知消息的計量QCN的一個示例的圖。
[0008]圖7是圖示了用于計量QCN的雙令牌桶的一個示例的圖。
[0009]圖8是圖示了針對雙令牌桶計量的過程的一個示例的流程圖。
[0010]圖9是圖示了針對單令牌桶計量的過程的一個示例的流程圖。
【具體實施方式】
[0011]在以下具體描述中,對形成其一部分的附圖進行參考,并且在附圖中通過圖示的方式示出了在其中可以實踐本公開的特定示例。應(yīng)當理解,在不脫離本公開的范圍的情況下,可以利用其它示例并且可以做出結(jié)構(gòu)上的或邏輯上的改變。以下具體描述因此將不在限制意義上進行,并且本公開的范圍由所附權(quán)利要求來限定。應(yīng)當理解,除非另外具體地指出,否則本文中所描述的各種示例的特征可以彼此組合。
[0012]圖1是圖示了網(wǎng)絡(luò)系統(tǒng)100的一個示例的框圖。網(wǎng)絡(luò)系統(tǒng)100包括多個網(wǎng)絡(luò)設(shè)備。特別地,網(wǎng)絡(luò)系統(tǒng)100包括包含有服務(wù)器102a-102d的多個服務(wù)器和交換網(wǎng)絡(luò)106。交換網(wǎng)絡(luò)106包括包含有交換機108a和交換機108b的多個互連的交換機。交換機108a通過通信鏈路110被耦合到交換機108b。每個服務(wù)器102a-102d分別通過通信鏈路104a_104d被耦合到交換網(wǎng)絡(luò)106。每個服務(wù)器102a-102d可以通過交換網(wǎng)絡(luò)106與其他服務(wù)器102a_102d中的每一個進行通信。在一個示例中,網(wǎng)絡(luò)系統(tǒng)100是數(shù)據(jù)中心。
[0013]網(wǎng)絡(luò)系統(tǒng)100利用計量量化擁塞通知(QCN)協(xié)議。計量QCN協(xié)議修改QCN協(xié)議,所述QCN協(xié)議被標準化為電氣和電子工程師協(xié)會(IEEE)標準802.lua-2010。特別地,網(wǎng)絡(luò)系統(tǒng)100利用計量QCN協(xié)議以便監(jiān)控幀的單獨流的帶寬利用。計量QCN協(xié)議使用單令牌桶或雙令牌桶來確定擁塞通知消息是否將作為幀的結(jié)果被生成。擁塞通過測量(一個或多個)令牌桶的深度而不是操作隊列深度來確定。還相對于(一個或多個)令牌桶深度確定QCN反饋。
[0014]圖2是圖示了通過網(wǎng)絡(luò)系統(tǒng)120流動的通信業(yè)務(wù)的一個示例的圖。在一個示例中,網(wǎng)絡(luò)系統(tǒng)120是第2層網(wǎng)絡(luò)。網(wǎng)絡(luò)系統(tǒng)120包括第一服務(wù)器122、第二服務(wù)器128、第三服務(wù)器152、第四服務(wù)器156以及交換網(wǎng)絡(luò)134。交換網(wǎng)絡(luò)134包括第一交換機136和第二交換機142。第一服務(wù)器122通過通信鏈路126被稱合到第一交換機136。第一交換機136通過通信鏈路140被耦合到第二交換機142。第二服務(wù)器128通過通信鏈路132被耦合到第二交換機142。第二交換機142通過通信鏈路148被耦合到第三服務(wù)器152并且通過通信鏈路150耦合到第四服務(wù)器156。
[0015]在該示例中,第一服務(wù)器122是反應(yīng)點并且包括傳送器隊列124。反應(yīng)點是幀的源并且是能夠修改幀負載特性的地方。第二服務(wù)器128也是反應(yīng)點并且包括傳送器隊列130。第一交換機136包括隊列138,并且第二交換機142包括第一隊列144和第二隊列146。第三服務(wù)器152是幀的目的地并且包括接收器隊列154。第四服務(wù)器156也是幀的目的地并且包括接收器隊列158。在一個示例中,傳送器隊列124和130、隊列138、144和146以及接收器隊列154和158是先進先出(FIFO)隊列。
[0016]在該示例中,第一服務(wù)器122正在向第三服務(wù)器152傳送單播消息。傳送器隊列124中的幀被傳送到第一交換機136,并且在隊列138中接收經(jīng)傳送的幀。隊列138中的幀被第一交換機136轉(zhuǎn)發(fā)到第二交換機142,并且在第一隊列144中接收經(jīng)轉(zhuǎn)發(fā)的幀。來自第一服務(wù)器122的第一隊列144中的幀然后被第二交換機142轉(zhuǎn)發(fā)到第三服務(wù)器152,并且在接收器隊列154中接收經(jīng)轉(zhuǎn)發(fā)的幀。第二服務(wù)器128正在向第三服務(wù)器152和第四服務(wù)器156傳送多播消息。傳送器隊列130中的巾貞被傳送到第二交換機142,并且在第一隊列144和第二隊列146兩者中接收經(jīng)傳送的幀。第二隊列146中的幀被轉(zhuǎn)發(fā)到第四服務(wù)器135,并且在接收器隊列158中接收經(jīng)轉(zhuǎn)發(fā)的幀。來自第二服務(wù)器128的第一隊列144中的幀然后被第二交換機142轉(zhuǎn)發(fā)到第三服務(wù)器152,并且在接收器隊列154中接收經(jīng)轉(zhuǎn)發(fā)的幀。
[0017]在該示例中,第二交換機142的第一隊列144是由于從第一服務(wù)器122和第二服務(wù)器128傳送的幀的合并而導致的過載點。在其他示例中,潛在過載點可能由于來自單個源的幀或者由于來自三個或更多個源的幀的合并而發(fā)生。為了解決在網(wǎng)絡(luò)系統(tǒng)內(nèi)的過載點處的這種擁塞,并且為了在過載點處提供計量帶寬分配,利用了如本文中所公開的計量QCN。
[0018]圖3是圖示了服務(wù)器180的一個示例的框圖。在一個示例中,服務(wù)器180提供參考圖1先前所描述和圖示的每個服務(wù)器102a-102d以及參考圖2先前所描述和圖示的第一服務(wù)器122、第二服務(wù)器128、第三服務(wù)器152和第四服務(wù)器156。服務(wù)器180包括處理器182和存儲器186。處理器182通過通信鏈路184被耦合到存儲器186。
[0019]處理器182包括中央處理單元(CPU)或另一適合的處理器。在一個示例中,存儲器186存儲由處理器182執(zhí)行以便操作服務(wù)器180的指令。存儲器186包括易失性和/或非易失性存儲器的任何適合的組合,諸如隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃速存儲器和/或其他適合的存儲器的組合。存儲器186存儲由處理器182執(zhí)行的指令,包括計量擁塞通知模塊188的指令。在一個示例中,處理器182執(zhí)行計量擁塞通知模塊188的指令以實現(xiàn)本文中所公開的計量QCN方法。
[0020]圖4是圖示了交換機190的一個示例的框圖。在一個示例中,交換機190提供參考圖1先前所描述和圖示的每個交換機108a和交換機108b以及參考圖2先前所描述和圖示的第一交換機136和第二交換機142。交換機190包括處理器192和存儲器196。處理器192通過通信鏈路194被耦合到存儲器196。
[0021 ] 處理器192包括CPU或另一適合的處理器。在一個示例中,存儲器196存儲由處理器192執(zhí)行以便操作交換機190的指令。存儲器196包括易失性和/或非易失性存儲器的任何適合的組合,諸如RAM、ROM、閃速存儲器和/或其他適合的存儲器的組合。存儲器196存儲由處理器192執(zhí)行的指令,包括計量擁塞通知模塊198的指令。在一個示例中,處理器192執(zhí)行計量擁塞通知模塊198的指令以實現(xiàn)本文中所公開的計量QCN方法。
[0022]圖5是圖示了包括反向擁塞通知消息的計量QCN 200的一個示例的圖。計量QCN200牽涉源隊列或FIFO (諸如FIFO 202)、網(wǎng)絡(luò)隊列或FIFO (諸如FIFO 204)以及目的地隊列或FIFO (諸如FIFO 206)。在該示例中,源設(shè)備(諸如服務(wù)器)在源FIFO 208中傳送幀,并且在轉(zhuǎn)發(fā)設(shè)備(諸如交換機)的網(wǎng)絡(luò)FIFO 212中接收經(jīng)傳送的幀。網(wǎng)絡(luò)FIFO 212中的幀被轉(zhuǎn)發(fā),并且在另一轉(zhuǎn)發(fā)設(shè)備的網(wǎng)絡(luò)FIFO 218中接收經(jīng)轉(zhuǎn)發(fā)的幀。網(wǎng)絡(luò)FIFO 218中的幀被再次轉(zhuǎn)發(fā),并且在目的地設(shè)備(諸如服務(wù)器)的目的地FIFO 222中接收經(jīng)轉(zhuǎn)發(fā)的幀。
[0023]每個源的幀通過網(wǎng)絡(luò)FIFO 212的流動通過如在下面參考圖7所描述的單令牌桶或雙令牌桶來計量。如果在網(wǎng)絡(luò)FIFO 212中接收到的幀使分配給來自源FIFO 208的幀的流的令牌桶溢出,則可以對幀進行采樣以便生成如在216處所指示的反向擁塞通知(BCN)消息。在一個示例中,可以有效地隨機地對幀進行采樣以便生成BCN消息。可以為網(wǎng)絡(luò)FIFO212的每個采樣幀生成反向擁塞通知消息。在一個示例中,在IEEE標準802.lua-2010中定義了反向擁塞通知消息。
[0024]每個源的幀通過網(wǎng)絡(luò)FIFO 218的流動還通過單令牌桶或雙令牌桶來計量。如果在網(wǎng)絡(luò)FIFO 218中接收到的幀使分配給來自源FIFO 208的幀的流的令牌桶溢出,則可以對經(jīng)轉(zhuǎn)發(fā)的幀進行采樣以便生成如在216處所指示的反向擁塞通知消息??梢詾榫W(wǎng)絡(luò)FIFO218的每個采樣幀生成反向擁塞通知消息。
[0025]同樣地,每個源的幀通過目的地FIFO 222的流動通過單令牌桶或雙令牌桶來計量。如果在目的地FIFO 222中接收到的幀使分配給來自源FIFO 208的幀的流的令牌桶溢出,則可以對經(jīng)轉(zhuǎn)發(fā)的幀進行采樣以便生成如在226處所指示的反向流控制通知消息??梢詾槟康牡谾IFO 222的每個采樣幀生成反向擁塞通知消息。
[0026]每個反向擁塞通知消息216和反向擁塞通知消息226包括關(guān)于在過載點處的擁塞的程度的反饋信息。例如,在響應(yīng)于使用于幀通過網(wǎng)絡(luò)FIFO 212流動的令牌桶溢出而生成的反向擁塞通知消息中包括的反饋信息提供關(guān)于在用于幀的流動的FIFO 212處的擁塞的程度的信息。同樣地,在響應(yīng)于使用于幀通過目的地FIFO 222流動的令牌桶溢出而生成的反向擁塞通知消息中包括的反饋信息提供關(guān)于在用于幀的流動的目的地FIFO 222處的擁塞的程度的信息。每個反向擁塞通知消息都被傳送到使令牌桶溢出的采樣幀的源。在該示例中,每個反向擁塞通知消息216和反向擁塞通知消息226被傳送到從源FIFO 208傳送幀的源設(shè)備。
[0027]響應(yīng)于接收到反向擁塞通知消息,源基于所接收到的反饋信息來減速(throttlesback)幀的流動(即,減小幀的傳輸速率)。源然后單方面地(即,在沒有進一步反饋的情況下)遞增地增加幀的流動以恢復損失的帶寬并且以探測額外可