FIFO隊列原理簡述 擁塞避免原理
擁塞管理是指網(wǎng)絡(luò)在發(fā)生擁塞時,如何進(jìn)行管理和控制。FIFO隊列不對報文進(jìn)行分類,按報文到達(dá)接口的先后順序讓報文進(jìn)入隊列,采用盡力而為的轉(zhuǎn)發(fā)模式,PQ隊列是針對關(guān)鍵業(yè)務(wù)應(yīng)用設(shè)計的。
雖然流量分類幾乎可以根據(jù)報文的任何字段進(jìn)行,但是流量分類標(biāo)記則一般只對802.1Q 以太網(wǎng)幀的CoS域、IP報文的ToS域、MPLS報文的EXP域進(jìn)行標(biāo)記。流量的標(biāo)記主要的目的就是讓其他處理此報文的應(yīng)用系統(tǒng)或設(shè)備知道該報文的類別,并根據(jù)這種類別對報文進(jìn)行一些事先約定了的處理。
例如,在網(wǎng)絡(luò)的邊界做如下分類和標(biāo)記:
1)所有VoIP數(shù)據(jù)報文聚合為EF業(yè)務(wù)類,將報文的IP優(yōu)先級標(biāo)記為5,或者將DSCP值標(biāo)記為EF;
2)所有VoIP控制報文聚合AF業(yè)務(wù)類,將報文的IP優(yōu)先級標(biāo)記為4,或者將DSCP值標(biāo)記為AF31。
當(dāng)報文在網(wǎng)絡(luò)邊界被標(biāo)記分類之后,在網(wǎng)絡(luò)的中間節(jié)點,就可以根據(jù)標(biāo)記,對不同類別的流量給予差別服務(wù)了。例如:對上述例子中的EF類業(yè)務(wù)保證時延和減少抖動,同時進(jìn)行流量監(jiān)管;對AF業(yè)務(wù)類在網(wǎng)絡(luò)擁塞時仍然保證一定的帶寬,等等。
擁塞管理技術(shù)原理 1 擁塞管理基本概念在計算機(jī)數(shù)據(jù)通信中,通信信道是被多個計算機(jī)共享的,并且,廣域網(wǎng)的帶寬通常要比局域網(wǎng)的帶寬小,這樣,當(dāng)一個局域網(wǎng)的計算機(jī)向另一個局域網(wǎng)的計算機(jī)發(fā)送數(shù)據(jù)時,由于廣域網(wǎng)的帶寬小于局域網(wǎng)的帶寬,數(shù)據(jù)將不可能按局域網(wǎng)發(fā)送的速度在廣域網(wǎng)上傳輸。此時,處在局域網(wǎng)和廣域網(wǎng)之間的路由器將不能發(fā)送一些報文,即網(wǎng)絡(luò)發(fā)生了擁塞。
如下圖所示,當(dāng)公司分支1向公司總部以100M的速度發(fā)送數(shù)據(jù)時,將會使Router2的串口S0/1發(fā)生擁塞。
圖1 實際應(yīng)用中的擁塞實例
擁塞管理是指網(wǎng)絡(luò)在發(fā)生擁塞時,如何進(jìn)行管理和控制。處理的方法是使用隊列技術(shù)。將所有要從一個接口發(fā)出的報文進(jìn)入多個隊列,按照各個隊列的優(yōu)先級進(jìn)行處理。不同的隊列算法用來解決不同的問題,并產(chǎn)生不同的效果。常用的隊列技術(shù)有FIFO、PQ、CQ、WFQ、CBWFQ等,下文逐一介紹這些常用隊列技術(shù)的基本原理。
2 FIFO隊列原理簡述FIFO(First In First Out,先進(jìn)先出)隊列示意圖如下所示:
圖2 FIFO隊列示意圖
FIFO隊列不對報文進(jìn)行分類,當(dāng)報文進(jìn)入接口的速度大于接口能發(fā)送的速度時,F(xiàn)IFO按報文到達(dá)接口的先后順序讓報文進(jìn)入隊列,同時,F(xiàn)IFO在隊列的出口讓報文按進(jìn)隊的順序出隊,先進(jìn)的報文將先出隊,后進(jìn)的報文將后出隊。
FIFO隊列具有處理簡單,開銷小的優(yōu)點。但FIFO不區(qū)分報文類型,采用盡力而為的轉(zhuǎn)發(fā)模式,使對時間敏感的實時應(yīng)用(如VOIP)的延遲得不到保證,關(guān)鍵業(yè)務(wù)的帶寬也不能得到保證。
3 PQ原理簡述PQ(Priority Queuing,優(yōu)先隊列)示意圖如下所示:
圖3 PQ隊列示意圖
PQ隊列是針對關(guān)鍵業(yè)務(wù)應(yīng)用設(shè)計的。關(guān)鍵業(yè)務(wù)有一個重要特點,需要在擁塞發(fā)生時要求優(yōu)先獲得服務(wù)以減少響應(yīng)的延遲。PQ可以根據(jù)網(wǎng)絡(luò)協(xié)議(如IP、IPX)、數(shù)據(jù)流入接口、報文長短、IP報文的ToS、五元組(協(xié)議ID、源IP地址、目的IP地址、源端口號、目的端口號)等條件進(jìn)行分類,對于MPLS網(wǎng)絡(luò),則根據(jù)MPLS報文EXP域值進(jìn)行分類。最終將所有報文分成最多4類,分別屬于PQ的4個隊列中的一個,然后,按報文所屬類別將報文送入相應(yīng)的隊列。
PQ的4個隊列分別為高優(yōu)先隊列、中優(yōu)先隊列、正常優(yōu)先隊列和低優(yōu)先隊列,它們的優(yōu)先級依次降低。在報文出隊的時候,PQ首先讓高優(yōu)先隊列中的報文出隊并發(fā)送,直到高優(yōu)先隊列中的報文發(fā)送完,然后發(fā)送中優(yōu)先隊列中的報文,同樣,直到發(fā)送完,然后是正常優(yōu)先隊列和低優(yōu)先隊列。這樣,分類時屬于較高優(yōu)先級隊列的報文將會得到優(yōu)先發(fā)送,而較低優(yōu)先級的報文將會在發(fā)生擁塞時被較高優(yōu)先級的報文搶占。這樣會使得實時業(yè)務(wù)(如VoIP)的報文能夠得到優(yōu)先處理,非實時業(yè)務(wù)(如E-Mail)的報文在網(wǎng)絡(luò)處理完關(guān)鍵業(yè)務(wù)后的空閑間隙得到處理,既保證了實時業(yè)務(wù)的優(yōu)先,又充分利用了網(wǎng)絡(luò)資源。
PQ的缺點是,當(dāng)較高優(yōu)先級隊列中總有報文存在時,則低優(yōu)先級隊列中的報文將一直得不到服務(wù),出現(xiàn)隊列“餓死”現(xiàn)象。