阮少偉
(徐州工程學(xué)院 江蘇 徐州221006)
【摘要】本文運用OPNET網(wǎng)絡(luò)仿真方法,考察了在基于VoIP業(yè)務(wù)的網(wǎng)絡(luò)下,不同調(diào)度算法對各個業(yè)務(wù)時延性以及時延抖動性方面的影響,得出結(jié)論:PQ調(diào)度算法以犧牲低優(yōu)先級業(yè)務(wù)帶寬的代價,滿足了高優(yōu)先級業(yè)務(wù)的時延性以及時延抖動性,因此最適合處理VoIP等實時性較強的業(yè)務(wù)。
【關(guān)鍵詞】列隊調(diào)度算法;VoIP電話;OPNET網(wǎng)絡(luò)仿真
一. VoIP電話系統(tǒng)的介紹
VoIP系統(tǒng)是近年來發(fā)展起來的基于分組網(wǎng)絡(luò)傳送語音信號的新型電信業(yè)務(wù)。與傳統(tǒng)電話相比,IP電話具有價格低廉,可方便開展各種增值業(yè)務(wù)的優(yōu)勢。
與VoIP相關(guān)的協(xié)議主要有ITU-T的H.323協(xié)議、IETF的SIP協(xié)議等,而支持H.323協(xié)議的IP電話系統(tǒng)是新一代寬帶IP網(wǎng)絡(luò)通信的主流設(shè)備,該系統(tǒng)主要包括終端、網(wǎng)關(guān)、網(wǎng)守、多點控制單元等。在H.323系統(tǒng)中不同領(lǐng)域可以存在一個或多個網(wǎng)守并且它們之間可以相互通訊。所有的H.323終端設(shè)備都必須在其所屬領(lǐng)域的網(wǎng)守注冊以獲得H.323協(xié)議的應(yīng)用。
二.調(diào)度算法的介紹。
在目前常用的隊列調(diào)度算法中,目前較為常用的有4種類型;先入先出隊列(FIFO)、優(yōu)先級隊列(PQ)、加權(quán)循環(huán)隊列(WRR)以及加權(quán)公平隊列(WFQ)。
1.先入先出(First In First Out)
FIFO(First In First Out)算法是一種基本的隊列調(diào)度算法,也是目前路由器上最常用的一種調(diào)度策略。在這種調(diào)度策略下,分組進入隊列的順序與被傳輸?shù)捻樞蛳嗤?。通過將分組放置到一個隊列中,并按照它們到達的先后順序?qū)λ鼈冞M行調(diào)度。
該算法的特點是:隊列管理簡單,調(diào)度實現(xiàn)方便,且不需要對分組進行重排序。其缺點是:不能夠?qū)τ胁煌?wù)等級要求的業(yè)務(wù)區(qū)別對待,即不能對不同流提供區(qū)分服務(wù);不能實現(xiàn)對UDP和TCP之間的公平性;當(dāng)擁塞發(fā)生時,所有的業(yè)務(wù)流的平均排隊時延都增加,所以這種隊列調(diào)度方式對所有業(yè)務(wù)流影響都是一樣的。
2.加權(quán)循環(huán)(Weighted Round Robin)
WRR(Weighed Round Robin)算法是將交換芯片的各個端口分為多個優(yōu)先級,其優(yōu)先級的劃分可以根據(jù)服務(wù)類型或業(yè)務(wù)屬性,隊列之間采用的是輪流調(diào)度機制,從而保證了每個隊列都會得到一定的服務(wù)時間。
WRR為每個隊列都配置了一個加權(quán)值,其代表著獲取資源的比重。如一個10M的4隊列端口,假設(shè)它的WRR隊列調(diào)度算法為其配置的加權(quán)值分別為50、30、10、10,則在調(diào)度時,從高到低優(yōu)先級隊列分別獲得帶寬為5Mbits/s、3 Mbits/s、1 Mbits/s、1 Mbits/s,這樣就可以保證最低優(yōu)先級隊列至少獲得1 Mbits/s的帶寬。
WRR為所有業(yè)務(wù)隊列服務(wù),并且將優(yōu)先權(quán)分配給較高優(yōu)先級隊列。在大多數(shù)情況下,WRR首先處理的是高優(yōu)先級數(shù)據(jù),但是當(dāng)高優(yōu)先級業(yè)務(wù)超出鏈路容量時,較低優(yōu)先級的業(yè)務(wù)并不會因此而完全阻塞。WRR的另一個優(yōu)點是:盡管多個隊列調(diào)度是輪循進行的,但并不是每個隊列都固定地分配服務(wù)時間片,倘若某個隊列為空,則會立即轉(zhuǎn)換到下一個隊列調(diào)度,而不會在該空隊列上停留,從而使帶寬資源得到充分的利用。
這種算法比較適合用于一般網(wǎng)絡(luò)通信,既能為高優(yōu)先級業(yè)務(wù)提供高帶寬,同時也避免了低優(yōu)先級業(yè)務(wù)餓死。
3. 加權(quán)公平隊列(Weighted Fair Queue)
WFQ(Weighted Fair Queue)算法是一種基于數(shù)據(jù)流的排隊算法,它提供了動態(tài)的、公平的排隊方式,基于權(quán)重來劃分通信隊列的帶寬。該算法根據(jù)源和目標(biāo)地址,不同的協(xié)議和會話端口號等特性將所有數(shù)據(jù)流分成不同的類型,賦予相應(yīng)的加權(quán)系數(shù),并分配對應(yīng)的帶寬。在缺省狀態(tài)下,WFQ盡量限制大流量的通信從而保護小流量及連接不暢的通信,達到讓所有數(shù)據(jù)流使用相等網(wǎng)絡(luò)資源的目的。
WFQ算法的優(yōu)點是對所有應(yīng)用都能比較公平地提供服務(wù)質(zhì)量,對于要求較高的業(yè)務(wù)則可以通過設(shè)置權(quán)重保障優(yōu)先級,能智能劃分和調(diào)度隊列,配置相對簡單。缺點是由于相對公平,因此不會保證提供對QoS要求很高的應(yīng)用,同時算法計算復(fù)雜,比較消耗交換芯片的處理能力。而且WFQ不具備一個針對個別數(shù)據(jù)流進行控制的機制,因此也無法為每一個數(shù)據(jù)流提供帶寬的保證。
加權(quán)公平隊列算法適用于應(yīng)用較復(fù)雜,且應(yīng)用相對公平的網(wǎng)絡(luò)。
4. 優(yōu)先級隊列(Priority Queue)
PQ(Priority Queue)算法是根據(jù)業(yè)務(wù)屬性定義各自的優(yōu)先級別,并且在調(diào)度處理時,先處理高優(yōu)先級業(yè)務(wù)。若交換工作在第二層時,則可使用MAC數(shù)據(jù)包頭的三個字段(源地址、目的地址、標(biāo)記號)來區(qū)分業(yè)務(wù)的級別;對于三層,則可通過使用IP包頭的五個字段(源地址、目的地址、源端口、目的端口和上層協(xié)議號)來區(qū)分業(yè)務(wù)的級別。
在實施隊列調(diào)度時,PQ嚴格按照優(yōu)先級從高到低的次序優(yōu)先發(fā)送較高優(yōu)先級隊列的數(shù)據(jù),當(dāng)較高優(yōu)先級隊列為空后,再發(fā)送較低優(yōu)先級隊列中的數(shù)據(jù)。PQ特別適合與對延遲抖動較敏感的應(yīng)用,采用優(yōu)先模式進行隊列調(diào)度,可以讓關(guān)鍵業(yè)務(wù)如音頻、視頻業(yè)務(wù)的報文進入最高優(yōu)先級隊列,保證在擁塞時總是獲得轉(zhuǎn)發(fā)服務(wù)。
采用該算法調(diào)度時,只要高優(yōu)先級隊列中還有數(shù)據(jù)包,低優(yōu)先級隊列便得不到調(diào)度。該算法優(yōu)點是配置簡單,絕對保證高優(yōu)級應(yīng)用的帶寬;缺點時不能保證高優(yōu)先級以外的服務(wù)得到合理帶寬,甚至?xí)I死,從而不能公平地保證各種應(yīng)用地服務(wù)質(zhì)量。
三.OPNET對有關(guān)算法的仿真
為了驗證隊列調(diào)度管理算法的相關(guān)應(yīng)用,我們以O(shè)pnet10.0為軟件平臺,在此基礎(chǔ)上對Diffserv機制的隊列調(diào)度管理進行仿真計算。整個需要驗證的網(wǎng)絡(luò)同時會運行四種業(yè)務(wù),每種業(yè)務(wù)都設(shè)有不同的優(yōu)先級別,并設(shè)置了相應(yīng)的PHB轉(zhuǎn)發(fā)方式。圖1為需要驗證的網(wǎng)絡(luò)拓撲結(jié)構(gòu),其中,交換機A,交換機B分別以10M以太網(wǎng)接口與四種業(yè)務(wù)終端相連。路由器A,路由器B為邊緣路由器,路由器A_1,路由器A_2為中間路由器,它們之間以E1接口相連,構(gòu)成Diffserv域。
確定好網(wǎng)絡(luò)拓撲以后,就需要對四種不同業(yè)務(wù)的Diffserv模型進行配置了。首先要進行配置的是四種不同業(yè)務(wù)所對應(yīng)的PHB模型。我們假設(shè)節(jié)點6到節(jié)點8為我們所要關(guān)心的VoIP電話業(yè)務(wù),因此選定其應(yīng)用模式為Voice over IP Call(PCM Quality) ,根據(jù)IP語音電話對實時性要求較高,對時延、時延抖動要求敏感的特點,我們將此節(jié)點對設(shè)置為EF PHB類型,同時將語音編碼方式設(shè)為G.711編碼方式。同理,我們把其余三節(jié)點對分別設(shè)為AF11,AF13,BE PHB類型,其對應(yīng)的業(yè)務(wù)分別假定為Video、Http、Ftp。在選擇調(diào)度算法方式上,這里主要設(shè)置了四種不同的場景,分別對應(yīng)著:FIFO,WFQ,WRR以及PQ算法,業(yè)務(wù)的QoS配置選擇的是基于DSCP模式(FIFO除外)。每個終端配置該業(yè)務(wù)所對應(yīng)的DSCP值,邊緣路由器通過DSCP值對業(yè)務(wù)進行分類,并將DSCP值映射到相應(yīng)的PHB中,中間路由器再根據(jù)設(shè)、定的PHB方式進行轉(zhuǎn)發(fā)。四種業(yè)務(wù)VoIP、Video、Http、Ftp的 PHB映射關(guān)系分別為EF、AF11、AF13、BE;DSCP映射關(guān)系分別為1011110、1011110、001010、000000;其中WFQ分配的參數(shù)權(quán)值分別為60、30、10、5;WRR所分配的參數(shù)權(quán)值分別為60、25、10、5;PQ所配備的優(yōu)先級分別為High、Medium、Normal、Low。
因為本文主要考慮的是VoIP業(yè)務(wù),所以O(shè)pnet的仿真統(tǒng)計變量的收集主要是考慮語音傳輸在整個網(wǎng)絡(luò)拓撲中的實時性,其中包括語音傳輸時延及時延抖動。Opnet仿真中時間設(shè)為1000s。整個仿真結(jié)果如下組圖示,圖2、3分別顯示了整個網(wǎng)絡(luò)拓撲中的語音端到端時延以及時延抖動。
從上兩圖可以看出,當(dāng)發(fā)生網(wǎng)絡(luò)擁塞時,與其它算法相比,PQ算法可以以犧牲低優(yōu)先級業(yè)務(wù)帶寬,甚至使其餓死為代價,有效地保護整個網(wǎng)絡(luò)拓撲中的高優(yōu)先級業(yè)務(wù),從而縮短語音包的端到端平均時延以及時延抖動。
參考文獻
[1]. 張海燕 阮方 IP電話系統(tǒng)網(wǎng)守的研究與實現(xiàn) 計算機與網(wǎng)絡(luò) 2003年2期,134
[2]. 袁琦 緞世惠 Diffserv機制的研究及其仿真 電信網(wǎng)技術(shù) 2003(2)9-10
[3]. 孫屹 夢晨 OPNET通信仿真開發(fā)手冊 北京:國防工業(yè)出版社 2005
[4]. 王文博 張金文 OPNET Modeler與網(wǎng)絡(luò)仿真 北京:人民郵電出版社 2003
[5]. 陳敏 OPNET 網(wǎng)絡(luò)仿真北京:清華大學(xué)出版社 2004
[6]. 姜國臣 譚賢四等著 排隊規(guī)則對FTP,Viedo,VoIP應(yīng)用的性能影響 現(xiàn)代電子技術(shù) 2006(5),50-51