摘要
隨著網(wǎng)絡(luò)向日常商業(yè)活動(dòng)的延伸,企業(yè)通過網(wǎng)絡(luò)提供增值服務(wù)的增加,網(wǎng)絡(luò)自身必須具有安全性,可以預(yù)知風(fēng)險(xiǎn),甚至需要保證服務(wù)質(zhì)量。網(wǎng)絡(luò)設(shè)備可以通過管理時(shí)延、抖動(dòng)、帶寬和丟包來達(dá)到服務(wù)質(zhì)量保證目的。本文介紹了QoS(Quality of Service,服務(wù)質(zhì)量)技術(shù),指出傳統(tǒng)QoS測試存在的不足,提出Spirent TestCenter QoS測試解決方案。
1 引言
骨干網(wǎng)絡(luò)中傳輸著很多應(yīng)用程序流量,其中包含對延時(shí)敏感的話音數(shù)據(jù)流量和對帶寬消耗很大的視頻數(shù)據(jù)流量。隨著網(wǎng)絡(luò)向日常商業(yè)活動(dòng)的延伸,企業(yè)通過網(wǎng)絡(luò)提供增值服務(wù)的增加,網(wǎng)絡(luò)自身必須具有安全性,可以預(yù)知風(fēng)險(xiǎn),甚至需要保證服務(wù)質(zhì)量。網(wǎng)絡(luò)設(shè)備可以通過管理時(shí)延,抖動(dòng),帶寬和丟包來達(dá)到服務(wù)質(zhì)量(Quality of Service,QoS)保證目的。
QoS技術(shù)主要包含兩大部分,第一部分是流量分類,網(wǎng)絡(luò)設(shè)備可以根據(jù)IPP,DSCP值或者ACL等方式識別數(shù)據(jù)包,數(shù)據(jù)包被識別之后根據(jù)用戶定義規(guī)則打上特定標(biāo)簽,標(biāo)簽表示優(yōu)先級別,有的數(shù)據(jù)包根據(jù)規(guī)則直接丟棄。第二部分是隊(duì)列和調(diào)度,設(shè)備可以將不同優(yōu)先級別數(shù)據(jù)包排入不同隊(duì)列,調(diào)度就是傳輸?shù)臅r(shí)候根據(jù)事先定義好的調(diào)度算法,確定不同隊(duì)列傳輸?shù)南群箜樞蚝蛿?shù)量。
隨著服務(wù)質(zhì)量需求的進(jìn)一步提高,一臺(tái)設(shè)備的QoS不能滿足需要,用戶需要自起點(diǎn)到終點(diǎn)得到提供統(tǒng)一的帶寬保證,類似于一條專線,這就催生了設(shè)備之間的QoS協(xié)議,RSVP-TE,這個(gè)協(xié)議可以為每個(gè)客戶在沿途設(shè)備預(yù)留資源,從而達(dá)到統(tǒng)一占用資源的目的。
2 QoS測試
2.1 QoS測量的指標(biāo)
常用的QoS測量指標(biāo)有丟包、時(shí)延、抖動(dòng)、亂序和多包等。丟包比較容易理解,就是傳輸過程中被丟棄的數(shù)據(jù)包數(shù)量,有兩種表達(dá)方式,一種是丟包百分比,另一種是丟包數(shù)量;時(shí)延是測試儀表發(fā)出數(shù)據(jù)包到接收的時(shí)間;RFC4689定義了抖動(dòng),抖動(dòng)是兩個(gè)連續(xù)的數(shù)據(jù)包之間,時(shí)延之差的絕對值,TestCenter可以精確計(jì)算出最大、最小和平均抖動(dòng)值;亂序是測試儀器接收到數(shù)據(jù)包的順序和發(fā)出的不同,DUT雖然沒有丟包,但是改變了數(shù)據(jù)包的先后順序;多包是DUT多復(fù)制了部分?jǐn)?shù)據(jù)包,導(dǎo)致測試儀器接收的數(shù)據(jù)包數(shù)量大于發(fā)出的數(shù)量。
實(shí)際網(wǎng)絡(luò)中,各種應(yīng)用程序流量特點(diǎn)不同,重點(diǎn)關(guān)心的QoS指標(biāo)也不完全相同,如視頻流量優(yōu)先級比較高,MPEG流量一般都是突發(fā)的,所以抖動(dòng)和丟包對視頻的影響更大;語音流量需要恒定帶寬,抖動(dòng)、亂序和和丟包的影響較大;郵件和Web數(shù)據(jù)流量優(yōu)先級相對較低;P2P流量優(yōu)先級最低,只能使用剩余帶寬資源,DUT的轉(zhuǎn)發(fā)模式是盡力而為。應(yīng)用程序流量特點(diǎn)參見圖1。
圖1 應(yīng)用程序流量特點(diǎn)
2.2 傳統(tǒng)QoS測試的不足
傳統(tǒng)發(fā)流調(diào)度方式是基于流的調(diào)度,傳統(tǒng)測試儀表發(fā)流的時(shí)候不考慮流量優(yōu)先級,只是按照數(shù)據(jù)包大小和發(fā)流速率調(diào)度。在相對宏觀的時(shí)間角度看,例如秒級別,每一條Stream都能按照預(yù)先設(shè)定的帶寬發(fā)送流量,但是如果從很小的時(shí)間間隔來觀察帶寬,例如微秒級別,幾微秒就讀取各條流帶寬一次,則可以發(fā)現(xiàn)每一個(gè)Stream都有不同程度的突發(fā),這些突發(fā)流量可能導(dǎo)致DUT性能下降,也可能導(dǎo)致丟包。
QoS策略是全網(wǎng)策略,需要全網(wǎng)統(tǒng)一規(guī)劃,需要網(wǎng)絡(luò)邊緣到網(wǎng)絡(luò)邊緣的統(tǒng)一布署,策略不能相互沖突。數(shù)據(jù)包到達(dá)邊緣設(shè)備的時(shí)候,就第一次被重新排序,繼續(xù)傳輸?shù)较乱惶W(wǎng)絡(luò)設(shè)備,第二跳設(shè)備再執(zhí)行自己的QoS策略,以此類推,F(xiàn)網(wǎng)中,核心設(shè)備的入接口連接到邊緣設(shè)備,收到的數(shù)據(jù)包應(yīng)該是被重新排序的,而不是沒有經(jīng)過QoS處理的流量。傳統(tǒng)測試儀表發(fā)送流量的時(shí)候沒有考慮這個(gè)因素,測試儀表發(fā)送流量是按照盡力而為(Best Effort)的方式,沒有經(jīng)過QoS處理,不能模擬現(xiàn)實(shí)網(wǎng)絡(luò)中的數(shù)據(jù)流量。
傳統(tǒng)測試方法,每一個(gè)QoS測試指標(biāo)逐個(gè)測試,測試需要很長時(shí)間,如果遇到指標(biāo)疊加測試,指標(biāo)組合方式就更多了。測試結(jié)束之后,每個(gè)組合指標(biāo)代表什么意義,代表什么服務(wù)質(zhì)量,代表什么QoS等級沒有定義,用戶沒有整體感覺,不知道哪種指標(biāo)組合算是合格,哪種不合格。
2.3 Spirent TestCenter QoS測試特點(diǎn)
針對傳統(tǒng)QoS測試不足之處,Spirent TestCenter新增了優(yōu)先調(diào)度和服務(wù)等級功能,這兩個(gè)功能很好地彌補(bǔ)了傳統(tǒng)測試儀表的不足。
優(yōu)先調(diào)度(Priority Based)是基于Stream Block的優(yōu)先調(diào)度,這種調(diào)度方式確保優(yōu)先級高的Stream Block可以發(fā)出勻速流量。TestCenter選用基于優(yōu)先級的調(diào)度方式之后,可以消除突發(fā),保證發(fā)出恒定帶寬流量。設(shè)置方法見圖2。
圖2 優(yōu)先調(diào)度設(shè)置方法
優(yōu)先級調(diào)度模式改變了傳統(tǒng)的盡力而為的發(fā)流模式,使測試儀表具有數(shù)據(jù)包重新排序能力,可以模擬真實(shí)的網(wǎng)絡(luò)環(huán)境,模擬邊緣設(shè)備向核心設(shè)備發(fā)送流量。
服務(wù)等級(Service Class)也是TestCenter新特性,TestCenter可以事先確定服務(wù)等級,服務(wù)等級是由用戶自定義的一組QoS指標(biāo)以及指標(biāo)范圍(見圖3),沒有丟包和亂序,最大時(shí)延<7ms為Network Control級別,10個(gè)亂序1000個(gè)丟包,最大時(shí)延<7ms是Real Time級別,剩余是Best Effort級別。
圖3 服務(wù)等級
在Stream Block上關(guān)聯(lián)這些服務(wù)等級,TestCenter就可以自動(dòng)測量流量是否滿足服務(wù)等級要求,報(bào)告系統(tǒng)中,滿足要求顯示Pass,不滿足要求顯示Fail(見圖4)。服務(wù)等級可以將多種QoS指標(biāo)合并測試,提高測試效率。
圖4 TestCenter可以自動(dòng)測量流量是否滿足服務(wù)等級要求
3.4 Spirent TestCenter QoS測試舉例
QoS測試分為3大類,分別是2層Cos驗(yàn)證,3層QoS轉(zhuǎn)發(fā)驗(yàn)證和3層QoS控制層驗(yàn)證,每大類又分很多常見測試場景,Spirent TestCenter支持所有QoS測試場景。這里用以太網(wǎng)源端口CIR測試和WFQ測試為例。
(1)以太網(wǎng)源端口CIR測試
CIR是Committed Information Rate的簡寫,也叫Mean Rate,是一個(gè)時(shí)間單位之內(nèi),承諾傳輸流量的平均值;Bc(Committed Burst)也叫Burst Size,是一個(gè)時(shí)間單位之內(nèi),允許用戶突發(fā)的流量;Tc也叫Time Interval是時(shí)間單位,時(shí)間單位一般是毫秒級別的。3個(gè)指標(biāo)的關(guān)系是Mean Rate = Burst Size / Time Interval。
測試目標(biāo)是檢驗(yàn)DUT基于2層源端口的CIR是否可以正常工作。
測試拓?fù)浣Y(jié)構(gòu)如圖5所示,左邊3個(gè)端口向右邊1個(gè)端口發(fā)送流量,3個(gè)端口發(fā)送流量之和大于1個(gè)端口的接收能力,造成擁塞狀態(tài)。
圖5 測試拓?fù)浣Y(jié)構(gòu)示意圖
在DUT上將所有端口劃分在一個(gè)VLAN之內(nèi),配置DUT的2層QoS策略,第一個(gè)端口的CIR為600Mbit/s,第二個(gè)端口的CIR為300Mbit/s,第三個(gè)端口的優(yōu)先級設(shè)置是盡力而為。
在Spirent TestCenter上每個(gè)端口添加200,000個(gè)Host,4個(gè)端口共計(jì)800,000個(gè)Host。設(shè)置方法見圖6和圖7。
圖6 設(shè)置方式1
圖7 設(shè)置方式2
配置2層流量,選擇流量的源和目標(biāo)端口,圖8的左邊選擇封裝類型為EthernetII,這樣測試儀器發(fā)出的流量就是2層流量,不包含IP包頭。
圖8 配置2層流量示意圖
3條流分別設(shè)定發(fā)出固定帶寬流量是600Mbit/s,300Mbit/s和1000Mbit/s(見圖9)。
圖9 3條流分別設(shè)定發(fā)出固定帶寬流量是600Mbit/s,300Mbit/s和1000Mbit/s
查看測試結(jié)果,前兩條流丟包速率為0,第三條流丟包速率有計(jì)數(shù),表示DUT的CIR工作正常,前面兩條流沒有丟包,第三條流有丟包(見圖10)。
圖10 測試結(jié)果示意圖
來源:電信網(wǎng)技術(shù)