專利名稱:用于隱式區(qū)分網(wǎng)絡(luò)中的服務(wù)質(zhì)量的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)包交換網(wǎng)絡(luò)的體系結(jié)構(gòu)以及在該體系結(jié)構(gòu)中的服務(wù)質(zhì)量的管理。
背景技術(shù):
互聯(lián)網(wǎng)是適用于支持廣泛的服務(wù)和應(yīng)用的多重服務(wù)工具。在互聯(lián)網(wǎng)上有兩類主要的業(yè)務(wù)(traffic)通常由音頻和視頻應(yīng)用產(chǎn)生的實時(流動)業(yè)務(wù),和對應(yīng)于數(shù)字文檔的傳遞的數(shù)據(jù)(彈性)業(yè)務(wù)。實時業(yè)務(wù)的服務(wù)質(zhì)量需求對應(yīng)于保護(hù)信號的需要當(dāng)信號通過網(wǎng)絡(luò)傳播時,表示由源產(chǎn)生的信號的特征的比特率變化必須被保護(hù)。數(shù)據(jù)業(yè)務(wù)的服務(wù)的質(zhì)量由文檔傳遞的時間來衡量。這時,或者是與之等同的在轉(zhuǎn)換期間達(dá)到的平均比特率,將取決于從源到目的地的整個通信通道?;ヂ?lián)網(wǎng)網(wǎng)絡(luò)的服務(wù)目標(biāo)的質(zhì)量可能是,其對于數(shù)據(jù)業(yè)務(wù)應(yīng)該是透明的,因為與其它位置(服務(wù)器、存取網(wǎng)絡(luò)、用戶設(shè)備)所引入的限制相比,其不會引入進(jìn)一步的比特率降低;意即網(wǎng)絡(luò)保護(hù)數(shù)據(jù)流的比特率。
互聯(lián)網(wǎng)是向處于商業(yè)關(guān)系的用戶客戶提供傳輸服務(wù)的公共網(wǎng)絡(luò)。因此收費問題是非常重要的。網(wǎng)絡(luò)體系結(jié)構(gòu)必須為運營商提供投資回報,并結(jié)合以用戶所需的服務(wù)質(zhì)量的有競爭力的價格。
不同的網(wǎng)絡(luò)體系結(jié)構(gòu)的提議構(gòu)成了對于這些質(zhì)量和投資回報需求的各種各樣的響應(yīng)。一些體系結(jié)構(gòu),例如綜合業(yè)務(wù)模型(Intserv)、區(qū)分業(yè)務(wù)模型(Diffserv)和多協(xié)議標(biāo)記交換-TE(MPLS-TE)是標(biāo)準(zhǔn)化的,而其它的則是獨有的。
現(xiàn)有的IP網(wǎng)絡(luò)體系結(jié)構(gòu),作為盡力而為(best effort)的體系結(jié)構(gòu)提供不了服務(wù)質(zhì)量的保證。性能通過過度規(guī)格(overspecification)而達(dá)到令人滿意,并且取決于用戶的配合,而理論上,用戶必須按照網(wǎng)絡(luò)擁塞狀態(tài)的函數(shù)調(diào)整他們的應(yīng)用的比特率(特別是當(dāng)使用TCP和對TCP友好的協(xié)議時)。實時業(yè)務(wù)和數(shù)據(jù)業(yè)務(wù)的數(shù)據(jù)包按彼此之間并無區(qū)別的方式被處理。
IP路由器目前在對于路由一個數(shù)據(jù)包有兩個或更多路徑可用時,使用負(fù)載分配(load sharing)的原理。對于給定的數(shù)據(jù)包的選擇通常通過向該數(shù)據(jù)包的原始IP地址應(yīng)用散列函數(shù)(hashing function)來確定應(yīng)用該函數(shù)的結(jié)果是指定考慮中的接口的一個整數(shù)。通過這種方式,負(fù)載在可用的路徑上被分配而所有的相同流的數(shù)據(jù)包獲得相同的路徑并因此以正確順序到達(dá)。
對于較小的用戶來說費用通常是固定的。與此相比,較大的用戶可以按發(fā)送或者接收的業(yè)務(wù)的量的函數(shù)來支付運營商。這時,通常有一個協(xié)定,規(guī)定了關(guān)于提供數(shù)據(jù)包丟失率、網(wǎng)絡(luò)交叉延遲、穩(wěn)定因素的服務(wù)特征的質(zhì)量。
作為上述體系結(jié)構(gòu)的改進(jìn),已提出的多數(shù)高級別的體系結(jié)構(gòu)使用預(yù)留資源的原理。網(wǎng)絡(luò)和用戶建立對于計劃的呼叫的業(yè)務(wù)協(xié)定-用戶通過描述業(yè)務(wù)的特性宣布(announce)計劃的呼叫,-可能時(許可控制),網(wǎng)絡(luò)分配必要的資源,-或者是所發(fā)送的業(yè)務(wù)在入口上被監(jiān)控以確認(rèn)其符合預(yù)先給出的描述,或者是所分配的資源被WFQ類型調(diào)度監(jiān)控。
根據(jù)所建議的體系結(jié)構(gòu),上述協(xié)定涉及微流(microflow)或者流的聚集,點對點呼叫或者多點呼叫。
收費包括在協(xié)定中。它們通常取決于用戶所提供的業(yè)務(wù)描述,而業(yè)務(wù)描述決定資源的分配。
當(dāng)根據(jù)服務(wù)類型做出了區(qū)分時,網(wǎng)絡(luò)以具體方式處理相同類型的所有數(shù)據(jù)包。在用于實時業(yè)務(wù)和數(shù)據(jù)業(yè)務(wù)所分別需要的兩種類型的質(zhì)量之間做出了區(qū)分,并且在相同類型內(nèi)的不同級別的質(zhì)量之間進(jìn)行了區(qū)別。通常必須遵照用戶和運營商關(guān)于業(yè)務(wù)累計的協(xié)定的條款,仔細(xì)監(jiān)控數(shù)據(jù)包向不同類型服務(wù)的分配。
收費是協(xié)定的一部分,并且通常取決于每一類中所發(fā)送的業(yè)務(wù)量。根據(jù)質(zhì)量等級有必要存在收費差別,因為否則每個用戶都會將所有的業(yè)務(wù)放在最高質(zhì)量的類型中。
由F.P.Kelly在“用于自管理互聯(lián)網(wǎng)的模塊”(“Models for aself-managed Internet,Philosophical Transactions of he Royal Society”,Vol.A358,第2335-2348頁,2000年)中描述的自管理互聯(lián)網(wǎng)避免了服務(wù)的預(yù)留和分類。在該體系結(jié)構(gòu)中,如果發(fā)生擁塞,網(wǎng)絡(luò)發(fā)送具有單元“成本”的顯式擁塞通知(ECN)。用戶可以將他們的“帳單”調(diào)制為他們對接收到的通知的反應(yīng)的函數(shù),并且可以因此在他們接受為其呼叫支付更多時,通過對所接收到的通知不做出反應(yīng),來忽略擁塞。
在實時業(yè)務(wù)和數(shù)據(jù)業(yè)務(wù)之間區(qū)分的必要性從原理上被避免了。要求通過利用占有虛擬隊列來決定ECN標(biāo)志,使數(shù)據(jù)包延遲變得微不足道。
自管理網(wǎng)絡(luò)并不使提供專用信號協(xié)議成為必須,并且提供與盡力而為的網(wǎng)絡(luò)一樣簡單的資源管理。
在例如由J.Roberts等人在“通過關(guān)注流的網(wǎng)絡(luò)的服務(wù)質(zhì)量”(“Quality of service by flow-aware networking,PhilosophicalTransactions of the Royal Society”,Vol.A 358,第2197-2207頁,2000年)中所描述的關(guān)注流網(wǎng)絡(luò)體系結(jié)構(gòu)中,每個用戶流立即被識別,而業(yè)務(wù)控制給予這些流。流是在包頭的某個固定字段——通常是源和目的地IP地址、傳送協(xié)議端口數(shù)量(IPv4)或者流標(biāo)志字段(IPv6)——中具有相同值的一組數(shù)據(jù)包。流可以通過與待用周期(period ofinactivity)結(jié)合的超時值(time-out values)來指定。當(dāng)在該待用周期期間觀察不到數(shù)據(jù)包時流終止。圖1示出了這種體系結(jié)構(gòu)的原理和組件。裝置4控制實時業(yè)務(wù)的峰值比特率。數(shù)據(jù)包被發(fā)送至路由判定模塊6,而路由判定模塊6查閱(consult)被保護(hù)的流的列表10。其將被準(zhǔn)許的數(shù)據(jù)包轉(zhuǎn)發(fā)至模塊8,模塊8根據(jù)為實時流的數(shù)據(jù)包給出優(yōu)先級的優(yōu)先級隊列將它們排列。模塊8向模塊6發(fā)送準(zhǔn)許條件數(shù)據(jù)16。該數(shù)據(jù)本質(zhì)上包含實時流的當(dāng)前累積比特率和對于數(shù)據(jù)流的可用的帶寬測量。
如果鏈接或者路徑在一瞬間內(nèi)是擁塞的,則應(yīng)用隱式準(zhǔn)許(implicit admission)控制以防止新的流的啟動。這一控制保護(hù)了已經(jīng)在進(jìn)行中的流的服務(wù)質(zhì)量。在文獻(xiàn)中已經(jīng)提出了幾種用于實現(xiàn)隱式準(zhǔn)許控制的提議,例如A.Kumar等人的論文“用于互聯(lián)網(wǎng)訪問鏈接的帶寬管理的無插入TCP連接準(zhǔn)許控制”(“Non-intrusive TCPconnection admission control for bandwidth management of an Internetaccess link”,IEEE Comm.Mag.Vol.39,No.5,第160-167頁,2000年)。
在圖1的體系結(jié)構(gòu)中,實時業(yè)務(wù)和數(shù)據(jù)業(yè)務(wù)通過它們的服務(wù)類型而被區(qū)分。但是,準(zhǔn)許條件既不取決于流的類型,也不取決于流的特定的業(yè)務(wù)特性。這避免了流的業(yè)務(wù)特性的信號的需要。仍然必須在實時流的峰值比特率并未超出預(yù)定限制的入口上進(jìn)行檢查。為了確定準(zhǔn)許條件,知曉該限制是必須的(參見T.Bonald等人的論文“IP業(yè)務(wù)和QoS控制趨向關(guān)注流的體系結(jié)構(gòu)”(“IP traffic and QoS controltowards a flow-aware architecture”,Proc.Of World Telecom.Conf.,巴黎2002年))。
在該體系結(jié)構(gòu)中,收費可能僅取決于客戶發(fā)送或者接收的業(yè)務(wù)量。任何已經(jīng)開始的流都是有效的,因為其被保護(hù),而且因此是可以收費的。實時和數(shù)據(jù)之間的區(qū)別并不一定需要不同的收費,因為不會引起替換實時流經(jīng)歷著可以忽略的丟失和延遲而數(shù)據(jù)流在比特率方面不受限制。
美國公司Caspian Networks提出了另外一種類型的關(guān)注流體系結(jié)構(gòu)(參見例如美國專利公開US-2002/57699,US-2002/57651和US-2002/80786)。數(shù)據(jù)包在運行中(on the fly)被識別,如上述那樣。每一被準(zhǔn)許的流結(jié)合有服務(wù)質(zhì)量參數(shù)和路由。服務(wù)質(zhì)量參數(shù)由信息的各種源推導(dǎo)出,包括數(shù)據(jù)包的報頭和由用戶的SLA推導(dǎo)出的規(guī)格表。路由作為服務(wù)質(zhì)量參數(shù)和當(dāng)前的網(wǎng)絡(luò)資源的使用的函數(shù)被計算,以便符合流的性能需要。服務(wù)質(zhì)量參數(shù)規(guī)定了保證速率(GR)等??捎盟俾?AR)在特定的時間周期被分配給流,作為其路由的擁塞狀態(tài)的函數(shù)。該體系結(jié)構(gòu)使用在入口上的調(diào)度以確保流的比特率符合分配的速率(GR+AR)。在出口上的調(diào)度確保了符合性能需要(特別是每數(shù)據(jù)包的延遲)。對出口的調(diào)度通過利用拒絕過度的數(shù)據(jù)包來間隔而實現(xiàn),對出口的調(diào)度對每一個流使用WFQ算法。如果可能發(fā)現(xiàn)新的引入的流的適合的路由,則必須使用流準(zhǔn)許控制。
所有上述體系結(jié)構(gòu)具有以各種方式與質(zhì)量保證的特性、實現(xiàn)的復(fù)雜程度或者網(wǎng)絡(luò)的投資回報相關(guān)的缺點。
盡力而為的體系結(jié)構(gòu)的缺點是廣為人知的-擁塞時所有呼叫的性能劣化,-對于和數(shù)據(jù)業(yè)務(wù)競爭的實時呼叫的缺少控制的數(shù)據(jù)包丟失和延遲,-不合理的帶寬分配,特別是在一些用戶是惡意的情況下,-通過過度規(guī)格確保服務(wù)質(zhì)量的潛在的搞成本,-如果用戶的業(yè)務(wù)量非常不穩(wěn)定,則固定收費難以定義合理的價格以確保好的投資回報率,-按照業(yè)務(wù)量的函數(shù)進(jìn)行收費還值得懷疑,因為其對擁塞的敏感性(丟失數(shù)據(jù)包的更新)和符合質(zhì)量的最低級別的故障的概率,引起進(jìn)行中的呼叫被中斷。
預(yù)留原理具有下列缺點-發(fā)現(xiàn)在實際中不可能使用可能在入口上被檢查的參數(shù)來簡潔地描述呼叫的業(yè)務(wù)(通常以高度變化的比特率),-預(yù)留是復(fù)雜的,必須有信號協(xié)議、利用每一呼叫的參數(shù)(“狀態(tài)”)保持?jǐn)?shù)據(jù)庫,以及使用調(diào)度機(jī)制,-如果呼叫獲得的路徑不能被確定則預(yù)留的概念變得不再確切(在Diffserv體系結(jié)構(gòu),特別是IP路由不穩(wěn)定等情況下,用于向不同目的地的一組業(yè)務(wù)流的預(yù)留),-就資源來說,嚴(yán)格的服務(wù)質(zhì)量保證——例如在Intserv保證服務(wù)中——成本很高,-通常被采用以便補償用戶過高估計他們的業(yè)務(wù)的事實的過度預(yù)留,導(dǎo)致缺乏任何實際的保證,-收費存在問題在過度預(yù)留時,基于(業(yè)務(wù)協(xié)定的)業(yè)務(wù)參數(shù)的收費并不直接與呼叫的成本相關(guān),而呼叫的成本取決于實際發(fā)送的業(yè)務(wù)量;在嚴(yán)格保證時,與被預(yù)留的資源(帶寬、存儲器)相關(guān)的收費冒著被禁止的危險。
通過服務(wù)的分類進(jìn)行區(qū)分引入了其它問題-對于數(shù)據(jù)業(yè)務(wù)缺乏可以計量的和可證實的服務(wù)質(zhì)量保證,-如果呼叫的路徑不固定則不可能保證對于實時業(yè)務(wù)的服務(wù)質(zhì)量,-通過類型和通過用戶的管理業(yè)務(wù)單元仍然復(fù)雜(SLA管理、策略服務(wù)器、業(yè)務(wù)參數(shù)信號等),-低優(yōu)先級類型的業(yè)務(wù)面臨著與盡力而為的體系結(jié)構(gòu)中的業(yè)務(wù)相同的缺點(擁塞時性能崩潰,沒有針對惡意用戶的保護(hù)),-對服務(wù)的不同類型收費存在問題價格差異是必須的但是如果在質(zhì)量方面沒有明顯的差別則可能不為用戶所理解,
-在收費和成本之間缺乏直接的聯(lián)系造成難以定義出提供必要的投資回報的收費結(jié)構(gòu)。
自管理的互聯(lián)網(wǎng)避免了很多上述問題但是其所基于的收費原理本身也存在問題-基于ECN標(biāo)志的收費是復(fù)雜的并且容易發(fā)生擁塞,-如何對向運營商A的網(wǎng)絡(luò)訂購來自屬于另一運營商B的下游網(wǎng)絡(luò)的擁塞標(biāo)志的用戶記費?-ECN收費的收入并未提供正確規(guī)定的網(wǎng)絡(luò)的投資回報;假定另一收費原理必須提供那樣的回報,則ECN收費可能被用戶認(rèn)為是不合理的過高收費。
前文中所引用的出版物中所公開的關(guān)注流的體系結(jié)構(gòu)仍然具有下列缺點-實時業(yè)務(wù)和數(shù)據(jù)業(yè)務(wù)的顯式區(qū)別要求必須控制實時流的峰值比特率,-必須為實時流固定最大峰值比特率而且必須對其進(jìn)行嚴(yán)格監(jiān)控,即使在并不擁塞時可能準(zhǔn)許以更高比特率流過而不會降低性能,-性能仍然易受惡意用戶的攻擊,-提出的用于擁塞測量(通過利用幻象(phantom)TCP或者由觀察到的丟失率來估計可用帶寬)的方法可能難以實現(xiàn)。
至于Caspian的關(guān)注流的體系結(jié)構(gòu),注意存在下列問題-考慮服務(wù)質(zhì)量和根據(jù)流的業(yè)務(wù)參數(shù)導(dǎo)致復(fù)雜的實現(xiàn),這可能引起展開的問題,-關(guān)于該體系結(jié)構(gòu)的可用文獻(xiàn)并未規(guī)定所使用的用于確保符合流的服務(wù)質(zhì)量的方法;但是,這些方法,特別是準(zhǔn)許控制的原理的定義,對于所提出的體系結(jié)構(gòu)的效率是決定性的,-涉及的調(diào)度的形式(在入口上間隔,在出口上根據(jù)流WFQ)必須知曉每一流的具體參數(shù)(特別是,如果它們是實時流時——GR、MR——或者是數(shù)據(jù)流時——AR)以便符合它們的服務(wù)質(zhì)量需要,-未觸及收費的問題。
發(fā)明內(nèi)容
本發(fā)明的第一個目的是提供一種處理網(wǎng)絡(luò)鏈路上的流的數(shù)據(jù)包的設(shè)備和方法,包括調(diào)度裝置(或者調(diào)度步驟),用于根據(jù)具有優(yōu)先級算法的合理排隊(fair queuing)來安排隊列中的數(shù)據(jù)包。
具有優(yōu)先級調(diào)度的合理排隊為比特率低于動態(tài)閾值的流的數(shù)據(jù)包給出了優(yōu)先權(quán),其中該動態(tài)閾值對應(yīng)于例如有多個數(shù)據(jù)包在等待的流當(dāng)前所使用的比特率——只要它們根據(jù)合理排隊算法被處理。
上述這種設(shè)備或者方法能夠無需準(zhǔn)許控制裝置而工作,特別是在其中擁塞的風(fēng)險比核心網(wǎng)絡(luò)中更可控制的接入網(wǎng)的情形下。
根據(jù)本發(fā)明,用于每一流的準(zhǔn)許控制也可以與合理排隊調(diào)度相關(guān)。
這樣本發(fā)明的另一目的是提供一種用于處理在網(wǎng)絡(luò)鏈路上的流的數(shù)據(jù)包的設(shè)備和方法,包括-準(zhǔn)許控制裝置(或者準(zhǔn)許控制步驟),用于根據(jù)準(zhǔn)許標(biāo)準(zhǔn)控制所述流準(zhǔn)許進(jìn)入該設(shè)備中,-調(diào)度裝置(或者調(diào)度步驟),用于根據(jù)具有優(yōu)先級算法的合理分配來調(diào)度隊列中的數(shù)據(jù)包。
該調(diào)度裝置能夠向該準(zhǔn)許控制裝置發(fā)送準(zhǔn)許條件數(shù)據(jù)。
該設(shè)備和該方法確保服務(wù)質(zhì)量而無需在實時流和數(shù)據(jù)流之間的顯式區(qū)分。
這使得到其比特率保持低于由準(zhǔn)許條件所確定的閾值的實時流的數(shù)據(jù)包的延遲被最小化。如果準(zhǔn)許控制未被激活,則該閾值轉(zhuǎn)而由業(yè)務(wù)條件確定。
該準(zhǔn)許條件直接由測量數(shù)據(jù)流所實現(xiàn)的合理比特率以及由優(yōu)先級數(shù)據(jù)包所代表的負(fù)載的調(diào)度裝置確定。
準(zhǔn)許控制和合理排隊調(diào)度的結(jié)合給出了一定程度的“交叉保護(hù)”-數(shù)據(jù)流的比特率由合理排隊保護(hù),-實時流的數(shù)據(jù)包延遲通過給予它們優(yōu)先級而被保護(hù),-合理排隊調(diào)度的復(fù)雜性通過使用準(zhǔn)許控制以限制將要考慮的流的數(shù)量而被避免,-準(zhǔn)許控制通過被結(jié)合進(jìn)調(diào)度裝置中的測量而得到推進(jìn)。
通過將(隱式的)準(zhǔn)許控制技術(shù)和合理排隊調(diào)度相結(jié)合,本發(fā)明確保了“足夠的”質(zhì)量而無需降低業(yè)務(wù)特性、定義服務(wù)類型、信令、或者明確預(yù)留資源。
如果準(zhǔn)許控制未被激活,則將丟失交叉保護(hù)的一些優(yōu)勢,但是只要鏈接不發(fā)生擁塞就可以保持服務(wù)質(zhì)量的隱式區(qū)分。低比特率實時流的數(shù)據(jù)包僅面臨較短的等待時間而數(shù)據(jù)流能夠?qū)崿F(xiàn)由合理排隊所確保的比特率。這一結(jié)構(gòu)能夠滿足接入網(wǎng)的鏈接的具體情況,其中因為相對較少的被服務(wù)的用戶數(shù)量而降低了擁塞的風(fēng)險。
所選擇的調(diào)度的形式使得該體系結(jié)構(gòu)對于可能缺乏用戶合作來說不再是脆弱的。該體系結(jié)構(gòu)根據(jù)所發(fā)送或者接收的業(yè)務(wù)量提供了簡單的收費。保持了自管理網(wǎng)絡(luò)的用戶——運營商關(guān)系的簡單性,而沒有與按照ECN標(biāo)記的函數(shù)收費相關(guān)的缺點。這一簡單性伴隨的是關(guān)注流的體系結(jié)構(gòu)的堅固和效率。
那些進(jìn)入比特率使得其在隊列中已經(jīng)具有至少一個數(shù)據(jù)包的流在出口上實現(xiàn)了幾乎相同的合理比特率。在本發(fā)明中,如果實時流的數(shù)據(jù)包以在一瞬間比合理比特率更高的比特率突然涌入地到達(dá)(例如,因為在上游隊列中的等待),則調(diào)度裝置給予第一個數(shù)據(jù)包優(yōu)先級,但是通過強(qiáng)加入符合合理比特率的間隔延遲隨后的數(shù)據(jù)包。如果該流的初始比特率比該合理比特率低,則該間隔通過不再引入相對于接收存儲器在目的地處所強(qiáng)加入的延遲來說輔助的延遲而使流“平滑”,后者必須以其初始定時速率(timing rate)將數(shù)據(jù)包發(fā)送給最終用戶。就這種意義來說,延遲仍然是可以忽略的。相比之下,比特率大于合理比特率的實時流將被劣化并且源通常將被迫采用比特率降低以防止數(shù)據(jù)丟失。
因此所使用的機(jī)制保證了對于峰值比特率——如對于所考慮的網(wǎng)絡(luò)來說的外部元件所確定的——低于特定閾值的流的可以忽略的延遲和可以忽略的數(shù)據(jù)包丟失。該閾值是動態(tài)的并且對應(yīng)于由所選擇的調(diào)度形式實現(xiàn)的是合理的比特率(就最大—最小的意義來說)。于是準(zhǔn)許控制實現(xiàn)了保護(hù)數(shù)據(jù)流的比特率和保護(hù)實時流的信號的雙重目的。
準(zhǔn)許控制通過限制要考慮的流的數(shù)量,使合理排隊調(diào)度可擴(kuò)展。合理排隊有助于鏈接的擁塞狀態(tài)的測量,該測量被用于確定準(zhǔn)許條件。
本發(fā)明使用具有優(yōu)先級調(diào)度的合理排隊設(shè)備和方法以在實時流和數(shù)據(jù)流之間進(jìn)行隱式的區(qū)分,確保實時流具有低的每數(shù)據(jù)包的延遲。
對每一流的隱式準(zhǔn)許控制和具有優(yōu)先級調(diào)度的合理排隊相結(jié)合確保了服務(wù)質(zhì)量,而無需在實時流和數(shù)據(jù)流之間進(jìn)行顯式區(qū)分。
因為準(zhǔn)許控制通過拒絕第一個接收到的數(shù)據(jù)包來拒絕那些在鏈接為擁塞時到達(dá)的流,所以可以使用負(fù)載分配機(jī)制,根據(jù)流標(biāo)識符進(jìn)行自適應(yīng)路由選擇。如果用戶通過發(fā)送相同數(shù)據(jù)包再次進(jìn)行嘗試直到成功發(fā)送,則業(yè)務(wù)不會丟失。如果在每一次嘗試中數(shù)據(jù)包被呈現(xiàn)給能夠?qū)⑵渎酚芍疗淠康牡氐牧硪粋€鏈接,則成功的概率更大。
為此目的,由路由器所采用的該負(fù)載分配機(jī)制可以對流標(biāo)識符進(jìn)行操作,其中流標(biāo)識符包括待由用戶自由填寫的字段,例如IPv4中的端口號或者IPv6中的流標(biāo)簽。執(zhí)行該負(fù)載分配的散列函數(shù)包括該自由字段作為變量,結(jié)果是用戶通過對每次更新修改所考慮的字段的值,執(zhí)行了一種自適應(yīng)路由選擇。
本發(fā)明使得將了解其流的網(wǎng)絡(luò)的堅固和自管理互聯(lián)網(wǎng)的簡單結(jié)合在一起成為可能。從前者中保留了隱式準(zhǔn)許控制,由此避免了用戶在實時業(yè)務(wù)和數(shù)據(jù)業(yè)務(wù)之間進(jìn)行區(qū)分的任何需要。網(wǎng)絡(luò)利用它們的不同的業(yè)務(wù)特征,使這一區(qū)分自動進(jìn)行。
圖1為顯示關(guān)注流的網(wǎng)絡(luò)體系結(jié)構(gòu)的元件的圖,圖2顯示了本發(fā)明的體系結(jié)構(gòu)的元件,圖3為準(zhǔn)許區(qū)域圖,圖4顯示了PIFO(推入先出)隊列的原理,圖5和圖6顯示了對數(shù)據(jù)包的到達(dá)所執(zhí)行的或者在發(fā)送數(shù)據(jù)包的末端處所執(zhí)行的算法,以及圖7和圖8顯示了測量擁塞、優(yōu)先負(fù)載和合理比特率指示符的操作。
具體實施例方式
圖2顯示了第一實施例。
在該圖中,參考標(biāo)號24表示對于進(jìn)入流的數(shù)據(jù)包20執(zhí)行準(zhǔn)許控制的路由模塊或者路由裝置。
流(flow)的定義是,例如,在由Bonald等人的論文“IP業(yè)務(wù)和QoS控制對關(guān)注流體系結(jié)構(gòu)的需要”(“IP traffic and QoS controlthe need for a flow-aware architecture”,World Telecom.Conference,巴黎2002年)中所公開的關(guān)注流(flow-aware)的體系結(jié)構(gòu)中的定義。
被給予該模塊的數(shù)據(jù)包20,例如由可能包括通過對流標(biāo)識符的字段的子集應(yīng)用散列函數(shù)而獲得的負(fù)載分配的傳統(tǒng)路由函數(shù)來確定。自適應(yīng)路由選擇的一種形式通過在這一子集中包括將由用戶自由填充的報頭的字段(傳輸協(xié)議端口號,IPv6的流標(biāo)簽)而獲得。
模塊24查閱被保護(hù)的流的列表30并使其保持最新,其中這些被保護(hù)的流實際上是由裝置24所準(zhǔn)許的流并且是有效的(active)(即,該流的一新的數(shù)據(jù)包已經(jīng)在某個時間間隔內(nèi)被標(biāo)識)。
參考標(biāo)號28表示用于根據(jù)具有優(yōu)先級的合理排隊方法或者算法,管理數(shù)據(jù)包的隊列的調(diào)度模塊或者調(diào)度裝置。
在該算法或者方法中,優(yōu)先級被分配給比特率并未超出對應(yīng)于當(dāng)前合理比特率的閾值的那些流的數(shù)據(jù)包。這一條件在所采用的合理排隊算法的某些參數(shù)的值中實現(xiàn),如下文具體實施方式
的上下文中所指明的。那些進(jìn)入比特率超出該合理比特率的流的數(shù)據(jù)包被分類為無優(yōu)先級數(shù)據(jù)包。
當(dāng)其比特率過高的進(jìn)入的流20被調(diào)度模塊28識別并且被降級或者分類為無優(yōu)先級流時,這也調(diào)整了實時流的峰值比特率。
這樣該機(jī)制替換了在圖1中所見到的用于監(jiān)控實時流的峰值比特率的模塊4,并使其可以被消除。
另外,模塊或者裝置28為路由模塊24提供準(zhǔn)許條件數(shù)據(jù)或者參數(shù)36。
最后,參考標(biāo)號32表示數(shù)據(jù)包離開而參考標(biāo)號34和38分別表示由調(diào)度模塊和由準(zhǔn)許控制模塊拒絕數(shù)據(jù)包。
記住在本發(fā)明的一種模式的使用中,可以不出現(xiàn)準(zhǔn)許控制模塊,因此流20被直接給予模塊28。
該機(jī)制不需要數(shù)據(jù)包或者流priori識別是實時類型或是彈性類型。
圖2的體系結(jié)構(gòu)通常在被編程以實現(xiàn)所需功能的路由器或者處理器或者用于路由器的微處理器中實現(xiàn)或者提供。
下面更詳細(xì)地描述路由判定模塊24的一個實施例。
在傳統(tǒng)的IP網(wǎng)絡(luò)中,流在由目的地IP抵制所確定的單一路徑上被 路由,并且獨立于該路徑的擁塞狀態(tài)。在本體系結(jié)構(gòu)中,路由判定模塊24基于在被保護(hù)的流的一個或者多個列表30中所包含的信息,來決定是否對給定流的數(shù)據(jù)包進(jìn)行路由。
被保護(hù)的流的列表30為表示對于每一個流的最后一個數(shù)據(jù)包到達(dá)時間的流標(biāo)識符的列表。每一列表與標(biāo)識符空間的劃分相關(guān)聯(lián)。這一劃分限制了每一列表的容量并因此保證了可擴(kuò)展性。
當(dāng)對于一個流來說,自最后一個數(shù)據(jù)包被接收已經(jīng)過去的時間超出閾值或者超時時,該流從列表30中被擦除。超時為系統(tǒng)的參數(shù),并且是例如幾秒的數(shù)量級。優(yōu)選地,設(shè)定該表的大小以限制飽和、即流應(yīng)該被準(zhǔn)許進(jìn)入列表但是列表已滿的狀態(tài)的概率。這種飽和的后果將僅僅是在獲取被保護(hù)流的狀態(tài)方面流將被延遲。盡管如此,如果擁塞的狀態(tài)允許,其數(shù)據(jù)包仍將被正確地路由。通過適當(dāng)設(shè)定大小,可用使飽和的概率足夠低。
對任何數(shù)據(jù)包的到達(dá)采用路由判定。模塊24基于來自數(shù)據(jù)包報頭的信息連帶確定輸出接口和適當(dāng)?shù)牧斜?。如果?shù)據(jù)包屬于被保護(hù)的流,則其直接被路由。最后一個數(shù)據(jù)包到達(dá)的時間在列表中被更新。如果該流尚未被保護(hù),則必須采用路由判定。
如果不滿足準(zhǔn)許條件,則數(shù)據(jù)包被拒絕。這些條件的特性將在下文中解釋。所應(yīng)用的條件可以取決于數(shù)據(jù)包的特定屬性,包括業(yè)務(wù)分類字段的值(IPv6)、ToS字段(IPv4),或者源和目的地IP地址。
準(zhǔn)許控制確保被準(zhǔn)許的流是透明的對于實時流保護(hù)信號,對于數(shù)據(jù)流來說保護(hù)比特率。事實上,只是對于峰值比特率(如由外部限制所確定的)保持低于某個閾值的那些流提供了這種透明性。實時流的準(zhǔn)許的比特率閾值低于數(shù)據(jù)流,因為在這兩種情況下各自的透明保證(即,比特率的保護(hù)和信號的保護(hù))意味著不同的時間標(biāo)度。對于實時流,目標(biāo)是確保可用的比特率高于較短的時間標(biāo)度上的峰值比特率,符合可忽略的數(shù)據(jù)包延遲(幾微秒)。對于數(shù)據(jù)流,目標(biāo)是逼近在相對較長的時間周期(為幾秒的量級)上的某個的平均比特率。
所考慮的兩個峰值比特率由準(zhǔn)許標(biāo)準(zhǔn)的選擇而產(chǎn)生。換句話說,為了確保某個比特率的流的透明,根據(jù)合理比特率和優(yōu)先負(fù)載擁塞測量定義適當(dāng)?shù)臏?zhǔn)許條件。如果所有的流都是彈性的,則對于合理比特率的適當(dāng)閾值的選擇為按照例如Ben Fredj等人(用于彈性業(yè)務(wù)的基于測量的準(zhǔn)許控制,“Measurement based admission Control for ElasticTraffic”,Teletraffic Engineering in the Internet Era,ITC 17,Elsevier,2001年)所描述的。Let threshold_1(T1)代表所考慮的閾值。如果所有的流為具有有限的峰值比特率的實時類型,則優(yōu)先負(fù)載準(zhǔn)許閾值可以借助于Gibbens等人的方法(ATM網(wǎng)絡(luò)中的呼叫準(zhǔn)許的判定理論方法“A decision theoretic approach to Call Admission in ATMNetworks”,IEEE J.on Selected Areas in Communications,Vol.13,No.6,p.1101-1114,1995年)得出。Let threshold_2(T2)代表這一第二閾值。
圖3以示例的方式示出了這兩個閾值所定義的準(zhǔn)許區(qū)域。如果合理比特率低于T1(在該圖中的區(qū)域I)或者如果優(yōu)先負(fù)載在T2之上并且合理比特率低于T2(區(qū)域II),則新的流被拒絕。這是因為,如果優(yōu)先負(fù)載超出了閾值T2但是合理比特率高于該閾值,則表明被認(rèn)為是優(yōu)先級數(shù)據(jù)包的數(shù)據(jù)包并非專門來自具有有限峰值比特率的實時流。這一準(zhǔn)許區(qū)域的定義可以通過試錯法(trial and error)過程來改進(jìn)。
定義了邏輯函數(shù)Admit(合理比特率優(yōu)先負(fù)載),使得如果Admit具有1值則新流可被接受。如果Admit具有0值則新的流必須被拒絕。為給出準(zhǔn)許策略的一個簡單的例子,所有的流在相同的條件下均被接受或者均被拒絕,由于不可能猜測流的特性為priori。因此應(yīng)用了最差情形的假設(shè),并且認(rèn)為新的流可以是最需要的和最可能干擾的。這一策略確保所有的流從阻斷的觀點看被合理地處理。
根據(jù)準(zhǔn)許條件,如果數(shù)據(jù)包不得被拒絕,則其通過對應(yīng)的鏈接被路由。于是該流的本體(identity)是列表30中的包含物的候選??梢远x輔助標(biāo)準(zhǔn)以最終授權(quán)這一包含。特別是,該判定可能是隨機(jī)的流被增加的概率為p,數(shù)據(jù)包被路由但是流保持不受保護(hù)的概率為1-p。概率p可能取決于包括業(yè)務(wù)分類字段、ToS字段或者IP地址的值的數(shù)據(jù)包的屬性。
如果p較低(例如,0.1)則大多數(shù)小的流將不被考慮而大的流將在頭幾十個數(shù)據(jù)包一被發(fā)送后立即被保護(hù)。選擇p<1的一個問題是正在進(jìn)行中的流可能被拒絕最初的數(shù)據(jù)包被發(fā)送但是準(zhǔn)許控制判定在該流實現(xiàn)被保護(hù)的流狀態(tài)之前禁止了它。
前文中提到的準(zhǔn)許條件取決于在調(diào)度設(shè)備或裝置28中實現(xiàn)的擁塞測量。例如,可以測量兩個指示符,即合理比特率和優(yōu)先負(fù)載-合理比特率為總是具有要發(fā)送的數(shù)據(jù)包的數(shù)據(jù)流將實現(xiàn)的比特率的測量值,-優(yōu)先負(fù)載為在某時間間隔內(nèi)所發(fā)送的優(yōu)先數(shù)據(jù)包的長度的總和除以該間隔的持續(xù)時間。
為了估計合理比特率,調(diào)度算法可以包括偽數(shù)據(jù)包的流和在假設(shè)其總是具有要發(fā)送的數(shù)據(jù)包的基礎(chǔ)上測量的該流被分配的比特率。當(dāng)然,偽數(shù)據(jù)包并不真的被發(fā)送。有下列兩種情況-在出現(xiàn)具有多個等待中的數(shù)據(jù)包的流時,偽流將其數(shù)據(jù)包循環(huán)地插入發(fā)送它們之間,允許優(yōu)先數(shù)據(jù)包通過,-當(dāng)隊列為空時(沒有真正的數(shù)據(jù)包在等待),偽流理論上從屬于(slave to)鏈接的比特率;在測量周期的末端處合理比特率的計算考慮這些周期的不活動性(inactivity)。
被監(jiān)控的鏈接的負(fù)載狀態(tài)通過執(zhí)行周期性的測量而被連續(xù)計數(shù)。測量周期通常對于合理比特率(例如,一百微秒的數(shù)量級)和優(yōu)先負(fù)載(例如,十微秒的數(shù)量級)是不同的。
例如,用于準(zhǔn)許控制的估計可能是每一周期的測量的指數(shù)平滑平均值(就是說,估計量←α×估計量+(1-α)×新的測量,對于0<α<1)。
下面更詳細(xì)地描述調(diào)度模塊28的一個實施例。
所使用的調(diào)度優(yōu)選地為合理排隊類型。
這種被稱為SFQ的調(diào)度,在例如P.Goyal等人的論文“開始時間合理排隊用于集成服務(wù)數(shù)據(jù)包交換網(wǎng)絡(luò)的調(diào)度算法”(“Start-timeFair QueuingA scheduling algorithm for integrated services packetswitching networks”,IEEE/ACM Trans.Networking,Vol.5,No.5,第690-704頁,1997年)中描述。
這類調(diào)度在當(dāng)前的流之間合理地分配鏈接的帶寬而不參照用戶的合作行為。與準(zhǔn)許控制相結(jié)合,其另外向被準(zhǔn)許的流提供得到保證的比特率。
本體系結(jié)構(gòu)通過維持隊列的僅在其為有效時的狀態(tài)避免了與每一流的合理排隊相關(guān)的可擴(kuò)展性問題,假定準(zhǔn)許控制必然地限制了這樣的流的數(shù)量。
當(dāng)流并非“有效”——即,其并未被列于流的列表——時,優(yōu)先級被給予到達(dá)的數(shù)據(jù)包。這意味著其在隊列中尚無數(shù)據(jù)包并且在某時間周期內(nèi)也還沒有任何數(shù)據(jù)包(如由SFQ算法的當(dāng)前參數(shù)所確定的)。從原理上說,在一個峰值比特率并不超出合理比特率的流的數(shù)據(jù)包到達(dá)之后,該流將不會是有效的。
因此,這種結(jié)合了準(zhǔn)許控制的適應(yīng),可確保那些比特率不超過某閾值的實時流的劣化是可以忽略的。
由于這一體系結(jié)構(gòu)并不在實時流和數(shù)據(jù)流之間進(jìn)行區(qū)分,因此該調(diào)度設(shè)備還將對數(shù)據(jù)流的某些數(shù)據(jù)包給予優(yōu)先級(例如,比特率維持在低于合理比特率的流的所有數(shù)據(jù)包)。
這一不定性并不構(gòu)成問題是在于準(zhǔn)許控制確保了優(yōu)先數(shù)據(jù)包的可以忽略的延遲。
參照路由器的例子舉例說明了該調(diào)度設(shè)備的操作,其中排隊只在輸出處是可以操作的,這被公知為具有輸出排隊的路由器。
使用了推進(jìn)先出(PIFO)排隊系統(tǒng),這允許由時間標(biāo)記的值所確定的在任何位置的數(shù)據(jù)包。從隊列的報頭開始隊列總是空的,即,隊列報頭處的數(shù)據(jù)包被發(fā)送了。
在這個例子中,該設(shè)備使用下列數(shù)據(jù)或者單元-數(shù)據(jù)包以增加時間標(biāo)記的順序被存儲的PIFO隊列;PIFO單元為{packet,time_stamp}集,其中packet表明與數(shù)據(jù)包相關(guān)的信息(流標(biāo)識符,大小,存儲地址)而time_stamp為時間標(biāo)記(如由后文中描述的SFQ算法所確定的),-識別PIFO隊列的報頭處的優(yōu)先數(shù)據(jù)包的最后的指針P;如果文件并不包含任何優(yōu)先數(shù)據(jù)包,則P=零。
-包含有效流的標(biāo)識符的flow_list和對應(yīng)于最后一個數(shù)據(jù)包的time_stamp值加上其長度的flow_time_stamp(在SFQ中,這是數(shù)據(jù)包的“結(jié)束標(biāo)簽”)。
-用于計算時間標(biāo)記的virtual_time計數(shù)器。
在例如前文已經(jīng)提及的SFQ算法的情況下,虛擬時間等于將要開始被發(fā)送的最后一個數(shù)據(jù)包的時間標(biāo)記(“開始標(biāo)簽”)。
擁塞估計量使用下列數(shù)據(jù)-根據(jù)本地時鐘的local_time,-在當(dāng)前測量間隔期間被發(fā)送的優(yōu)先數(shù)據(jù)包字節(jié)數(shù)量,priority_bytes,-表明隊列是否為空的邏輯變量silence_flag,-寂靜(silence)周期的累積持續(xù)時間silence_time,-當(dāng)前寂靜周期的開始時間silence_start。
圖4用圖解的形式示出了PIFO隊列50。數(shù)據(jù)包52被插入其中作為其時間標(biāo)記的函數(shù)。優(yōu)先數(shù)據(jù)包56將被插入在隊列報頭處的數(shù)據(jù)包中,數(shù)據(jù)包54為下一個必須被發(fā)送的數(shù)據(jù)包。數(shù)據(jù)包56作為最后一個優(yōu)先數(shù)據(jù)包被插入,而且數(shù)據(jù)包56是在其插入隊列后指針P將要指向的數(shù)據(jù)包。注意所有的優(yōu)先數(shù)據(jù)包繼承相同的時間標(biāo)記,等于virtual_time的當(dāng)前值。
為了估計優(yōu)先負(fù)載,在優(yōu)先數(shù)據(jù)包每一次插入PIFO隊列時,需要更新priority_bytes計數(shù)器。于是該計數(shù)器遞增一個表示數(shù)據(jù)包的字節(jié)方面大小的值L。通過以規(guī)則的間隔對該計數(shù)器進(jìn)行采樣,得出優(yōu)先負(fù)載的估計為測量周期開始和結(jié)束處的priority_bytes值之間的差除以其持續(xù)時間。令PB(T)表示時間T處的priority_bytes值,(T1,T2)表示測量周期(以秒為單位),而C表示鏈接的比特率(以比特每秒為單位)。則對于該間隔的優(yōu)先負(fù)載估計量為優(yōu)先負(fù)載=(PB(T2)-PB(T1))*8/(T2-T1)/C假定根據(jù)Ben Fredj等人的在上文中引用的論文,這一測量不應(yīng)以非常高的精度進(jìn)行評估,則存在各種用于估計合理比特率的方式。一種方法是對有效流的數(shù)量(在flow_list列表中的流的數(shù)量)進(jìn)行計數(shù)并將鏈接的比特率除以該數(shù)量取作測量的合理比特率。另外一種方案根據(jù)前文提及的偽流的概念而被用在后文將要描述的算法中。
假定偽流發(fā)送具有一個字節(jié)的長度的、以SFQ算法所指定的順序被插入在實際數(shù)據(jù)包之間的數(shù)據(jù)包。偽流在隊列總是被占用的周期內(nèi)將能夠發(fā)送的字節(jié)的數(shù)量由virtual_time計數(shù)器的進(jìn)展(evolution)而得出。當(dāng)隊列為空時,偽流將能夠以鏈接的比特率發(fā)送。通過將占用和寂靜的周期的連續(xù)性相結(jié)合,可得出下列估計量。令VT(T)表示時間T處的virtual_time值,(T1,T2)表示測量周期(以秒為單位),而S表示該周期期間寂靜的總的持續(xù)時間。則所選擇的估計量為合理比特率=max(S*C/(T2-T1),(VT(T2)-VT(T1))*8/(T2-T1))當(dāng)鏈接的負(fù)載較低時,第一項通常是占優(yōu)勢的,因為偽流將使用鏈接的所有的剩余可用容量。第二項在占用的周期內(nèi)占優(yōu)勢并且近似地測量了由隊列中總是具有至少一個數(shù)據(jù)包的實際流所實現(xiàn)的比特率。
該算法的操作或者對數(shù)據(jù)包的到達(dá)執(zhí)行或者在發(fā)送數(shù)據(jù)包的結(jié)尾處執(zhí)行,如圖5和圖6所示。在這兩張圖中,在虛線框內(nèi)的操作與擁塞測量相關(guān),隨后將對其進(jìn)行解釋。
在圖5中,算法的開始對應(yīng)于數(shù)據(jù)包的到達(dá)(步驟100)。
首先確定PIFO隊列是否為擁塞(步驟102)。
如果是,則選定將被拒絕的數(shù)據(jù)包(如果有的話)(步驟104)。
數(shù)據(jù)包可能被拒絕(步驟106和108)或者不會被拒絕,在這種情況下(于是另外一個流的數(shù)據(jù)包將被拒絕),以與步驟102的響應(yīng)為負(fù)時相同的方式執(zhí)行步驟110的檢測。
步驟110檢測數(shù)據(jù)包的標(biāo)識符是否包括在流的列表中。
如果數(shù)據(jù)包的流標(biāo)識符并未包括在流的列表中,則該數(shù)據(jù)包所屬的流不是有效的。如果流的列表(flow_list)不飽和則這種類型的數(shù)據(jù)包獲得優(yōu)先級。如果發(fā)現(xiàn)該列表為飽和(步驟120),則拒絕該數(shù)據(jù)包(步驟108)。否則,通過增加新的流的標(biāo)識符來更新flow_list,使得flow_time_stamp等于virtual_time加上該數(shù)據(jù)包的長度L(步驟124)。該數(shù)據(jù)包被插入PIFO隊列中由指針P所表示的位置,并且更新后者的值(步驟124)。
如果該流已經(jīng)被列于有效流的列表中(步驟110中為正的響應(yīng)),則該數(shù)據(jù)包被插入PIFO隊列中,使得時間標(biāo)記等于flow_time_stamp的當(dāng)前的值(步驟122)。在flow_list中的該值隨后遞增數(shù)據(jù)包的長度L。
然后終止該算法(步驟134)。新的數(shù)據(jù)包到達(dá)將重新啟動相同的算法。數(shù)據(jù)包的準(zhǔn)許的結(jié)束將啟動下一個算法(圖6)。
在虛線框內(nèi)的操作連續(xù)不斷地測量擁塞合理比特率和優(yōu)先負(fù)載參數(shù)。如果PIFO隊列為空(步驟210),則觀察到寂靜周期的結(jié)束。更新silence_time計數(shù)器并將邏輯指示器silence_flag設(shè)置為值FALSE(步驟212)。另外,如果新的流被加入到flow_list中,則priority_bytes的值遞增所考慮的數(shù)據(jù)包的長度(步驟204)。
圖6的算法由另一事件啟動,即發(fā)送數(shù)據(jù)包的結(jié)束(步驟150)。第一步(步驟154)確定PIFO隊列是否為空。
如果是,則從flow_list中擦除所有仍為有效的流(步驟156)。指針P被復(fù)位。
如果否,則發(fā)送下一個數(shù)據(jù)包,記錄其時間標(biāo)記的值next_time_stamp(步驟160)。如果next_time_stamp不大于virtual_time(因此這些變量具有相同的值),則該算法終止。否則,必須改變virtual_time并從flow_list中擦除已經(jīng)變?yōu)闊o效的流,它們的flow_time標(biāo)記小于virtual_time(步驟164)。該算法隨后終止。
與擁塞測量相關(guān)聯(lián)的操作被圍繞在虛線框中。如果隊列為空,則當(dāng)寂靜周期的開始被記錄時,silence_flag指示器被設(shè)置為值TRUE(步驟220)。
新的數(shù)據(jù)包的到達(dá)啟動了前面的算法(圖5),發(fā)送數(shù)據(jù)包的結(jié)束再次啟動了圖6的算法。
圖7和圖8示出了在采樣擁塞計數(shù)器之后實現(xiàn)的操作。
圖7的操作每time_interval_CP秒(根據(jù)本地時鐘)被執(zhí)行。計算優(yōu)先負(fù)載(步驟232)并將priority_tytes計數(shù)器的當(dāng)前值存儲為用于下一次執(zhí)行的priority_bytse_old變量。
圖8的操作每time_interval_DE秒(根據(jù)本地時鐘)被執(zhí)行。計算根據(jù)鏈接寂靜(隊列為空)與否而有所不同。如果其為寂靜,則因為計算的需要中斷寂靜(步驟248)。在所有情況下獲得對應(yīng)于測量周期期間的可用比特率的合理比特率的估計rate_1(步驟246或者248)。隨后利用與步驟250相同的公式計算第二比特率估計rate_2。合理比特率為rate_1和rate_2這兩個估計中較大的那個(步驟254,256和258)。最后,存儲silence_time和virtual_time的當(dāng)前值用于下一周期(步驟252)。
另外一個應(yīng)用根據(jù)在每一測量周期結(jié)束處輸出的值計算滑動(sliding)平均值。所選的平滑權(quán)重和測量周期被優(yōu)化為系統(tǒng)和業(yè)務(wù)參數(shù)的函數(shù)。這一應(yīng)用提供了合理比特率和優(yōu)先負(fù)載的估計并導(dǎo)出了前文提及的Admit函數(shù)的值。
在步驟104(圖5)處,以確保有效流之間比特率的合理分配的種方式選擇將被拒絕的數(shù)據(jù)包。這通過選擇拒絕具有最高的總的等待字節(jié)數(shù)量的流的數(shù)據(jù)包來確保。拒絕條件和用于選擇將被拒絕的數(shù)據(jù)包的機(jī)制在例如B.Suter等人的論文“利用根據(jù)流的排隊支持千兆位路由器中的TCP的緩沖管理方法”(“Buffer Management schemes forsupporting TCP in Gigabit Routers with Per-Flow Queuing”,IEEE J.inSelected Areas in Communications,1999年8月)中公開。注意,最終,該數(shù)據(jù)包拒絕將在某些情況下通過利用IP報頭的顯式擁塞通知(ECN)位來簡單地標(biāo)記而被取代。
本發(fā)明的方法是可以擴(kuò)展的其可不考慮負(fù)載條件而操作,例如對1Mbit/S、10Mbit/S、1Gbit/S或更高的比特率鏈接進(jìn)行操作。
調(diào)度機(jī)制,特別是SFQ的復(fù)雜性對于有效流的數(shù)量是線性的。該數(shù)量獨立于鏈接C上的比特率被準(zhǔn)許控制所限制并且保持相對較低事實確保了可擴(kuò)展性。、為了估計該數(shù)量,首先假定準(zhǔn)許控制完美地操作并確保合理比特率永不下降至目標(biāo)值θ以下。比特率可能超出θ(因為其不會收到它們的路徑上的其他單元的限制)的流的數(shù)量必須小于或等于C/θ。選擇θ的值使得如果負(fù)載并未超過某限制則具有多于C/θ的有效流的概率非常低。對于90%的負(fù)載限制,根據(jù)Ben Fredj等人的“統(tǒng)計學(xué)帶寬分配數(shù)據(jù)流級的擁塞研究”(“Statistical Bandwidth Sharingastudy of congestion at flow levels”,Proc.of ACM SIGCOMM 2001年))的分析,流的數(shù)量超過100的概率低于1/10000。因此可以設(shè)置θ=C/100使得有效流的數(shù)量總是少于100而如果負(fù)載并未超過90%時阻塞的概率小于10-4。
大量的具有低于θ的其他流可能正在進(jìn)行之中。但是,這些流中只有少量將在任何時間具有在隊列中的數(shù)據(jù)包。為簡化起見,假設(shè)所有的流的數(shù)據(jù)包長度相同。這些流在隊列中僅具有一個數(shù)據(jù)包(因為它們的比特率低于合理比特率)。如果流是獨立的,則優(yōu)先隊列中的數(shù)據(jù)包的數(shù)量表現(xiàn)為M/D/1隊列。類似的,有效流(被列于合理排隊算法的流的列表中)的數(shù)量等于在相同隊列的占用周期期間參與的客戶的數(shù)量。只要負(fù)載并不超過90%,它小于100的概率就較高。
數(shù)據(jù)包大小變化的沖擊和在上游網(wǎng)絡(luò)中獲得的抖動(jitter)并未改變在正常的負(fù)載條件下將要考慮的流的數(shù)量保持低于幾百(如果上述限制被加到一起則為200)這一事實。在發(fā)生過載時,準(zhǔn)許控制的任務(wù)是精確地限制進(jìn)行中的流的數(shù)量。合理比特率控制自然地限制了有效流的數(shù)量。優(yōu)先負(fù)載控制確保由比特率低于合理比特率的流引起的本地負(fù)載保持低于固定的限制(例如90%)。
允許準(zhǔn)許控制算法缺少精確性的流的最大數(shù)量的優(yōu)化值,可以通過使用上文所述的算法由試錯法而確定。
如果在沒有準(zhǔn)許控制的情況下使用該設(shè)備,則將要考慮的流的數(shù)量不受限制。這在接入網(wǎng)——其中用戶的數(shù)量本身受到限制——的情形下可能不是問題。
辨別可能是較理想的,以便在準(zhǔn)許控制級上區(qū)分服務(wù)的類型,因為可以在某個級別的擁塞下拒絕某些類型的流,以便為更高優(yōu)先級的服務(wù)類型的其他保存容量。例如,優(yōu)先級可能取決于數(shù)據(jù)包的報頭的不同字段的值,包括業(yè)務(wù)類型(IPv6)、ToS字段(IPv4),或者IP地址。
因此假設(shè)有m個類型的服務(wù),對于i=1,...,m存在一組邏輯函數(shù)(合理比特率,優(yōu)先負(fù)載)Admit_i。如果i<j則類型i具有在類型j之上的優(yōu)先級。這些函數(shù)為,對于相同的變量,Admit_1≥Admit_2。因此如果Admit_i具有值0,則準(zhǔn)許策略將拒絕指數(shù)類型i的流并且在Admit_i具有值1時將準(zhǔn)許它們。
與在不具有類型的簡單的策略中的Admit函數(shù)類似,選擇Admit_1以便保存峰值比特率低于各個目標(biāo)比特率的流的透明性。i=2,...,m的其他函數(shù)Admit_i對優(yōu)先類型的可接入性給出了優(yōu)先權(quán)(preference)。
峰值比特率限制并不是“硬性”的,意即如果業(yè)務(wù)條件允許那么用戶可以超過這些限制而不會有問題。這是確定規(guī)格和建立精確的準(zhǔn)許條件的前提。運營商所公布的保證使用戶可以使用非適應(yīng)性編碼用于實時服務(wù),只要峰值比特率低于設(shè)定的限制。數(shù)據(jù)傳輸?shù)谋忍芈什⒉皇艿骄W(wǎng)絡(luò)的限制,除非外部限制(接入網(wǎng)、服務(wù)器容量等)在目標(biāo)峰值比特率之上。
和本領(lǐng)域的現(xiàn)有技術(shù)的體系結(jié)構(gòu)相比,本發(fā)明的體系結(jié)構(gòu)對于部分用戶的不合理行為和惡意行為同樣不再是脆弱的。但是,為了優(yōu)化性能,由應(yīng)用進(jìn)行的由數(shù)據(jù)包的丟失構(gòu)成的隱式信號的適當(dāng)翻譯(interpretation)是優(yōu)選的。
新的流的最前面的數(shù)據(jù)包的丟失必須被翻譯為流的拒絕?;A(chǔ)的(underlying)應(yīng)用可能繼續(xù)發(fā)送數(shù)據(jù)包直到它們中的一個被接受并且流被寫入被保護(hù)流的列表。這一表達(dá)(rendering)與丟失數(shù)據(jù)包的TCP更新同樣不是問題。在上文中提及的自適應(yīng)路由選擇概率允許更智能化的反應(yīng)。如果第一個數(shù)據(jù)包丟失,則隨后的數(shù)據(jù)包的流標(biāo)識符的變化允許檢測另一個路徑。
實時應(yīng)用能夠發(fā)送測試數(shù)據(jù)包以評估路徑的可用性。測試數(shù)據(jù)包的確認(rèn)是好的指示,表明流被接受并進(jìn)入被保護(hù)的流的列表。對于測試數(shù)據(jù)包處理,不再需要額外的專用機(jī)制。
對于大多數(shù)呼叫來說,建立兩個流,每個方向上一個。采用慣例使得標(biāo)識符的自由部分(IPv6中的標(biāo)簽流或者IPv4中的端口號)在兩個方向上相同對于用戶來說可能是有利的。這使用戶可以識別特定流的確認(rèn),特別是在通過擴(kuò)散(flooding)進(jìn)行路由的情況下用戶發(fā)送具有不同標(biāo)識符的多個數(shù)據(jù)包以檢測多個路徑;呼叫在首先被確認(rèn)的流上繼續(xù)。
該體系結(jié)構(gòu)未對拒絕服務(wù)(DoS)類型攻擊引入新的機(jī)會??梢韵胂髢煞N類型的行為-用戶以每一數(shù)據(jù)包改變流標(biāo)識符這可能迅速使被保護(hù)流的列表飽和;其后果將是某些流不被保護(hù),但是它們將僅在處于攻擊下的鏈接的同時擁塞的情況下面臨這一問題;僅以較低的概率p,將流寫入列表30,降低這種攻擊的沖擊;-用戶對多個流保持相同的標(biāo)識符如果兩個數(shù)據(jù)包之間的時間保持低于超時,則連續(xù)的流并不經(jīng)受準(zhǔn)許控制并行發(fā)送的流不能產(chǎn)生大于合理比特率的當(dāng)前值的總的比特率;在兩種情況下對于其他用戶的不便都是最小的。
最后,對于用戶來說當(dāng)然可以建立多個流,來傳輸相同的應(yīng)用,在這種情況下獲得更高的比特率,只要峰值比特率允許。
為了實現(xiàn)在相等成本的路徑上的負(fù)載均衡,大多數(shù)目前的路由器對源和/或目的地IP地址應(yīng)用散列函數(shù),以便為給定數(shù)據(jù)包選擇輸出接口。因此相同流的所有數(shù)據(jù)包取得相同的路徑。散列函數(shù)的自變量可以被擴(kuò)展至還包括流標(biāo)識符的自由部分(即,IPv6中的標(biāo)簽流或者IPv4中的端口號)。這樣路由的選擇取決于由用戶指定的值。在路由失敗時,用戶可自由地改變標(biāo)識符并再次嘗試。在一次或多次嘗試之后,可能發(fā)現(xiàn)具有足夠容量的路由。多個流甚至可能同時被啟動并且呼叫在它們中的一個——例如首先接收到其確認(rèn)的那一個——上繼續(xù)。
實現(xiàn)本發(fā)明的體系結(jié)構(gòu)的網(wǎng)絡(luò)單元可能例如通過向地址屬性應(yīng)用散列函數(shù)來識別流。該散列函數(shù)優(yōu)選地在實施的復(fù)雜性和函數(shù)返回相同值的兩個流之間產(chǎn)生混亂的概率之間實現(xiàn)折衷。這種混亂的效應(yīng)被限制了當(dāng)可應(yīng)用時,通過準(zhǔn)許控制避免阻塞,通過合理排隊降低分配給隊列的比特率。
在本發(fā)明中,使用了負(fù)載分配機(jī)制以根據(jù)流標(biāo)識符進(jìn)行自適應(yīng)路由選擇,因為準(zhǔn)許控制通過拒絕所接收到的第一個數(shù)據(jù)包,拒絕了鏈接擁塞時到達(dá)的流。如果用戶通過重發(fā)相同數(shù)據(jù)包直到獲得成功而再次嘗試時,相應(yīng)的業(yè)務(wù)不會丟失。如果,對于每一次嘗試,數(shù)據(jù)包被給予能夠?qū)⑵渎酚芍疗淠康牡氐牧硗獾逆溄?,則成功的概率更高。這在路由器所采用的負(fù)載分配機(jī)制對流標(biāo)識符進(jìn)行操作并且后者包括一待由用戶自由填充的字段(例如,IPv4中的端口號,IPv6中的流標(biāo)簽)時能夠?qū)崿F(xiàn)。實現(xiàn)負(fù)載分配的散列函數(shù)包括這一自由字段作為自變量,結(jié)果是用戶通過對每一次更新修改所考慮的該字段的值實現(xiàn)了自適應(yīng)路由選擇的一種形式。
權(quán)利要求
1.一種用于處理在網(wǎng)絡(luò)鏈路上的流的數(shù)據(jù)包(20)的設(shè)備,該設(shè)備包括調(diào)度裝置(28),該調(diào)度裝置用于基于相對于合理比特率分析這些流的進(jìn)入比特率,并且按照具有優(yōu)先級算法的合理排隊,調(diào)度隊列中的數(shù)據(jù)包作為一優(yōu)先級的函數(shù)。
2.根據(jù)權(quán)利要求1的設(shè)備,還包括準(zhǔn)許控制裝置(24),該準(zhǔn)許控制裝置用于按照準(zhǔn)許標(biāo)準(zhǔn),控制所述數(shù)據(jù)包進(jìn)入該設(shè)備的準(zhǔn)許。
3.根據(jù)權(quán)利要求2的設(shè)備,其中該調(diào)度裝置(28)將準(zhǔn)許條件數(shù)據(jù)(36)發(fā)送給該準(zhǔn)許控制裝置(24)。
4.根據(jù)權(quán)利要求2或3的設(shè)備,其中該準(zhǔn)許控制裝置包括用于對每一個進(jìn)入的數(shù)據(jù)包,詢問一被保護(hù)的流的列表(30)的裝置
5.根據(jù)權(quán)利要求4的設(shè)備,還包括用于從被保護(hù)的流的該列表(30)中,擦除從其最后一個數(shù)據(jù)包被接收起所經(jīng)歷的時間超過一閾值的流的裝置。
6.根據(jù)權(quán)利要求4或5的設(shè)備,其中該準(zhǔn)許控制裝置包括用于在一數(shù)據(jù)包屬于不在該被保護(hù)的流的列表中的流時,確定是否滿足準(zhǔn)許標(biāo)準(zhǔn)的裝置。
7.根據(jù)權(quán)利要求4至6中任何一項的設(shè)備,包括用于在滿足準(zhǔn)許標(biāo)準(zhǔn)時,在該列表(30)中輸入一新的流的裝置。
8.根據(jù)權(quán)利要求2至7中任何一項的設(shè)備,其中所述準(zhǔn)許條件數(shù)據(jù)包括代表由總是具有待發(fā)送的數(shù)據(jù)包的數(shù)據(jù)流所實現(xiàn)的比特率的合理比特率值,以及優(yōu)先負(fù)載值,該優(yōu)先負(fù)載值是在某時間周期內(nèi)所發(fā)送的優(yōu)先數(shù)據(jù)包的長度總和除以該時間周期的持續(xù)時間。
9.根據(jù)權(quán)利要求1至8中任何一項的設(shè)備,其中所述調(diào)度裝置將不在一有效流的列表中的隊列中的流的任何數(shù)據(jù)包調(diào)度為優(yōu)先數(shù)據(jù)包,并且將已經(jīng)在所述列表中的流的任何數(shù)據(jù)包調(diào)度為非優(yōu)先數(shù)據(jù)包。
10.根據(jù)權(quán)利要求1至9中任何一項的設(shè)備,其中所述調(diào)度裝置調(diào)度在一PIFO隊列中的數(shù)據(jù)包。
11.根據(jù)權(quán)利要求10的設(shè)備,其中一指針P識別在隊列的報頭處的最后的優(yōu)先數(shù)據(jù)包。
12.根據(jù)權(quán)利要求11的設(shè)備,還適用于采用包含有效流的標(biāo)識符的有效流的列表,并且其中使用一時間標(biāo)記用于調(diào)度數(shù)據(jù)包。
13.根據(jù)權(quán)利要求11的設(shè)備,還包括用于作為流的數(shù)據(jù)包的到達(dá)和離開的函數(shù),將流寫入有效流的列表以及將流從其擦除的裝置。
14.根據(jù)權(quán)利要求12或13的設(shè)備,還包括擁塞測量裝置。
15.根據(jù)權(quán)利要求14的設(shè)備,其中擁塞測量作為本地時間、當(dāng)前測量周期期間發(fā)送的優(yōu)先數(shù)據(jù)包字節(jié)數(shù)量,以及在所述當(dāng)前測量周期內(nèi)可發(fā)送的一偽流的字節(jié)數(shù)量的函數(shù)而被執(zhí)行。
16.根據(jù)權(quán)利要求10至15中的任何一項的設(shè)備,還包括用于確定PIFO隊列是否為空的裝置。
17.根據(jù)在先權(quán)利要求中的任何一項的設(shè)備,還包括用于在準(zhǔn)許控制級上區(qū)分服務(wù)的類型的辨別裝置。
18.根據(jù)在先權(quán)利要求中的任何一項的設(shè)備,其中通過被施加至地址屬性的散列函數(shù)來識別這些流。
19.一種用于處理在網(wǎng)絡(luò)鏈路上的流的數(shù)據(jù)包(20)的方法,該方法包括調(diào)度步驟,該調(diào)度步驟用于基于相對于合理比特率分析這些流的進(jìn)入比特率,并且按照具有優(yōu)先級算法的合理排隊,調(diào)度隊列中的數(shù)據(jù)包作為一優(yōu)先級的函數(shù)。
20.根據(jù)權(quán)利要求19的方法,還包括準(zhǔn)許控制步驟,該準(zhǔn)許控制步驟用于按照準(zhǔn)許標(biāo)準(zhǔn),控制所述數(shù)據(jù)包進(jìn)入一用于處理所述數(shù)據(jù)包(20)的設(shè)備的準(zhǔn)許。
21.根據(jù)權(quán)利要求20的方法,還包括將準(zhǔn)許條件發(fā)送給用于控制數(shù)據(jù)(36)的準(zhǔn)許的裝置(24)的步驟。
22.根據(jù)權(quán)利要求21的方法,其中該準(zhǔn)許控制步驟包括對每一個進(jìn)入的數(shù)據(jù)包詢問一被保護(hù)的流的列表(30)
23.根據(jù)權(quán)利要求22的方法,其中從其最后一個數(shù)據(jù)包被接收起所經(jīng)歷的時間超過一閾值的流,被從被保護(hù)的流的該列表(30)中擦除。
24.根據(jù)權(quán)利要求22或者權(quán)利要求23的方法,包括用于在一數(shù)據(jù)包屬于不在該被保護(hù)的流的列表中的流時,確定是否滿足準(zhǔn)許標(biāo)準(zhǔn)的步驟。
25.根據(jù)權(quán)利要求22至24中任何一項的方法,包括用于在滿足準(zhǔn)許標(biāo)準(zhǔn)時,在該列表(30)中輸入一新的流的步驟。
26.根據(jù)權(quán)利要求21至25中任何一項的方法,其中所述準(zhǔn)許條件數(shù)據(jù)包括代表由總是具有待發(fā)送的數(shù)據(jù)包的數(shù)據(jù)流所實現(xiàn)的比特率的合理比特率值,以及優(yōu)先負(fù)載值,該優(yōu)先負(fù)載值是在某時間周期內(nèi)所發(fā)送的優(yōu)先數(shù)據(jù)包的長度總和除以該時間周期的持續(xù)時間。
27.根據(jù)權(quán)利要求20至26中任何一項的方法,其中所述調(diào)度步驟將不在一有效流的列表中的隊列中的流的任何數(shù)據(jù)包調(diào)度為優(yōu)先數(shù)據(jù)包,并且將已經(jīng)在所述列表中的流的任何數(shù)據(jù)包調(diào)度為非優(yōu)先數(shù)據(jù)包。
28.根據(jù)權(quán)利要求20至26中任何一項的方法,其中所述調(diào)度步驟調(diào)度在一PIFO隊列中的數(shù)據(jù)包。
29.根據(jù)權(quán)利要求28的方法,其中一指針P識別在隊列的報頭處的最后的優(yōu)先數(shù)據(jù)包。
30.根據(jù)權(quán)利要求29的方法,還采用包含有效流的標(biāo)識符的有效流的列表,并且其中使用一時間標(biāo)記用于調(diào)度數(shù)據(jù)包。
31.根據(jù)權(quán)利要求30的方法,還包括用于作為流的數(shù)據(jù)包的到達(dá)和離開的函數(shù),將流寫入有效流的列表以及將流從其擦除的步驟。
32.根據(jù)權(quán)利要求30或31的方法,還包括擁塞測量。
33.根據(jù)權(quán)利要求32的方法,其中擁塞測量作為本地時間、當(dāng)前測量周期期間發(fā)送的優(yōu)先數(shù)據(jù)包字節(jié)數(shù)量,以及在所述當(dāng)前測量周期內(nèi)可發(fā)送的一偽流的字節(jié)數(shù)量的函數(shù)而被執(zhí)行。
34.根據(jù)權(quán)利要求28至33中的任何一項的方法,還包括用于確定PIFO隊列是否為空的步驟。
35.根據(jù)權(quán)利要求19至34中的任何一項的方法,其中關(guān)于數(shù)據(jù)包的丟失的信號被發(fā)送給用戶。
36.根據(jù)權(quán)利要求19至34中的任何一項的方法,還包括在準(zhǔn)許控制級上辨別服務(wù)的類型。
37.根據(jù)權(quán)利要求19至36中的任何一項的方法,其中借助于包括流標(biāo)識符的自由部分的地址屬性的一函數(shù),來實現(xiàn)多個鏈路上的流的負(fù)載分配。
全文摘要
本發(fā)明涉及用于處理在網(wǎng)絡(luò)鏈路上的流的數(shù)據(jù)包(20)的設(shè)備,該設(shè)備包括用于按照具有優(yōu)先級算法的合理排隊,調(diào)度在一隊列中的數(shù)據(jù)包的調(diào)度裝置(28)。
文檔編號H04L12/54GK1551580SQ200410038410
公開日2004年12月1日 申請日期2004年4月26日 優(yōu)先權(quán)日2003年4月24日
發(fā)明者薩拉·歐斯拉蒂, 薩拉 歐斯拉蒂, 羅伯茨, 雅梅斯·羅伯茨 申請人:法國電訊