IP QoS問題的爭執(zhí)由來已久,反對(duì)者認(rèn)為資源管理和QoS保證機(jī)制過于復(fù)雜,在三層以上引入管理模塊會(huì)導(dǎo)致IP網(wǎng)的性價(jià)比下降,而且光纖和其他硬件技術(shù)的發(fā)展為用戶提供了用之不竭的網(wǎng)絡(luò)資源,因此采用現(xiàn)有的盡力而為服務(wù)模式就可以滿足未來的用戶需求。IP QoS的支持者則認(rèn)為,流量的增長比帶寬增長的速度快,而且最大限度利用帶寬是數(shù)據(jù)傳輸?shù)谋拘,在一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)上使用容量很大的緩存或者鏈路,無法從根本上解決網(wǎng)絡(luò)阻塞的問題,只是轉(zhuǎn)移了資源與需求之間的矛盾。在兩種觀點(diǎn)的爭論中,用戶,尤其是能夠左右一項(xiàng)技術(shù)發(fā)展?jié)摿Φ某?jí)用戶,往往傾向于后者。
IETF已經(jīng)起草了很多有關(guān)保證QoS的建議并標(biāo)準(zhǔn)化了很多服務(wù)模型和機(jī)制。其中比較常見的有:綜合服務(wù)(Integrated Services——IntServ)/資源預(yù)留模型,即IntServ/RSVP、區(qū)分服務(wù)模型(Differen-tiated Services——DiffServ)、MPLS流量工程和約束路由等。然而,無論單獨(dú)采用這些機(jī)制中的哪一種,都不能提供IP QoS的全面解決方案,因此人們開始研究實(shí)現(xiàn)他們之間的優(yōu)勢(shì)互補(bǔ)的可行性和可靠性。其中IntServ/RSVP和DiffServ由于技術(shù)體系完整,結(jié)合后能夠相互取長補(bǔ)短,實(shí)現(xiàn)WAN的分級(jí)服務(wù)等特點(diǎn),逐漸受到研究人員的重視。
IntServ/RSVP模型及其工作原理
在當(dāng)前,一談到資源預(yù)留就有兩種不同的聲音,總的說來,“互聯(lián)網(wǎng)是否是共享性網(wǎng)絡(luò)”和“用戶之間是否平等”是支持和反對(duì)資源預(yù)留理念的爭論焦點(diǎn)。
反對(duì)資源預(yù)留的理由有:
* 在網(wǎng)絡(luò)層之上建立任何一種IP QoS連接機(jī)制都是難以管理的;
* 光纖和WDM技術(shù)將會(huì)使網(wǎng)絡(luò)帶寬相當(dāng)充裕和廉價(jià),資源預(yù)留或其他擴(kuò)展所帶來的復(fù)雜性成本遠(yuǎn)遠(yuǎn)高于利用大帶寬自動(dòng)保證QoS的方式;
* 具有預(yù)留能力的網(wǎng)絡(luò)只有在阻塞率較低的情況下才能提供令人滿意的服務(wù)。而在同樣的情況下,盡力而為的網(wǎng)絡(luò)可以提供幾乎與具備預(yù)留能力的網(wǎng)絡(luò)一樣好的服務(wù)。
支持資源預(yù)留提供不同分級(jí)服務(wù)的一方也有充足的理由:
* ISP可以為付費(fèi)高的用戶提供高質(zhì)量的服務(wù)。用戶和網(wǎng)絡(luò)之間的服務(wù)合同明確了用戶數(shù)據(jù)流的特點(diǎn)及相應(yīng)的QoS承諾,有利于網(wǎng)絡(luò)建設(shè)的良性循環(huán)。
* 高可靠性多媒體應(yīng)用比現(xiàn)在的互聯(lián)網(wǎng)所提供的盡力而為服務(wù)有更高的質(zhì)量服務(wù)要求;尤其發(fā)生網(wǎng)絡(luò)阻塞時(shí),應(yīng)有相對(duì)多的資源預(yù)留給級(jí)別高、實(shí)時(shí)性強(qiáng)的業(yè)務(wù)以保證服務(wù)質(zhì)量。
從目前的情況來看,支持資源預(yù)留的觀點(diǎn)和支持IP QoS的看法都受到業(yè)界和用戶的歡迎,因此,IETF和其他研究機(jī)構(gòu)在不斷更新實(shí)現(xiàn)資源預(yù)留的機(jī)制和技術(shù)。RSVP是第一個(gè)標(biāo)準(zhǔn)QoS的信令協(xié)議,是基于IP協(xié)議的資源預(yù)留協(xié)議,用于在端到端之間傳遞QoS請(qǐng)求。它本身不完成QoS,而是通過其他隊(duì)列管理等技術(shù)實(shí)現(xiàn)的。必須注意的是,RSVP不是一個(gè)路由協(xié)議,它只是完成按照?qǐng)?bào)文流的路徑為報(bào)文申請(qǐng)資源預(yù)留。
IntServ模型的基本思想是“所有的業(yè)務(wù)流相關(guān)狀態(tài)信息是在端系統(tǒng)上”。它所使用的資源預(yù)留協(xié)議是一種信令協(xié)議。工作時(shí),發(fā)送端給接收端發(fā)送一個(gè)PATH信息,以指定通信的特性。沿途的每個(gè)中間路由器把PATH信息轉(zhuǎn)發(fā)給由路由協(xié)議決定的下一個(gè)節(jié)點(diǎn)。當(dāng)收到一個(gè)PATH信息時(shí),接收端做出的反應(yīng)是用一個(gè)RESV信息為該業(yè)務(wù)流請(qǐng)求資源,包括帶寬、時(shí)延等。沿途的每個(gè)中間路由器可以拒絕或接受RESV信息請(qǐng)求。如果請(qǐng)求不符合要求(合同),路由器將發(fā)送一個(gè)差錯(cuò)信息給接收端,并且中斷信令的處理過程。如果請(qǐng)求被接受,就按照事先的約定,為該流分配鏈路帶寬和緩沖區(qū)空間,并且把相關(guān)的業(yè)務(wù)流狀態(tài)信息裝入路由器中。網(wǎng)絡(luò)在傳送過程中為每一個(gè)流(flow,由兩端的IP地址、端口號(hào)、協(xié)議號(hào)決定)維護(hù)狀態(tài)。同時(shí),基于這個(gè)狀態(tài)執(zhí)行報(bào)文的分類、流量監(jiān)管、排隊(duì)調(diào)度等。
用戶通過IntServ/RSVP協(xié)議向網(wǎng)絡(luò)請(qǐng)求滿足特殊服務(wù)質(zhì)量要求的緩存和帶寬;中間節(jié)點(diǎn)利用RSVP信令在數(shù)據(jù)傳輸通路上建立起資源預(yù)留并維護(hù)該通路,以實(shí)現(xiàn)相應(yīng)的服務(wù)質(zhì)量。
根據(jù)RSVP的預(yù)留資源占所有資源的比例,IntServ模型定義了幾種服務(wù)類型:
* 有保障的服務(wù)(Guaranteed Services)[RFC 2212]:對(duì)帶寬、 時(shí)延、分組丟失率提供定量的要求和質(zhì)量保證措施,如VoIP應(yīng)用建議可以預(yù)留10M帶寬和小于1s的時(shí)延。
* 可控負(fù)載服務(wù)(Controlled-load Services)[RFC2211]:在網(wǎng)絡(luò)負(fù)荷較大的情況下所能夠提供的近似于沒有過載時(shí)的服務(wù)。
* 盡力而為的服務(wù)(Best-Effort)和當(dāng)前互聯(lián)網(wǎng)向多數(shù)用戶提供的服務(wù)機(jī)制類似,沒有任何可以控制的質(zhì)量保證。
IntServ/RSVP模型的主要優(yōu)點(diǎn)有:
* 能夠提供有保證的QoS。因?yàn)镽SVP運(yùn)行在從源端到目的端的每個(gè)路由器上,因此用戶可以預(yù)先購買需要的資源,由ISP負(fù)責(zé)監(jiān)視每一個(gè)業(yè)務(wù)流的運(yùn)行并隨時(shí)在當(dāng)前網(wǎng)絡(luò)節(jié)點(diǎn)終止非法的資源占用。
* RSVP在源和目的地之間可以使用現(xiàn)有的路由協(xié)議決定流的通路。RSVP使用IP包承載,使用“軟狀態(tài)”的概念,通過周期性的重傳PATH和RESV信息并分析,對(duì)網(wǎng)絡(luò)拓?fù)涞淖兓龀龇磻?yīng)。即對(duì)原有路由協(xié)議沒有影響。
* 支持一個(gè)源到一個(gè)目的地(unicast)和一個(gè)源到多個(gè)目的地(multicast)的QoS服務(wù)。
缺點(diǎn):
* 對(duì)現(xiàn)有路由器的改造十分復(fù)雜。由于需要進(jìn)行端到端的資源預(yù)留,必須要求從發(fā)送到接收之間所有路由器都支持RSVP和許可控制協(xié)議,同時(shí)每個(gè)路由器還要花費(fèi)大量的資源來維護(hù)和更新數(shù)據(jù)庫(如鏈路狀態(tài)數(shù)據(jù)庫)。
* IntServ只支持單個(gè)微流(micro-flow),但是,由于數(shù)目過多,對(duì)骨干網(wǎng)的處理能力是巨大的考驗(yàn)。
* 伸縮性差,在WAN中,各種各樣的子網(wǎng)會(huì)不斷增多,并且隨著流數(shù)目的增加,狀態(tài)信息的數(shù)量成比例上升,重傳PATH和RESV信息會(huì)占用大量的路由器存儲(chǔ)空間和處理開銷。
* 該模型不適合于短生存期的流。在IntServ中,RSVP進(jìn)行的資源預(yù)留是單向的,因此必須對(duì)其規(guī)定兩個(gè)方向的資源預(yù)留,從而增加網(wǎng)絡(luò)開銷。在短生存期的流占大多數(shù)的網(wǎng)絡(luò)中,采用IntServ就得不償失了。
DiffServ及其工作原理
DiffServ是一個(gè)起源于IntServ,但相對(duì)簡單、粗劃分的控制系統(tǒng)。它取代了IP服務(wù)類型(TOS)字段改名為DS,并用它承載IP包服務(wù)所要求的信息,是嚴(yán)格意義上的三層技術(shù),不涉及低層的傳輸技術(shù)。區(qū)分業(yè)務(wù)主要通過兩個(gè)機(jī)制來完成不同QoS業(yè)務(wù)要求的分類: DS標(biāo)記和一個(gè)包轉(zhuǎn)發(fā)處理庫的集合——PHB(Per-Hop-Behavior每跳行為)。通過對(duì)一個(gè)包DS字段的不同標(biāo)記,以及基于DS字段的處理,就能夠產(chǎn)生一些不同的服務(wù)級(jí)別。
IP包頭中的區(qū)分服務(wù)標(biāo)記字段是DS區(qū)域的邊緣節(jié)點(diǎn)和核心節(jié)點(diǎn)之間傳遞流匯聚信息的媒介,是連接邊界的傳輸分類和調(diào)節(jié)機(jī)制與內(nèi)部PHB的橋梁。其中CU(Currently Unused)未定義。
DiffServ的工作流程如下:用戶會(huì)事先與他的ISP簽定一個(gè)服務(wù)等級(jí)協(xié)議(Service Level Agreement——SLA),明確所支持的業(yè)務(wù)級(jí)別以及在每個(gè)業(yè)務(wù)級(jí)別中所允許的業(yè)務(wù)量。它可以是靜態(tài)的,也可以是動(dòng)態(tài)的。靜態(tài)SLA需要定期協(xié)商,動(dòng)態(tài)SLA的客戶用某種信令協(xié)議(如RSVP)請(qǐng)求所要求的服務(wù)(注意RSVP并非是DiffServ中的一部分,只是二者可以結(jié)合使用)。用戶可以標(biāo)記自己的DS編碼標(biāo)記(Differen-tiated Services CodePoint——DSCP)以指定QoS的服務(wù),也可以讓邊緣路由器根據(jù)多字段MF(MultiField)分類來標(biāo)記。
在ISP的入口,包被分類、計(jì)量、標(biāo)記,也可能被整形。在邊緣路由器,所有的分類和整形規(guī)則均依據(jù)SLA,并按照SLA分為不同的行為聚合BA(Behavior Aggregation),每個(gè)行為聚合都由DS編碼點(diǎn)標(biāo)記。這些操作所需要的緩沖空間也依據(jù)SLA確定。在DiffServ的核心路由器中經(jīng)過粗顆粒化的數(shù)據(jù)流進(jìn)行調(diào)度分配路由。當(dāng)一個(gè)包從一個(gè)域進(jìn)入另一個(gè)域時(shí),它的DSCP可能會(huì)被重新標(biāo)記,這由兩個(gè)域之間的SLA確定。
Diffserv模型完全不同于Intserv模型,其優(yōu)點(diǎn)是:
* 層次簡單,伸縮性較好:DiffServ工作范圍分為兩個(gè)層次:DS域和DS區(qū)。DS標(biāo)記只是規(guī)定了有限數(shù)量的業(yè)務(wù)級(jí)別,狀態(tài)信息的數(shù)量正比于業(yè)務(wù)級(jí)別,而不是流的數(shù)量。
* 便于實(shí)現(xiàn):只在網(wǎng)絡(luò)的邊界上才需要復(fù)雜的分類、標(biāo)記、管制和整形操作。ISP核心路由器只需要實(shí)現(xiàn)行為聚集(BA)的分類,因此實(shí)現(xiàn)和部署區(qū)分、分級(jí)都比較容易。
* 不影響路由:DiffServ的節(jié)點(diǎn)提供服務(wù)的手段只限于隊(duì)列調(diào)度和緩沖管理,并不涉及路由選擇。
但是,DiffServ仍然還有許多問題亟待解決,比如,DiffServ體系中是否能夠?qū)崿F(xiàn)“微公平性”就是一個(gè)值得重點(diǎn)討論的問題。所謂“微公平性”是指在DiffServ域中,屬于同一個(gè)流聚集中的每一個(gè)分流是否能享受相同的待遇,這種微公平性不僅在資源充足時(shí)能夠表現(xiàn)出來,更重要的是,能否在有額外資源或者資源總量不足時(shí),各個(gè)微流是否能夠按照事先約定的等級(jí)獲得相應(yīng)的按比例升級(jí)或者降級(jí)服務(wù)。
Diffserv和Intserv優(yōu)勢(shì)互補(bǔ),提供IP QoS保證
Intserv模型中的RSVP可為數(shù)據(jù)流提供良好帶寬保證,而DiffServ則不需要信令,在發(fā)送報(bào)文前,不需要通知路由器,網(wǎng)絡(luò)也不必為每個(gè)流維護(hù)狀態(tài),它只根據(jù)報(bào)文中規(guī)定的QoS來提供特定的服務(wù)。并且,它不像IntServ那樣對(duì)每個(gè)流都進(jìn)行QoS控制,而是對(duì)流聚合后的每一類進(jìn)行QoS控制,它只是對(duì)數(shù)據(jù)流簡單加標(biāo)記進(jìn)行優(yōu)先級(jí)分類。從對(duì)路由器的要求來說,RSVP比DiffServ更復(fù)雜,因此RSVP不適用于骨干網(wǎng)路由器。
Diffserv和Intserv相結(jié)合為WAN提供全局的分級(jí)服務(wù)方案。用戶端主機(jī)使用RSVP的粗粒度請(qǐng)求(帶寬、抖動(dòng)門限等),在骨干網(wǎng)入口的帶寬代理路由器可以將RSVP“預(yù)約”映射為用DS位指示的服務(wù)分類;在骨干網(wǎng)上采用DiffServ對(duì)包頭中規(guī)定的QoS進(jìn)行資源分配;在骨干網(wǎng)的輸出端,RSVP再次被利用,直至終點(diǎn)。從而最終實(shí)現(xiàn)了在輸入端以客戶為基礎(chǔ)進(jìn)行流量調(diào)節(jié),以確保服務(wù)水平。
在WAN中使用的是區(qū)分型業(yè)務(wù)模型,而LAN用的是IntServ和DiffServ模型的混合形式。在實(shí)現(xiàn)IntServ和DiffServ的互通中,需要解決RSVP在DiffServ域中如何處理,IntServ支持的業(yè)務(wù)與DiffServ支持的PHB之間的映射這兩個(gè)主要問題。IETF建議了兩種互通方式來保證端到端的QoS。一種方法是將綜合服務(wù)覆蓋在DiffServ網(wǎng)上,RSVP信令完全透明地通過;另外一種方法是簡單的并行處理,即DiffServ域參與RSVP的協(xié)議處理:DiffServ網(wǎng)中的每個(gè)節(jié)點(diǎn)可能也是具有RSVP功能的,采取一些策略決定哪些包用RSVP,哪些用DiffServ處理。相比而言,前一種方法實(shí)現(xiàn)簡單,保持了DiffServ的“原貌”,但是卻造成DiffServ域中的資源浪費(fèi);后者實(shí)現(xiàn)起來過于復(fù)雜,比較適用于小型網(wǎng)絡(luò)。
DiffServ支持的PHB有確保轉(zhuǎn)發(fā)AF PHB和迅速轉(zhuǎn)發(fā)EF PHB,EF PHB表示任何數(shù)據(jù)流超過由本地策略確定的流量規(guī)劃值時(shí),將被丟棄;AF PHB 表示超過流量規(guī)劃值的數(shù)據(jù)流不會(huì)按照未超過規(guī)劃值時(shí)那么高的概率傳送,這意味著它可能降級(jí),但是不會(huì)被丟棄。
IntServ和DiffServ能為用戶提供統(tǒng)一服務(wù)。它們之間的轉(zhuǎn)換關(guān)系是:IntServ中的確保服務(wù)在DiffServ中映射為EF PHB;IntServ中的可控服務(wù)在DiffServ中轉(zhuǎn)換為AF PHB。
摘自《通訊世界》2002.4