專利名稱:基于哈希的搶占的制作方法
基于哈希的搶占
背景技術(shù):
本發(fā)明一般地涉及計算機網(wǎng)絡(luò)中的搶占。
IETF (互聯(lián)網(wǎng)工程任務(wù)組)正在對用于實時非彈性流量的無狀態(tài)或減 少狀態(tài)準(zhǔn)入控制領(lǐng)域進(jìn)行研究。(見B. Briscoe等的"An edge-to-edge Deployment Model for Pre-Congestion Notification Admission Control over a DiffServ Region" , IETF draft-briscoe-tsvwg-cl-architecture-04.txt, 2006年10 月25日,禾口 A.Bader的"RMD-QOSM-The Resource Management in DiffServ QOS Model" , draft-ietf-nsis-rmd-07.txt, 2006年6月23日)。與無 狀態(tài)(和有狀態(tài))呼叫準(zhǔn)入控制(Call Admission Control, CAC)相關(guān)的
挑戰(zhàn)之一是偶然的拓?fù)涓淖?例如,響應(yīng)于鏈路或節(jié)點故障)會使得完
全忽略CAC,因為路由將流量改發(fā)往與其原來被準(zhǔn)入的路徑不同的路徑。 這可能導(dǎo)致可以持續(xù)潛在的長時間的嚴(yán)重的擁塞。在這些情況中,通常由 于準(zhǔn)入控制在工程負(fù)載下操作的鏈路突然變得超載。結(jié)果,共享擁塞鏈路 的所有實時流都變得受影響并且可能遭受嚴(yán)重的QoS (服務(wù)質(zhì)量)劣化。 例如,如果這些流是語音流,則這樣的QoS劣化會使得該鏈路上的所有或 許多用戶最終掛起或者放棄連接,如果實質(zhì)的服務(wù)劣化長過幾秒的話。因 此,期望有這樣的機制,該機制將選擇性地?fù)屨家欢〝?shù)量的流以消除擁 塞,恢復(fù)對其它流的必要級別的QoS。該機制在上述IETF草案中被稱為 搶占(preemption)或服務(wù)擁塞處理。期望盡可能在每個流的基礎(chǔ)上而不 是每個分組的基礎(chǔ)上完成這樣的搶占,以防止對涉及擁塞的所有流的服務(wù) 劣化。
不僅運行準(zhǔn)入控制機制的網(wǎng)絡(luò),而且在基于流量矩陣知識的使用帶寬 供應(yīng)(provisioning)的網(wǎng)絡(luò)中會產(chǎn)生類似的問題。例如,如果實時流量正 在使用EF PHB (Expedited Forwarding Per-Hop Behavior,加速轉(zhuǎn)發(fā)單跳行 為)并且網(wǎng)絡(luò)在沒有故障和在某些預(yù)想的故障情況下被提供,則未預(yù)想到的鏈路、節(jié)點或SRLG (Shared Risk Link Group,共享風(fēng)險鏈路組)故障 或者未預(yù)想到的這些故障的組合會引起某些鏈路突然超載,引起QoS服務(wù) 劣化。在存在未預(yù)想到的流量沖擊(surge)的情況中運行準(zhǔn)入控制的網(wǎng)絡(luò) 中,搶占也是有用的。
因此,不論在正常的、無故障的情況下是存在帶寬預(yù)留還是缺少帶寬 預(yù)留,(在分組網(wǎng)絡(luò)的情況中通常沒有對那些故障的全帶寬保護的情況 下)故障的可能性導(dǎo)致需要允許對一組流的搶占同時允許其余的流保持它 們的QoS保證的機制。在上述IETF草案中,己經(jīng)提出了兩種解決方案。 然而,這兩種解決方案需要對出口 (egress)邊界處的擁塞的每入口-出口 的估計以判定正確的要丟棄的流量的量,并且對這些方案的監(jiān)管提出了重 大挑戰(zhàn)。
圖l示出在其中可以實施在此所述的實施例的網(wǎng)絡(luò)的示例。 圖2是示出圖l的網(wǎng)絡(luò)中用于基于哈希(hash-based)的搶占所使用的 核心路由器和哈希桶(hash-bucket)的示例的示圖。 圖3是示出核心路由器處的操作的示例的示圖。 圖4是示出用于基于哈希的搶占的方法的示例的流程圖。 圖5描述在實現(xiàn)在此所述的實施例中有用的網(wǎng)絡(luò)裝置的示例。 相應(yīng)的參考字符指示圖中的各個視圖中相應(yīng)的部件。
具體實施方式
概覽
公開了一種用于網(wǎng)絡(luò)中的搶占的方法和系統(tǒng),該網(wǎng)絡(luò)包括具有至少一 個出口接口的核心裝置,出口接口被配置用于利用多個哈希桶的基于流的 哈希。在一個實施例中,每個哈希桶被設(shè)置成第一狀態(tài)或第二狀態(tài),并且 該方法一般地包括基于將被哈希進(jìn)被設(shè)為第二狀態(tài)的哈希桶的流排除在外 的速率測量計算負(fù)載。所計算出的負(fù)載與搶占閾值進(jìn)行比較,并且如果計 算出的負(fù)載超過搶占閾值,則多個哈希桶的至少一個的狀態(tài)從第一狀態(tài)被改為第二狀態(tài)。對哈希進(jìn)第二狀態(tài)中的哈希桶的流執(zhí)行諸如丟棄所有分組 或標(biāo)記所有分組之類的動作。
示例實施例
進(jìn)行以下描述以使本技術(shù)領(lǐng)域技術(shù)人員能夠做出和使用本發(fā)明。對特 定實施例和應(yīng)用的描述僅作為示例來提供并且各種修改對本技術(shù)領(lǐng)域技術(shù) 人員將是顯而易見的。在此所述的一般的基本原理可以在不偏離本發(fā)明的 范圍的情況下應(yīng)用于其它實施例和應(yīng)用。因此,本發(fā)明不限于示出的實施 例,而是要符合與在此所述的基本原理和特征一致的最寬范圍。為了清楚 起見,沒有詳細(xì)描述與本發(fā)明相關(guān)的技術(shù)領(lǐng)域中己知的技術(shù)材料相關(guān)的細(xì) 節(jié)。
現(xiàn)在參考圖,首先參考圖1,圖1示出了可以實施在此所述的實施例 的網(wǎng)絡(luò)的一個示例。為了簡明,只示出了少量節(jié)點。實施例在包括多個網(wǎng) 絡(luò)元件的數(shù)據(jù)通信網(wǎng)絡(luò)的情境中進(jìn)行操作。采用該實施例的網(wǎng)絡(luò)中的某些 節(jié)點可以是諸如路由器或網(wǎng)關(guān)之類的網(wǎng)絡(luò)裝置。例如,網(wǎng)絡(luò)裝置可以包括 主中央處理器(CPU)、接口和總線。優(yōu)選CPU包括存儲器和處理器。 可以在諸如計算機系統(tǒng)或以下參考圖5描述的網(wǎng)絡(luò)裝置之類的通用網(wǎng)絡(luò)主 機機器上實施網(wǎng)絡(luò)裝置。
數(shù)據(jù)流量流經(jīng)包括邊緣節(jié)點10、 12、 14、 16和核心節(jié)點18、 20的各 種節(jié)點。相鄰節(jié)點經(jīng)由一個或多個通信路徑(鏈路)來耦合。根據(jù)流量流 的方向,邊緣節(jié)點可以是入口 (ingress)或出口 (egress)邊緣節(jié)點。在 圖1的示例中,流量沿路徑22從入口邊緣節(jié)點IO通過核心(內(nèi)部節(jié)點) 18、 20到出口邊緣節(jié)點14。流量還可以經(jīng)由路徑24從入口邊緣節(jié)點12 通過核心節(jié)點18和20路由到出口邊緣節(jié)點16。如下所述,核心節(jié)點 18、 20對流量進(jìn)行計量并且按照要求標(biāo)記或者丟棄分組以維持指定搶占 閾值以下的流量負(fù)載。
應(yīng)當(dāng)理解,圖1中所示的網(wǎng)絡(luò)僅僅是一個示例并且在此所述的方法和 系統(tǒng)可以用于各種配置、大小和網(wǎng)絡(luò)類型。例如,在網(wǎng)絡(luò)核心路由器、核 心路由器和邊緣路由器的組合、VoIP網(wǎng)關(guān)或會話邊界控制器(SBC)中 可以實現(xiàn)該方法和系統(tǒng)。在此所述的實施例在不需要網(wǎng)絡(luò)核心中的每個流狀態(tài)或者邊緣節(jié)點處 的每入口/出口測量的情況下提供搶占。在一個實施例中,以下稱為使用 丟棄的基于哈希的搶占,系統(tǒng)是自監(jiān)管的,所以即使邊緣裝置未被配置為 輔助搶占,流的搶占也直接由核心路由器來執(zhí)行。在另一實施例中,以下 稱為使用標(biāo)記的基于哈希的搶占,該系統(tǒng)可以允許邊緣裝置做出關(guān)于哪些 流應(yīng)當(dāng)被丟棄的決策,所以更為精密復(fù)雜的策略可以被應(yīng)用。并且,可以
實現(xiàn)邊緣監(jiān)管器(policer)以確保如果被標(biāo)記的流繼續(xù)發(fā)送分組,則那
些分組被丟棄。
使用丟棄的基于哈希的搶占
以下描述了利用使用分組丟棄的基于哈希的搶占的實施例。首先描述 核心裝置上的操作,之后為對邊緣路由器和終端系統(tǒng)處的操作的描述。
數(shù)據(jù)路徑中的核心路由器維護從出口接口出去的所有流的基于流的哈
希。因此基于流的哈希是按每出口接口的。圖2示出具有六個出口接口 28a、 28b、 28c、 28d、 28e和28f的核心路由器26的一個示例。應(yīng)當(dāng)理 解,核心路由器26可以具有任何數(shù)量的出口接口,每個接口被配置為將 流量發(fā)送給相應(yīng)的邊緣裝置。每個出口接口包括許多哈希桶bl、 b2、 b3、 b4、 b5、 b6……bn。每個接口處的哈希桶的數(shù)目優(yōu)選足夠大以提供每 桶充分的粒度來控制輸出鏈路處的速率。例如,具有ioo個哈希桶的接口 提供約每桶1%的粒度。
每個哈希桶被設(shè)成第一狀態(tài)或第二狀態(tài)。第一狀態(tài)是"轉(zhuǎn)發(fā)"狀態(tài), 其中,和在正常操作(無擁塞情況)中一樣,流從核心路由器通過出口接 口被路由轉(zhuǎn)發(fā)給相應(yīng)的邊緣裝置。第二狀態(tài)是"丟棄",其中,被哈希進(jìn) 哈希桶中并且從接口出去的所有流的所有分組被核心路由器丟棄。
核心路由器處的操作包括為了確定在出口接口處需要丟棄多少另外 的負(fù)載,以指定的間隔測量流,計算"被修剪的(clipped)"負(fù)載,并且 按照需要改變哈希桶的狀態(tài)。例如,可以以與大的RTT (Round Trip Time,往返時間)相對應(yīng)的間隔或任何其它指定的間隔執(zhí)行該測量。
出口接口處被修剪的負(fù)載與在出口接口處還未被丟棄的剩余的聚集負(fù)載相對應(yīng)。使用將被哈希進(jìn)具有被設(shè)置為丟棄的哈希桶的所有流排除在外 的速率測量計算被修剪的負(fù)載。因此,可以在丟棄之后執(zhí)行速率測量。或 者,可以在丟棄之前執(zhí)行速率測量,但是將被哈希進(jìn)狀態(tài)為"丟棄"的桶 的所有流排除在外。然后,核心路由器通過將測量的被修剪的負(fù)載與搶占 閾值進(jìn)行比較來確定在給定出口接口上多少另外的負(fù)載需要被丟棄。然 后,按照將負(fù)載拉到搶占閾值之下的需要,相應(yīng)數(shù)量的哈希桶的狀態(tài)被改 為丟棄。例如,如果被修剪的負(fù)載是搶占閾值的120%,則我們將除去多
余的20%的超出流量,這解釋為將20/120 (或大約17%)的被設(shè)置為轉(zhuǎn) 發(fā)狀態(tài)的哈希桶設(shè)置為丟棄狀態(tài)。(當(dāng)哈希桶的期望百分比得到小數(shù)個要 被設(shè)置為丟棄狀態(tài)的哈希桶,則該數(shù)可以被舍入為最接近的整數(shù))。
圖3用流對時間的圖示出核心路由器處的操作。在間隔Tl,故障發(fā) 生并且更多的流逐漸被重新路由到鏈路上。在T1,被修剪的負(fù)載是50并 且沒有流被丟棄(這是因為搶占閾值還未被超過)。哈希桶b0-b99處的 所有流被轉(zhuǎn)發(fā)。在時間T2,由于在T1處發(fā)生的故障,被修剪的負(fù)載已經(jīng) 達(dá)到120。哈希桶b83-b99處的狀態(tài)從轉(zhuǎn)發(fā)被改為丟棄?,F(xiàn)在路由器丟棄 哈希桶b83-b99處的流,并且繼續(xù)轉(zhuǎn)發(fā)哈希桶b0-b82處的流。來自哈希桶 b83-b99的流在T2之后的某個時間開始離開。這是因為用戶由于不能通信 由于某些其他機制而掛起,所述其他機制例如是對觸發(fā)呼叫釋放的終端系 統(tǒng)中的過度性損失的檢測。在T3,被修剪的負(fù)載是130,所以路由器以 30/130 (即23%)的比例丟棄另外的負(fù)載。因此,路由器將23%的原來在 轉(zhuǎn)發(fā)狀態(tài)中的哈希桶(b0-b82)改為丟棄狀態(tài)。例如,路由器可以將哈希 桶b65-b82設(shè)置為丟棄。
T3后,來自b65-b82的流開始離開。在時間T4,被修剪的負(fù)載下降 為100 (或者以下,如果與此同時某些流經(jīng)由諸如用戶結(jié)束他們的電話對 話之類的正常的終止過程已被終止的話)并且該狀態(tài)在所有哈希桶處保持 不變。
如果被修剪的負(fù)載保持在搶占閾值以下達(dá)許多連續(xù)的測量周期,則核 心路由器判定網(wǎng)絡(luò)已經(jīng)擁塞并且重播種(reseed)基于流的哈希。計數(shù) 器、定時器或其它合適的機制可以被用來對測量周期數(shù)或時間間隔進(jìn)行跟蹤。例如,可以通過改變哈希算法中所使用的某些輸入變量來實現(xiàn)重播種
基于流的哈希。期望重播種基于流的哈希以確保搶占反應(yīng)(reaction)哈 希之后剩余的流均勻地通過所有哈希桶。然后,搶占機制準(zhǔn)備就緒以在新 的事件迫使搶占發(fā)生之后恰當(dāng)?shù)胤磻?yīng)。重播種優(yōu)選僅在足夠長的時間段之 后完成,使得被搶占基站丟棄的流可以已被邊緣裝置拆毀或者已被充分破 壞。這是為了確保在核心路由器重播種它們的哈希之前,邊緣裝置通過僅 僅將呼叫留在適當(dāng)?shù)奈恢枚换乇?circumvent)系統(tǒng)的自監(jiān)管行為。
圖4是示出核心路由器處的用于基于哈希的搶占的過程的一個示例的 流程圖。在每個測量間隔,核心路由器測量流(步驟30和32)。如上所 述,速率測量不包括被哈希進(jìn)具有丟棄狀態(tài)的哈希桶的所有流。在步驟 34,基于速率測量計算被修剪的負(fù)載。然后,將被修剪的負(fù)載與搶占閾值 進(jìn)行比較(步驟36)。如果被修剪的負(fù)載超過搶占閾值(步驟38),則 路由器按照需要將相應(yīng)的哈希桶的狀態(tài)改成丟棄(步驟40)。如果被修 剪的負(fù)載不超過搶占閾值并且被修剪的負(fù)載已經(jīng)保持在搶占閾值以下達(dá)設(shè) 定數(shù)目的連續(xù)測量周期,則網(wǎng)絡(luò)已經(jīng)擁塞并且路由器重播種基于流的哈希 (步驟38、 42和44)。
哈??梢员粩U展以具有某些DSCP (Differentiated Services Code Point,差分服務(wù)代碼點)知識,使得主要的流情境信息可以從DSCP中被 推斷出并且用于流哈希和對要丟棄的流的選擇。例如,如果在DSCP中反 映了流搶占和優(yōu)先級(例如MLPP的流搶占和優(yōu)先級),則之后所有的非 常規(guī)(non-routine)流可以被哈希進(jìn)專門的不可丟棄桶并且只有常規(guī)流 (例如,被哈希到常規(guī)的哈希桶上的流)可以用于丟棄。
以下描述在根據(jù)兩個示例性實施例的邊緣路由器和終端系統(tǒng)處的操作。
在第一實施例中,在邊緣路由器不存在任何動作。終端系統(tǒng)(例如, VoIP網(wǎng)關(guān))(通過觀察到它們不再接收預(yù)期速率的媒體分組)意識到它 們己經(jīng)失去了連接性并且(例如經(jīng)由應(yīng)用級信令)可以恰當(dāng)?shù)厍宄艚小?br>
在第二實施例中,邊緣路由器以每個流為基礎(chǔ)檢測損失并且發(fā)起對用 于相應(yīng)流的網(wǎng)絡(luò)預(yù)留的拆除(tear-down),這又可能導(dǎo)致終端系統(tǒng)(例如經(jīng)由諸如SIP (會話發(fā)起協(xié)議)之類的應(yīng)用級信令)清除呼叫。
為了防止可能的超調(diào)(overshoot)問題(從而系統(tǒng)會拆除過多呼 叫),僅僅如果在流的100% (或接近100%)的分組上檢測到損失并且 持續(xù)比測量時間段的順序的指定時間段長,則實行呼叫的拆除。
對于上述基于哈希的搶占,優(yōu)選流被基本相等地擴展在路由器的所有 桶上(即,通過每個哈希桶承載基本相等的帶寬)。這設(shè)想了大量流,大 量具有不同大小的流,如果存在不同的大小的話。并且,優(yōu)選路由器具有 用于哈希的隨機種子,使得將進(jìn)入第一路由器上的一個桶中的將隨機地分 布在第二路由器上,以確保在第一路由器上被設(shè)置為丟棄的桶在第二路由 器上不僅僅是空的。這確保在多擁塞點的情況中,第二擁塞點將仍然丟棄 正確數(shù)目的流。優(yōu)選搶占事件足夠稀疏(盡管每個事件可以持續(xù)一定的時 間段),使得系統(tǒng)有機會在不同的搶占事件之間擁塞。
根據(jù)以上可知,使用丟棄的基于哈希的搶占提供許多超過傳統(tǒng)搶占的 優(yōu)勢。例如,當(dāng)存在擁塞時,這樣的流的子集被丟棄使得其余的流可以讓 它們的QoS得到保護。如上所述,系統(tǒng)不需要核心裝置中的任何每個流 狀態(tài)或邊緣裝置中的任何每入口/出口監(jiān)控。系統(tǒng)還是自監(jiān)管的,這是因 為它丟棄過量的流,使得它不需要通過終端系統(tǒng)的合作來對諸如ECN (Explicit Congestion Notification,顯式擁塞通知)反饋之類的指示擁塞的 某些反饋機制進(jìn)行反應(yīng)。此外,系統(tǒng)不需要任何核心中的隧道傳送。在由 終端系統(tǒng)(而不是邊緣裝置)處理搶占反應(yīng)(即,呼叫拆除)的情況中, 系統(tǒng)不遭受由缺乏聚集引起的任何準(zhǔn)確度損失。這是因為,要被丟棄的準(zhǔn) 確的流的量已經(jīng)在擁塞點被選擇并且未被留給終端裝置去(以分布式方 式)挑選哪些流的子集需要被拆除。
使用標(biāo)記的基于哈希的搶占
利用使用標(biāo)記的基于哈希的搶占的實施例,核心路由器與以上針對使 用丟棄的基于哈希的搶占所述的相類似地進(jìn)行操作,然而,替代被丟棄, 所檢測到的桶中的流被標(biāo)記。用于使用標(biāo)記的基于哈希的搶占的操作如圖 4中所示,在步驟40,狀態(tài)從"轉(zhuǎn)發(fā)"(第一狀態(tài))被改為"標(biāo)記"(第二狀態(tài))。核心路由器上的對被修剪的負(fù)載的測量不包括在該跳被標(biāo)記的 流。標(biāo)記的一個示例是改變分組頭中的一個(或多個)字段的值。特定示 例是標(biāo)記DSCP。另一示例將是標(biāo)記PCN字段。
邊緣裝置或終端系統(tǒng)可以發(fā)起預(yù)留拆除或者,當(dāng)它們參與應(yīng)用級信令 時,可以針對分組被標(biāo)記的呼叫發(fā)起呼叫拆除。在使用標(biāo)記的基于哈希的 搶占的實施例中,邊緣裝置和終端系統(tǒng)具有決定改寫來自核心路由器的線 索(例如,標(biāo)記)以拆除呼叫的靈活性。決定基于與流相關(guān)聯(lián)的情境信息 并且被邊緣裝置和終端系統(tǒng)所知。例如,被標(biāo)記的呼叫中的一個可以是重 要的呼叫并且邊緣裝置可以決定時都丟棄該特定呼叫。例如,呼叫的重要
性可以是基于MLPP (Multilevel Priority and Preemption,多級優(yōu)先權(quán)和搶 占)或其它適當(dāng)?shù)膬?yōu)先權(quán)機制。邊緣裝置可以決定由于該例外 (exception)是針對不重要的部分呼叫完成的,相應(yīng)的過量的負(fù)載可以由 系統(tǒng)吸收。或者,邊緣裝置可以決定丟棄來自同一入口邊緣的其它呼叫 (未標(biāo)記的)以釋放必要的容量。例如,邊緣裝置可以使用諸如PHOP (Previous HOP ,之前的跳)之類的RSVP ( Resource Reservation Protocol)信息來識別哪一個其它呼叫來自同一入口邊緣。
以下描述在邊緣裝置或邊緣監(jiān)管器處執(zhí)行監(jiān)管的一個示例。在該示例 中,操作器01正在運行只包括核心路由器(例如,圖1的節(jié)點18和 20)的傳送網(wǎng)絡(luò)。另一操作器02被連接到01并且正在運行邊緣裝置或 終端系統(tǒng)(例如,圖1的節(jié)點14、 16)。如下所述,聚集監(jiān)管方法被用 來確保當(dāng)Ol正在進(jìn)入搶占階段,02在接收到標(biāo)記指示時將丟棄足夠的 呼叫,同時,允許02關(guān)于丟棄哪些呼叫做出某些任意的決定。因此,02 不是必須丟棄已經(jīng)被標(biāo)記的呼叫,這是因為比未標(biāo)記的呼叫更重要的那些 被標(biāo)記的呼叫可能結(jié)束。
在一個實施例中,Ol (以聚集為基礎(chǔ))使用在從01到02的出口邊 界處的標(biāo)記信息。01可以收集關(guān)于帶有標(biāo)記的進(jìn)入其到02的分組/字節(jié) 數(shù)的統(tǒng)計數(shù)字,并且使用這作為對02未做出恰當(dāng)行為多少的測量。如果 02正確地行為,則未標(biāo)記的流量的量在持續(xù)的時間段上應(yīng)該很小。例 如,在搶占擁塞時間期間未標(biāo)記的流量的量會很顯著,但之后在長時間段上下降到零或平均為非常少。
在另一實施例中,01對標(biāo)記的流量進(jìn)行實時計量并且如果標(biāo)記的流 量的速率在持續(xù)的一段時間保持很高則采取動作。持續(xù)的一段時間優(yōu)選超 過正常的搶占擁塞時間。該動作可以包括丟棄所有的標(biāo)記流量。
另一選擇是使用知道流的監(jiān)管器。監(jiān)管器跟蹤所有的標(biāo)記流并且給流 一些時間進(jìn)行反應(yīng)。然后,監(jiān)管器丟棄這些流的所有分組。這提供了更為 確定性的反應(yīng),但是要求每個流的監(jiān)管器。
在一個實施例中,如果路由器在令牌桶被設(shè)置為以當(dāng)前的搶占周期進(jìn) 行標(biāo)記之后看到超載和進(jìn)入標(biāo)記狀態(tài)的哈希桶的不變的流量的組合達(dá)幾個 測量間隔(即,在用于標(biāo)記桶的決定被做出之后但在哈希被重播種之 前),則路由器被配置為從標(biāo)記切換成丟棄。
使用標(biāo)記的基于哈希的搶占提供許多優(yōu)勢。監(jiān)管允許邊緣裝置和終端 系統(tǒng)執(zhí)行他們自己的策略并且決定丟棄哪些呼叫?;诠5姆桨富跇?biāo) 記提供超過其它搶占機制的優(yōu)點,這是因為標(biāo)記的流量精確地識別出由網(wǎng) 絡(luò)選為需要被拆毀的那組流,所以破壞標(biāo)記的流只影響行為錯誤的邊緣裝 置和終端系統(tǒng)。該系統(tǒng)允許邊緣裝置和終端系統(tǒng)基于流情境執(zhí)行他們選擇
的任何策略。如果邊緣裝置具有識別遠(yuǎn)程邊緣的RSVP信息,則邊緣裝置
很容易(在未標(biāo)記的流中)選擇犧牲共享相同瓶頸的另一個不那么重要的 流來代替標(biāo)記的流。并且,系統(tǒng)不經(jīng)受由短暫的隨機丟棄引起的潛在的超 調(diào),這是因為與僅僅對流內(nèi)的損失進(jìn)行反應(yīng)相對,邊緣裝置只對明確標(biāo)記 的流進(jìn)行反應(yīng)。
呼叫準(zhǔn)入控制
以上所述基于哈希的搶占(丟棄或標(biāo)記)可以與諸如如下所述的不同
的呼叫準(zhǔn)入控制(CAC)組合。
在一個示例中,與已在搶占中使用的一樣的速率測量被用在核心中, 但測量的速率與(較低的)CAC閾值進(jìn)行比較。如果CAC閾值被超過, 則之后所有的流(步驟)被用CAC-CE (CAC-Congestion Experienced, CAC-經(jīng)歷擁塞)標(biāo)記。邊緣裝置停止準(zhǔn)入用于給定入口/出口對的所有新呼叫,只要該對中的至少一個流接收到CAC-CE。這不需要對標(biāo)記每個入 口/出口對上的比率的CAC-CE的監(jiān)控。
應(yīng)當(dāng)理解,上述CAC機制僅僅是一個示例,并且在不偏離本發(fā)明的 范圍的情況下,可以用基于哈希的搶占使用不同的CAC機制。
網(wǎng)絡(luò)裝置
圖5描述了可被用來實現(xiàn)在此所述的實施例的網(wǎng)絡(luò)裝置60。在一個 實施例中,網(wǎng)絡(luò)裝置60是可在硬件、軟件或兩者的任何組合中實現(xiàn)的可 編程機器。處理器62執(zhí)行程序存儲器64中所存儲的代碼。程序存儲器64 是計算機可讀介質(zhì)的一個示例。程序存儲器64可以是非易失性存儲器。 存儲同樣的代碼另一種形式的計算機可讀介質(zhì)可以是某種非易失性存儲裝 置,例如,軟盤、CD-ROM、 DVD-ROM、硬盤、閃存等。攜帶代碼穿過 網(wǎng)絡(luò)的載波是傳輸介質(zhì)的示例。
網(wǎng)絡(luò)裝置60經(jīng)由多個線卡66接合物理介質(zhì)。線卡66可以合并以太 網(wǎng)接口、 DSL接口、吉比特以太接口、 IO吉比特以太接口、 SONET接口 等。當(dāng)分組被接收、處理并且被網(wǎng)絡(luò)裝置60轉(zhuǎn)發(fā)時,它們可以被存儲在 分組存儲器68中。為了實現(xiàn)根據(jù)本系統(tǒng)的功能性,線卡66可以合并與以 上結(jié)合網(wǎng)絡(luò)裝置作為整體描述的那些類似的處理和存儲器資源。
盡管已經(jīng)根據(jù)示出的實施例描述了方法和系統(tǒng),本技術(shù)領(lǐng)域技術(shù)人員 將容易認(rèn)識到在不偏離本發(fā)明的范圍的情況下存在對實施例做出的變化。 因此,希望以上描述中所包含的和附圖中示出的所有主題應(yīng)當(dāng)被解釋為說 明性的并且不是限制性的。
權(quán)利要求
1.一種用于網(wǎng)絡(luò)中的搶占的方法,所述網(wǎng)絡(luò)包括具有至少一個出口接口的核心裝置,所述方法包括利用多個哈希桶在所述出口接口處執(zhí)行基于流的哈希,每個哈希桶被設(shè)置成第一狀態(tài)或第二狀態(tài);基于速率測量計算負(fù)載,所述速率測量把被哈希進(jìn)被設(shè)成所述第二狀態(tài)的所述哈希桶的流排除在外;將所述計算出的負(fù)載與搶占閾值進(jìn)行比較;以及如果所述計算出的負(fù)載超過所述搶占閾值,則將所述多個哈希桶中的至少一個哈希桶的狀態(tài)從所述第一狀態(tài)改為所述第二狀態(tài)。
2. 根據(jù)權(quán)利要求1所述的方法,還包括 轉(zhuǎn)發(fā)被哈希進(jìn)處于所述第一狀態(tài)的所述哈希桶的流;以及 丟棄被哈希進(jìn)處于所述第二狀態(tài)的所述哈希桶的流。
3. 根據(jù)權(quán)利要求2所述的方法,其中,核心裝置與邊緣裝置進(jìn)行通 信,所述邊緣裝置被配置為檢測來自流的分組的損失并且發(fā)起呼叫拆除。
4. 根據(jù)權(quán)利要求2所述的方法,其中,核心裝置與邊緣裝置進(jìn)行通 信,所述邊緣裝置被配置為檢測來自流的分組的損失并且發(fā)起網(wǎng)絡(luò)預(yù)留拆 除。
5. 根據(jù)權(quán)利要求1所述的方法,還包括-標(biāo)記用于被哈希進(jìn)被設(shè)置為所述第二狀態(tài)的所述哈希桶的流的分組;以及轉(zhuǎn)發(fā)被哈希進(jìn)被設(shè)置為所述第一狀態(tài)或所述第二狀態(tài)的所述哈希桶的流。
6. 根據(jù)權(quán)利要求5所述的方法,其中,所述核心裝置與邊緣裝置進(jìn)行 通信,所述邊緣裝置被配置為基于被標(biāo)記的分組選擇要丟棄的流。
7. 根據(jù)權(quán)利要求5所述的方法,其中,所述核心裝置與邊緣裝置進(jìn)行 通信,所述邊緣裝置被配置為基于所述流的優(yōu)先級選擇要丟棄的流。
8. 根據(jù)權(quán)利要求5所述的方法,還包括監(jiān)控從所述核心裝置被轉(zhuǎn)發(fā)的被標(biāo)記的分組,并且如果從所述核心裝置被轉(zhuǎn)發(fā)的被標(biāo)記的分組的數(shù)量 保持在預(yù)定閾值以上達(dá)持續(xù)的時間段,則丟棄被標(biāo)記的分組。
9. 根據(jù)權(quán)利要求1所述的方法,還包括如果所述計算出的負(fù)載保持 在所述搶占閾值以下達(dá)指定間隔,則重播種所述基于流的哈希。
10. 根據(jù)權(quán)利要求1所述的方法,其中,所述速率測量被與呼叫準(zhǔn)入 控制閾值進(jìn)行比較,并且如果所述呼叫準(zhǔn)入控制閾值被超過,則至少一些 分組被標(biāo)記以指示擁塞。
11. 一種用于網(wǎng)絡(luò)中的搶占的設(shè)備,包括出口接口 ,所述出口接口被配置用于利用多個哈希桶的基于流的哈 希,每個哈希桶被設(shè)置成第一狀態(tài)或第二狀態(tài);以及處理器,所述處理器被配置用于基于速率測量計算負(fù)載,所述速率 測量把被哈希進(jìn)被設(shè)為所述第二狀態(tài)的所述哈希桶的流排除在外;將所述 計算出的負(fù)載與搶占閾值進(jìn)行比較;以及如果所述計算出的負(fù)載超過所述 搶占閾值,則將所述多個哈希桶中的至少一個哈希桶的狀態(tài)從所述第一狀 態(tài)改為所述第二狀態(tài)。
12. 根據(jù)權(quán)利要求11所述的設(shè)備,其中,所述設(shè)備被配置為轉(zhuǎn)發(fā)被哈 希進(jìn)處于所述第一狀態(tài)的所述哈希桶的流,以及丟棄被哈希進(jìn)處于所述第 二狀態(tài)的所述哈希桶的流。
13. 根據(jù)權(quán)利要求12所述的設(shè)備,其中,所述設(shè)備被配置用于與邊緣 裝置通信,所述邊緣裝置被配置為檢測來自流的分組的損失并且發(fā)起呼叫 拆除。
14. 根據(jù)權(quán)利要求12所述的設(shè)備,其中,所述設(shè)備被配置用于與邊緣 裝置通信,所述邊緣裝置被配置為檢測來自流的分組的損失并且發(fā)起網(wǎng)絡(luò) 預(yù)留拆除。
15. 根據(jù)權(quán)利要求11所述的設(shè)備,其中,所述設(shè)備被配置標(biāo)記用于被 哈希進(jìn)被設(shè)置為所述第二狀態(tài)的所述哈希桶的流的分組;以及轉(zhuǎn)發(fā)被哈希 進(jìn)被設(shè)置為所述第一狀態(tài)或所述第二狀態(tài)的所述哈希桶的流。
16. 根據(jù)權(quán)利要求15所述的設(shè)備,其中,所述核心裝置被配置用于與 邊緣裝置通信,所述邊緣裝置被配置為基于所述被標(biāo)記的分組和所述流的優(yōu)先級選擇要丟棄的流。
17. 根據(jù)權(quán)利要求11所述的設(shè)備,其中,所述設(shè)備被配置為如果所述 計算出的負(fù)載保持在所述搶占閾值以下達(dá)指定間隔,則重播種所述基于流 的哈希。
18. —種用于網(wǎng)絡(luò)中的搶占的系統(tǒng),所述系統(tǒng)包括具有至少一個出口 接口的核心裝置,所述系統(tǒng)包括用于利用多個哈希桶在所述出口接口處執(zhí)行基于流的哈希的裝置,每個哈希桶被設(shè)置成第一狀態(tài)或第二狀態(tài);用于基于速率測量計算負(fù)載的裝置,所述速率測量把被哈希進(jìn)被設(shè)為所述第二狀態(tài)的所述哈希桶的流排除在外;用于將所述計算出的負(fù)載與搶占閾值進(jìn)行比較的裝置;以及用于如果所述計算出的負(fù)載超過所述搶占閾值則將所述多個哈希桶中的至少一個哈希桶的狀態(tài)從所述第一狀態(tài)改為所述第二狀態(tài)的裝置。
19. 根據(jù)權(quán)利要求18所述的系統(tǒng),還包括用于轉(zhuǎn)發(fā)被哈希進(jìn)處于所述第一狀態(tài)中的所述哈希桶中的流的裝置;以及用于丟棄被哈希進(jìn)處于所述第二狀態(tài)中的所述哈希桶中的流的裝置。
20. 根據(jù)權(quán)利要求18所述的系統(tǒng),還包括用于標(biāo)記用于被哈希進(jìn)被設(shè)置為所述第二狀態(tài)的所述哈希桶的流的分 組的裝置;以及用于轉(zhuǎn)發(fā)被哈希進(jìn)被設(shè)置為所述第一狀態(tài)或所述第二狀態(tài)的所述哈希 桶的流的裝置。
全文摘要
公開了一種用于網(wǎng)絡(luò)中的搶占的方法和系統(tǒng),所述網(wǎng)絡(luò)包括具有至少一個出口接口的核心裝置。在一個實施例中,該方法利用多個哈希桶執(zhí)行基于流的哈希,每個哈希桶被設(shè)置成第一狀態(tài)或第二狀態(tài);基于將被哈希進(jìn)被設(shè)為第二狀態(tài)的哈希桶的流排除在外的速率測量計算負(fù)載。所計算出的負(fù)載與搶占閾值進(jìn)行比較,并且如果計算出的負(fù)載超過搶占閾值,則哈希桶中的至少一個哈希桶的狀態(tài)從第一狀態(tài)被改為第二狀態(tài)。對哈希進(jìn)第二狀態(tài)的哈希桶的流執(zhí)行諸如丟棄所有分組或標(biāo)記所有分組之類的動作。
文檔編號H04L12/28GK101542977SQ200780042218
公開日2009年9月23日 申請日期2007年11月5日 優(yōu)先權(quán)日2006年11月13日
發(fā)明者安娜·恰爾內(nèi), 弗蘭克斯·勒弗其爾 申請人:思科技術(shù)公司