Juniper網(wǎng)絡(luò)公司 Matt Kolon
盡管從本質(zhì)上講,IP網(wǎng)絡(luò)不適于話音業(yè)務(wù),但是對(duì)于尋求融合網(wǎng)絡(luò)所提供的效率、擴(kuò)展性和集成優(yōu)勢(shì)的話音網(wǎng)絡(luò)設(shè)計(jì)人員來(lái)說(shuō),IP網(wǎng)絡(luò)已被證明是一個(gè)不可抗拒的目標(biāo)。網(wǎng)絡(luò)建設(shè)者借助現(xiàn)代路由器的業(yè)務(wù)級(jí)別(CoS)功能,可以將話音與“盡力而為”數(shù)據(jù)業(yè)務(wù)整合在一起,組成極具誘惑力的個(gè)人和企業(yè)業(yè)務(wù)套餐。
描述在無(wú)連接數(shù)據(jù)網(wǎng)絡(luò)上傳輸話音業(yè)務(wù)的問(wèn)題是一件輕松的事情,但解決這些問(wèn)題卻相當(dāng)困難,在同時(shí)承載數(shù)據(jù)業(yè)務(wù)的網(wǎng)絡(luò)上尤為如此。主要的問(wèn)題是時(shí)延、抖動(dòng)和數(shù)據(jù)包丟失。為了滿(mǎn)足話音通信的質(zhì)量要求,網(wǎng)絡(luò)設(shè)計(jì)人員的主要辦法是融合網(wǎng)絡(luò)上的路由器所提供的數(shù)據(jù)包處理與傳輸方案,有效設(shè)計(jì)與使用這些數(shù)據(jù)包處理能力可以使原本質(zhì)量很差、幾乎無(wú)法使用的VoIP業(yè)務(wù)與傳統(tǒng)電話業(yè)務(wù)的質(zhì)量不相上下。而且,靈活的數(shù)據(jù)包處理能力還可以幫助人們高效、均衡地利用網(wǎng)絡(luò)資源,這是多業(yè)務(wù)網(wǎng)絡(luò)實(shí)現(xiàn)盈利所必需的。
一、什么是IP CoS?
對(duì)于IP CoS的叫法,學(xué)術(shù)界一直爭(zhēng)論不休,但不管怎么定義,IP CoS功能是網(wǎng)絡(luò)區(qū)分不同應(yīng)用并進(jìn)行差別對(duì)待的功能的最常用名稱(chēng)。CoS只不過(guò)是對(duì)具有某些特性的數(shù)據(jù)包進(jìn)行優(yōu)先處理。比如,融合網(wǎng)絡(luò)應(yīng)確保話音數(shù)據(jù)包按照以下方式進(jìn)行處理:在時(shí)延、抖動(dòng)與丟包指標(biāo)的容限內(nèi)將語(yǔ)音數(shù)據(jù)包送至目的地。為了做到這一點(diǎn),網(wǎng)絡(luò)可能必須延遲,甚至丟掉非話音業(yè)務(wù)。這種做法是不得已而為之,但要優(yōu)于降低話音質(zhì)量的方法,在后一種做法中,話音質(zhì)量可能無(wú)法令人接受。
任何一個(gè)CoS模型均都包含多種功能,但簡(jiǎn)單的話音CoS模型可能具備下列功能:
能夠區(qū)分話音業(yè)務(wù)與數(shù)據(jù)業(yè)務(wù)的業(yè)務(wù)分類(lèi);
在內(nèi)存中分別規(guī)定語(yǔ)音和數(shù)據(jù)緩沖區(qū)的排隊(duì)機(jī)制;
用于清空隊(duì)列、允許進(jìn)行優(yōu)先傳輸并執(zhí)行擁塞控制與流量整形等其他功能的緩沖調(diào)度機(jī)制。
策略操作,比如過(guò)濾、警管、速率限制、標(biāo)記、記錄、基于策略的路由等操作,允許用戶(hù)定義某一特定業(yè)務(wù)等級(jí)的控制機(jī)制。
下面我們更詳細(xì)地介紹CoS模型的各種功能:
1. 分類(lèi)
為了按照成功提供業(yè)務(wù)的要求處理每一種類(lèi)型的業(yè)務(wù),必須首先能夠區(qū)分并識(shí)別業(yè)務(wù)類(lèi)型。在無(wú)連接網(wǎng)絡(luò)中,通常必需分析每個(gè)數(shù)據(jù)包,根據(jù)包頭中的某些顯性或隱性數(shù)據(jù)為其指定一個(gè)業(yè)務(wù)級(jí)別。比如,顯性CoS信息可能包含在IP包頭的TOS字節(jié)(也稱(chēng)為diffserv字節(jié))中,或在MPLS包頭的EXP字段中。
對(duì)于按照這種方式從路由網(wǎng)絡(luò)中導(dǎo)出特定的CoS的數(shù)據(jù)包來(lái)說(shuō),數(shù)據(jù)包到達(dá)網(wǎng)絡(luò)邊緣時(shí)必須進(jìn)行標(biāo)記,但這種標(biāo)記極其復(fù)雜。VoIP網(wǎng)關(guān)與軟交換機(jī)向話音業(yè)務(wù)分配TOS或diffserv代碼的方式有所區(qū)別——事實(shí)上,某些VoIP網(wǎng)關(guān)和軟交換機(jī)根本不能顯性地對(duì)業(yè)務(wù)進(jìn)行標(biāo)記。對(duì)于特定類(lèi)型的業(yè)務(wù)應(yīng)當(dāng)使用哪種類(lèi)型的代碼,供應(yīng)商與網(wǎng)絡(luò)實(shí)施供應(yīng)商也有不同的意見(jiàn)。這導(dǎo)致某些路由器供應(yīng)商在其產(chǎn)品中嵌入多業(yè)務(wù)分類(lèi)功能,這樣路由器就能分析數(shù)據(jù)包的任何包頭的任何字段,并使用隱性信息指定所需的業(yè)務(wù)級(jí)別。比如,可以對(duì)一個(gè)路由器進(jìn)行配置,讓其尋找包含RTP(實(shí)時(shí)傳輸協(xié)議,在某些架構(gòu)中用于傳輸話音業(yè)務(wù))包頭的IP包并為它們分配CoS。
2. 排隊(duì)
一旦對(duì)數(shù)據(jù)包進(jìn)行分類(lèi)并采取了基于策略的操作,這些數(shù)據(jù)包必須緩存少量時(shí)間,以便按照數(shù)據(jù)包相應(yīng)級(jí)別所適用的模型等待傳輸。排隊(duì)只是在瞬間擁塞的情況下才顯得重要,因此,在對(duì)網(wǎng)絡(luò)進(jìn)行正確配置的情況下,數(shù)據(jù)包就不必在隊(duì)列中等待。(還需指出:除非在其前面有其他的數(shù)據(jù)包,否則數(shù)據(jù)包排隊(duì)的過(guò)程并不影響轉(zhuǎn)發(fā)性能。)每個(gè)業(yè)務(wù)級(jí)別通常需要自己的排隊(duì)緩沖空間,并且所需的空間大小是業(yè)務(wù)進(jìn)入與離開(kāi)隊(duì)列的速度、允許數(shù)據(jù)包等待傳輸?shù)淖畲髸r(shí)長(zhǎng)的函數(shù)。在VoIP與其他實(shí)時(shí)業(yè)務(wù)中,緩沖區(qū)空間相對(duì)較小,因?yàn)閷?duì)于接收端網(wǎng)關(guān)來(lái)說(shuō),話音業(yè)務(wù)如排隊(duì)太長(zhǎng),將變得毫無(wú)用處并被忽略。因此,由于排隊(duì)緩沖空間不足導(dǎo)致的偶然丟包的損失并不是太大。
3. 調(diào)度
在CoS模型中,也許最復(fù)雜的部分就是嚴(yán)格確定傳輸不同級(jí)別數(shù)據(jù)包的間隔,以便使每類(lèi)業(yè)務(wù)具備所需的業(yè)務(wù)特性,且不對(duì)其他業(yè)務(wù)造成太大影響。最簡(jiǎn)單的調(diào)度規(guī)則就是FIFO(先進(jìn)先出),即數(shù)據(jù)包按照它們達(dá)到的順序傳輸。從實(shí)施的角度看,這是有吸引力的,但該簡(jiǎn)單方式本身有不少問(wèn)題。即便對(duì)簡(jiǎn)單的融合話音與數(shù)據(jù)網(wǎng)絡(luò)來(lái)說(shuō),如果按時(shí)間均勻間隔,大小相對(duì)較小的話音數(shù)據(jù)包的傳輸也將面臨增加時(shí)延、抖動(dòng)與丟包的問(wèn)題,因?yàn)樵谝粋(gè)又一個(gè)的路由器中,這些數(shù)據(jù)包被迫排在大小更大、長(zhǎng)度可變的數(shù)據(jù)包后面。將話音與數(shù)據(jù)包分別放入它們自己的緩沖區(qū),并按照業(yè)務(wù)的需求處理每個(gè)緩沖區(qū)就會(huì)更有意義。對(duì)于多隊(duì)列調(diào)度來(lái)說(shuō),有不同的方式,每個(gè)方式都有自己的優(yōu)缺點(diǎn):
優(yōu)先排隊(duì)允許為每個(gè)隊(duì)列指定優(yōu)先級(jí),并對(duì)隊(duì)列進(jìn)行處理,以便話音隊(duì)列總是在數(shù)據(jù)隊(duì)列之前清空。這實(shí)施起來(lái)簡(jiǎn)單,也容易理解,但可能導(dǎo)致數(shù)據(jù)包時(shí)延與丟包率過(guò)高,因?yàn)閿?shù)據(jù)包要等待話音隊(duì)列清空。PQ變量(稱(chēng)為速率控制型優(yōu)先排隊(duì))能夠讓網(wǎng)絡(luò)設(shè)計(jì)人員規(guī)定話音隊(duì)列占用帶寬的限值,以防止數(shù)據(jù)業(yè)務(wù)完全中斷。
公平排隊(duì)機(jī)制試圖通過(guò)為每個(gè)話音或數(shù)據(jù)流指定自己的隊(duì)列并按照循環(huán)順序處理每個(gè)隊(duì)列,克服優(yōu)先排隊(duì)的局限,使每個(gè)隊(duì)列達(dá)到更加一致且可以預(yù)測(cè)的服務(wù)水平,但這對(duì)路由器內(nèi)存與處理能力提出了嚴(yán)格的要求。
加權(quán)公平排隊(duì)為每個(gè)隊(duì)列分配一個(gè)與所需帶寬百分比相對(duì)應(yīng)的權(quán)重,,并決定是否處理某一特定隊(duì)列時(shí)考慮到數(shù)據(jù)包的長(zhǎng)度。這有助于為某一特定業(yè)務(wù)級(jí)別可能遇到的延遲設(shè)定一個(gè)界限,但實(shí)施起來(lái)很復(fù)雜。
加權(quán)循環(huán)排隊(duì)試圖通過(guò)確保適當(dāng)處理要求迥異的業(yè)務(wù)流來(lái)克服上述局限性。該機(jī)制允許每次在進(jìn)行處理時(shí),一個(gè)隊(duì)列發(fā)送一個(gè)以上的數(shù)據(jù)包。做到這一點(diǎn)的同時(shí)仍然確保公平對(duì)待所有隊(duì)列是一個(gè)難以處理的問(wèn)題。目前業(yè)界已對(duì)這種機(jī)制進(jìn)行了一系列改進(jìn),并且開(kāi)發(fā)出多種變體。
這些只是簡(jiǎn)單的描述,每種排隊(duì)方法的具體處理方式要復(fù)雜得多。在此只是用于簡(jiǎn)要說(shuō)明討論話音與數(shù)據(jù)融合網(wǎng)絡(luò)的CoS需求的復(fù)雜性。各廠商并非要使用單一模型,通常情況下會(huì)實(shí)施混合調(diào)度模型。這通常允許用戶(hù)配置上面所述的許多參數(shù),以定制特定類(lèi)型的業(yè)務(wù)的處理方式。
4. 策略操作
最后,經(jīng)常必需能夠針對(duì)具體數(shù)據(jù)流、業(yè)務(wù)級(jí)別或數(shù)據(jù)包采取其他基于策略操作。例子之一就是TOS或CoS重寫(xiě),路由器顯性地對(duì)數(shù)據(jù)包進(jìn)行標(biāo)記,指示數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)傳輸時(shí)應(yīng)當(dāng)賦予的業(yè)務(wù)級(jí)別。換句話來(lái)說(shuō),如果必須在網(wǎng)絡(luò)邊緣進(jìn)行多字段分類(lèi),可以在傳輸過(guò)程中設(shè)置數(shù)據(jù)包的TOS或diffserv值,以標(biāo)記屬于某一特定級(jí)別的數(shù)據(jù)包。這樣,后續(xù)的路由器就不需要進(jìn)行多字段分類(lèi),只需了解顯性的CoS并對(duì)數(shù)據(jù)包進(jìn)行相應(yīng)的處理。更重要地是,這意味著只有位于網(wǎng)絡(luò)邊緣的路由器需要配置多字段分類(lèi)信息,因而減少了運(yùn)營(yíng)工作。
5. 功能合一
從上面描述的眾多方案可以看出,制訂一個(gè)綜合性CoS方案有多種方式,與網(wǎng)絡(luò)類(lèi)型的數(shù)量不相上下。對(duì)于一個(gè)給定的業(yè)務(wù)組合來(lái)說(shuō),選擇并實(shí)現(xiàn)CoS的途徑的困難不僅在于確定業(yè)務(wù)本身的需求、確定它們?cè)诰W(wǎng)絡(luò)上如何交互,而且還在于確定如何從路由器與其他構(gòu)成基礎(chǔ)設(shè)施的設(shè)備引出所需的行為。
考慮到排隊(duì)處理等方法的復(fù)雜性,將CoS看成一個(gè)極端復(fù)雜的問(wèn)題是理所當(dāng)然的,對(duì)其進(jìn)行規(guī)劃并分析只意味著繁重的數(shù)學(xué)運(yùn)算。在某些試圖將多種類(lèi)型的實(shí)時(shí)、近實(shí)時(shí)與非實(shí)時(shí)業(yè)務(wù)的傳輸整合在一起的多維、多業(yè)務(wù)網(wǎng)絡(luò)上,這毫無(wú)疑問(wèn)是正確的,但對(duì)于相當(dāng)比較簡(jiǎn)單的語(yǔ)音和“盡力而為”數(shù)據(jù)業(yè)務(wù)的融合來(lái)說(shuō),這顯然是不正確的。一個(gè)人可以畢生研究排隊(duì)理論、處理算法與CoS功能的其他方面,但某些簡(jiǎn)單的普通網(wǎng)絡(luò)規(guī)劃往往能夠令人吃驚地很好解決供應(yīng)商當(dāng)前所面臨的大部分融合話音與數(shù)據(jù)CoS問(wèn)題,因?yàn)樗麄冎铝τ趯?shí)現(xiàn)相對(duì)簡(jiǎn)單的目標(biāo)。
盡量避免話音與數(shù)據(jù)業(yè)務(wù)相互干擾;
保持話音質(zhì)量,甚至犧牲“盡力而為”數(shù)據(jù)業(yè)務(wù),以保持話音質(zhì)量。
將這些需求轉(zhuǎn)換為合理的路由配置自然不是那么簡(jiǎn)單,但也不像通常描繪的那樣困難。圍繞以下幾條基本原則,我們可以大大簡(jiǎn)化話音與“盡力而為”數(shù)據(jù)融合網(wǎng)絡(luò)的部署:
在網(wǎng)絡(luò)邊緣進(jìn)行一次性分類(lèi)。如果語(yǔ)音網(wǎng)關(guān)或軟交換機(jī)能夠顯性地標(biāo)記話音數(shù)據(jù)包,核心路由器就不需要進(jìn)行多字段分類(lèi),這就更好了。
轉(zhuǎn)發(fā)性能可大大彌補(bǔ)不足。抖動(dòng)指標(biāo)總不理想,但在低時(shí)延情況下更加容易忍受。
在選擇緩沖調(diào)度方案時(shí),確保路由器能處理負(fù)荷。某些調(diào)度方案需要很高的處理能力,有些路由器則使用非優(yōu)化架構(gòu)實(shí)現(xiàn)緩沖調(diào)度。這將帶來(lái)新的問(wèn)題,比其解決的問(wèn)題還要多,因?yàn)镃oS機(jī)制實(shí)際上增加了某些業(yè)務(wù)等級(jí)的延遲與抖動(dòng)。帶有基于硬件的調(diào)度程序的路由平臺(tái)能夠在速度非常高的接口上實(shí)施有效的CoS。
簡(jiǎn)單總是很好,尤其在CoS的設(shè)計(jì)上。從簡(jiǎn)單的設(shè)計(jì)入手,可以邊推出業(yè)務(wù)邊觀察結(jié)果。利用通過(guò)實(shí)際開(kāi)展業(yè)務(wù)獲得的反饋信息調(diào)整業(yè)務(wù)級(jí)別與相對(duì)簡(jiǎn)單的CoS參數(shù)。只有當(dāng)沒(méi)有其他的方式能夠?qū)崿F(xiàn)目標(biāo)時(shí),才加大復(fù)雜性。
IP協(xié)議的設(shè)計(jì)人員從來(lái)都無(wú)法預(yù)測(cè)到這些協(xié)議會(huì)用于話音等實(shí)時(shí)業(yè)務(wù),尤其是與其他類(lèi)型的“盡力而為”業(yè)務(wù)混合使用。但是,這些協(xié)議本身的適應(yīng)能力,再加上路由器CoS功能的增強(qiáng),能夠讓網(wǎng)絡(luò)環(huán)境適應(yīng)挑戰(zhàn)。與許多其他事情一樣,解決CoS問(wèn)題的關(guān)鍵是不讓技術(shù)牽著鼻子走,也不能迷失要實(shí)現(xiàn)的目標(biāo)。
----《通信世界》