袁 振
摘要:應(yīng)用實(shí)時(shí)性的改善有賴于網(wǎng)絡(luò)帶寬資源的測(cè)量與分配,因此動(dòng)態(tài)、快速、準(zhǔn)確地測(cè)量端到端路徑可用帶寬對(duì)于網(wǎng)絡(luò)實(shí)時(shí)應(yīng)用的性能優(yōu)化具有重要的意義。本文介紹了網(wǎng)絡(luò)帶寬測(cè)量技術(shù),探討了常用的基于TCP可用帶寬測(cè)量算法。
關(guān)鍵詞:網(wǎng)絡(luò)規(guī)模;可用帶寬;測(cè)量方法
1 引言
近年來網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大,網(wǎng)絡(luò)流量急劇增長(zhǎng),尤其是實(shí)時(shí)業(yè)務(wù)和多媒體應(yīng)用等新業(yè)務(wù)的不斷增加,例如遠(yuǎn)程教學(xué),視頻會(huì)議、視頻點(diǎn)播,視頻監(jiān)控等敏感的網(wǎng)絡(luò)應(yīng)用,這些應(yīng)用對(duì)網(wǎng)絡(luò)傳輸提出了一組性能度量的要求,主要包括帶寬、延遲、丟包率等。然而,目前對(duì)網(wǎng)絡(luò)測(cè)量技術(shù)的研究明顯滯后于網(wǎng)絡(luò)及其應(yīng)用的快速發(fā)展。研究網(wǎng)絡(luò)性能測(cè)量技術(shù)是了解網(wǎng)絡(luò)行為、進(jìn)行網(wǎng)絡(luò)控制、實(shí)施服務(wù)質(zhì)量保證、提高網(wǎng)絡(luò)性能的基礎(chǔ)和重要環(huán)節(jié),因此具有十分重要的意義。
2 網(wǎng)絡(luò)帶寬測(cè)量技術(shù)
2.1 帶寬測(cè)量技術(shù)分類
依據(jù)不同的劃分標(biāo)準(zhǔn),可對(duì)帶寬測(cè)量技術(shù)進(jìn)行如下分類:按照是否向網(wǎng)絡(luò)內(nèi)部注入探測(cè)包,可分為主動(dòng)測(cè)量和被動(dòng)測(cè)量按測(cè)量過程是否需要節(jié)點(diǎn)路由器的協(xié)作,帶寬測(cè)量技術(shù)分為鏈路帶寬測(cè)量和端到端的路徑帶寬測(cè)量方式按照不同的測(cè)度,帶寬測(cè)量可分為鏈路帶寬、路徑帶寬即和鏈路可用帶寬測(cè)量技術(shù)。
主動(dòng)測(cè)量和被動(dòng)測(cè)量。主動(dòng)測(cè)量通過發(fā)送測(cè)量包來獲取網(wǎng)絡(luò)性能數(shù)據(jù)。主動(dòng)測(cè)量可以獲得用戶感興趣的端到端的網(wǎng)絡(luò)狀況和網(wǎng)絡(luò)行為,具有靈活方便、可操作性強(qiáng)等優(yōu)點(diǎn)。主動(dòng)測(cè)量通過分析探測(cè)數(shù)據(jù)包和響應(yīng)數(shù)據(jù)包來獲取相應(yīng)的性能參數(shù)。主動(dòng)測(cè)量結(jié)構(gòu)包括兩部分發(fā)送端的監(jiān)測(cè)設(shè)備和接收端的監(jiān)測(cè)設(shè)備。
被動(dòng)測(cè)量使用接入網(wǎng)絡(luò)的探針來一記錄和統(tǒng)計(jì)鏈路上數(shù)據(jù)包的網(wǎng)絡(luò)特性。被動(dòng)測(cè)量不必發(fā)送主動(dòng)測(cè)量包,也不會(huì)占用網(wǎng)絡(luò)帶寬,對(duì)網(wǎng)絡(luò)影響較小,可以獲得更為準(zhǔn)確的測(cè)量結(jié)果。
兩種測(cè)量方式都存在一定的缺陷。主動(dòng)測(cè)量需要向網(wǎng)絡(luò)發(fā)送大量的測(cè)量包,占用網(wǎng)絡(luò)資源影響網(wǎng)絡(luò)性能,進(jìn)而影響測(cè)量結(jié)果的準(zhǔn)確性。被動(dòng)測(cè)量一般只能用于單點(diǎn)監(jiān)測(cè),難以了解端到端的性能,難以獲取全局性能視圖,并且測(cè)量時(shí)需要多方協(xié)作,因此測(cè)量范圍受限,實(shí)現(xiàn)復(fù)雜度較高。同時(shí),測(cè)量采集所需要的數(shù)據(jù)不能達(dá)到實(shí)時(shí)性。另外,被動(dòng)測(cè)量需要捕獲和分析用戶數(shù)據(jù)包信息,可能會(huì)侵犯用戶隱私,影響網(wǎng)絡(luò)的安全。大多數(shù)帶寬測(cè)量技術(shù)采用主動(dòng)測(cè)量方式。
端到端帶寬測(cè)量和鏈路帶寬測(cè)量。端到端帶寬測(cè)量是對(duì)源、目的節(jié)點(diǎn)兩端之間的網(wǎng)絡(luò)路徑的帶寬參數(shù)進(jìn)行測(cè)量,包括端到端的瓶頸帶寬測(cè)量和端到端的可用帶寬測(cè)量而鏈路帶寬測(cè)量主要是測(cè)量網(wǎng)絡(luò)路徑上各段鏈路的帶寬參數(shù),著重于測(cè)量鏈路的帶寬值。
鏈路帶寬測(cè)量、路徑帶寬測(cè)量和可用帶寬測(cè)量。鏈路帶寬測(cè)量是對(duì)某條鏈路的最大發(fā)送速率的測(cè)量路徑帶寬是最窄鏈路的物理帶寬可用帶寬表示在網(wǎng)絡(luò)路徑中有背景流量存在的情況下,網(wǎng)絡(luò)路徑還能給端到端之間提供的最大吞吐量。可用帶寬它是隨鏈路狀態(tài)和已有網(wǎng)絡(luò)負(fù)載狀態(tài)動(dòng)態(tài)變化的,反映了某時(shí)間段內(nèi)路徑發(fā)送數(shù)據(jù)的真正能力,在實(shí)際中更具有指導(dǎo)意義。
2.2 帶寬測(cè)量技術(shù)性能評(píng)價(jià)標(biāo)準(zhǔn)
測(cè)量持續(xù)時(shí)間。指完成一次待測(cè)路徑瓶頸帶寬測(cè)量或可用帶寬測(cè)量需要的時(shí)間。這個(gè)時(shí)間主要包括探測(cè)包發(fā)送和接收處理的時(shí)間以及數(shù)據(jù)后分析處理時(shí)間。流量工程、路由等一般要求快速測(cè)定路徑帶寬,測(cè)量持續(xù)時(shí)間越長(zhǎng),測(cè)量效率越低,測(cè)量負(fù)載對(duì)網(wǎng)絡(luò)應(yīng)用造成的影響就越大,而可用帶寬又是動(dòng)態(tài)變化的,則可用帶寬測(cè)量值的實(shí)時(shí)性就越差。
測(cè)量指標(biāo)。網(wǎng)絡(luò)性能測(cè)量方法可以完成路徑瓶頸帶寬測(cè)量、路徑可用帶寬測(cè)量和其它相關(guān)網(wǎng)絡(luò)性能參數(shù)測(cè)量,測(cè)量指標(biāo)反映了測(cè)量方法的測(cè)量能力。
測(cè)量精度。體現(xiàn)了測(cè)量結(jié)果與實(shí)際情況之間的差異程度,定義為測(cè)量值與實(shí)際值之間的差值與實(shí)際值的百分比。
測(cè)量穩(wěn)定性。表示使用一種測(cè)量技術(shù)進(jìn)行多次測(cè)量時(shí)測(cè)量結(jié)果之間的分布情況,測(cè)量結(jié)果的統(tǒng)計(jì)方差越小,則測(cè)量越穩(wěn)定。測(cè)量精度與測(cè)量結(jié)果的穩(wěn)定性共同反映了測(cè)量技術(shù)的精確程度。測(cè)量負(fù)載。指完成一次帶寬測(cè)量需要發(fā)送和接收的數(shù)據(jù)報(bào)字節(jié)數(shù),即測(cè)量需要的開銷。測(cè)量負(fù)載越低則測(cè)量過程對(duì)網(wǎng)絡(luò)運(yùn)行的干擾性就越小,測(cè)量結(jié)果越真實(shí)。
2.3 基于TCP的測(cè)量算法
ImTCP算法。ImTCP不向網(wǎng)絡(luò)中注入額外的探測(cè)包,而是使用TCP連接階段傳輸?shù)臄?shù)據(jù)包。改變現(xiàn)有的TCP Reno版本,增加了所提出的ImTCP算法。發(fā)送端調(diào)節(jié)傳輸數(shù)據(jù)包的間隔,然后利用ACK包到達(dá)間隔估測(cè)網(wǎng)絡(luò)路徑的可用帶寬。ImTCP能夠周期性的給出測(cè)量結(jié)果,算法會(huì)報(bào)告在每隔2-4個(gè)循環(huán)周期內(nèi)可用帶寬的估測(cè)值。
在每次測(cè)量中,使用一個(gè)搜索范圍去找到一個(gè)可用帶寬的值。搜索范圍I=(B1,Bu)是一個(gè)包括目前可用帶寬值的帶寬范圍。下面是ImTCP算法的步驟:
搜索范圍初始化。首先根據(jù)CProbe算法發(fā)送一個(gè)探測(cè)包串來找到一個(gè)粗糙的可用帶寬估計(jì)。設(shè)置搜索范圍(Acprobe/2. Acprobe ),其中Acprobe是Cprobe探測(cè)的結(jié)果。劃分搜索范圍。將搜索范圍到分成K個(gè)小范圍Ii=(Bi+1,Bi)(i=1,2-k),所有小范圍的寬度都是相同的。發(fā)送數(shù)據(jù)包串并檢查增加趨勢(shì)。選擇一個(gè)小范圍,根據(jù)所有流的增長(zhǎng)趨勢(shì),選擇一個(gè)其中包含可用帶寬準(zhǔn)確值得小范圍。
計(jì)算可用帶寬。
Past算法。Past算法是在傳統(tǒng)TCP慢啟動(dòng)的基礎(chǔ)上嵌入了可用帶寬測(cè)量算法,是PTR算法的變種。Past算法在TCP慢啟動(dòng)階段進(jìn)行帶寬測(cè)量,就如同UDP探測(cè)包串一樣,調(diào)整TCP數(shù)據(jù)包在慢啟動(dòng)時(shí)間內(nèi)的發(fā)送間隔,根據(jù)PTR算法的原理,可以估測(cè)出路徑的可用帶寬,很迅速的識(shí)別出擁塞窗口的大小,提高了慢啟動(dòng)的性能,減小了丟包率,提高了吞吐率。
Past是在考慮了應(yīng)用環(huán)境和網(wǎng)絡(luò)特征的基礎(chǔ)上提出來的,其諸多特征都是根據(jù)應(yīng)用環(huán)境(TCP慢啟動(dòng))得出來的。
精度和開銷。TCP是一個(gè)自適應(yīng)的協(xié)議,啟動(dòng)階段的目的是得到擁塞避免階段一個(gè)合理的起點(diǎn)。同時(shí),希望能夠轉(zhuǎn)入擁塞避免階段更快一些,因此,低開銷是很重要的。根據(jù)這兩個(gè)需求,Past算法比PTR結(jié)束測(cè)量更快一
測(cè)量間隔:由于需要可用帶寬的信息來進(jìn)行擁塞控制,因此,需要一個(gè)很短時(shí)間內(nèi)的可用帶寬的平均值。因此,Past使用的數(shù)據(jù)包串長(zhǎng)度為一個(gè)RTT內(nèi)發(fā)送的數(shù)據(jù)包的數(shù)目。
雙端控制:TCP是一個(gè)雙端控制的協(xié)議,Past自動(dòng)訪問目的端。然而,為了方便配置,PsSt算法在發(fā)送端基于ACKs的時(shí)間間隔信息來計(jì)算可用帶寬,實(shí)現(xiàn)時(shí)采用單端測(cè)量方法。提出Past算法的作者提出Past的目的就是為了說明測(cè)量可用帶寬的算法需要和實(shí)際的應(yīng)用環(huán)境緊密結(jié)合,應(yīng)用需求不同,采用帶寬測(cè)量算法也不同。
3 帶寬測(cè)量技術(shù)研究趨勢(shì)
無線、移動(dòng)網(wǎng)絡(luò)環(huán)境下帶寬測(cè)量。目前大部分帶寬測(cè)量技術(shù)都是面向有線網(wǎng)絡(luò)環(huán)境的,但是無線、移動(dòng)技術(shù)的快速發(fā)展和廣泛應(yīng)用己經(jīng)引起帶寬測(cè)量研究人員的注意。由于無線、移動(dòng)環(huán)境面臨的是十分惡劣的無線信道,往往存在大的路徑損耗、嚴(yán)重的信號(hào)衰落以及大的多徑時(shí)延引起的干擾問題,很多在有線網(wǎng)絡(luò)環(huán)境下得到的結(jié)論發(fā)現(xiàn)不再適用,故帶寬測(cè)量面臨更大的挑戰(zhàn),是當(dāng)前的一個(gè)熱點(diǎn)問題。
帶寬測(cè)量基礎(chǔ)設(shè)施的大規(guī)模部署。網(wǎng)絡(luò)測(cè)量基礎(chǔ)設(shè)施將成為部署下一代網(wǎng)絡(luò)必須考慮的因素,由于現(xiàn)有技術(shù)尚未在公網(wǎng)上得到廣泛應(yīng)用,故其有效性、安全性都還有待評(píng)估,因此深入研究帶寬測(cè)量技術(shù)的大規(guī)模部署方法將成為下一個(gè)研究重點(diǎn)。
利用帶寬測(cè)量支持網(wǎng)絡(luò)實(shí)時(shí)應(yīng)用。盡管帶寬測(cè)量研究得到了深入的研究,但是都沒有運(yùn)用到實(shí)際應(yīng)用中去,還沒完全達(dá)到當(dāng)初研究帶寬測(cè)量最終的目標(biāo)。隨著網(wǎng)絡(luò)的發(fā)展,各種新的實(shí)時(shí)應(yīng)用不斷涌現(xiàn),將帶寬測(cè)量技術(shù)與實(shí)際應(yīng)用相結(jié)合的要求越來越迫切。因此,如何將帶寬測(cè)量技術(shù)有效的在實(shí)際中運(yùn)用也是研究的熱點(diǎn)之一。
參考文獻(xiàn)
[1]韋安明.IP網(wǎng)帶寬測(cè)量技術(shù)研究與進(jìn)展,電子學(xué)報(bào),2006.
[2]張峰,端到端網(wǎng)絡(luò)帶寬測(cè)量技術(shù)研究,電信科學(xué),2005.
[3]楊峰,楊萃元等.基于TCP/IP的網(wǎng)絡(luò)帶寬測(cè)量方法及工具,計(jì)算機(jī)工程,2003.