擁塞控制不求人:利用QoS限制帶寬
網(wǎng)絡(luò)服務(wù)質(zhì)量(QoS)既可以用來描述網(wǎng)絡(luò)某些應(yīng)用的用戶體驗(yàn),也可以通過差異化網(wǎng)絡(luò)服務(wù)控制應(yīng)用性能。面對(duì)一些網(wǎng)絡(luò)性能方面的挑戰(zhàn)(比如在廣域網(wǎng)連接中賦予VoIP高于其他網(wǎng)絡(luò)流量的優(yōu)先級(jí)),IT部門可以把QoS作為一種直截了當(dāng)?shù)慕鉀Q方案,盡管這種方案可能需要在廣域網(wǎng)服務(wù)合同中添加條款,但它不用在網(wǎng)絡(luò)中增加新的設(shè)備。
使用QoS DSCP
差分服務(wù)代碼點(diǎn)(DSCP)占據(jù)IP頭中的6個(gè)比特位,通過它可以在廣域網(wǎng)層面上來管理QoS。DSCP采用64個(gè)可能值中的任意一個(gè),也就是說最多允許64種QoS分類——超過任何人曾經(jīng)使用過的分類數(shù)目。事際上,對(duì)大多數(shù)QoS用戶來說,4個(gè)分類已經(jīng)足以滿足需要。
DSCP數(shù)位域標(biāo)識(shí)出數(shù)據(jù)包所屬的特定交付分類,具體實(shí)現(xiàn)方法是企業(yè)為分類制定明確的交付目標(biāo)。路由器和其它設(shè)備可以通過數(shù)據(jù)包隊(duì)列(本質(zhì)上就是緩沖區(qū))和相應(yīng)算法,傳遞數(shù)據(jù)包,實(shí)現(xiàn)交付目標(biāo)。一些推薦標(biāo)準(zhǔn)涉及到DSCP數(shù)位域的值(如RFC2474中列舉的),它們圍繞加速轉(zhuǎn)發(fā)(進(jìn)一步描述可參見RFC3246)和確保轉(zhuǎn)發(fā)(RFC2597)定義了一些期望行為:加速轉(zhuǎn)發(fā)讓交付過程低丟包、低延時(shí)和抖動(dòng)最??;確保轉(zhuǎn)發(fā)則保證無損交付。
RFC推薦使用DSCP值46來標(biāo)記加速轉(zhuǎn)發(fā)分類(6位DSCP的二進(jìn)制值為101110),它適用于諸如VoIP或IP會(huì)議的實(shí)時(shí)交互多媒體流;為確保轉(zhuǎn)發(fā)流量分配了包含12個(gè)標(biāo)記值的集合,來保證不同等級(jí)的交付。
沒有開放標(biāo)準(zhǔn)來對(duì)QoS行為予以嚴(yán)格規(guī)定,因此供應(yīng)商們各行其道。諸如AT&T、Verizon等廣域網(wǎng)服務(wù)供應(yīng)商,它們可用的QoS分類數(shù)字及其含義各不相同。相同的DSCP值或許在兩個(gè)不同的供應(yīng)商中代表不同的意思,同一個(gè)DSCP值可能表示有5個(gè)、7個(gè)或11個(gè)分類等等。某些情況下,單一供應(yīng)商將會(huì)針對(duì)其不同的產(chǎn)品實(shí)施一些嚴(yán)格的管理方案。
采用QoS隊(duì)列策略
隊(duì)列策略本身并沒有標(biāo)準(zhǔn)。隊(duì)列策略僅僅是一種算法,告知網(wǎng)絡(luò)節(jié)點(diǎn)如何處理隊(duì)列中的數(shù)據(jù)包。如果隊(duì)列代表交付分類,隊(duì)列策略則負(fù)責(zé)保證DSCP標(biāo)簽所代表的交付承諾。
通過隊(duì)列策略來利用QoS限制帶寬的核心策略如下:
公平隊(duì)列策略(FQ):它為數(shù)據(jù)流平均分配帶寬。FQ要求一個(gè)包等待其他包傳遞完畢后才能交付,所以FQ對(duì)QoS并沒有幫助。事實(shí)上除非你能保證從來沒有連接擁塞,否則FQ反而會(huì)妨礙QoS。
加權(quán)公平隊(duì)列策略(WFQ):通過加權(quán)為一些數(shù)據(jù)流分配更多帶寬,因此帶寬沒有被平均分配。
基于分類的加權(quán)公平隊(duì)列策略(CBWFQ):將數(shù)據(jù)流劃分成類,將帶寬分配給每一個(gè)類,并在每一類中采用WFQ。
基于優(yōu)先級(jí)的CBWFQ(P-CBWFQ) :添加嚴(yán)格的優(yōu)先級(jí)分類,因此路由器可以確保在某一隊(duì)列中等待的數(shù)據(jù)包總是先于其他隊(duì)列中的數(shù)據(jù)包被傳遞出去。
在系統(tǒng)中添加優(yōu)先級(jí)可以限制隊(duì)列的最大延時(shí),從而使交付滿足實(shí)時(shí)流的要求,達(dá)到比沒有優(yōu)先級(jí)的方案抖動(dòng)更小。不論有無優(yōu)先級(jí),基于分類的方案保證轉(zhuǎn)發(fā)的同時(shí),還實(shí)現(xiàn)了加速轉(zhuǎn)發(fā)。
確保優(yōu)先級(jí)符合廣域網(wǎng)環(huán)境
標(biāo)記數(shù)據(jù)包可以在局域網(wǎng)或廣域網(wǎng)邊界的節(jié)點(diǎn)進(jìn)行。比如,IP電話或PC終端可以標(biāo)記流量是屬于加速轉(zhuǎn)發(fā)分類的,從而確保所有中間節(jié)點(diǎn)優(yōu)待這些數(shù)據(jù)包,使語音電話聽起來效果很棒。這樣做是將打標(biāo)記的任務(wù)推給了生成和消耗流量的節(jié)點(diǎn),進(jìn)一步在網(wǎng)絡(luò)內(nèi)保證工作任務(wù)與設(shè)備無關(guān)。例如,windows 7可以使用組策略對(duì)象(GPO)進(jìn)行帶外流量標(biāo)記,標(biāo)記可以根據(jù)源節(jié)點(diǎn)、目標(biāo)節(jié)點(diǎn)、源應(yīng)用以及其他東西。通過將每個(gè)本地應(yīng)用標(biāo)記為失效,把控制范圍限制在GPO內(nèi),這樣或許可以使更多組織信任來自終端節(jié)點(diǎn)的標(biāo)記。
但是,如果局域網(wǎng)邊界的帶寬像大多數(shù)地方一樣大量地未被充分利用,那么聚合路由器或許有足夠的能力代替終端節(jié)點(diǎn)來打標(biāo)記。如果你由于不使用GPO而使節(jié)點(diǎn)設(shè)備不可信,那么將打標(biāo)簽工作放到核心層來進(jìn)行,也可以確保它更好地處于IT部門的控制之下。
你也可以將打標(biāo)簽工作放到廣域網(wǎng)邊界路由器,因?yàn)槟抢镒羁赡艽嬖趽砣麊栴},確實(shí)需要差異化服務(wù)。路由器可以根據(jù)策略進(jìn)行標(biāo)記和隊(duì)列操作,如果廣域網(wǎng)鏈接是曾經(jīng)發(fā)生擁塞的唯一地方,那么它們將是你必須為QoS進(jìn)行配置的唯一網(wǎng)絡(luò)部分。
標(biāo)記的基本策略是定義分類和相關(guān)的隊(duì)列策略行為,然后使用類似于防火墻的訪問控制列表,按照分類標(biāo)記流量。你需要知道將要被標(biāo)記的流量的網(wǎng)絡(luò)地址、端口或協(xié)議。
在購(gòu)買其他解決方案之前嘗試一下QoS
如果實(shí)時(shí)應(yīng)用正在遭受聚合廣域網(wǎng)鏈接中普遍存在的丟包、延時(shí)或抖動(dòng)問題,利用QoS或許是最簡(jiǎn)單、最便宜的解決方法。盡管它不是萬能的,但是對(duì)于一些問題,QoS是你已經(jīng)擁有、卻未曾知曉的解決方法。
【編輯推薦】