張旋
(南京郵電大學 物聯(lián)網研究院,江蘇 南京 210003)
隨著人們對網絡應用的多樣化需求的增長,特別是對數(shù)據(jù)、語音、視頻的網絡多媒體應用的需求急劇的增長,Internet中盡力而為傳輸模式已無法滿足各種多媒體應用和用戶對網絡傳輸質量的要求。盡力發(fā)送服務不區(qū)分業(yè)務種類,只是將網絡資源公平地分配給各類業(yè)務,這種機制無法保證網絡層傳輸?shù)膮?shù),而丟失率、帶寬、時延等對于應用業(yè)務是至關重要的。因此,以提高網絡資源利用效率、為用戶提供高質量服務作為目標的QoS研究是當前Internet領域的重要研究課題。
基于業(yè)務識別的QoS路由模型根據(jù)不同的安全/QoS路由策略劃分不同的業(yè)務類,并給各業(yè)務類數(shù)據(jù)包標志 DSCP(Diffserv Code Points)值,實現(xiàn)策略可配置的可信路由,達到區(qū)分服務的目的。
服務質量 QoS(Quality of Service)在 RFC2386中的定義為:網絡在傳輸流數(shù)據(jù)時必須滿足的一系列服務需求。這里,流數(shù)據(jù)指的是從源地址到目的地址以一定的服務質量進行傳輸?shù)臄?shù)據(jù)流。不同的業(yè)務對網絡的性能要求也不盡相同,這種要求可以用一種統(tǒng)一的QoS參數(shù)來表示,包括:可靠性、時延、時延抖動、丟包率、吞吐量等。
各種業(yè)務經過網絡時,不同的業(yè)務對網絡的要求是不同的,不同的業(yè)務級別對指標要求也不一樣。為了保證用戶業(yè)務在網絡中的性能,將業(yè)務劃分為不同的等級,如表1所示。
表1 業(yè)務分類和等級映射
路由器在精確識別和分類數(shù)據(jù)包的業(yè)務類型之后,對它進行標注處理,確保網絡上的交換機或路由器等網絡設備可以對該應用數(shù)據(jù)包按優(yōu)先級進行路由選擇。根據(jù)制定的QoS策略所對應的業(yè)務類別和相應的優(yōu)先等級,參照 RFC2474[1]和 RFC2475[2]中的 DS字段,設定 6位區(qū)分服務編碼點域,標志相應的DSCP值,DS字段結構如圖1所示。當前路由器和相應的后繼路由器就可根據(jù)設定的DSCP值和可信路由策略之間的對應關系作相應的策略路由處理。
圖1 DS字段結構
基于業(yè)務識別的QoS路由模型如圖2所示。整個系統(tǒng)分為3個模塊:智能業(yè)務識別與流量控制、數(shù)據(jù)包標志和基于業(yè)務識別的QoS路由。首先,按照網絡的實際需求制定安全/QoS策略,基于業(yè)務識別的QoS路由模型根據(jù)不同的QoS路由策略劃分不同的業(yè)務類,不同的業(yè)務類具有不同的路由度量,如帶寬、時延、丟包率等,并給各業(yè)務類數(shù)據(jù)包標志DSCP值,根據(jù)不同的DSCP值或路由度量參數(shù)選擇合適的路由算法,實現(xiàn)策略可配置的QoS路由,達到區(qū)分服務的目的[6]。
圖2 基于業(yè)務智能識別的QoS路由模型
總體上說,基于智能業(yè)務識別的QoS路由模型根據(jù)不同的QoS路由策略劃分不同的業(yè)務類[4],并給各業(yè)務類數(shù)據(jù)包標志DSCP值,根據(jù)DSCP值選擇路由。其簡化的邏輯如圖3所示。
圖3 基于智能業(yè)務識別的QoS路由邏輯
如圖2所示,業(yè)務流經過DSCP分類器,根據(jù)DSCP值被分成主動隊列 1,2,…,n,每個隊列都有各自的隊列標識指針,該指針指向該隊列的具體路由表,根據(jù)路由表轉發(fā)數(shù)據(jù)包。路由結構如圖4所示。
圖4 路由結構
如表1所示,在各種業(yè)務中對QoS的要求有所不同,實際上,在QoS路由選擇中,要對所有的 QoS參數(shù)進行優(yōu)化是不太可能的,本文在進行QoS路由的優(yōu)化選擇時,以帶寬、時延、時延抖動和丟包率為主要的優(yōu)化選擇。
據(jù)統(tǒng)計,全國有一半以上的耕地缺少灌溉設施,而現(xiàn)有的農田水利工程也因老化失修,難以發(fā)揮其價值,效益衰減。大部分地區(qū)在旱災發(fā)生時直接抽取地下水進行灌溉,通過這一途徑將水從含水層中轉移走的速度要快于水流入含水層使其得到補充的速度,一旦地下含水層干涸,干旱過后的降雨必須持續(xù)很長時間,讓雨水充分滲透,這樣水才能向下滴流,使流失的地下水重新恢復。因此,不合理的抗旱灌溉制度加大了干旱可恢復性的難度,甚至超出地下水資源的承載能力,致使隱性干旱的發(fā)生。
[3]提出了一種多可加性條件下端到端的QoS路由算法,先將包丟失率條件轉化為可加性條件,再將帶寬和費用作為剪枝條件,搜索出合適的路徑。本文對參考文獻[5]提出的算法進行了改進:首先,調整了剪枝的條件,不考慮費用條件;其次,對滿足條件的路徑按照時延進行升序排序。包丟失率轉換為可加性條件的轉換過程如下:
其中,packet_lost(n)表示在任一網絡節(jié)點(n∈V)的丟包率函數(shù),packet_lost(e)表示任一鏈路(e∈V)的丟包率函數(shù)。
該算法中最重要的數(shù)據(jù)結構是為搜索建立一個堆棧,用此堆棧保存已經搜索過的路徑相關信息,假設源節(jié)點為 s,堆棧為 Q,棧首元素為q0。
改進的算法描述如下:
步驟1:變量初始化,給結構體q0賦初值;
步驟2:用改進的Dijkstra算法,求出節(jié)點到目的節(jié)點的最小值,如最小時延、最小時延抖動和最小丟包率;
步驟 3:將棧首 q0壓入堆棧 stack;
步驟4:當棧非空時,若鄰節(jié)點的性能滿足QoS要求,則將該節(jié)點記入QoS路徑中;
步驟5:對所有滿足條件的鄰節(jié)點,按時延進行升序排列;
步驟6:輸出結果。
用Visual C++在Win32環(huán)境下編程實現(xiàn)上述算法,并對如圖5所示的網絡模型進行模擬。運行結果如下:
(1)QoS路由請求1:源節(jié)點為1、目的節(jié)點為4、帶寬約束 Bp=75、時延約束 Dp=30、時延抖動約束 DJp=10、丟包率約束-ln(1-PLP)=0.000 510。
結果:最佳路徑:1→2→4,各個實際代價:band=90、delay=13、jitter=6、lost_rate=0.000 402。
(2)QoS路由請求2:源節(jié)點為2、目的節(jié)點為3、帶寬約束Bp=85、時延約束Dp=35、時延抖動約束DJp=18、丟包率約束。
結果:最佳路徑:2→4→5→3,各個實際代價:band=90、delay=27、jitter=10、lost_rate=0.000 441。
由上述結果可知,本算法得到的解可以滿足QoS請求的所有路徑中時延最短的路徑。
本文根據(jù)QoS要求,把通信應用分為兩個種類:實時應用和非實時數(shù)據(jù)。非實時數(shù)據(jù)是指現(xiàn)在網絡中的大部分應用,要求盡力傳送,一般只對丟包率有要求;實時應用對網絡的性能要求比較高,其QoS要求包括時延、時延抖動、丟包率和帶寬?;谥悄軜I(yè)務識別的QoS路由根據(jù)各業(yè)務數(shù)據(jù)包標志DSCP值選擇合適的路由算法,并提出了相應的路由結構,實現(xiàn)了策略可配置的QoS路由,同時提出了一種改進的啟發(fā)式路由算法,并給出了驗證范例,證明了該算法的可行性。
圖5 網絡模型
參考文獻
[1]NICHOLS K, BLAKER F.Definition ofdifferentiated services field(DS fileld)in the IPv4 and IPv6 headers,http://www.ietf.org/rfc/rfc2474.txt, 2010.
[2]BLAKE S,BLAKE D,CARLSON M,et al.An architecture fordifferentiated services.http://www.ietf.org/rfc/rfc2475.txt.2010.
[3]賀細平,朱幸輝,張歷卓.啟發(fā)式 QoS路由選擇算法的實現(xiàn)與仿真[J].計算機工程與設計,2007,28(9):2030-2033.
[4]李君,張順頤,李翠蓮,等.基于智能業(yè)務識別的可信路由研究[J].電信科學,2009(4):45-51.
[5]翁南釤,蔡德鈞.Internet業(yè)務分類及應用要求[J].電子技術,1998(8):7-8.
[6]肖建華,王建新,陳松喬,等.多可加性條件下的端點到端點 QoS路由算法[J].中南工業(yè)大學學報,2001,32(5):528-531.