擁塞管理是指網(wǎng)絡(luò)在發(fā)生擁塞時(shí),如何進(jìn)行管理和控制。FIFO隊(duì)列不對(duì)報(bào)文進(jìn)行分類,按報(bào)文到達(dá)接口的先后順序讓報(bào)文進(jìn)入隊(duì)列,采用盡力而為的轉(zhuǎn)發(fā)模式,PQ隊(duì)列是針對(duì)關(guān)鍵業(yè)務(wù)應(yīng)用設(shè)計(jì)的。
雖然流量分類幾乎可以根據(jù)報(bào)文的任何字段進(jìn)行,但是流量分類標(biāo)記則一般只對(duì)802.1Q 以太網(wǎng)幀的CoS域、IP報(bào)文的ToS域、MPLS報(bào)文的EXP域進(jìn)行標(biāo)記。流量的標(biāo)記主要的目的就是讓其他處理此報(bào)文的應(yīng)用系統(tǒng)或設(shè)備知道該報(bào)文的類別,并根據(jù)這種類別對(duì)報(bào)文進(jìn)行一些事先約定了的處理。
例如,在網(wǎng)絡(luò)的邊界做如下分類和標(biāo)記:
1)所有VoIP數(shù)據(jù)報(bào)文聚合為EF業(yè)務(wù)類,將報(bào)文的IP優(yōu)先級(jí)標(biāo)記為5,或者將DSCP值標(biāo)記為EF;
2)所有VoIP控制報(bào)文聚合AF業(yè)務(wù)類,將報(bào)文的IP優(yōu)先級(jí)標(biāo)記為4,或者將DSCP值標(biāo)記為AF31。
當(dāng)報(bào)文在網(wǎng)絡(luò)邊界被標(biāo)記分類之后,在網(wǎng)絡(luò)的中間節(jié)點(diǎn),就可以根據(jù)標(biāo)記,對(duì)不同類別的流量給予差別服務(wù)了。例如:對(duì)上述例子中的EF類業(yè)務(wù)保證時(shí)延和減少抖動(dòng),同時(shí)進(jìn)行流量監(jiān)管;對(duì)AF業(yè)務(wù)類在網(wǎng)絡(luò)擁塞時(shí)仍然保證一定的帶寬,等等。
擁塞管理技術(shù)原理
1 擁塞管理基本概念
在計(jì)算機(jī)數(shù)據(jù)通信中,通信信道是被多個(gè)計(jì)算機(jī)共享的,并且,廣域網(wǎng)的帶寬通常要比局域網(wǎng)的帶寬小,這樣,當(dāng)一個(gè)局域網(wǎng)的計(jì)算機(jī)向另一個(gè)局域網(wǎng)的計(jì)算機(jī)發(fā)送數(shù)據(jù)時(shí),由于廣域網(wǎng)的帶寬小于局域網(wǎng)的帶寬,數(shù)據(jù)將不可能按局域網(wǎng)發(fā)送的速度在廣域網(wǎng)上傳輸。此時(shí),處在局域網(wǎng)和廣域網(wǎng)之間的路由器將不能發(fā)送一些報(bào)文,即網(wǎng)絡(luò)發(fā)生了擁塞。
如下圖所示,當(dāng)公司分支1向公司總部以100M的速度發(fā)送數(shù)據(jù)時(shí),將會(huì)使Router2的串口S0/1發(fā)生擁塞。
圖1 實(shí)際應(yīng)用中的擁塞實(shí)例
擁塞管理是指網(wǎng)絡(luò)在發(fā)生擁塞時(shí),如何進(jìn)行管理和控制。處理的方法是使用隊(duì)列技術(shù)。將所有要從一個(gè)接口發(fā)出的報(bào)文進(jìn)入多個(gè)隊(duì)列,按照各個(gè)隊(duì)列的優(yōu)先級(jí)進(jìn)行處理。不同的隊(duì)列算法用來(lái)解決不同的問(wèn)題,并產(chǎn)生不同的效果。常用的隊(duì)列技術(shù)有FIFO、PQ、CQ、WFQ、CBWFQ等,下文逐一介紹這些常用隊(duì)列技術(shù)的基本原理。
2 FIFO隊(duì)列原理簡(jiǎn)述
FIFO(First In First Out,先進(jìn)先出)隊(duì)列示意圖如下所示:
圖2 FIFO隊(duì)列示意圖
FIFO隊(duì)列不對(duì)報(bào)文進(jìn)行分類,當(dāng)報(bào)文進(jìn)入接口的速度大于接口能發(fā)送的速度時(shí),F(xiàn)IFO按報(bào)文到達(dá)接口的先后順序讓報(bào)文進(jìn)入隊(duì)列,同時(shí),F(xiàn)IFO在隊(duì)列的出口讓報(bào)文按進(jìn)隊(duì)的順序出隊(duì),先進(jìn)的報(bào)文將先出隊(duì),后進(jìn)的報(bào)文將后出隊(duì)。
FIFO隊(duì)列具有處理簡(jiǎn)單,開銷小的優(yōu)點(diǎn)。但FIFO不區(qū)分報(bào)文類型,采用盡力而為的轉(zhuǎn)發(fā)模式,使對(duì)時(shí)間敏感的實(shí)時(shí)應(yīng)用(如VOIP)的延遲得不到保證,關(guān)鍵業(yè)務(wù)的帶寬也不能得到保證。
3 PQ原理簡(jiǎn)述
PQ(Priority Queuing,優(yōu)先隊(duì)列)示意圖如下所示:
圖3 PQ隊(duì)列示意圖
PQ隊(duì)列是針對(duì)關(guān)鍵業(yè)務(wù)應(yīng)用設(shè)計(jì)的。關(guān)鍵業(yè)務(wù)有一個(gè)重要特點(diǎn),需要在擁塞發(fā)生時(shí)要求優(yōu)先獲得服務(wù)以減少響應(yīng)的延遲。PQ可以根據(jù)網(wǎng)絡(luò)協(xié)議(如IP、IPX)、數(shù)據(jù)流入接口、報(bào)文長(zhǎng)短、IP報(bào)文的ToS、五元組(協(xié)議ID、源IP地址、目的IP地址、源端口號(hào)、目的端口號(hào))等條件進(jìn)行分類,對(duì)于MPLS網(wǎng)絡(luò),則根據(jù)MPLS報(bào)文EXP域值進(jìn)行分類。最終將所有報(bào)文分成最多4類,分別屬于PQ的4個(gè)隊(duì)列中的一個(gè),然后,按報(bào)文所屬類別將報(bào)文送入相應(yīng)的隊(duì)列。
PQ的4個(gè)隊(duì)列分別為高優(yōu)先隊(duì)列、中優(yōu)先隊(duì)列、正常優(yōu)先隊(duì)列和低優(yōu)先隊(duì)列,它們的優(yōu)先級(jí)依次降低。在報(bào)文出隊(duì)的時(shí)候,PQ首先讓高優(yōu)先隊(duì)列中的報(bào)文出隊(duì)并發(fā)送,直到高優(yōu)先隊(duì)列中的報(bào)文發(fā)送完,然后發(fā)送中優(yōu)先隊(duì)列中的報(bào)文,同樣,直到發(fā)送完,然后是正常優(yōu)先隊(duì)列和低優(yōu)先隊(duì)列。這樣,分類時(shí)屬于較高優(yōu)先級(jí)隊(duì)列的報(bào)文將會(huì)得到優(yōu)先發(fā)送,而較低優(yōu)先級(jí)的報(bào)文將會(huì)在發(fā)生擁塞時(shí)被較高優(yōu)先級(jí)的報(bào)文搶占。這樣會(huì)使得實(shí)時(shí)業(yè)務(wù)(如VoIP)的報(bào)文能夠得到優(yōu)先處理,非實(shí)時(shí)業(yè)務(wù)(如E-Mail)的報(bào)文在網(wǎng)絡(luò)處理完關(guān)鍵業(yè)務(wù)后的空閑間隙得到處理,既保證了實(shí)時(shí)業(yè)務(wù)的優(yōu)先,又充分利用了網(wǎng)絡(luò)資源。
PQ的缺點(diǎn)是,當(dāng)較高優(yōu)先級(jí)隊(duì)列中總有報(bào)文存在時(shí),則低優(yōu)先級(jí)隊(duì)列中的報(bào)文將一直得不到服務(wù),出現(xiàn)隊(duì)列“餓死”現(xiàn)象。
4 CQ原理簡(jiǎn)述
CQ(Custom Queuing,定制隊(duì)列)示意圖如下所示:
圖4 CQ隊(duì)列示意圖
CQ的分類方法和PQ基本相同,不同的是它最終將所有報(bào)文分成最多至17類,每類報(bào)文對(duì)應(yīng)CQ中的一個(gè)隊(duì)列,接口擁塞時(shí),報(bào)文按匹配規(guī)則被送入對(duì)應(yīng)的隊(duì)列;如果報(bào)文不匹配任何規(guī)則,則被送入缺省隊(duì)列(缺省隊(duì)列默認(rèn)為1,可配置修改缺省隊(duì)列)。
CQ的17個(gè)隊(duì)列中,0號(hào)隊(duì)列是優(yōu)先隊(duì)列,路由器總是先把0號(hào)隊(duì)列中的報(bào)文發(fā)送完,然后才處理1到16號(hào)隊(duì)列中的報(bào)文,所以0號(hào)隊(duì)列一般作為系統(tǒng)隊(duì)列,把實(shí)時(shí)性要求高的交互式協(xié)議報(bào)文放到0號(hào)隊(duì)列。1到16號(hào)隊(duì)列調(diào)度采用輪詢方式,按照用戶預(yù)先配置的額度依次從1到16號(hào)用戶隊(duì)列中取出一定數(shù)量的報(bào)文發(fā)送。如果輪詢到某隊(duì)列時(shí)該隊(duì)列恰好為空,則立即轉(zhuǎn)而輪詢下一個(gè)隊(duì)列。
CQ把報(bào)文分類,然后按類別將報(bào)文分配到CQ的一個(gè)隊(duì)列中去,而對(duì)每個(gè)隊(duì)列,又可以規(guī)定隊(duì)列中的報(bào)文所占接口帶寬的比例,這樣,就可以讓不同業(yè)務(wù)的報(bào)文獲得合理的帶寬,從而既保證關(guān)鍵業(yè)務(wù)能獲得較多的帶寬,又不至于使非關(guān)鍵業(yè)務(wù)得不到帶寬。但由于采用輪詢調(diào)度各個(gè)隊(duì)列,CQ無(wú)法保證任何數(shù)據(jù)流的延遲。
5 WFQ原理簡(jiǎn)述
WFQ(Weighted Fair Queuing,加權(quán)公平隊(duì)列)示意圖如下所示:
圖5 WFQ隊(duì)列示意圖
WFQ對(duì)報(bào)文按流特征進(jìn)行分類,對(duì)于IP網(wǎng)絡(luò),相同源IP地址、目的IP地址、源端口號(hào)、目的端口號(hào)、協(xié)議號(hào)、ToS的報(bào)文屬于同一個(gè)流,而對(duì)于MPLS網(wǎng)絡(luò),具有相同的標(biāo)簽和EXP域值的報(bào)文屬于同一個(gè)流。每一個(gè)流被分配到一個(gè)隊(duì)列,該過(guò)程稱為散列,采用HASH算法來(lái)自動(dòng)完成,這種方式會(huì)盡量將不同特征的流分入不同的隊(duì)列中。每個(gè)隊(duì)列類別可以看作是一類流,其報(bào)文進(jìn)入WFQ中的同一個(gè)隊(duì)列。WFQ允許的隊(duì)列數(shù)目是有限的,用戶可以根據(jù)需要配置該值。
在出隊(duì)的時(shí)候,WFQ按流的優(yōu)先級(jí)(precedence)來(lái)分配每個(gè)流應(yīng)占有出口的帶寬。優(yōu)先級(jí)的數(shù)值越小,所得的帶寬越少。優(yōu)先級(jí)的數(shù)值越大,所得的帶寬越多。這樣就保證了相同優(yōu)先級(jí)業(yè)務(wù)之間的公平,體現(xiàn)了不同優(yōu)先級(jí)業(yè)務(wù)之間的權(quán)值。
WFQ優(yōu)點(diǎn)在于配置簡(jiǎn)單,有利于小包的轉(zhuǎn)發(fā),每條流都可以獲得公平調(diào)度,同時(shí)照顧高優(yōu)先級(jí)報(bào)文的利益。但由于流是自動(dòng)分類,無(wú)法手工干預(yù),故缺乏一定的靈活性,且受資源限制,當(dāng)多個(gè)流進(jìn)入同一個(gè)隊(duì)列時(shí)無(wú)法提供精確服務(wù),無(wú)法保證每個(gè)流獲得的實(shí)際資源量。WFQ均衡各個(gè)流的延遲與抖動(dòng),同樣也不適合延遲敏感的業(yè)務(wù)應(yīng)用。
6 CBQ原理簡(jiǎn)述
CBQ(Class Based Queuing,基于類的隊(duì)列)示意圖如下所示:
圖6 CBQ隊(duì)列示意圖
CBQ首先根據(jù)IP優(yōu)先級(jí)或者DSCP、輸入接口、IP報(bào)文的五元組等規(guī)則來(lái)對(duì)報(bào)文進(jìn)行分類;對(duì)于MPLS網(wǎng)絡(luò)的LSR,主要是根據(jù)EXP域值進(jìn)行分類。然后讓不同類別的報(bào)文進(jìn)入不同的隊(duì)列。對(duì)于不匹配任何類別的報(bào)文,報(bào)文被送入系統(tǒng)定義的缺省類。
CBQ包括一個(gè)低時(shí)延隊(duì)列LLQ(Low Latency Queuing,低時(shí)延隊(duì)列),用來(lái)支撐EF(Expedited Forwarding,快速轉(zhuǎn)發(fā))類業(yè)務(wù),被絕對(duì)優(yōu)先發(fā)送,保證時(shí)延。進(jìn)入EF的報(bào)文在接口沒(méi)有發(fā)生擁塞的時(shí)候(此時(shí)所有隊(duì)列中都沒(méi)有報(bào)文),所有屬于EF的報(bào)文都可以被發(fā)送。在接口發(fā)生擁塞的時(shí)候(隊(duì)列中有報(bào)文時(shí)),進(jìn)入EF的報(bào)文被限速,超出規(guī)定流量的報(bào)文將被丟棄。
另外有64個(gè)BQ隊(duì)列(Bandwidth Queuing,帶寬保證隊(duì)列),用來(lái)支撐AF(Assured Forwarding,確保轉(zhuǎn)發(fā))類業(yè)務(wù),可以保證每一個(gè)隊(duì)列的帶寬及可控的時(shí)延。系統(tǒng)調(diào)度報(bào)文出隊(duì)列的時(shí)候,按用戶為各類報(bào)文設(shè)定的帶寬將報(bào)文出隊(duì)發(fā)送。這種隊(duì)列技術(shù)應(yīng)用了先進(jìn)的隊(duì)列調(diào)度算法,可以實(shí)現(xiàn)各個(gè)類的隊(duì)列的公平調(diào)度。當(dāng)接口中某些類別的隊(duì)列沒(méi)有報(bào)文時(shí),BQ隊(duì)列的報(bào)文還可以公平地得到空閑的帶寬,和時(shí)分復(fù)用系統(tǒng)相比,大大提高了線路的利用率。同時(shí),在接口擁塞的時(shí)候,仍然能保證各類報(bào)文得到用戶設(shè)定的最小帶寬。
最后還有一個(gè)WFQ隊(duì)列,對(duì)應(yīng)BE(Best Effort,盡力傳送)業(yè)務(wù),使用接口剩余帶寬進(jìn)行發(fā)送。
CBQ可根據(jù)報(bào)文的輸入接口、滿足ACL情況、IP Precedence、DSCP、EXP、Label等規(guī)則對(duì)報(bào)文進(jìn)行分類、進(jìn)入相應(yīng)隊(duì)列。對(duì)于進(jìn)入EF和AF的報(bào)文,要進(jìn)行測(cè)量;考慮到鏈路層控制報(bào)文的發(fā)送、鏈路層封裝開銷及物理層開銷(如ATM信元頭),建議EF與AF占用接口的總帶寬不要超過(guò)接口帶寬的75%。
CBQ可為不同的業(yè)務(wù)定義不同的調(diào)度策略(如帶寬、時(shí)延等),由于涉及到復(fù)雜的流分類,對(duì)于高速接口(GE以上)啟用CBQ特性系統(tǒng)資源存在一定的開銷。
7 RTP原理簡(jiǎn)述
RTP優(yōu)先隊(duì)列(Real Time Protocol Priority Queuing) 示意圖如下所示:
圖7 RTP隊(duì)列示意圖
RTP優(yōu)先隊(duì)列是一種保證實(shí)時(shí)業(yè)務(wù)(包括語(yǔ)音與視頻業(yè)務(wù))服務(wù)質(zhì)量的簡(jiǎn)單隊(duì)列技術(shù)。其原理就是將承載語(yǔ)音或視頻的RTP報(bào)文送入高優(yōu)先級(jí)隊(duì)列,使其得到優(yōu)先發(fā)送,保證時(shí)延和抖動(dòng)降低為最低限度,從而保證了語(yǔ)音或視頻這種對(duì)時(shí)延敏感業(yè)務(wù)的服務(wù)質(zhì)量。
RTP優(yōu)先隊(duì)列將RTP報(bào)文送入一個(gè)具有較高優(yōu)先級(jí)的隊(duì)列,RTP報(bào)文是端口號(hào)在一定范圍內(nèi)為偶數(shù)的UDP報(bào)文,端口號(hào)的范圍可以配置,一般為16384~32767。RTP優(yōu)先隊(duì)列可以同前面所述的任何一種隊(duì)列(包括FIFO、PQ、CQ、WFQ與CBQ)結(jié)合使用,它的優(yōu)先級(jí)是最高的。由于CBQ中的EF完全可以解決實(shí)時(shí)業(yè)務(wù),所以不推薦將RTP優(yōu)先隊(duì)列與CBQ結(jié)合應(yīng)用。
由于對(duì)進(jìn)入RTP優(yōu)先隊(duì)列的報(bào)文進(jìn)行了限速,超出規(guī)定流量的報(bào)文將被丟棄,這樣在接口擁塞的情況下,可以保證屬于RTP優(yōu)先隊(duì)列的報(bào)文不會(huì)占用超出規(guī)定的帶寬,保護(hù)了其他報(bào)文的應(yīng)得帶寬,解決了PQ的高優(yōu)先級(jí)隊(duì)列的流量可能“餓死”低優(yōu)先級(jí)流量的問(wèn)題。
擁塞避免原理
受限于設(shè)備的內(nèi)存資源,按照傳統(tǒng)的處理方法,當(dāng)隊(duì)列的長(zhǎng)度達(dá)到規(guī)定的最大長(zhǎng)度時(shí),所有到來(lái)的報(bào)文都被丟棄。對(duì)于TCP報(bào)文,如果大量的報(bào)文被丟棄,將造成TCP超時(shí),從而引發(fā)TCP的慢啟動(dòng)和擁塞避免機(jī)制,使TCP減少報(bào)文的發(fā)送。當(dāng)隊(duì)列同時(shí)丟棄多個(gè)TCP連接的報(bào)文時(shí),將造成多個(gè)TCP連接同時(shí)進(jìn)入慢啟動(dòng)和擁塞避免,稱之為:TCP全局同步。這樣多個(gè)TCP連接發(fā)向隊(duì)列的報(bào)文將同時(shí)減少,使得發(fā)向隊(duì)列的報(bào)文的量不及線路發(fā)送的速度,減少了線路帶寬的利用。并且,發(fā)向隊(duì)列的報(bào)文的流量總是忽大忽小,使線路的上的流量總在極少和飽滿之間波動(dòng)。
為了避免這種情況的發(fā)生,隊(duì)列可以采用加權(quán)隨機(jī)早期檢測(cè)WRED(Weighted Random Early Detection)的報(bào)文丟棄策略(WRED與RED的區(qū)別在于前者引入IP優(yōu)先權(quán),DSCP值,和MPLS EXP來(lái)區(qū)別丟棄策略)。采用WRED時(shí),用戶可以設(shè)定隊(duì)列的閾值(threshold)。當(dāng)隊(duì)列的長(zhǎng)度小于低閾值時(shí),不丟棄報(bào)文;當(dāng)隊(duì)列的長(zhǎng)度在低閾值和高閾值之間時(shí),WRED開始隨機(jī)丟棄報(bào)文(隊(duì)列的長(zhǎng)度越長(zhǎng),丟棄的概率越高);當(dāng)隊(duì)列的長(zhǎng)度大于高閾值時(shí),丟棄所有的報(bào)文。
WRED和隊(duì)列機(jī)制的關(guān)系如下圖所示:
圖8 WRED處理方式示意圖
流量監(jiān)管原理
流量監(jiān)管(Commit Access Rate,簡(jiǎn)稱CAR)的典型作用是限制進(jìn)入某一網(wǎng)絡(luò)的某一連接的流量與突發(fā)。在報(bào)文滿足一定的條件時(shí),如某個(gè)連接的報(bào)文流量過(guò)大,流量監(jiān)管就可以對(duì)該報(bào)文采取不同的處理動(dòng)作,例如丟棄報(bào)文,或重新設(shè)置報(bào)文的優(yōu)先級(jí)等。通常的用法是使用CAR來(lái)限制某類報(bào)文的流量,例如限制HTTP報(bào)文不能占用超過(guò)50%的網(wǎng)絡(luò)帶寬。
CAR利用令牌桶(Token Bucket,簡(jiǎn)稱TB)進(jìn)行流量控制。下圖所示為利用CAR進(jìn)行流量控制的基本處理過(guò)程:
圖9 CAR處理方式示意圖
首先,根據(jù)預(yù)先設(shè)置的匹配規(guī)則來(lái)對(duì)報(bào)文進(jìn)行分類,如果是沒(méi)有規(guī)定流量特性的報(bào)文,就直接繼續(xù)發(fā)送,并不需要經(jīng)過(guò)令牌桶的處理;如果是需要進(jìn)行流量控制的報(bào)文,則會(huì)進(jìn)入令牌桶中進(jìn)行處理。如果令牌桶中有足夠的令牌可以用來(lái)發(fā)送報(bào)文,則允許報(bào)文通過(guò),報(bào)文可以被繼續(xù)發(fā)送下去。如果令牌桶中的令牌不滿足報(bào)文的發(fā)送條件,則報(bào)文被丟棄。這樣,就可以對(duì)某類報(bào)文的流量進(jìn)行控制。
在實(shí)際應(yīng)用中,CAR不僅可以用來(lái)進(jìn)行流量控制,還可以進(jìn)行報(bào)文的標(biāo)記(mark)或重新標(biāo)記(re-mark)。具體來(lái)講就是CAR可以設(shè)置IP報(bào)文的優(yōu)先級(jí)或修改IP報(bào)文的優(yōu)先級(jí),達(dá)到標(biāo)記報(bào)文的目的。
流量整型原理
通用流量整形(Generic Traffic Shaping,簡(jiǎn)稱GTS)可以對(duì)不規(guī)則或不符合預(yù)定流量特性的流量進(jìn)行整形,以利于網(wǎng)絡(luò)上下游之間的帶寬匹配。
GTS與CAR一樣,均采用了令牌桶技術(shù)來(lái)控制流量。GTS與CAR的主要區(qū)別在于:利用CAR在接口的出、入方向進(jìn)行報(bào)文的流量控制,對(duì)不符合流量特性的報(bào)文進(jìn)行丟棄;而GTS只在接口的出方向?qū)τ诓环狭髁刻匦缘膱?bào)文進(jìn)行緩沖,減少了報(bào)文的丟棄,同時(shí)滿足報(bào)文的流量特性,但增加了報(bào)文的延遲。
GTS的基本處理過(guò)程如下圖所示,其中用于緩存報(bào)文的隊(duì)列稱為GTS隊(duì)列。
圖10 GTS處理過(guò)程示意圖
物理接口總速率限制原理
利用物理接口總速率限制(Line Rate,簡(jiǎn)稱LR)可以在一個(gè)物理接口上,限制接口發(fā)送報(bào)文(包括緊急報(bào)文)的總速率。
LR的處理過(guò)程仍然采用令牌桶進(jìn)行流量控制。如果用戶在路由器的某個(gè)接口上配置了LR,規(guī)定了流量特性,則所有經(jīng)由該接口發(fā)送的報(bào)文首先要經(jīng)過(guò)LR的令牌桶進(jìn)行處理。如果令牌桶中有足夠的令牌可以用來(lái)發(fā)送報(bào)文,則報(bào)文可以發(fā)送。如果令牌桶中的令牌不滿足報(bào)文的發(fā)送條件,則報(bào)文入QoS隊(duì)列進(jìn)行擁塞管理。這樣,就可以對(duì)通過(guò)該物理接口的報(bào)文流量進(jìn)行控制。
LR的基本處理過(guò)程如下圖所示:
圖11 LR處理過(guò)程示意圖
其他提高QoS的技術(shù)
鏈路效率機(jī)制
鏈路效率機(jī)制,用于改善鏈路的性能,間接提高網(wǎng)絡(luò)的QoS,如降低鏈路發(fā)包的時(shí)延(針對(duì)特定業(yè)務(wù))、調(diào)整有效帶寬。鏈路效率機(jī)制有很多種,下面介紹兩種比較典型的鏈路效率機(jī)制及其基本原理。
1 鏈路分片與交叉(Link Fragment & Interleave,LFI)
對(duì)于低速鏈路,即使為語(yǔ)音等實(shí)時(shí)業(yè)務(wù)報(bào)文配置了高優(yōu)先級(jí)隊(duì)列(如RTP優(yōu)先隊(duì)列或LLQ),也不能夠保證其時(shí)延與抖動(dòng),原因在于接口在發(fā)送其他數(shù)據(jù)報(bào)文的瞬間,語(yǔ)音業(yè)務(wù)報(bào)文只能等待,而對(duì)于低速接口發(fā)送較大的數(shù)據(jù)報(bào)文要花費(fèi)相當(dāng)長(zhǎng)的時(shí)間。采用LFI以后,數(shù)據(jù)報(bào)文(非RTP實(shí)時(shí)隊(duì)列和LLQ中的報(bào)文)在發(fā)送前被分片、逐一發(fā)送,而此時(shí)如果有語(yǔ)音報(bào)文到達(dá)則被優(yōu)先發(fā)送,從而保證了語(yǔ)音等實(shí)時(shí)業(yè)務(wù)的時(shí)延與抖動(dòng)。LFI主要用于低速鏈路。
鏈路效率機(jī)制的工作原理圖如下所示:
圖12 LFI處理過(guò)程示意圖
如上圖所示,應(yīng)用LFI技術(shù),在大報(bào)文出隊(duì)的時(shí)候,可以將其分為定制長(zhǎng)度的小片報(bào)文,這就使RTP優(yōu)先隊(duì)列或LLQ中的報(bào)文不必等到大片報(bào)文發(fā)完后再得到調(diào)度,它等候的時(shí)間只是其中小片報(bào)文的發(fā)送時(shí)間,這樣就很大程度的降低了低速鏈路因?yàn)榘l(fā)送大片報(bào)文造成的時(shí)延。
2 RTP報(bào)文頭壓縮(RTP Header Compression,CRTP)
CRTP用于RTP(Real-time Transport Protocol)協(xié)議,對(duì)IP頭、UDP頭和RTP頭進(jìn)行壓縮,通常在低速鏈路上使用??蓪?0字節(jié)的IP/UDP/RTP頭壓縮到2~4個(gè)字節(jié)(不使用UDP校驗(yàn)和可到2字節(jié)),提高鏈路帶寬的利用率。CRTP主要得益于同一會(huì)話的語(yǔ)音分組頭和語(yǔ)音分組頭之間的差別往往是不變的,因此只需傳遞增量。
RTP協(xié)議用于在IP網(wǎng)絡(luò)上承載語(yǔ)音、視頻等實(shí)時(shí)多媒體業(yè)務(wù)。RTP報(bào)文包括頭部分和數(shù)據(jù)部分,RTP的頭部分包括:12字節(jié)的RTP頭,加上20字節(jié)的IP頭和8字節(jié)的UDP頭,就是40字節(jié)的IP/UDP/RTP頭;RTP數(shù)據(jù)部分典型載荷是20字節(jié)到160字節(jié)。為了避免不必要的帶寬消耗,可以使用CRTP特性對(duì)報(bào)文頭進(jìn)行壓縮。CRTP可以將IP/UDP/RTP頭從40字節(jié)壓縮到2~4字節(jié),對(duì)于40字節(jié)的載荷,頭壓縮到4字節(jié),壓縮比為(40+40)/(40+4),約為1.82,可見效果是相當(dāng)可觀的,可以有效的減少鏈路帶寬的消耗,尤其是低速鏈路。
RTP報(bào)文頭壓縮的處理過(guò)程如下圖所示:
圖13 CRTP處理過(guò)程示意圖
鏈路層QoS技術(shù)
鏈路層QoS技術(shù)主要針對(duì)ATM(Asynchronous Transfer Mode,異步傳輸模式)、幀中繼等鏈路層協(xié)議支持QoS。ATM作為一種面向連接的技術(shù),提供對(duì)QoS最強(qiáng)有力的支持,而且可以基于每個(gè)連接提供特定的QoS保證;幀中繼網(wǎng)絡(luò)確保連接的CIR(Committed Information Rate,承諾信息速率)最小,即在網(wǎng)絡(luò)擁塞時(shí),傳輸速度不能小于這個(gè)值。
1 ATM QoS
ATM是異步傳輸模式(Asynchronous Transfer Mode)的簡(jiǎn)稱,以信元為基本單位進(jìn)行信息傳輸、復(fù)接和交換。ATM信元具有53字節(jié)的固定長(zhǎng)度,其中5個(gè)字節(jié)構(gòu)成信元頭部,主要用來(lái)標(biāo)識(shí)虛連接,另外也完成了一些功能有限的流量控制,擁塞控制,差錯(cuò)控制等功能,其余48個(gè)字節(jié)是有效載荷。ATM是面向連接的交換,其連接是邏輯連接,即虛電路。每條虛電路(Virtual Circuit,VC)用虛路徑標(biāo)識(shí)符(Virtual Path Identifier,VPI)和虛通道標(biāo)識(shí)符(Virtual Channel Identifier,VCI)來(lái)標(biāo)識(shí)。一個(gè)VPI/VCI值對(duì)只具有本地意義,不具有全局有效性。它在ATM節(jié)點(diǎn)上被翻譯。當(dāng)一個(gè)連接被釋放時(shí),與此相關(guān)的VPI/VCI值對(duì)也被釋放,它被放回資源表,供其它連接使用。
ATM中每一條VC都有一定的QoS保障,這是由ATM的連接管理來(lái)實(shí)現(xiàn)的。當(dāng)用戶與網(wǎng)絡(luò)或網(wǎng)絡(luò)與網(wǎng)絡(luò)建立一個(gè)連接的時(shí)候,雙方就確定了一份通信契約,契約中包括流量參數(shù)和QoS參數(shù)兩部分。此通信契約為雙方所共識(shí),雙方必須遵守。流量參數(shù)包括峰值信元速率(PCR,Peak Cell Rate)、持續(xù)信元速率(SCR,Sustained Cell Rate)、最小信元速率(MCR,Minimum Cell Rate)以及最大突發(fā)量(MBS,Maximum Burst Size),它們描述業(yè)務(wù)本身的流量特性,又稱為源流量參數(shù)。QoS參數(shù)主要包括最大信元傳遞時(shí)延(MCTD,MeanCell Transfer Delay)、信元抖動(dòng)容限(CDVT,CellDelayVariationTolerance)和信元丟失率(CLR,Cell Loss Ratio), MCTD是信元從一個(gè)端點(diǎn)到另一個(gè)端點(diǎn)所需要的時(shí)間, CDVT是信元間隔的上限, CLR是可以接受的因網(wǎng)絡(luò)擁塞而導(dǎo)致信元丟失比例。
ATM端系統(tǒng)負(fù)責(zé)確保傳輸?shù)牧髁糠螿oS合同。ATM端系統(tǒng)通過(guò)緩沖數(shù)據(jù)來(lái)對(duì)流量進(jìn)行整形,并按約定的QoS參數(shù)傳輸通信。ATM交換機(jī)控制每個(gè)用戶的通信指標(biāo),并將其與QoS合同進(jìn)行比較。對(duì)于超過(guò)了QoS合同的通信,ATM節(jié)點(diǎn)可以設(shè)置信元的CLP(Cell Loss Priority,信元丟棄優(yōu)先級(jí))位。在網(wǎng)絡(luò)擁塞時(shí),CLP置位的信元被丟棄的可能性更大。
ATM網(wǎng)絡(luò)擁塞管理的基本思想在于:引入預(yù)防性控制措施,不再是出現(xiàn)擁塞之后再采取措施來(lái)消除擁塞,而是通過(guò)精心管理網(wǎng)絡(luò)資源來(lái)避免擁塞的出現(xiàn)。
2 FR QoS
FR(Frame Relay,幀中繼)是一種統(tǒng)計(jì)復(fù)用的協(xié)議,它能夠在單一物理傳輸線路上提供多條虛電路。每條虛電路用DLCI(Data Link Connection Identifier,數(shù)據(jù)鏈路連接標(biāo)識(shí))來(lái)標(biāo)識(shí)。每條虛電路通過(guò)LMI(Local Management Interface,本地管理接口)協(xié)議檢測(cè)和維護(hù)虛電路的狀態(tài)。
幀中繼采用VC(Virtual Circuit)虛電路技術(shù),即幀中繼傳送數(shù)據(jù)使用的傳輸鏈路是邏輯連接,而不是物理連接。虛電路是面向連接的,可以保證用戶幀按順序傳送至目的地。根據(jù)虛電路建立方式的不同,將幀中繼虛電路分為兩種類型:永久虛電路(PVC,Permanent Virtual Circuit)和交換虛電路(SVC,Switched Virtual Circuit)。PVC是手工設(shè)置產(chǎn)生的虛電路,而SVC是通過(guò)協(xié)議協(xié)商自動(dòng)創(chuàng)建和刪除的虛電路。
幀中繼報(bào)頭中的3個(gè)位提供了幀中繼網(wǎng)絡(luò)中的擁塞控制機(jī)制,這3個(gè)位分別叫做向前顯式擁塞通知(FECN,F(xiàn)orward Explicit Congestion Notification)位、向后顯式擁塞通知(BECN,Backward Explicit Congestion Notification)位和丟棄合格(DE,Discard Eligible)位??梢酝ㄟ^(guò)幀中繼交換機(jī)將FECN位置1來(lái)告知諸如路由器等目標(biāo)數(shù)據(jù)終端設(shè)備(DTE,Data Terminal Equipment),在幀從源傳送到目的地的方向發(fā)生了擁塞。幀中繼交換機(jī)將BECN位置1則告知目標(biāo)路由器,在幀從源傳送到目的地的反方向上發(fā)生了擁塞。DE位由路由器或其他DTE設(shè)備設(shè)置,指出被標(biāo)記的幀沒(méi)有傳輸?shù)钠渌麕敲粗匾趲欣^網(wǎng)絡(luò)中提供了一種基本的優(yōu)先級(jí)機(jī)制,如果發(fā)生擁塞時(shí),DE位置位的幀會(huì)被優(yōu)先丟棄。
幀中繼流量整形(FRTS,F(xiàn)rame Relay Traffic Shaping)對(duì)從幀中繼VC輸出的通信進(jìn)行整形,使之與配置速率一致,它將超出平均速率的分組放到緩沖區(qū)來(lái)使突發(fā)通信變得平滑。根據(jù)配置的排隊(duì)機(jī)制,當(dāng)有足夠的可用資源時(shí),這些緩沖的分組出隊(duì)并等候被傳輸。排隊(duì)算法是基于單個(gè)VC配置的,它只能針對(duì)接口的出站通信進(jìn)行設(shè)置。FRTS可對(duì)每個(gè)VC的流量進(jìn)行整形,將其峰值速率整形為承諾信息速率(CIR,Committed Information Rate)或其他定義的值,如超額信息速率(EIR,Excess Information Rate)。自適應(yīng)模式的FRTS還能夠根據(jù)收到的網(wǎng)絡(luò)BECN擁塞指示符降低幀中繼VC的輸出量,將PVC的輸出流量整形為與網(wǎng)絡(luò)的可用帶寬一致。
評(píng)論