摘 要: 區(qū)分服務(DiffServ)體系是未來IP QoS研究的主要發(fā)展方向,在區(qū)分服務的體系下,隊列調度是實現(xiàn)IP QoS的核心技術。在深入研究區(qū)分服務體系下的基本分組調度算法優(yōu)缺點的基礎上,提出一種改進算法,以隊列分組的延遲特性,保證實時業(yè)務的實時特性。對改進算法進行了仿真,在多約束下,對性能進行了評價。
關鍵詞: 服務質量;區(qū)分服務;調度算法;實時特性
隨著Internet網絡的迅猛發(fā)展,促使了各種基于Internet應用的數量呈指數級增長,業(yè)務種類同時也發(fā)生了很大的變化,已經從單一數據向集成數據、視頻語音、圖像等多種業(yè)務轉變,例如:語音(VoIP)、VoD(Video on Demand)以及視頻會議等。這些新應用對網絡的帶寬、延遲、抖動等都有一定的要求,而傳統(tǒng)的盡力而為網絡不能較好地滿足這些新業(yè)務在帶寬和時延等方面的具體需求?;诖耍疚奶岢鍪褂肣oS技術來保證網絡的傳輸質量。QoS 技術并沒有擴充網絡的帶寬,只是根據業(yè)務的需求以及網絡狀況來管理帶寬,實現(xiàn)帶寬的優(yōu)化。IETF在1997年9月制定了有關QoS 定義和服務的一系列RFC 標準,并提出了區(qū)分服務(DiffServ)[1]模型的解決方案。在此模型中,它將IP服務類型(ToS)字段改名為DS,并用它承載IP包服務所要求的信息,是嚴格意義上的第三層技術。區(qū)分業(yè)務主要通過兩個機制來完成:DS標記和一個包轉發(fā)處理庫集合的每跳行為PHB(Per-Hop-Behavior)。通過對一個包DS字段的不同標記以及基于DS字段的處理,就能夠產生一些不同的服務級別。IP包頭中的DSCP(區(qū)分服務標記字段)是DS區(qū)域的邊緣節(jié)點和核心節(jié)點之間傳遞流匯聚信息的媒介,是連接邊界的傳輸分類和調節(jié)機制與內部PHB的橋梁。
網絡QoS控制的實質在于資源的管理,即控制緩沖隊列、鏈路帶寬等網絡資源的分配與使用。隊列管理在網絡傳輸控制中發(fā)揮著相當大的作用,是網絡QoS控制的核心技術之一,也是實現(xiàn)網絡擁塞控制的重要手段,是當前QoS研究的熱點。本文采取DWRR_PQ的調度算法可以為EF業(yè)務提供低延遲、低抖動及對帶寬的要求的服務,將EF業(yè)務和其他業(yè)務進行很好的隔離,避免BE業(yè)務可能出現(xiàn)的“饑餓”現(xiàn)象。
1 基于DiffServ的隊列調度策略
目前最常使用的隊列調度算法有PQ、WRR、DWRR等。PQ算法的高優(yōu)先級隊列的分組總是優(yōu)先得到調度,低優(yōu)先級隊列的分組只能在高優(yōu)先級隊列分組被調度結束之后才會得到服務,否則是得不到服務的。所以該算法能夠給優(yōu)先級高的業(yè)務數據報文提供低延遲和低抖動網絡性能,而低優(yōu)先級的報文可能出現(xiàn)“饑餓”現(xiàn)象。WRR算法:對于所有的業(yè)務流在排隊等待調度的隊列WRR是根據每個隊列配置的權值與所有的業(yè)務流在排隊等待調度的隊列的權值總和的比來平等地分配帶寬的,克服了PQ調度算法的低優(yōu)先級隊列可能出現(xiàn)長期的“饑餓”現(xiàn)象。同時WRR還可以提供類似公平隊列算法的公平性、實現(xiàn)過程比較簡單和算法的復雜度只有O(1),且適用在高速網絡下。但是由于該算法輪詢服務的特征,從而不能保證EF業(yè)務的低延遲、低抖動的性能,不能支持包長度的變化,一旦調度長度不一樣的數據包就會導致分組長的隊列會得到更多的帶寬資源,出現(xiàn)不公平的現(xiàn)象。DWRR算法:是基于WRR的一種算法,它分配給每一個隊列的權值不是分組的個數,而是分組的比特數,當前輪詢剩下的比特數會留到下一次的輪詢中去?;镜恼{度過程與WRR算法是一樣的,但是它提供的帶寬分配細度會更加公平,而它的復雜度與WRR一樣。DWRR與WRR有同樣的缺點,即對于在同一個隊列的報文沒有優(yōu)先級的區(qū)分,對于這種“微公平”性沒有很好的保證,并且對EF業(yè)務的低延時和低抖動也沒有很好的保證[2]。
本文的調度算法主要由流量調節(jié)器和DWRR_PQ分組調度器兩部分組成。為了避免EF業(yè)務流量霸占過多的帶寬資源,采用了令牌桶算法作為流量調節(jié)器來控制EF業(yè)務的流量。同時為了滿足EF業(yè)務的低延時抖動的性能還是采用了優(yōu)先級算法,能夠為最高優(yōu)先級的EF業(yè)務提供最佳的服務。但是由PQ算法的缺點可以看出,這樣做有可能會使低優(yōu)先級的業(yè)務長時間得不到服務,處于“饑餓”的狀態(tài)[3]。因此,分組調度器的算法是通過將DWRR算法和優(yōu)先級算法相結合來實現(xiàn)的,區(qū)分服務模型是將大量的復雜性工作放在邊緣路由器中來完成以達到伸縮性強的特點。邊緣路由器雖然會降低流量的容量但是并不會減少流的數目,同時使服務基于匯聚流,從而使核心路由器的工作僅限于簡單的業(yè)務判斷并轉發(fā)匯聚數據流。所以該調度策略適用于邊緣路由器的隊列調度,而核心路由器的調度策略就是該調度策略的簡化,即不會包括令牌桶的流量調節(jié)器[4]。當分組到達區(qū)分服務域時,邊緣路由器首先會對該分組進行分類和調度。如果該分組被標記為EF業(yè)務,那么它就必須經過流量控制的令牌桶過濾,若令牌桶中有令牌則符合流量要求,就會通過PQ調度,被送到高優(yōu)先級隊列進行轉發(fā);否則該分組就會被降級處理重新標記,并且同時轉到其他隊列中去接受DWRR算法的調度。如果到達的分組數據包被標記為其他的非EF業(yè)務,那么它首先就要接受DWRR算法的調度,被DWRR調度后再會被發(fā)送到PQ算法中的優(yōu)先級或低優(yōu)先級隊列中進行排隊調度等待優(yōu)先級調度器的調度。在上述算法原理分析中,最高優(yōu)先級的EF業(yè)務分組總是優(yōu)先得到服務,但是由于它的流量會受到令牌桶算法的控制,并不會占用整個帶寬的資源,因此低優(yōu)先級業(yè)務的隊列并不會出現(xiàn)“饑餓”狀態(tài)。本文調度算法提高了網絡的性能,滿足了QoS對EF業(yè)務在低延時、低抖動和公平性及對低優(yōu)先級的業(yè)務的資源分配不合理現(xiàn)象[5]的要求。
DWRR-PQ算法調度原理如圖1所示。

2.1 調度算法對EF業(yè)務吞吐量的仿真
利用網絡仿真軟件OPNET實現(xiàn)了該算法。由圖3可知,DWRR_PQ調度算法對EF業(yè)務的吞吐量與PQ算法非常接近,一般都是在500 packets處上下波動,波動范圍較小。而在WRR算法下的EF業(yè)務吞吐量波動較大,范圍在494 paeket~502 paeket之間。DWRR_PQ算法對EF業(yè)務的吞吐量的支持率比WRR要好。

2.2 調度算法對EF業(yè)務延遲抖動的仿真
在網絡中傳輸EF業(yè)務時要求其具有低延遲和低抖動的性能。由圖4所示可以看出,PQ調度和DWRR_PQ調度的端到端延遲都是在11.6 ms上下波動,而WRR的延遲比較高,在17 ms~18 ms之間波動。由這些數據可知,PQ和DWRR_PQ算法端到端的延遲比WRR算法低7 ms~8 ms左右,性能有很大的提高。同時由圖4還可以看出三種調度算法下EF業(yè)務通信量的延遲抖動的情況。PQ算法和DWRR_PQ算法下,EF業(yè)務通信量的延遲變化范圍一般是在0.1 ms左右,而WRR算法的延遲的變化大約在0.2 ms??梢奃WRR_PQ算法對EF業(yè)務的隊列延遲和抖動有很好的保證。

2.3 調度算法對BE業(yè)務支持的仿真
由圖5可知,PQ調度算法沒有數據(只有DWRR_PQ算法和WRR算法有數據),這是由PQ算法的特點決定的,當有BE業(yè)務流時,PQ調度器會將該業(yè)務分配給最低的優(yōu)先級,再有高優(yōu)先級時不會對低優(yōu)先級的業(yè)務進行調度,使低優(yōu)先級的業(yè)務處于“饑餓”狀態(tài),采集不到BE的數據,從而使PQ算法的接收方不會接收到BE的數據。同時從圖中還可以看出,WRR算法對BE通信量的支持比DWRR_PQ方案還要好。

經過對仿真結果的分析,就EF業(yè)務隊列的吞吐量、延遲和延遲抖動而言,DWRR_PQ算法的調度性能都要好于WRR算法;與PQ機制相比,DWRR_PQ降低了BE業(yè)務有可能處于“饑餓”狀態(tài)的問題。
本文提出了一種基于區(qū)分服務(DiffServ)的擁塞管理的隊列調度策略,滿足了區(qū)分服務業(yè)務的EF業(yè)務流對網絡的性能要求。仿真結果顯示了本算法實現(xiàn)了為EF業(yè)務提供低延遲、低抖動及對帶寬要求的服務,將EF業(yè)務和其他業(yè)務進行很好的隔離,避免了BE業(yè)務可能出現(xiàn)的“饑餓”現(xiàn)象,說明了本文提出的調度策略對區(qū)分服務體系的隊列調度有較好的支持。
參考文獻
[1] 林闖.計算機網絡的服務質量(QoS)[M].北京:科學出版社,2004.
[2] PITSILLIDES A, IAMBERT J. Adaptive congestion control in ATM based networks: Quality of service and high utilixation[J]. Computer, Communication, 1997(20):1239-1258.
[3] PETERSON L L, DAVIE B S. Computer networks: a system approach(second wdition)[M]. 北京: 機械工業(yè)出版社, 2002.
[4] GUFFENS V, BASTIN G. Fluid flow network modeling for hop-by-hop feedback control of a multicast stream[C]. Benelux Meeting, 2003.
[5] GOYAL P, VIN H M, CHEN H. Start-time fair queuing: a scheduling algorithm for integrated services[J]. IEEE/ACM Transactions on Networking, 1997,5(5):690-704.
