專利名稱:進(jìn)行擁塞標(biāo)記的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及包交換數(shù)據(jù)網(wǎng)絡(luò),更具體來說,涉及一種基于從協(xié)議棧 較低層獲得的擁塞信息來對該協(xié)議桟較高層中的數(shù)據(jù)包進(jìn)行擁塞標(biāo)記的 方法和系統(tǒng)。
背景技術(shù):
數(shù)據(jù)網(wǎng)絡(luò)中的"擁塞標(biāo)記"是這樣的實(shí)踐,即在包頭部中特定字段內(nèi) 設(shè)置某個值,以表明當(dāng)該包作為流的一部分穿過網(wǎng)絡(luò)時,該包在該網(wǎng)絡(luò) 中的某一跳處經(jīng)歷了擁塞。如果包在后一跳處繼續(xù)經(jīng)歷擁塞,則該后一 跳處的路由器可以決定丟棄這個標(biāo)記了擁塞的包,以減輕整個網(wǎng)絡(luò)中的 擁塞。網(wǎng)際協(xié)議(IP)網(wǎng)絡(luò)中的擁塞標(biāo)記是公知的,并且通常通過網(wǎng)絡(luò) 層路由器在流量高于特定閾值之上時(在IP頭部中)對包進(jìn)行"標(biāo)記"而
完成。具體來說,IETF RFC 3168定義了向IP添加ECN (顯式擁塞通知), 利用IP頭部中的區(qū)分服務(wù)代碼點(diǎn)(DiffServ Codepoint, DSCP)來進(jìn)行 ECN標(biāo)記。
擁塞標(biāo)記的使用使得能夠執(zhí)行各種網(wǎng)絡(luò)控制功能,例如(1)諸如
TCP的擁塞反應(yīng)協(xié)議(congestion reactive protocol):用于執(zhí)行速率控制 而不是丟棄包;(2)PCN(預(yù)擁塞通知)用于控制新流的允入(admission) 并搶占(pre-empt)已有流;以及(3)流量工程(Traffic Engineering):
控制流到替換路徑的轉(zhuǎn)移。
ECN技術(shù)通常根據(jù)網(wǎng)絡(luò)中某點(diǎn)處已經(jīng)發(fā)生的擁塞,來觸發(fā)對包的初 始ECN標(biāo)記,然后進(jìn)一步發(fā)生的擁塞會導(dǎo)致作了 ECN標(biāo)記的包被丟棄。 然而,在一些部署(deployment)中,更優(yōu)地是嘗試和檢測增加的網(wǎng)絡(luò)流 量,并且在擁塞實(shí)際發(fā)生之前或者在擁塞剛開始發(fā)生時,采取補(bǔ)救措施 來控制網(wǎng)絡(luò)負(fù)載。為了嘗試和解決這些問題,已經(jīng)發(fā)展出了用在網(wǎng)絡(luò)層
4擁塞標(biāo)記的語境中的預(yù)擁塞通知(PCN)概念。
PCN (預(yù)擁塞通知)是一種使用邊到邊基于分散式測量的允入控制
(DMBAC)的端到端受控負(fù)載(CL)服務(wù),邊到邊DMBAC在Briscoe 等的IETF因特網(wǎng)草案"An edge-to-edge Deployment Model for Pre-Congestion Notification: Admission Control over a DiffServ Region)"禾口 B.Briscoe等的正TF因特網(wǎng)草案"Pre-Congestion Notification Marking),,
中做了描述,這兩個草案分別為可以從 http:〃tools.ietf.org/wg/tsvwg/draft-briscoe-tsvwg-cl-architecture-04.txt 獲得 的 draft-briscoe-tsvwg-cl-architecture-04.txt 禾口 可 以 從 http:〃www.ietf.org/intemet-drafts/draft-briscoe-tsvwg- cl-phb-03.txt獲得的 "draft-briscoe-tsvwg-cl-phb-02.txt"。 MBAC (基于測量的允入控制)的主 要目的是保證不僅針對受檢驗(yàn)從而允入的任何進(jìn)入流而且針對已有的準(zhǔn) 入流的服務(wù)質(zhì)量(QoS)要求。
PCN使用兩種控制算法流允入控制和流搶占。下面對這兩種算法 進(jìn)行更詳細(xì)的描述。為了得到進(jìn)一步的細(xì)節(jié),參照上面提到的兩個IETF 因特網(wǎng)草案,這里通過引用并入這兩個草案。
在流允入控制中,PCN引入了一種算法,該算法在隊(duì)列中存在任何 CL包的顯著增多(build-up)之前對這些包進(jìn)行"允入標(biāo)記"。作了允入標(biāo) 記的包充當(dāng)早期警告,即,警告包流量接近工程設(shè)計(jì)容量。通過使用 DMBAC (基于分散式測量的允入控制),橫跨CL區(qū)"邊到邊"地實(shí)現(xiàn)CL 服務(wù)。允入新流的決定取決于同一對入口和出口網(wǎng)關(guān)之間已有流量的測 量。CL區(qū)出口計(jì)算使用EWMA (指數(shù)加權(quán)移動平均)作了標(biāo)記的包的 比率(fraction),并將該值(擁塞水平估計(jì))報(bào)告回入口。
允入標(biāo)記是如下來執(zhí)行的。在當(dāng)前PCN設(shè)計(jì)中,路由器使用以下類 似RED的算法,根據(jù)路由器處虛擬隊(duì)列的大小來計(jì)算包應(yīng)該被允入標(biāo)記 的概率
虛擬隊(duì)列大小<最小標(biāo)記閾值,概率=0;
最小標(biāo)記閾值<虛擬隊(duì)列大小< (最大標(biāo)記閾值-最小標(biāo)記閾值),概 率=(虛擬隊(duì)列大小-最小標(biāo)記閾值)/ (最大標(biāo)記閾值-最小標(biāo)記閾值);虛擬隊(duì)列大小>最大標(biāo)記閾值,概率=1。
這給出了如圖3中所示的概率函數(shù),包被標(biāo)記的線性增加的概率取 決于路由器處的、最小和最大標(biāo)記閾值之間的虛擬隊(duì)列大小。在這一方 面,盡管我們通過"虛擬隊(duì)列"來表示路由器處流量隊(duì)列的大小的仿真, 但是它適合于仿真比實(shí)際真實(shí)發(fā)生更低的發(fā)送速率(即,隊(duì)列清空速率)。 因此,"虛擬隊(duì)列"是以和真實(shí)隊(duì)列處的包到達(dá)相同的速率增大,而以比 由于實(shí)際包從真實(shí)隊(duì)列中發(fā)送出去而導(dǎo)致的真實(shí)隊(duì)列被實(shí)際清空更慢的 速率減小的數(shù)。例如,虛擬隊(duì)列的減小速率可以被選擇為實(shí)際路由器發(fā) 送速率的某個百分比,由此被選擇為真實(shí)隊(duì)列的減小速率的某個百分比,
如80%。
使用該更低的虛擬"發(fā)送速率"(即,虛擬隊(duì)列減小的速率)的效果 是,它使得能夠通過簡單地查看真實(shí)隊(duì)列中排隊(duì)的數(shù)據(jù)量,在潛在的擁 塞成為現(xiàn)實(shí)之前檢測到它們。例如,如果我們查看真實(shí)隊(duì)列,并等待直 到真實(shí)隊(duì)列為滿才檢測然后采取針對擁塞的措施,則實(shí)際上,在采取補(bǔ) 救措施之前擁塞已經(jīng)發(fā)生,并且由于緩沖器溢出而導(dǎo)致包正在丟失。然 而,通過査看虛擬隊(duì)列,因?yàn)樘摂M發(fā)送速率(即,虛擬隊(duì)列計(jì)數(shù)器減小 的速率)小于實(shí)際發(fā)送速率,所以對于給定的包到達(dá)速率,虛擬隊(duì)列將 始終比實(shí)際隊(duì)列更"滿"(即,指示更高的水平)。如果包到達(dá)速率增大從 而虛擬隊(duì)列"溢出"(即,達(dá)到閾值數(shù),該閾值數(shù)可以等于真實(shí)隊(duì)列可以 保持的包數(shù)),則這是真實(shí)隊(duì)列中將要發(fā)生擁塞的指示,從而可以采取措 施。當(dāng)然,因?yàn)檎鎸?shí)隊(duì)列具有高于虛擬隊(duì)列的發(fā)送速率,所以在虛擬隊(duì) 列溢出時,真實(shí)隊(duì)列將仍然有容量,所以擁塞實(shí)際上還未發(fā)生。
因此,使用虛擬隊(duì)列的技術(shù)提供了一種機(jī)制,通過該機(jī)制可以進(jìn)行 潛在擁塞的早期檢測。
流搶占是一種幫助解決路由器和鏈路故障的方案。新流只在有足夠
容量的情況下才被允入,從而可以滿足新流和己有允入流的QoS要求。 考慮鏈路故障、緩和(mitigation)以及重路由的傳統(tǒng)方法可能導(dǎo)致某些 鏈路上的嚴(yán)重?fù)砣⒔档驼谇斑M(jìn)的(on-going)流和其他低優(yōu)先級流 所體驗(yàn)到的QoS。 PCN使用基于速率的流搶占,從而之前允入流的足夠比例被丟棄以確保剩余流再次接收到與CL服務(wù)相當(dāng)?shù)腝oS,并且對其他
流量類型迅速恢復(fù)至少一些QoS。進(jìn)行流搶占的步驟為(1)觸發(fā)入口
網(wǎng)關(guān)來測試是否可能需要搶占。通過PCN增強(qiáng)了的路由器可選地包括對
包進(jìn)行搶占標(biāo)記的算法。在出口處接收到如此作了標(biāo)記的包向入口網(wǎng)關(guān)
發(fā)送搶占警報(bào)消息。(2)計(jì)算要丟棄的流量的正確數(shù)量。(3)選擇要發(fā) 送哪些流。(4)針對所選的流解除(tear down)預(yù)留。入口網(wǎng)關(guān)針對使 用中的預(yù)留協(xié)議,觸發(fā)標(biāo)準(zhǔn)的解除消息。此外,在上面引用的IETF草案 中給出了流搶占的進(jìn)一步細(xì)節(jié)。
應(yīng)該注意,在任何PCN部署中,可以僅使用流允入控制或者流搶占 中的一個或另一個,或者可以同時使用這兩種控制算法。就包的PCN標(biāo) 記而言,允入控制標(biāo)記將被允入控制算法使用,而搶占標(biāo)記被流搶占算 法使用。上面引用的B.Briscoe等的"Pre-Congestion Notification Marking" 也即文件"draft-briscoe-tsvwg-cl-phb-02.txt"中描述了允入控制標(biāo)記和搶占 標(biāo)記至UDSCP的編碼。
ECN和PCN是網(wǎng)絡(luò)路由器用來在網(wǎng)絡(luò)層進(jìn)行擁塞控制的網(wǎng)絡(luò)層 (OSI模型中的層3)協(xié)議。然而,目前已經(jīng)提出將擁塞信令引入數(shù)據(jù)鏈 路層(OSI模型中的層2),以允許諸如以太網(wǎng)交換機(jī)的數(shù)據(jù)鏈路層實(shí)體 響應(yīng)于接收到的擁塞信號來執(zhí)行速率控制。具體來說,近來,提出了一 種被稱為后向擁塞通知(BCN)的技術(shù)在數(shù)據(jù)中心網(wǎng)絡(luò)中的以太網(wǎng)上使 用。
后向擁塞通知(BCN)是一種用于最初由Davide Bergasamo在Cisco 系統(tǒng)中開發(fā)的數(shù)據(jù)中心網(wǎng)絡(luò)(DCN)的機(jī)制,并且目前正由IEEE 802.1/802.3標(biāo)準(zhǔn)委員會考察。BCN允許來自擁塞點(diǎn)(達(dá)到幾跳遠(yuǎn))的擁 塞反饋(僅在層2),和入口處的速率控制。在JinJing Jiang, Raj Jain和 Manoj Wadekar向2006年11月12-15日于CA, Santa Barbara(圣巴巴拉) 召開的關(guān)于網(wǎng)絡(luò)協(xié)議的第14次國際IEEE會議(ICNP 2006)遞交的 "Analysis of Backward Congestion(BCN) for Ethernet in Datacenter Applications"(可以在http:〃www.cse.ohio-state.edu/~jain/ papers/bcn.htm 處獲得)中以及2005年5月12日于德國柏林主持的IEEE 802.1臨時會議由 Bergamasco 給出的原始 IEEE 陳述(可以在 http:〃www.ieee802.org/l/files/public/docs2005/new-bergamasco-backward-c ongestion-notification-0505.pdf處獲得)中描述了 BCN。下面給出BCN的
操作的簡要綜述。
BCN消息使用IEEE 802.1Q標(biāo)簽格式,圖2中示出了 BCN消息中 的關(guān)鍵字段。
BCN消息30包括以下字段。BCN消息的DA (宿地址)31表明了 采樣幀的SA (源地址)。BCN消息的SA (源地址)34表明了擁塞點(diǎn)的 MAC地址。CPID35是擁塞點(diǎn)標(biāo)識符。字段ei33給出了與返回到源的緩 沖器有關(guān)的信息。例如,根據(jù)圖l,交換機(jī)4可以向交換機(jī)1 (SA,采樣 幀的源地址)發(fā)回BCN消息,向(采樣幀經(jīng)過的)交換機(jī)4表明入口處 的擁塞水平。字段32被用來指示標(biāo)簽消息的類型,即它是BCN消息。 字段C 36被用來信號通知擁塞鏈路的容量。
BCN消息中的字段"ei"33給出了與生成該BCN消息的以太網(wǎng)交換機(jī) 的存儲器緩沖器的狀況有關(guān)的信息。其值由瞬時隊(duì)列偏移的加權(quán)求和與 上一采樣間隔上的隊(duì)列變化組成,如下式1所示
& = q。ff(t) — Wqdelta(t) = (Qeq-q(t)) — W(qa-qd) 式1
其中W是權(quán)重;q。fi(t)是如式2定義的瞬時隊(duì)列偏移
q。e(t) = q(t)畫Qeq 式2
并且qdeto(t)是上一采樣間隔上的隊(duì)列變化,并且被定義為己到達(dá)的
包數(shù)qa和上一采樣時間后被服務(wù)的包數(shù)qd的差。這里,q(t)是瞬時的實(shí)際
隊(duì)列大小,而Qeq是均衡的隊(duì)列大小,均衡的隊(duì)列大小通常為隊(duì)列總大小
的一半。
如果eiX),則表明BCN消息為正(positive)。這意味著很快擁塞的 可能較小。當(dāng)滿足以下條件之一時,設(shè)置ejX):
1. 當(dāng)隊(duì)列長度較短,并且隊(duì)列未增加時;或者
2. 即使隊(duì)列長度此時較大,但是長度正在減小,并且因此促使源增 加它們的速率
如果eiO,則表明BCN消息為負(fù)(negative)。這意味著很快擁塞的
8可能較大。當(dāng)滿足以下條件之一時,設(shè)置ejO:
1. 即使隊(duì)列此時較小,但是它正在增加,因此促使源減小它們的速
率;
2. 較大隊(duì)列表明鏈路出現(xiàn)擁塞。要求源減小它們的速率 一旦接收到BCN消息,源使用以ei作為參數(shù)的加性增長乘性減少
(AIMD)算法來調(diào)整它的速率。在上面引用的Jiang等的文章中可以獲
得進(jìn)一步的細(xì)節(jié)。
因此,BCN提供了一種用于以太網(wǎng)網(wǎng)絡(luò)中的擁塞信令和發(fā)送速率適 應(yīng)方案,它們可以用來避免較長延遲,并且使層2以太網(wǎng)網(wǎng)絡(luò)中的損失 最小。另一方面,已經(jīng)提出PCN通過這樣的方式提供網(wǎng)絡(luò)層中的擁塞控 制,即,對包進(jìn)行PCN標(biāo)記,然后被用來觸發(fā)允入控制算法以在網(wǎng)絡(luò)達(dá) 到它的工程設(shè)計(jì)負(fù)載時防止新流的允入,和/或觸發(fā)搶占算法以在路由器 或鏈路故障時"搶占"或終止己有的允入流。然而,至今,如圖1中所示 出,按它們在協(xié)議棧的不同層中那樣運(yùn)行的這兩種方案意圖是在它們各 自層中獨(dú)立運(yùn)行。在此方面,圖1例示了 BCN可以如何在數(shù)據(jù)鏈路層10 中運(yùn)行以在上游方向?qū)CN消息從正在經(jīng)歷擁塞的以太網(wǎng)交換機(jī)向后發(fā) 送到源交換機(jī),而PCN可以在網(wǎng)絡(luò)層20中獨(dú)自運(yùn)行。
迄今為止還未設(shè)想過這兩種機(jī)制之間的交互。然而,每種機(jī)制都有 效地用來檢測相同的有害現(xiàn)象(即網(wǎng)絡(luò)中的擁塞)并對其產(chǎn)生作用。此 外,PCN通過檢測網(wǎng)絡(luò)何時達(dá)到它的工程設(shè)計(jì)容量,并響應(yīng)于該檢測典 型地以允入控制的形式在網(wǎng)絡(luò)層采取措施,來嘗試避免擁塞。因此,PCN 中的早期擁塞檢測對實(shí)現(xiàn)該目標(biāo)是有幫助的。然而,網(wǎng)絡(luò)層中的IP包必 須使用數(shù)據(jù)鏈路層在鏈路上傳輸,并且擁塞將首先發(fā)生在數(shù)據(jù)鏈路層流 量隊(duì)列中。因此,如通過BCN所實(shí)現(xiàn)的,通過監(jiān)控?cái)?shù)據(jù)鏈路層流量隊(duì)列, 擁塞通??梢赃M(jìn)行早期檢測。因此,能夠采取數(shù)據(jù)鏈路層中可用的早期 擁塞檢測并將擁塞指示向上傳至網(wǎng)絡(luò)層從而可以隨后在網(wǎng)絡(luò)層中采取補(bǔ) 救措施,這是有益的。更一般地,也可以從將來自協(xié)議棧較低層的擁塞 信息用在較高層來獲得這些優(yōu)點(diǎn)。
現(xiàn)有技術(shù)出于交換的目的,IP包可以被封裝在一個或更多個MPLS標(biāo)簽中, 以通過MPLS網(wǎng)絡(luò)進(jìn)行傳送。在這種情況下,IP層有效地將MPLS層處 理為它的鏈路層,但是實(shí)際中,MPLS將通常落在真實(shí)數(shù)據(jù)鏈路層的頂部, 例如PPP。在此方面,如該技術(shù)(例如,參見Pearson Education 2003出 版的Tanenbaum,A.S.的Coumputer Networks第四版416頁)中所認(rèn)可的, MPLS 可以認(rèn)為是層 2.5 。 鑒于此,在可以從 http:〃www.cs.ucl.ac.uk/staff/B.Briscoe/projects/ipe2eqos/gqs/papers/draft-da vie-ecn-mpls-01.html獲得的B.Davie,B.Briscoe禾n J.Tay的IETF因特網(wǎng)草 案 , Explicit Congestion Marking in MPLS , 即文件 "draft-davie-ecn-mpls-01.txt"中,描述了在MPLS標(biāo)簽頭部中可以如何執(zhí) 行ECN標(biāo)記。具體來說,它描述了當(dāng)包穿過MPLS網(wǎng)絡(luò)時,如果經(jīng)歷了 擁塞,則可以對MPLS標(biāo)簽進(jìn)行擁塞標(biāo)記。當(dāng)上一 MPLS標(biāo)簽已經(jīng)從 MPLS標(biāo)簽棧中彈出以揭示IP包頭部(通常在MPLS網(wǎng)絡(luò)的出口處)時, 將MPLS標(biāo)簽中的任何擁塞標(biāo)記拷貝到IP頭部中的DSCP內(nèi)。因此,用 這種方案,從低于網(wǎng)絡(luò)層的層(MPLS層)獲得擁塞信息,并且該擁塞信 息用于在網(wǎng)絡(luò)層內(nèi)作擁塞標(biāo)記。然而,如所討論的那樣,MPLS不是真實(shí) 的數(shù)據(jù)鏈路層協(xié)議,而是關(guān)注提供更簡單的交換,并且需要下面的另一 數(shù)據(jù)鏈路層協(xié)議來執(zhí)行交換機(jī)之間的實(shí)際數(shù)據(jù)傳輸。因此,將從MPLS 導(dǎo)出的擁塞信息傳至IP內(nèi)并未提供和可以通過查看鏈路層流量隊(duì)列從實(shí) 際鏈路層內(nèi)獲得的擁塞信息而獲得的相同的早期擁塞檢測。
現(xiàn)在參照現(xiàn)有專利文獻(xiàn),美國申請US 2006/104298 ("McAlpine等") 涉及擁塞控制,并且涉及基于節(jié)點(diǎn)間通信路徑中的流量擁塞來控制節(jié)點(diǎn) 間數(shù)據(jù)傳輸速率。具體來說,它公開了這樣的源節(jié)點(diǎn),所述源節(jié)點(diǎn)接收 要從該源節(jié)點(diǎn)發(fā)送到宿節(jié)點(diǎn)的相關(guān)數(shù)據(jù)幀,并且將這些幀置于隊(duì)列中。 該隊(duì)列與這樣的通信路徑相關(guān)聯(lián),即,所述相關(guān)幀要在所述通信路徑上 被發(fā)送到宿節(jié)點(diǎn)。將該源節(jié)點(diǎn)連接到該通信路徑的接口接收一指向該源 節(jié)點(diǎn)的關(guān)于通信路徑中有流量擁塞的指示。響應(yīng)于此,該源節(jié)點(diǎn)控制所 述相關(guān)數(shù)據(jù)幀從該隊(duì)列傳送到所述接口可訪問的傳輸緩沖區(qū)的速率,以 便緩解通信路徑中的流量擁塞。除此之外,美國專利US 6,426,944 ("Moore")涉及一種用于在快速 包網(wǎng)絡(luò)上控制數(shù)據(jù)消息的方法和裝置。具體來說,它公開了高速包網(wǎng)絡(luò) 可以如何使用前向和/或后向顯式擁塞通知消息(FECN和BECN)更高 效地控制流經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)流,以調(diào)節(jié)(throttle)網(wǎng)絡(luò)元件之間的數(shù)據(jù)傳 輸。該網(wǎng)絡(luò)包括由接收協(xié)議棧構(gòu)成用于發(fā)起數(shù)據(jù)流控制的路由器、控制 器和操作系統(tǒng)。路由器控制器被編程為響應(yīng)于從快速包網(wǎng)絡(luò)(例如幀中 繼網(wǎng)絡(luò)或小區(qū)中繼網(wǎng)絡(luò))接收到擁塞消息(BECN),生成穿透包消息 (pass-through packet message),該消息請求打開層N和層N+2之間的虛 數(shù)據(jù)流控制信道,其中層N可以為幀中繼協(xié)議的層2,而層N+2可以為 TCP協(xié)議的層4。層4可以拒絕打開該信道,但是一旦信道被打開,就可 以在快速包網(wǎng)絡(luò)中感測到擁塞時,在宿智能終端之間發(fā)起數(shù)據(jù)流控制。 路由器控制器還被編程為打開到數(shù)據(jù)源的路徑,并且向數(shù)據(jù)源發(fā)信號, 通知應(yīng)當(dāng)調(diào)整數(shù)據(jù)呈遞速率。
發(fā)明內(nèi)容
考慮到上面的問題,本發(fā)明的實(shí)施方式提供了這樣的方法和系統(tǒng), 其中,從協(xié)議棧中的較低層獲得擁塞信息,并用于在較高層中進(jìn)行擁塞 標(biāo)記。具體來說,本發(fā)明第一方面的方法和系統(tǒng)提供了較低層中的擁塞 信息,所述擁塞信息在擁塞節(jié)點(diǎn)的下游生成,并且被向上游反饋到源節(jié) 點(diǎn)。然后,源節(jié)點(diǎn)將所述擁塞信息或從其中導(dǎo)出的信息向上傳遞到負(fù)責(zé) 協(xié)議棧中較高層的對應(yīng)網(wǎng)絡(luò)元件,隨后可以在該對應(yīng)網(wǎng)絡(luò)元件中至少根 據(jù)接收到的較低層擁塞信息來執(zhí)行較高層的擁塞標(biāo)記。因此,來自較低 層的擁塞信息可以被用在較高層擁塞控制功能中,所述擁塞信息通???以在發(fā)生顯著擁塞之前較早地生成。
另一方面,本發(fā)明實(shí)施方式的方法和系統(tǒng)提供了來自數(shù)據(jù)鏈路層要 被傳遞到網(wǎng)絡(luò)層的擁塞信息,并且提供了根據(jù)數(shù)據(jù)鏈路層擁塞信息對網(wǎng) 絡(luò)層中的包進(jìn)行擁塞標(biāo)記。優(yōu)選地,所述數(shù)據(jù)鏈路層擁塞信息是根據(jù)至 少在一個數(shù)據(jù)鏈路層節(jié)點(diǎn)處維持的虛擬隊(duì)列的一個或更多個屬性而生成 的。通過查看數(shù)據(jù)鏈路層虛擬隊(duì)列,可以獲得潛在擁塞的早期檢測,然后,網(wǎng)絡(luò)層可以使用它來進(jìn)行諸如預(yù)擁塞標(biāo)記的擁塞標(biāo)記,以觸發(fā)控制 算法來試圖避免任何擁塞發(fā)生。在其他實(shí)施方式中,并不使用虛擬隊(duì)列, 而是可以根據(jù)至少一個數(shù)據(jù)鏈路層節(jié)點(diǎn)處維持的真實(shí)流量隊(duì)列的水平來 生成數(shù)據(jù)鏈路層擁塞信息。
考慮上面的問題,本發(fā)明公開了一種用于確定數(shù)據(jù)網(wǎng)絡(luò)中的擁塞信 息的方法,所述方法包括以下步驟在具有關(guān)于數(shù)據(jù)流的協(xié)議棧中較低 層的上游元件處,接收與在所述流的下游元件處發(fā)生的數(shù)據(jù)流量擁塞有 關(guān)的較低層擁塞信息,所述下游元件位于同一層內(nèi);以及將所述較低層 擁塞信息的至少一部分,或從其中導(dǎo)出的進(jìn)一步信息提供給所述協(xié)議棧 中較高層處的元件。因此,可以對較低層網(wǎng)絡(luò)元件進(jìn)行改動以允許發(fā)送 較低層擁塞信息,該擁塞信息向較高層提供了對擁塞的早期警告。
可選地,所述方法可以還包括以下步驟響應(yīng)于所述較低層擁塞信 息來修改所述數(shù)據(jù)流。這允許在較低層執(zhí)行速率修改和在較高層進(jìn)行擁 塞控制,以提供兩種機(jī)制來對抗擁塞。
本發(fā)明的一個方面提供了一種確定數(shù)據(jù)網(wǎng)絡(luò)中擁塞信息的方法,所 述方法包括以下步驟在具有協(xié)議棧中較高層的上游元件處,從所述棧 中較低層處的網(wǎng)絡(luò)元件接收較低層擁塞信息,所述擁塞信息與在流的下 游元件處發(fā)生的數(shù)據(jù)流量擁塞有關(guān),所述下游元件位于所述較低層內(nèi); 根據(jù)所述較低層擁塞信息,確定要在所述較高層中使用的較高層擁塞信 息;以及將所述較高層擁塞信息應(yīng)用于所述較高層中的數(shù)據(jù)流量。因此, 較高層擁塞控制方案可以并入來自較低層的信息,因此,能夠早于其他 情況來執(zhí)行擁塞控制。
在優(yōu)選實(shí)施方式中,所述較低層為數(shù)據(jù)鏈路層,所述較高層為網(wǎng)絡(luò)層。
另一方面,本發(fā)明還提供了一種用于數(shù)據(jù)網(wǎng)絡(luò)中的擁塞標(biāo)記的方法, 所述方法包括以下步驟在數(shù)據(jù)鏈路層網(wǎng)絡(luò)元件處,確定與在所述網(wǎng)絡(luò) 中一個或更多個數(shù)據(jù)鏈路層鏈路內(nèi)發(fā)生的擁塞有關(guān)的數(shù)據(jù)鏈路層擁塞信 息;以及將所述數(shù)據(jù)鏈路層擁塞信息傳遞到網(wǎng)絡(luò)層網(wǎng)絡(luò)元件。因此,可 以將數(shù)據(jù)鏈路層特有的擁塞信息傳至網(wǎng)絡(luò)層,然后,可以使用該擁塞信
12息來進(jìn)行早期擁塞控制。
因此,本發(fā)明還類似地提供了一種在數(shù)據(jù)網(wǎng)絡(luò)中進(jìn)行擁塞標(biāo)記的方 法,所述方法包括以下步驟在網(wǎng)絡(luò)層網(wǎng)絡(luò)元件處,接收與在所述網(wǎng)絡(luò) 中一個或更多個數(shù)據(jù)鏈路層鏈路內(nèi)發(fā)生的擁塞有關(guān)的數(shù)據(jù)鏈路層擁塞信 息;根據(jù)所接收到的數(shù)據(jù)鏈路層擁塞信息,確定網(wǎng)絡(luò)層擁塞信息;以及 將所述確定的擁塞信息應(yīng)用于所述網(wǎng)絡(luò)層中的一個或更多個數(shù)據(jù)包。然 后,網(wǎng)絡(luò)層可以使用來自數(shù)據(jù)鏈路層的該信息比其他情況更早地執(zhí)行擁 塞控制。
優(yōu)選地,根據(jù)所述下游數(shù)據(jù)鏈路層網(wǎng)絡(luò)元件處維持的虛擬隊(duì)列的大 小來確定所述數(shù)據(jù)鏈路層擁塞信息。然而,在其他實(shí)施方式中,所述數(shù) 據(jù)鏈路層擁塞信息代表了下游數(shù)據(jù)鏈路層網(wǎng)絡(luò)元件處實(shí)際數(shù)據(jù)鏈路層流 量隊(duì)列中排隊(duì)數(shù)據(jù)的水平。因此,可以盡可能早地檢測到大隊(duì)列形式的 擁塞。
在優(yōu)選實(shí)施方式中,所述數(shù)據(jù)鏈路層擁塞信息是BCN信息的形式, 而所述網(wǎng)絡(luò)層擁塞信息是PCN標(biāo)記的形式。這些特征使本發(fā)明對于基于 以太網(wǎng)的IP網(wǎng)絡(luò)特別有吸引力。
在使用PCN的情況下,如果數(shù)據(jù)鏈路層擁塞信息表明了第一預(yù)定閾 值和更高的第二預(yù)定閾值之間的擁塞,并且搶占標(biāo)記在所述第二預(yù)定閾 值之上,則PCN標(biāo)記優(yōu)選地為允入標(biāo)記。因此,是調(diào)用PCN的允入控 制算法還是流搶占控制算法將取決于數(shù)據(jù)鏈路層中的擁塞量。
在優(yōu)選實(shí)施方式中,根據(jù)針對網(wǎng)絡(luò)層元件中虛擬隊(duì)列大小的概率函 數(shù)來確定所述網(wǎng)絡(luò)層擁塞信息,其中,根據(jù)所述數(shù)據(jù)鏈路層擁塞信息來 修改所述概率函數(shù)。標(biāo)記概率函數(shù)的修改使得能夠相對直接地將數(shù)據(jù)鏈 路層擁塞信息翻譯成網(wǎng)絡(luò)層擁塞信息。
另選的是,根據(jù)所述數(shù)據(jù)鏈路層擁塞信息來確定所述網(wǎng)絡(luò)層擁塞信 息,這樣,在所述網(wǎng)絡(luò)層中對和所述數(shù)據(jù)鏈路層中基本相同量的有效載 荷數(shù)據(jù)進(jìn)行了擁塞標(biāo)記。該特征使得網(wǎng)絡(luò)層通過按照數(shù)據(jù)鏈路層經(jīng)歷的 擁塞對網(wǎng)絡(luò)層中更多或更少的數(shù)據(jù)進(jìn)行擁塞標(biāo)記,使網(wǎng)絡(luò)層不會對數(shù)據(jù) 鏈路層中經(jīng)歷的擁塞反應(yīng)過度(overreact)或反應(yīng)不足(under-react)。
13本發(fā)明還提供了協(xié)議棧中較低層內(nèi)用于確定數(shù)據(jù)網(wǎng)絡(luò)中的擁塞信息 的網(wǎng)絡(luò)元件,所述網(wǎng)絡(luò)元件包括第一接口,在所述第一接口處接收與 在流中另一下游元件處發(fā)生的數(shù)據(jù)流量擁塞有關(guān)的較低層擁塞信息,所 述下游元件位于同一層內(nèi);以及第二接口,所述第二接口適于將所述較 低層擁塞信息的至少一部分或從其中導(dǎo)出的進(jìn)一步信息轉(zhuǎn)發(fā)到所述協(xié)議 棧中較高層處的元件。
可選地,所述網(wǎng)絡(luò)元件還可以包括流修改器,所述流修改器被設(shè)置 為響應(yīng)于所述較低層擁塞信息來修改所述數(shù)據(jù)流。
另外,本發(fā)明提供了協(xié)議棧中較高層處用于確定數(shù)據(jù)網(wǎng)絡(luò)中的擁塞 信息的網(wǎng)絡(luò)元件,所述網(wǎng)絡(luò)元件包括用于從所述棧中較低層處的網(wǎng)絡(luò) 元件接收較低層擁塞信息的接口,所述擁塞信息與在流中下游元件處發(fā) 生的數(shù)據(jù)流量擁塞有關(guān),所述下游元件位于所述較低層內(nèi);以及控制元 件,所述控制元件被設(shè)置用來i)根據(jù)所述較低層擁塞信息,確定要在 所述較高層使用的較高層擁塞信息;以及ii)將所述較高層擁塞信息應(yīng)用 于所述較高層中的數(shù)據(jù)流量。
此外,本發(fā)明還提供了一種數(shù)據(jù)鏈路層網(wǎng)絡(luò)元件,所述數(shù)據(jù)鏈路層 網(wǎng)絡(luò)元件包括擁塞控制器,所述擁塞控制器被設(shè)置為確定與所述網(wǎng)絡(luò) 中一個或更多個數(shù)據(jù)鏈路層鏈路內(nèi)發(fā)生的擁塞有關(guān)的數(shù)據(jù)鏈路層擁塞信 息;以及接口,所述接口用于將所述數(shù)據(jù)鏈路層擁塞信息傳遞到網(wǎng)絡(luò)層 網(wǎng)絡(luò)元件。
最后,本發(fā)明還提供了一種網(wǎng)絡(luò)層網(wǎng)絡(luò)元件,所述網(wǎng)絡(luò)層網(wǎng)絡(luò)元件 包括接口,所述接口用于從數(shù)據(jù)鏈路層元件接收與所述網(wǎng)絡(luò)中一個或 更多個數(shù)據(jù)鏈路層鏈路內(nèi)發(fā)生的擁塞有關(guān)的擁塞信息;以及控制元件, 所述控制元件被設(shè)置用來i)根據(jù)所接收到的數(shù)據(jù)鏈路層擁塞信息,確 定網(wǎng)絡(luò)層擁塞信息;以及ii)將所述確定的擁塞信息應(yīng)用于所述網(wǎng)絡(luò)層中 的一個或更多個數(shù)據(jù)包。
通過以下僅以實(shí)施例方式呈現(xiàn)的對實(shí)施方式的描述,并通過參照附圖,本發(fā)明的進(jìn)一步特征和優(yōu)點(diǎn)將變得明了,其中,相同的標(biāo)號指代相
同部件,并且圖中
圖1是例示在現(xiàn)有技術(shù)中可以如何使用BCN標(biāo)記和PCN標(biāo)記的圖; 圖2是例示現(xiàn)有技術(shù)中所使用的BCN消息的格式的圖3是例示使用現(xiàn)有技術(shù)的PCN對IP包進(jìn)行允入標(biāo)記的概率函數(shù)
的圖4是例示本發(fā)明第一實(shí)施方式中涉及的網(wǎng)絡(luò)元件和數(shù)據(jù)流的圖; 圖5是例示本發(fā)明第二實(shí)施方式中的網(wǎng)絡(luò)元件和數(shù)據(jù)流的框圖; 圖6是例示本發(fā)明實(shí)施方式中使用的數(shù)據(jù)鏈路層交換機(jī)和網(wǎng)絡(luò)層路 由器的框圖7是例示本發(fā)明實(shí)施方式中涉及的步驟的流程圖; 圖8是例示本發(fā)明實(shí)施方式中的路由器處涉及的步驟的流程圖; 圖9是例示本發(fā)明優(yōu)選實(shí)施方式中將BCN信息翻譯成PCN標(biāo)記所 涉及的步驟的流程圖10是例示本發(fā)明實(shí)施方式中對包進(jìn)行允入標(biāo)記的概率函數(shù)的圖; 圖11是例示本發(fā)明實(shí)施方式中對包進(jìn)行允入標(biāo)記的概率函數(shù)的圖; 圖12是例示本發(fā)明實(shí)施方式中對包進(jìn)行允入標(biāo)記的概率函數(shù)的圖; 圖13是例示本發(fā)明實(shí)施方式中對包進(jìn)行允入標(biāo)記的概率函數(shù)的圖。
具體實(shí)施例方式
現(xiàn)在將參照附圖來描述本發(fā)明的實(shí)施方式。
如之前所提到的,圖1根據(jù)網(wǎng)絡(luò)層20中設(shè)置的多個路由器22和在 路由器22之間形成鏈路的多個交換機(jī)12,例示了數(shù)據(jù)鏈路層10中的典 型網(wǎng)絡(luò)元件。來自較高層的包通過接入網(wǎng)絡(luò)而接入核心網(wǎng)絡(luò),并且被傳 至在網(wǎng)絡(luò)的受控負(fù)載區(qū)中被表示為路由器1的入口網(wǎng)關(guān)。路由器1為接 收到的包確定路由,并將這些包傳遞到它相關(guān)聯(lián)的數(shù)據(jù)鏈路層交換機(jī)(在 該情況下為交換機(jī)l),以傳輸?shù)骄W(wǎng)絡(luò)層中的下一跳路由器。網(wǎng)絡(luò)層中路 由器1與路由器2之間的下一跳可以包括由數(shù)據(jù)鏈路層10中的交換機(jī)1 到4形成的幾條單獨(dú)的數(shù)據(jù)鏈路。通常,數(shù)據(jù)鏈路層可以包括以太網(wǎng)等。
15在數(shù)據(jù)鏈路層處,網(wǎng)絡(luò)層包被封裝成諸如以太網(wǎng)幀的數(shù)據(jù)鏈路層幀, 以在數(shù)據(jù)鏈路層中逐個交換機(jī)地傳輸?shù)街虚g網(wǎng)絡(luò)路由器(在該情況下為 路由器2)。如之前所討論的,諸如PCN的擁塞標(biāo)記可以在網(wǎng)絡(luò)層中被采 用,并且用來執(zhí)行允入控制和流搶占。另外,還已知擁塞標(biāo)記可以在數(shù) 據(jù)鏈路層中例如使用BCN來執(zhí)行,以標(biāo)識數(shù)據(jù)鏈路層中特定交換機(jī)內(nèi)的 擁塞,并控制源節(jié)點(diǎn)修改它的數(shù)據(jù)傳輸速率來解決擁塞。在圖1中,示
例BCN消息14被示出為從與中間路由器(路由器2)相關(guān)聯(lián)的交換機(jī)4 傳輸回與入口路由器(路由器1)相關(guān)聯(lián)的交換機(jī)1。然而,如所討論的, 在現(xiàn)有技術(shù)中,BCN和PCN機(jī)制被有效地分離,它們之間并無結(jié)合。因 此,在圖1中,盡管交換機(jī)1可以響應(yīng)于BCN消息來修改它的傳輸速率, 但是在網(wǎng)絡(luò)層處未響應(yīng)于數(shù)據(jù)鏈路層處檢測到的擁塞對包進(jìn)行附加的 PCN標(biāo)記。
圖4中示出了本發(fā)明的第一實(shí)施方式。在第一實(shí)施方式中,通過接 收BCN消息而在數(shù)據(jù)鏈路層交換機(jī)處包含的擁塞信息被反饋到該交換機(jī) 的相應(yīng)網(wǎng)絡(luò)層路由器,從而在對網(wǎng)絡(luò)層中的包進(jìn)行擁塞通知標(biāo)記時可以 考慮數(shù)據(jù)鏈路層擁塞信息。圖4例示了用于將數(shù)據(jù)鏈路層擁塞信息反饋 到入口路由器22 (為路由器l)的機(jī)制,該機(jī)制在網(wǎng)絡(luò)層執(zhí)行允入控制。 更具體來說,如所描述的,入口路由器1通過接入網(wǎng)絡(luò)(未示出)來接 收要在網(wǎng)絡(luò)的受控負(fù)載區(qū)上傳輸?shù)臄?shù)據(jù)。如代表數(shù)據(jù)包流的轉(zhuǎn)發(fā)路徑、 決定了如何路由接收到的包的箭頭46所示,包從網(wǎng)絡(luò)層傳遞到通常為以 太網(wǎng)網(wǎng)絡(luò)等的數(shù)據(jù)鏈路層,其中交換機(jī)1隨后開始將跨越多個單獨(dú)數(shù)據(jù) 鏈路的包流朝向下一中間路由器2發(fā)送的處理。更具體來說,在本實(shí)施 例中,路由器1通過交換機(jī)1與交換機(jī)2之間、交換機(jī)2與交換機(jī)3之 間以及交換機(jī)3與交換機(jī)4之間的三個數(shù)據(jù)鏈路層跳而連接到路由器2。 在與中間路由器2相關(guān)聯(lián)的交換機(jī)4處,IP包從數(shù)據(jù)鏈路層幀解封裝, 并被傳遞到路由器2,從而向前路由。
現(xiàn)在考慮在運(yùn)行諸如BCN的擁塞標(biāo)記機(jī)制的交換機(jī)4處(與交換機(jī) 1、 2和3—同)在數(shù)據(jù)鏈路層中經(jīng)歷了擁塞。然后,交換機(jī)4以之前針 對圖2描述的格式來生成BCN消息,并且以交換機(jī)1的地址作為宿地址。字段34中的源地址被給出為擁塞點(diǎn)(為交換機(jī)4)的MAC地址。交換 機(jī)4中的BCN機(jī)制計(jì)算被放入BCN消息的字段33中的擁塞信息值e;。 本實(shí)施方式中的擁塞信息值可以如之前針對現(xiàn)有技術(shù)BCN機(jī)制描述的那 樣來計(jì)算,或者另選地可以根據(jù)將在之后描述的交換機(jī)4處保持的虛擬 隊(duì)列來計(jì)算。交換機(jī)4的容量還放入字段36中。然后,BCN消息在包流 的上游向后傳輸?shù)浇粨Q機(jī)3,然后到交換機(jī)2,最后到交換機(jī)l,交換機(jī) 1為消息的宿地址所指示的交換機(jī)。在本發(fā)明的實(shí)施方式中,交換機(jī)1隨 后將在BCN消息中接收到的擁塞信息以擁塞反饋消息44的形式轉(zhuǎn)發(fā)到 它相關(guān)聯(lián)的網(wǎng)絡(luò)路由器22 (在該情況下為路由器l)。在圖4中,BCN消 息被示出為逐個交換機(jī)傳遞的消息42。
本發(fā)明的實(shí)施方式并不限于將擁塞信息從數(shù)據(jù)鏈路層傳遞到網(wǎng)絡(luò)層 中的入口路由器,而是可以將這種反饋進(jìn)一步在網(wǎng)絡(luò)中的中間路由器之 間執(zhí)行。這在本發(fā)明的另一實(shí)施方式(在圖5中例示)中示出。這里, 中間路由器22 (路由器l)將數(shù)據(jù)流46轉(zhuǎn)發(fā)到網(wǎng)絡(luò)層中的路由器3。網(wǎng) 絡(luò)層中的所有路由器都以已知的常規(guī)方式進(jìn)行諸如PCN標(biāo)記的擁塞標(biāo) 記。在數(shù)據(jù)鏈路層處,包流46被封裝成數(shù)據(jù)鏈路層幀,并通過標(biāo)號12 所示的數(shù)據(jù)鏈路層交換機(jī)1、 2和3,在路由器2與路由器3之間傳輸。 數(shù)據(jù)流用箭頭46表示。在這種情況下,如果數(shù)據(jù)鏈路層中在交換機(jī)3處 經(jīng)歷了擁塞,則以之前描述或要在后面描述的方式來闡明BCN消息,并 且在相對于流的上游向后將BCN消息發(fā)送到與中間路由器2相關(guān)聯(lián)的交 換機(jī)1。此外,將由此從數(shù)據(jù)鏈路層獲得的擁塞信息以從交換機(jī)1傳遞到 中間路由器2的擁塞信息44的形式向上反饋到網(wǎng)絡(luò)層。
此外,在本發(fā)明進(jìn)一步的實(shí)施方式中,數(shù)據(jù)鏈路層中的擁塞信息可 以來自這樣的交換機(jī),該交換機(jī)不位于與層3路由器相同的節(jié)點(diǎn)處,而 是路由器節(jié)點(diǎn)之間的中間交換機(jī)(例如圖4中的交換機(jī)2或交換機(jī)3)。
在第一和第二實(shí)施方式中,針對數(shù)據(jù)鏈路層應(yīng)該注意,根據(jù)通常的 BCN機(jī)制, 一般而言數(shù)據(jù)鏈路層中的BCN機(jī)制不是通過修改它的發(fā)送速 率來對接收到BCN擁塞信息起作用。其中的原因是,在本發(fā)明優(yōu)選實(shí)施 方式中,用來對抗網(wǎng)絡(luò)中擁塞的主要機(jī)制是層3 PCN機(jī)制。因此,在數(shù)據(jù)鏈路層中,本發(fā)明實(shí)施方式需要的功能是將BCN擁塞信息向上傳遞到 網(wǎng)絡(luò)層中相關(guān)聯(lián)的路由器。在網(wǎng)絡(luò)層中,路由器接收反饋的BCN信息, 然后利用BCN擁塞信息來確定擁塞標(biāo)記,具體為在網(wǎng)絡(luò)層中針對IP包 的PCN標(biāo)記。后面將給出關(guān)于如何使用通過BCN從數(shù)據(jù)鏈路層獲得的 擁塞信息來執(zhí)行網(wǎng)絡(luò)層中的擁塞標(biāo)記,具體來說,如何執(zhí)行PCN標(biāo)記的 進(jìn)一步信息。
然而,在其他實(shí)施方式中,BCN擁塞信息除了在網(wǎng)絡(luò)層中還可以在 數(shù)據(jù)鏈路層中起作用。在這種情況下,數(shù)據(jù)鏈路層網(wǎng)絡(luò)元件將通過以之 前針對常規(guī)BCN機(jī)制所描述的方式修改它的發(fā)送速率,來響應(yīng)BCN擁 塞信息。在這種情況下,網(wǎng)絡(luò)層還附加地執(zhí)行PCN擁塞控制機(jī)制,由此 為整個網(wǎng)絡(luò)提供了兩種同時進(jìn)行的擁塞控制機(jī)制, 一種在層2中,另一 種在層3中。
圖6是例示了數(shù)據(jù)鏈路層交換機(jī)和網(wǎng)絡(luò)層路由器內(nèi)根據(jù)優(yōu)選實(shí)施方 式操作的元件的框圖。更具體來說,首先尋址數(shù)據(jù)鏈路層交換機(jī)12,數(shù) 據(jù)鏈路層交換機(jī)12(可以是以太網(wǎng)交換機(jī)等)包括數(shù)據(jù)鏈路層控制器122, 以及后向擁塞通知(BCN)控制器元件124。數(shù)據(jù)鏈路層控制器122控制 數(shù)據(jù)鏈路層交換機(jī)12來執(zhí)行它常規(guī)的數(shù)據(jù)鏈路層功能,通常是在點(diǎn)到點(diǎn) 鏈路(例如PPP中)上或者在廣播鏈路(例如以太網(wǎng)中)上傳輸數(shù)據(jù), 并確保它到達(dá)尋址的站。在數(shù)據(jù)鏈路層中,數(shù)據(jù)通常是以幀(如以太網(wǎng) 幀)的形式傳輸?shù)?。糾錯和確認(rèn)通常被用作數(shù)據(jù)鏈路層的一部分。如所 示出的,數(shù)據(jù)鏈路層控制器46接收要從網(wǎng)絡(luò)路由器22發(fā)送的數(shù)據(jù),并 將該數(shù)據(jù)列入數(shù)據(jù)鏈路層隊(duì)列中(未示出),然后在適當(dāng)線路上將其發(fā)送 到下一跳交換機(jī)。根據(jù)現(xiàn)有技術(shù)的BCN機(jī)制,數(shù)據(jù)鏈路層交換機(jī)12還 接收向后傳遞到擁塞通知控制器元件124的BCN消息42。在優(yōu)選實(shí)施方 式中,后向擁塞通知元件124不會以之前描述的方式作出響應(yīng)來控制發(fā) 送速率,而只是將BCN擁塞信息傳遞到PCN接口 126。
然而,在其他實(shí)施方式中,數(shù)據(jù)鏈路層交換機(jī)12可以在控制器122 的控制下執(zhí)行它的數(shù)據(jù)鏈路層功能,并且還參加之前討論的由BCN控制 器元件124控制的BCN機(jī)制。是否執(zhí)行BCN速率修改,本發(fā)明的實(shí)施方式提供了以BCN數(shù)據(jù)62 的形式將BCN擁塞信息轉(zhuǎn)發(fā)到網(wǎng)絡(luò)路由器22的附加PCN接口 126。轉(zhuǎn) 發(fā)的擁塞信息可以是整個接收到的BCN消息,或者可以是BCN消息內(nèi) 包含的擁塞值ei。當(dāng)然,也可以轉(zhuǎn)發(fā)其他元素。因此,本發(fā)明實(shí)施方式中 PCN接口 126的提供使這些實(shí)施方式有別于常規(guī)數(shù)據(jù)鏈路層交換機(jī)12, 因?yàn)檫@提供了將數(shù)據(jù)鏈路層擁塞信息向上轉(zhuǎn)發(fā)到網(wǎng)絡(luò)層的元件。
現(xiàn)在轉(zhuǎn)至網(wǎng)絡(luò)路由器22,它包括網(wǎng)絡(luò)層控制器222,所述網(wǎng)絡(luò)層控 制器222控制網(wǎng)絡(luò)路由器來執(zhí)行它的常規(guī)網(wǎng)絡(luò)層功能(通常為路由和QoS 控制)。還設(shè)置有預(yù)擁塞通知元件224,所述預(yù)擁塞通知元件224與網(wǎng)絡(luò) 層控制器222交互以執(zhí)行常規(guī)的預(yù)擁塞通知控制功能,例如預(yù)擁塞通知 標(biāo)記,并且,在入口和出口路由器的情況下, 一旦接收到響應(yīng)于該預(yù)擁 塞標(biāo)記而生成的PCN標(biāo)記或消息就采取動作,以執(zhí)行允入控制或流搶占。 然而,根據(jù)優(yōu)選實(shí)施方式,網(wǎng)絡(luò)路由器22還設(shè)置有BCN接口 228,所述 BCN接口 228從數(shù)據(jù)鏈路層接收包含擁塞信息的BCN數(shù)據(jù)62,將其轉(zhuǎn) 發(fā)至BCN到PCN翻譯器226。 BCN到PCN翻譯器226用于將接收到的 數(shù)據(jù)鏈路層擁塞信息翻譯到PCN語境,并根據(jù)接收到的數(shù)據(jù)鏈路層擁塞 信息來決定應(yīng)當(dāng)如何將PCN標(biāo)記應(yīng)用于網(wǎng)絡(luò)層中的IP包。后面將給出關(guān) 于如何執(zhí)行該翻譯的進(jìn)一步信息。同時,在將數(shù)據(jù)鏈路層擁塞信息翻譯 到PCN語境并決定了要應(yīng)用的合適PCN標(biāo)記后,向預(yù)擁塞通知元件224 傳遞一控制信號,指示響應(yīng)于接收到的數(shù)據(jù)鏈路層擁塞信息應(yīng)該進(jìn)行的 PCN標(biāo)記。然后,擁塞通知信息224根據(jù)接收到的控制信號而采取行動, 從而相應(yīng)地對包進(jìn)行標(biāo)記。
圖7和8分別例示了在轉(zhuǎn)發(fā)數(shù)據(jù)鏈路層擁塞通知信息并隨后將其翻 譯成PCN標(biāo)記的過程中由數(shù)據(jù)鏈路層交換機(jī)12和網(wǎng)絡(luò)路由器22執(zhí)行的 步驟,更具體來說,圖7例示數(shù)據(jù)鏈路層交換機(jī)12執(zhí)行的步驟。首先, 假設(shè)數(shù)據(jù)鏈路層交換機(jī)12已經(jīng)通過一系列數(shù)據(jù)鏈路層交換機(jī)將數(shù)據(jù)流在 它的向外數(shù)據(jù)鏈路上向上轉(zhuǎn)發(fā)給了下一跳路由器。在一個下游交換機(jī)處 經(jīng)歷了擁塞,后面將更詳細(xì)地討論生成和傳輸?shù)腂CN消息。在步驟7.2 處,數(shù)據(jù)鏈路層交換機(jī)12接收BCN消息,并假設(shè)BCN消息中示出的宿
19地址對應(yīng)于所議論的數(shù)據(jù)鏈路層交換機(jī)12的地址,在步驟7.4處,后向
擁塞通知控制器元件124解析接收到的BCN消息,以確定擁塞信息值ei。 然后,后向擁塞通知控制器元件可以根據(jù)常規(guī)所知的加性增長乘性減少 算法來進(jìn)行BCN速率修改。然后,到此為止,數(shù)據(jù)鏈路層交換機(jī)12的 操作都是常規(guī)的。
但是,根據(jù)一些實(shí)施方式,由BCN消息實(shí)現(xiàn)的擁塞信息要向上轉(zhuǎn)發(fā) 至與交換機(jī)相關(guān)聯(lián)的網(wǎng)絡(luò)層路由器,因此要實(shí)現(xiàn)這個目的,要在步驟7.6 處將BCN消息轉(zhuǎn)發(fā)到PCN接口 126。在PCN接口處,根據(jù)要向上傳遞 到網(wǎng)絡(luò)層的是什么信息,只有BCN擁塞信息ei要作為BCN數(shù)據(jù)62被傳 輸,PCN接口才可以提取該BCN擁塞信息。然而,在其他實(shí)施方式中, 可以僅把整個消息作為BCN數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)。因此,無論BCN數(shù)據(jù)采用 什么格式(即擁塞消息ei或整個BCN消息),在步驟7.10處,BCN數(shù)據(jù) 都被轉(zhuǎn)發(fā)至網(wǎng)絡(luò)層。在本發(fā)明的某些實(shí)施方式中,數(shù)據(jù)鏈路層交換機(jī)12 隨后未采取常規(guī)動作以外的進(jìn)一步附加動作。
圖8例示了一旦接收到從數(shù)據(jù)鏈路層轉(zhuǎn)發(fā)來的BCN數(shù)據(jù),網(wǎng)絡(luò)路由 器22處所涉及的步驟。具體來說,在步驟8.2處,在BCN接口 228處接 收BCN數(shù)據(jù)62。如果未被PCN接口 126執(zhí)行,則BCN接口 228是可選 的,如果需要的話,從BCN消息中剝離擁塞信息e,。如果已經(jīng)接收到完 整的BCN消息,但是僅需要擁塞信息ei,則可以執(zhí)行該步驟。然而,這 是可選步驟,BCN接口 228也可以根據(jù)具體部署,只將接收到的BCN數(shù) 據(jù)62轉(zhuǎn)發(fā)至BCN到PCN翻譯器。在BCN到PCN翻譯器226處,BCN 數(shù)據(jù)在步驟8.4處被用來確定將應(yīng)用于網(wǎng)絡(luò)層中的IP包的PCN標(biāo)記。將 在后面更詳細(xì)地描述如何執(zhí)行該確定,并且存在幾種不同的可以使用的 方法。BCN到PCN翻譯器226確定要應(yīng)用哪些PCN標(biāo)記,并且將控制 信息傳遞到預(yù)擁塞通知元件224。在步驟8.6處,預(yù)擁塞通知元件224隨 后響應(yīng)于該控制信息,利用PCN的常規(guī)標(biāo)記協(xié)議對包進(jìn)行PCN標(biāo)記。 對包作了標(biāo)記之后,預(yù)擁塞通知元件224執(zhí)行可以包括允入控制或流搶 占的常規(guī)PCN控制機(jī)制。
因此,取決于從數(shù)據(jù)鏈路層接收到的擁塞信息,將這些實(shí)施方式的效果添加到網(wǎng)絡(luò)層附加擁塞標(biāo)記中。此外,在這里描述的實(shí)施方式中, 這些擁塞標(biāo)記優(yōu)選地為PCN標(biāo)記。在其他實(shí)施方式中,可以使用不同類 型的擁塞標(biāo)記,例如ECN標(biāo)記。網(wǎng)絡(luò)層隨后如何根據(jù)這些附加擁塞標(biāo)記
作出反應(yīng)取決于所使用的常規(guī)擁塞控制算法。在PCN標(biāo)記的情況下,可 以使用PCN采用的常規(guī)允入控制和流搶占。
因此,在到此為止所描述的實(shí)施方式中,擁塞信息是從較低層獲得 并被傳至較高層。然后,根據(jù)從較低層接收到的擁塞信息,在較高層執(zhí) 行擁塞標(biāo)記。盡管也可以設(shè)想使用ECN標(biāo)記,但是擁塞標(biāo)記優(yōu)選地為PCN 標(biāo)記。如所描述的,較低層優(yōu)選地為數(shù)據(jù)鏈路層,而較高層優(yōu)選地為網(wǎng) 絡(luò)層。在較低層中,擁塞信息已經(jīng)在下游交換機(jī)處生成,并在被傳至較 高層之前被向后傳至上游交換機(jī)。這些機(jī)制允許將可能在數(shù)據(jù)鏈路層發(fā) 生的擁塞的早期檢測傳至網(wǎng)絡(luò)層,隨后可以在網(wǎng)絡(luò)層中采取措施來避免 網(wǎng)絡(luò)的擁塞。這些措施可以包括允入控制的PCN功能,如果需要的話, 可以包括流搶占。
關(guān)于如何將從較低層接收到的擁塞信息翻譯成較高層中使用的擁塞 信息,有這么幾種機(jī)制。幾種可能的機(jī)制包括
1. 在較高層中接收到的每個單獨(dú)BCN消息被翻譯成單個IP包中的 PCN標(biāo)記。然而,這種機(jī)制過于直接,并未考慮網(wǎng)絡(luò)層中使用的IP包的 相對大小,和數(shù)據(jù)鏈路層中使用的典型數(shù)據(jù)幀大小。具體來說,IP包可 以是數(shù)據(jù)幀大小的幾倍。因此,如果針對每個數(shù)據(jù)幀生成單個BCN消息, 而該BCN消息又必須翻譯成對應(yīng)IP包上的標(biāo)記,則由于IP包的大小相 對于數(shù)據(jù)幀(例如以太網(wǎng)幀)大得多,所以根據(jù)IP包中攜帶的有效載荷 來衡量,將對多得多的數(shù)據(jù)進(jìn)行擁塞標(biāo)記,于是在數(shù)據(jù)鏈路層中實(shí)際遭 受了擁塞。
2. 為了克服上面的問題,N個BCN消息可以被翻譯成M個PCN 標(biāo)記。因此,例如,對于接收到的每三個BCN消息,可以對一個IP包 進(jìn)行PCN標(biāo)記。這里,假設(shè)平均數(shù)據(jù)幀和包大小以便能夠確定應(yīng)該將多 少BCN消息翻譯成單個PCN標(biāo)記的比率可能是有用的。另選的是,可 以假設(shè)最大幀和包大小。在這種情況下,以以太網(wǎng)和IP為例,以太網(wǎng)幀的最大有效載荷高達(dá)1,500字節(jié),而IP數(shù)據(jù)報(bào)的最大長度為65,535字節(jié)。 假設(shè)包的最大大小,并假設(shè)每個數(shù)據(jù)幀的BCN消息,則約40個BCN消 息將被翻譯成單個PCN標(biāo)記。然而,通常來講,IP數(shù)據(jù)報(bào)比最大允許大 小小得多,以避免在諸如以太網(wǎng)的數(shù)據(jù)鏈路層上傳輸時斷裂 (fragmentation)。因此,通常來說,根據(jù)部署,可以使用區(qū)間在3到15 的低得多的比率。在另一實(shí)施方式中,替代保持接收到的BCN消息數(shù)量 的絕對計(jì)數(shù)然后一旦達(dá)到閾值就進(jìn)行PCN標(biāo)記,可以根據(jù)比率用概率對 IP包進(jìn)行PCN標(biāo)記,g卩,如果比率為3比1,則對于接收到的每個BCN 消息,用概率33n/。對IP包進(jìn)行PCN標(biāo)記。在進(jìn)一步實(shí)施方式中,當(dāng)BCN 消息到達(dá)時,如果該消息告知了在下游交換機(jī)處導(dǎo)致?lián)砣膶? (數(shù)據(jù)鏈 路層)幀的大小,則可以將該大小添加到計(jì)數(shù)器。然后,當(dāng)計(jì)數(shù)器大于 網(wǎng)絡(luò)層包大小時,對網(wǎng)絡(luò)層包進(jìn)行標(biāo)記,并且將計(jì)數(shù)器減小作了標(biāo)記的 包的大小。在所有上面的機(jī)制中,目標(biāo)之一是嘗試并使網(wǎng)絡(luò)層中被標(biāo)記 為擁塞的有效載荷數(shù)據(jù)量與數(shù)據(jù)鏈路層中實(shí)際遭受的擁塞相同。
3. 第三選擇是用取決于目前接收到的BCN消息中接收到的擁塞值 A的概率對路由器中的目前IP包進(jìn)行PCN標(biāo)記。
4. 另一個選擇是使對目前IP包進(jìn)行標(biāo)記的概率取決于最近的BCN 消息中的擁塞值ej,且值ei進(jìn)行了平滑的平均。
5. 另外,可能需要對PCN標(biāo)記是允入標(biāo)記還是搶占標(biāo)記做出決定。 通常,在上面提到的方法中,因?yàn)閾屨紭?biāo)記一般用在網(wǎng)絡(luò)經(jīng)受嚴(yán)重路由 器或鏈路故障時,所以PCN標(biāo)記為允入標(biāo)記,而不是搶占標(biāo)記。因此, 進(jìn)一步的技術(shù)是根據(jù)目前或最近的BCN消息中接收到的擁塞值ei,對目 前的IP包進(jìn)行允入標(biāo)記或搶占標(biāo)記。例如,如果接收到的擁塞值ei非常 高,則應(yīng)用于目前包的PCN標(biāo)記可以是搶占標(biāo)記,而不是允入標(biāo)記。該 技術(shù)中所固有的是包含有針對擁塞值ei的第一閾值,在該閾值之上使用 了搶占標(biāo)記,而在該閾值之下使用允入控制標(biāo)記。另外,還可能針對擁 塞值ei設(shè)置第二、更低的閾值,在該閾值之下不進(jìn)行任何PCN標(biāo)記。
6. 除了包含擁塞值e;的消息之外,BCN還提供了"停止"消息的發(fā)送。 如果在數(shù)據(jù)鏈路層交換機(jī)12處接收到了 BCN停止消息,則可以在網(wǎng)絡(luò)
22層解釋該BCN停止消息,從而將搶占標(biāo)記應(yīng)用于IP包。因此,只要接
收到了 BCN停止消息,就對目前的IP包進(jìn)行搶占標(biāo)記。
7. 另外,優(yōu)選地對經(jīng)過數(shù)據(jù)鏈路層中特定的擁塞交換機(jī)的包進(jìn)行 PCN標(biāo)記。在此方面,網(wǎng)絡(luò)路由器可以連接到幾個數(shù)據(jù)鏈路層接口。為 了對此加以考慮,PCN層可以被進(jìn)一步設(shè)置為注意幀是在哪個數(shù)據(jù)鏈路 層接口上發(fā)送的,哪個數(shù)據(jù)鏈路層接口導(dǎo)致在該接口上接收BCN消息。 然后,PCN對在該特定以太網(wǎng)接口上流出的下一IP包進(jìn)行標(biāo)記。該技術(shù) 有助于定位在特定的擁塞數(shù)據(jù)鏈路層鏈路上傳送的流。
8. 另一種技術(shù)是根據(jù)目前接收到的BCN消息中接收到的擁塞值ei 和網(wǎng)絡(luò)路由器中維持的虛擬隊(duì)列的長度,來設(shè)置對目前IP包進(jìn)行標(biāo)記的 概率。下面參照圖9和圖10到13進(jìn)一步討論該方法。
更具體來說,根據(jù)該特定技術(shù),BCN到PCN傳輸器(transmitter) 226維持概率函數(shù),該概率函數(shù)定義了特定IP包被PCN標(biāo)記(通常為允 入標(biāo)記)的概率。之前針對圖3討論了該概率函數(shù),該概率函數(shù)例示了 概率根據(jù)網(wǎng)絡(luò)路由器中虛擬隊(duì)列的大小,在最小標(biāo)記閾值和最大標(biāo)記閾 值0和1之間線性增加。為了增大或減小特定IP包被允入標(biāo)記的概率, 要根據(jù)擁塞值ei來改變概率函數(shù)。
更具體來說,在步驟9.2處,如果存在還未被提取的擁塞值ei,則 BCN到PCN翻譯器226在BCN接口 228處接收的BCN數(shù)據(jù)62中提取 該擁塞值ei。然后,在步驟9.4處,如果擁塞值ei大于O,則對PCN標(biāo)記 的概率函數(shù)進(jìn)行修改,以便減小IP包被標(biāo)記的概率。例如,在圖12和 13中示出這種修改可以如何發(fā)生。具體來說,圖12示出了一種修改概率 函數(shù)的具體方式。這里,對概率函數(shù)55進(jìn)行修改,從而使概率曲線垂直 向下移動。向下移動的程度取決于ei的值。具體來說,對于大于0的ei 的特定范圍的值,概率函數(shù)下移特定量,而如果e,遠(yuǎn)大于0,則向下移動 更大的量。概率曲線的下移度與ei值之間的關(guān)系可以是線性的、指數(shù)的 或者受任意連續(xù)或離散函數(shù)控制。然而,優(yōu)選地,A的值越大,IP包被 標(biāo)記的概率越小。
圖13例示了通過向右移動概率曲線來減小概率的另選機(jī)制,移動量同樣取決于ei的值,針對更大值有更大移動。這里,最小標(biāo)記閾值和最 大標(biāo)記閾值未被改變,從而得到類似于圖12的概率函數(shù)。在另一實(shí)施方 式中,也可以改變閾值本身,從而增大它們的值。因此,當(dāng)擁塞值函數(shù) 大于0時,通過增大閾值,為了使標(biāo)記發(fā)生,虛擬隊(duì)列必須更大。當(dāng)然, 也可以采用這些技術(shù)的任意組合, 一般標(biāo)準(zhǔn)是當(dāng)擁塞值ej增大時,對
IP包進(jìn)行允入標(biāo)記的概率減小。概率與擁塞值ei之間的關(guān)系可以是部署
特有的。
返回圖9,在步驟9.6處,確定如果擁塞值ej小于O,則PCN標(biāo)記的 概率函數(shù)應(yīng)該被修改以增大IP包被標(biāo)記的概率。圖10和11示出了關(guān)于 它可以如何實(shí)現(xiàn)的兩種機(jī)制,通過向上移動概率曲線,如圖10中所示, 或者通過向左移動概率函數(shù),如圖11中所示。應(yīng)該理解,圖10和11中 的移動分別與圖12和13中示出的相反,因此實(shí)現(xiàn)的選擇同樣在這里適 用。更具體來說,對于更小的ei值,概率曲線可以向上移動或者向左移 動更大程度,在ei遠(yuǎn)小于O的情況下,概率曲線最大程度地移動。另外, 概率曲線55的移動度和ei之間的關(guān)系可以是線性的、指數(shù)的,或者是任 意連續(xù)或離散數(shù)學(xué)函數(shù)。然而, 一般要求是ei的值越低,任意IP包被 允入標(biāo)記的概率越小。
另外,最小標(biāo)記閾值和最大標(biāo)記閾值可以被減小,因?yàn)闉榱耸箻?biāo)記 發(fā)生需要更小的虛擬隊(duì)列,所以這也產(chǎn)生了增大標(biāo)記概率的效果。
下面給出一個例示了可以如何通過僅示例的方式實(shí)現(xiàn)和呈現(xiàn)概率函 數(shù)的具體實(shí)施例。
如之前所描述的,e,值從Q。ff和Qd^導(dǎo)出。通常,給出的Q。ff和Qddta 均由16位組成,這意味著ej可以是最大值65535 (十進(jìn)制)和FFFF (十 六進(jìn)制)。因此,ej值的范圍從-65535到65535。
這里描述我們可以如何使用ei值來配置實(shí)現(xiàn)的實(shí)施例。ej值65535 將具有標(biāo)記概率O,而ei值-65535將具有標(biāo)記概率1。當(dāng)^值為0時,我 們可以設(shè)置標(biāo)記概率為0.5。 ei值-32768將產(chǎn)生0.75的標(biāo)記概率,而& 值32768將產(chǎn)生0.25的標(biāo)記概率。
舉個例子,可以將系統(tǒng)設(shè)置為當(dāng)ej值為-32768或更小時對包進(jìn)行搶
24占標(biāo)記,而當(dāng)ei值為0或更小時對包進(jìn)行允入標(biāo)記。
現(xiàn)在,我們將轉(zhuǎn)至討論如何在目前描述的本發(fā)明實(shí)施方式內(nèi)的上游
交換機(jī)中生成BCN消息,并且更具體來說,討論如何導(dǎo)出較低層擁塞信 息。
在本發(fā)明優(yōu)選實(shí)施方式的本描述中,我們已經(jīng)描述了如何使用 "BCN"消息將來自下游層2節(jié)點(diǎn)的擁塞信息反饋到上游層2節(jié)點(diǎn)。在此 方面中,我們在目前描述的實(shí)施方式中使用了之前描述的802.1Q格式的 消息,因?yàn)檫@種消息格式被廣泛使用,由此使本發(fā)明得到寬泛理解。然 而,具體來說,在描述的實(shí)施方式中,我們指定了 BCN類型的802.1Q 標(biāo)記消息,因?yàn)樗呀?jīng)包含了擁塞值ei形式的用于傳播擁塞信息的合適 字段。然而,在其他實(shí)施方式中,可以使用不同的消息格式。
對于擁塞值ei,在本發(fā)明描述的實(shí)施方式中,如接下來所描述的, 可以用各種方式來計(jì)算該值。
首先,如之前提到的,可以用與之前針對現(xiàn)有技術(shù)BCN機(jī)制所描述 的完全相同的方式,應(yīng)用式1和2之前給出的等式來計(jì)算擁塞值ei。然而, 這些等式對從交換機(jī)處的實(shí)際流量隊(duì)列獲得的值起作用,并且具體來說, 使用瞬時流量大小q(t)和實(shí)際發(fā)送速率qd。通過査看實(shí)際流量隊(duì)列的值, 盡管擁塞指示當(dāng)然可以從這些值獲得,但是該指示傾向于僅在擁塞發(fā)生 時或者發(fā)生后才被獲得,因此,可能太遲而不能防止任何擁塞。因此, 盡管在本發(fā)明的實(shí)施方式中,可以利用這些等式并査看實(shí)際流量隊(duì)列的 值來計(jì)算擁塞值ei,但這并不是優(yōu)選的。
因此,更優(yōu)選的技術(shù)是利用下游交換機(jī)處的"虛擬隊(duì)列"來確定是否 將發(fā)生擁塞。如之前所描述的,"虛擬隊(duì)列"是對實(shí)際隊(duì)列大小的仿真, 其中保持了代表虛擬隊(duì)列大小的數(shù),該數(shù)按照和包到達(dá)實(shí)際隊(duì)列相同的 速率增大。然而,相對于包從交換機(jī)傳輸?shù)膶?shí)際速率,該數(shù)以更慢的速 率減小,由此與實(shí)際隊(duì)列不同。例如,虛擬隊(duì)列可以按照某個速率,例 如真實(shí)隊(duì)列實(shí)際發(fā)送速率的80%來減小。這種技術(shù)的效果是針對給定的 包到達(dá)速率,提供比真實(shí)隊(duì)列占有率(occupancy)更高水平的虛擬隊(duì)列 占有率,并能夠在實(shí)際發(fā)生擁塞之前檢測到潛在擁塞。因此,在本發(fā)明的優(yōu)選實(shí)施方式中,除了真實(shí)隊(duì)列之外,層2交換 機(jī)還維持虛擬隊(duì)列,將減小速率應(yīng)用于虛擬隊(duì)列,該減小速率是交換機(jī) 使用的實(shí)際發(fā)送速率的小于100%的某個百分比。例如,可以使用實(shí)際發(fā) 送速率的80%的減小速率。這等效于將值<1的虛擬隊(duì)列發(fā)送速率系數(shù)V
應(yīng)用于交換機(jī)所使用的實(shí)際發(fā)送速率。因此,V=0.8將為虛擬隊(duì)列提供 80%的發(fā)送速率。當(dāng)然,作為設(shè)計(jì)選擇也可以使用其他值。
為了計(jì)算鏈路層擁塞值ei,可以使用與之前的式1和2類似的等式, 不使用從真實(shí)隊(duì)列獲得的值,而使用從維持的虛擬隊(duì)列獲得的值。
更具體來說,在本發(fā)明的優(yōu)選實(shí)施方式中,擁塞值ej由瞬時虛擬隊(duì) 列偏移與上一采樣間隔上虛擬隊(duì)列的變化的加權(quán)和組成,應(yīng)用虛擬隊(duì)列 的較低減小(發(fā)送)速率,如下式3中所示
6 = q。ff(t) — Wqdelta(t) = (Qeq-qv(t》—W(qa-Vqd) 式3
其中,W是權(quán)重;V是虛擬隊(duì)列發(fā)送速率系數(shù),且小于l; q。ft(t)是 瞬時隊(duì)列偏移,被定義為
q。fl(t) = qv(t)-Qeq 式4
并且qde^是上一采樣間隔上的隊(duì)列變化,被定義為到達(dá)的包數(shù)^和
被認(rèn)為是上一采樣事件后從實(shí)際隊(duì)列提供的包數(shù)Vqd的差。這里,qv(t)
是瞬時虛擬隊(duì)列大小,而Qeq是均衡的虛擬隊(duì)列大小,Qeq通常為虛擬隊(duì)
列最大大小的一半。通常,虛擬隊(duì)列的最大大小與真實(shí)隊(duì)列的最大大小 相同。
通過使用從以慢于實(shí)際隊(duì)列的速率"清空"的虛擬隊(duì)列獲得的值來計(jì)
算較低層擁塞信息ei,相對于實(shí)際發(fā)生的擁塞,ei的值將指示交換機(jī)中更 多的擁塞,然而,更重要的是相對于簡單查看真實(shí)隊(duì)列,將提供擁塞建 立的早期指示。因此,利用根據(jù)虛擬隊(duì)列的屬性計(jì)算出的擁塞值,能夠 比其他情況更早地采取預(yù)擁塞措施。
是使用虛擬隊(duì)列來計(jì)算擁塞值(如優(yōu)選實(shí)施方式中那樣)還是使用 真實(shí)隊(duì)列來計(jì)算擁塞值(如所提及的那樣),所述值被放入優(yōu)選為之前討 論的BCN類型的802.1Q標(biāo)記消息中,以發(fā)送到作為擁塞流的源的上游 交換機(jī)??傊景l(fā)明優(yōu)選實(shí)施方式因此提供了一種技術(shù),通過該技術(shù),可 以將來自諸如數(shù)據(jù)鏈路層的較低層的擁塞信息并入用于諸如網(wǎng)絡(luò)層的較 高層的擁塞機(jī)制中。檢測較低層中的擁塞信息可能更方便,并且還可以 較早地檢測擁塞,并在較早的時刻在網(wǎng)絡(luò)層中采取措施,來完全防止或 許會發(fā)生的擁塞。
技術(shù)人員將會想到使用本發(fā)明基礎(chǔ)概念并落入本發(fā)明的主旨和/或 范圍的進(jìn)一步修改、變化、配置,以提供進(jìn)一步的實(shí)施方式,所附權(quán)利 要求旨在包含任意和所有這些實(shí)施方式。
權(quán)利要求
1.一種確定數(shù)據(jù)網(wǎng)絡(luò)中的擁塞信息的方法,所述方法包括以下步驟在具有協(xié)議棧中較高層的上游元件處,從所述棧中較低層處的網(wǎng)絡(luò)元件接收較低層擁塞信息,所述擁塞信息與在流的下游元件處發(fā)生的數(shù)據(jù)流量擁塞有關(guān),所述下游元件位于所述較低層內(nèi);根據(jù)所述較低層擁塞信息,確定要在所述較高層中使用的較高層擁塞信息;以及將所述較高層擁塞信息應(yīng)用于所述較高層中的數(shù)據(jù)流量。
2. 根據(jù)權(quán)利要求1所述的方法,其中,所述較低層是數(shù)據(jù)鏈路層, 而所述較高層是網(wǎng)絡(luò)層。
3. —種用于數(shù)據(jù)網(wǎng)絡(luò)中的擁塞標(biāo)記的方法,所述方法包括以下步驟在數(shù)據(jù)鏈路層網(wǎng)絡(luò)元件處,確定與在所述網(wǎng)絡(luò)中一個或更多個數(shù)據(jù)鏈路層鏈路內(nèi)發(fā)生的擁塞有關(guān)的數(shù)據(jù)鏈路層擁塞信息;以及 將所述數(shù)據(jù)鏈路層擁塞信息傳遞到網(wǎng)絡(luò)層網(wǎng)絡(luò)元件。
4. 一種在數(shù)據(jù)網(wǎng)絡(luò)中進(jìn)行擁塞標(biāo)記的方法,所述方法包括以下步驟在網(wǎng)絡(luò)層網(wǎng)絡(luò)元件處,接收與在所述網(wǎng)絡(luò)中一個或更多個數(shù)據(jù)鏈路層鏈路內(nèi)發(fā)生的擁塞有關(guān)的數(shù)據(jù)鏈路層擁塞信息;根據(jù)所接收到的數(shù)據(jù)鏈路層擁塞信息,確定網(wǎng)絡(luò)層擁塞信息;以及 將所確定的擁塞信息應(yīng)用于網(wǎng)絡(luò)層中的一個或更多個數(shù)據(jù)包。
5. 根據(jù)權(quán)利要求2到4中任意一項(xiàng)所述的方法,其中,根據(jù)下游數(shù) 據(jù)鏈路層網(wǎng)絡(luò)元件處維持的虛擬隊(duì)列的一個或更多個屬性,來計(jì)算所述 數(shù)據(jù)鏈路層擁塞信息。
6. 根據(jù)權(quán)利要求2到5中任意一項(xiàng)所述的方法,其中,以BCN消 息的形式接收所述數(shù)據(jù)鏈路層擁塞信息。
7. 根據(jù)權(quán)利要求2到6中任意一項(xiàng)所述的方法,其中,所述網(wǎng)絡(luò)層 擁塞信息是PCN標(biāo)記。
8. 根據(jù)權(quán)利要求7所述的方法,其中,如果所述數(shù)據(jù)鏈路層擁塞信 息指示擁塞低于第一閾值,且搶占標(biāo)記高于所述第一閾值,則所述PCN禾示i己;^jt入牛示i己。
9. 根據(jù)權(quán)利要求8所述的方法,其中,如果所述數(shù)據(jù)鏈路層擁塞信 息指示擁塞低于比所述第一閾值小的第二閾值,則不應(yīng)用PCN標(biāo)記。
10. 根據(jù)權(quán)利要求2到7中任意一項(xiàng)所述的方法,其中,根據(jù)針對 所述網(wǎng)絡(luò)層元件中虛擬隊(duì)列大小的概率函數(shù)來確定所述網(wǎng)絡(luò)層擁塞信 息,其中,根據(jù)所述數(shù)據(jù)鏈路層擁塞信息來修改所述概率函數(shù)。
11. 根據(jù)權(quán)利要求2到7中任意一項(xiàng)所述的方法,其中,根據(jù)所述 數(shù)據(jù)鏈路層擁塞信息來確定所述網(wǎng)絡(luò)層擁塞信息,使得在網(wǎng)絡(luò)層中對和 數(shù)據(jù)鏈路層中基本相同量的有效載荷數(shù)據(jù)進(jìn)行了擁塞標(biāo)記。
全文摘要
本發(fā)明提供了這樣一種方法和系統(tǒng),其中,從協(xié)議棧中的較低層獲得擁塞信息,并用于在較高層中進(jìn)行擁塞標(biāo)記。具體來說,本發(fā)明第一方面的方法和系統(tǒng)提供了較低層中的擁塞信息,所述擁塞信息在擁塞節(jié)點(diǎn)處下游生成,并且被向上游反饋到源節(jié)點(diǎn)。然后,源節(jié)點(diǎn)將擁塞信息或從其中導(dǎo)出的信息向上傳遞到負(fù)責(zé)協(xié)議棧中較高層的對應(yīng)網(wǎng)絡(luò)元件,隨后在該網(wǎng)絡(luò)元件處可以根據(jù)接收到的較低層擁塞信息來執(zhí)行較高層的擁塞標(biāo)記。因此,來自較低層的擁塞信息可以被用在較高層擁塞控制功能中,而一般來講,所述擁塞信息可以在發(fā)生顯著擁塞之前較早地生成。優(yōu)選地,較低層為數(shù)據(jù)鏈路層,而較高層為網(wǎng)絡(luò)層。
文檔編號H04L12/56GK101558616SQ200780046513
公開日2009年10月14日 申請日期2007年12月18日 優(yōu)先權(quán)日2006年12月18日
發(fā)明者加布麗埃勒·科里亞諾, 惠·珉·瓊·塔伊, 羅伯特·約翰·布里斯科, 菲利普·勞倫斯·厄德利 申請人:英國電訊有限公司