摘要:在分析移動(dòng)IPv6切換過程的基礎(chǔ)上,設(shè)計(jì)了移動(dòng)切換性能測量指標(biāo),提出了移動(dòng)IPv6切換性能測量方法,基于該方法設(shè)計(jì)并實(shí)現(xiàn)了移動(dòng)IPv6切換性能測量原型系統(tǒng)。該系統(tǒng)能測量從網(wǎng)絡(luò)層到應(yīng)用層的移動(dòng)切換性能,解決了現(xiàn)有測量工具部署繁瑣的問題。用該系統(tǒng)在實(shí)際的測試網(wǎng)上進(jìn)行測試實(shí)驗(yàn),實(shí)驗(yàn)發(fā)現(xiàn)移動(dòng)IPv6切換對(duì)各種網(wǎng)絡(luò)應(yīng)用造成了不良影響,而且切換性能隨著網(wǎng)絡(luò)層次的增加越來越差,從網(wǎng)絡(luò)層往上到應(yīng)用層切換對(duì)網(wǎng)絡(luò)性能的影響呈不斷擴(kuò)大的趨勢。
關(guān)鍵詞:移動(dòng)IPv6; 切換; 性能指標(biāo); 測量方法; 測量實(shí)驗(yàn)
中圖分類號(hào):TP393.06文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)02-0551-05
0引言
隨著數(shù)據(jù)與無線通信技術(shù)的進(jìn)步,移動(dòng)數(shù)據(jù)業(yè)務(wù)得到極大的發(fā)展。為了解決mobile IPv4[1]的三角路由等問題,在IPv6協(xié)議的基礎(chǔ)上,Internet工程任務(wù)組(IETF)提出了移動(dòng)IPv6協(xié)議[2]。移動(dòng)IPv6協(xié)議中最核心的部分就是移動(dòng)切換。節(jié)點(diǎn)進(jìn)行切換時(shí),移動(dòng)節(jié)點(diǎn)(mobile node, MN)不能及時(shí)接收或發(fā)送數(shù)據(jù)包,造成包延遲增大甚至引起包丟失,這將直接影響到各種網(wǎng)絡(luò)應(yīng)用,如流媒體#65380;VoIP等的服務(wù)切換過程對(duì)網(wǎng)絡(luò)性能和各種網(wǎng)絡(luò)應(yīng)用的影響是非常值得關(guān)注的。提高移動(dòng)切換性能的主要途徑是縮短切換時(shí)間和減小切換過程中的丟包率,最終達(dá)到無縫切換。雖然當(dāng)前一些移動(dòng)切換方法,如基本移動(dòng)IPv6切換(MIPv6)[3]#65380;快速移動(dòng)IPv6切換(FMIPv6)[4]和層次移動(dòng)IPv6切換(HMIPv6)[5]等都在盡力縮短切換時(shí)間#65380;提高切換性能,但它們離無縫切換還有一定差距。這些移動(dòng)IPv6協(xié)議基本上已經(jīng)成為事實(shí)標(biāo)準(zhǔn),因此對(duì)現(xiàn)有的切換方法進(jìn)行完善和改進(jìn)最為重要,而對(duì)它們進(jìn)行測量和分析能為切換方法的改進(jìn)提供依據(jù)和思路。通過對(duì)現(xiàn)有的切換方法性能進(jìn)行測量分析可以發(fā)現(xiàn)切換方法中存在的性能瓶頸,在這個(gè)基礎(chǔ)上對(duì)其進(jìn)行改進(jìn)逐步達(dá)到無縫切換;同時(shí)要判斷和評(píng)價(jià)一個(gè)切換方法是否達(dá)到了無縫切換的標(biāo)準(zhǔn),也需要一個(gè)準(zhǔn)確的性能測量工具。因此,對(duì)移動(dòng)切換性能進(jìn)行測量研究是非常有必要的。
本文介紹了移動(dòng)切換過程,針對(duì)移動(dòng)切換的特點(diǎn)將移動(dòng)IPv6切換性能分不同的網(wǎng)絡(luò)層次進(jìn)行測量,根據(jù)每一層對(duì)移動(dòng)切換關(guān)注點(diǎn)的不同,設(shè)計(jì)了相應(yīng)的移動(dòng)切換性能評(píng)價(jià)指標(biāo)。通過對(duì)這些指標(biāo)的測量,可以很好地評(píng)估移動(dòng)切換中網(wǎng)絡(luò)各層的相互影響和對(duì)網(wǎng)絡(luò)應(yīng)用的影響,從而得到各層切換的性能。為了測量這些指標(biāo),提出了一個(gè)切換性能的測量方法,基于該方法設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)移動(dòng)IPv6切換性能測量系統(tǒng)。該測量系統(tǒng)可以從不同的角度更加全面地評(píng)價(jià)從網(wǎng)絡(luò)層到應(yīng)用層的移動(dòng)IPv6切換性能。最后利用開發(fā)的系統(tǒng)在移動(dòng)IPv6局域網(wǎng)上進(jìn)行了測量試驗(yàn),重點(diǎn)對(duì)應(yīng)用層性能及各層之間的相互影響進(jìn)行了測量和分析。
1移動(dòng)IPv6切換過程
移動(dòng)IPv6協(xié)議在2004年首先成為標(biāo)準(zhǔn),其主要目標(biāo)就是讓移動(dòng)節(jié)點(diǎn)總是通過家鄉(xiāng)地址尋址,不管是連接在家鄉(xiāng)鏈路還是移動(dòng)到外地鏈路。切換是移動(dòng)IPv6協(xié)議中最重要的部分。以基本移動(dòng)IPv6為例來說明移動(dòng)切換的流程。圖1是移動(dòng)IPv6切換消息圖。盡管各種切換方法的設(shè)計(jì)思想#65380;切換過程中交互的消息與具體實(shí)現(xiàn)不一樣,但在沒有AAA和QoS狀態(tài)建立的條件下,它們基本上都包括圖1中標(biāo)示的四個(gè)階段。
a)移動(dòng)檢測(movement detection)是指移動(dòng)節(jié)點(diǎn)發(fā)現(xiàn)自己已經(jīng)移動(dòng)到另一個(gè)網(wǎng)絡(luò)的過程。移動(dòng)節(jié)點(diǎn)移動(dòng)到一個(gè)新網(wǎng)絡(luò)后,斷開了與原AP的連接,首先應(yīng)發(fā)現(xiàn)移動(dòng)到一個(gè)新網(wǎng)絡(luò)中。移動(dòng)節(jié)點(diǎn)有一個(gè)定時(shí)器,如果在一段時(shí)間內(nèi)收到了路由器宣告,它就會(huì)通過比較子網(wǎng)前綴發(fā)現(xiàn)是否移動(dòng)到一個(gè)新網(wǎng)絡(luò)。如果這段時(shí)間里沒有收到路由器宣告,就會(huì)發(fā)送一個(gè)路由器請求(RS)消息,請求路由器宣告。
b)IP地址配置(address configuration)是指當(dāng)移動(dòng)節(jié)點(diǎn)移動(dòng)到新網(wǎng)絡(luò)中后,需重新獲取一個(gè)新網(wǎng)絡(luò)中的IP地址作為它的新轉(zhuǎn)交地址。這個(gè)過程包括地址的生成(有狀態(tài)或無狀態(tài)的方式均可)和重復(fù)地址檢測。
c)家鄉(xiāng)代理注冊(home agent registration)是指當(dāng)節(jié)點(diǎn)發(fā)現(xiàn)自己移動(dòng)到另一個(gè)網(wǎng)絡(luò)后,就會(huì)獲取一個(gè)新的轉(zhuǎn)交地址(care of address, CoA),之后必須與家鄉(xiāng)代理進(jìn)行注冊。這時(shí)家鄉(xiāng)節(jié)點(diǎn)必須知道移動(dòng)節(jié)點(diǎn)是誰,它的新CoA是什么。因此移動(dòng)節(jié)點(diǎn)必須通知家鄉(xiāng)節(jié)點(diǎn)相關(guān)信息。
d)路由優(yōu)化(route optimization)。家鄉(xiāng)注冊完成后,為了避免三角路由,移動(dòng)IPv6可以進(jìn)行路由優(yōu)化,路由優(yōu)化后移動(dòng)節(jié)點(diǎn)即可與通信節(jié)點(diǎn)直接進(jìn)行通信。
切換對(duì)網(wǎng)絡(luò)性能和各種應(yīng)用,特別是對(duì)于那些對(duì)丟包和時(shí)延極為敏感的應(yīng)用,如VoIP#65380;視頻會(huì)議等的負(fù)面影響是極為明顯的。在圖1所示的移動(dòng)IPv6切換中,第二層切換結(jié)束后,移動(dòng)節(jié)點(diǎn)斷開與原來AP的連接同時(shí)接入新AP。這個(gè)過程中,由于移動(dòng)節(jié)點(diǎn)沒有獲取到新網(wǎng)絡(luò)的IP地址,首先要獲取新網(wǎng)絡(luò)的子網(wǎng)前綴并生成IPv6地址到家鄉(xiāng)進(jìn)行注冊,建立雙向隧道后才能夠正常與通信節(jié)點(diǎn)進(jìn)行通信。這一過程經(jīng)歷了圖1五個(gè)階段中的前三個(gè)階段,時(shí)間往往長達(dá)數(shù)秒鐘。在這個(gè)過程中會(huì)產(chǎn)生嚴(yán)重的數(shù)據(jù)包丟失或者引起一些包延遲的增大。丟包和包延遲增大將會(huì)導(dǎo)致TCP產(chǎn)生重傳和擁塞#65380;UDP發(fā)生數(shù)據(jù)包丟失和包亂序等問題。這些將會(huì)影響到各種上層應(yīng)用的性能,嚴(yán)重的將導(dǎo)致應(yīng)用中斷甚至無法使用。
2測量指標(biāo)與測量方法設(shè)計(jì)
通過上面的分析,切換會(huì)造成包丟失#65380;網(wǎng)絡(luò)擁塞等問題,造成網(wǎng)絡(luò)性能下降,對(duì)上層協(xié)議及各種應(yīng)用性能產(chǎn)生影響。要全面地評(píng)價(jià)移動(dòng)切換的性能,不僅僅要分析網(wǎng)絡(luò)層性能,同時(shí)也應(yīng)當(dāng)分析其對(duì)上層協(xié)議和各類應(yīng)用性能的影響。切換性能的優(yōu)劣會(huì)影響到各種協(xié)議和應(yīng)用性能,反過來通過測量這些協(xié)議和應(yīng)用的性能變化情況就能夠評(píng)估切換性能。根據(jù)各個(gè)協(xié)議和應(yīng)用的特征,設(shè)計(jì)了不同的測量指標(biāo)來測量它們的性能。對(duì)于網(wǎng)絡(luò)層和傳輸層性能評(píng)價(jià)指標(biāo),系統(tǒng)選取了一些成熟的測量指標(biāo),如包丟失#65380;包延遲#65380;TCP吞吐量等,這些指標(biāo)都已經(jīng)十分成熟,有的指標(biāo)如延遲#65380;吞吐量等本身就來源于RFC文檔;對(duì)于應(yīng)用層性能評(píng)價(jià)指標(biāo),由于應(yīng)用層協(xié)議種類繁多#65380;錯(cuò)綜復(fù)雜,目前還沒有一個(gè)統(tǒng)一的評(píng)價(jià)標(biāo)準(zhǔn),考慮的角度也各不相同。本文采用從用戶感知的角度設(shè)計(jì)應(yīng)用層測量指標(biāo)。之所以這樣選取主要是基于應(yīng)用層協(xié)議基本上都是直接提供某類具體應(yīng)用給用戶,其性能往往使用戶可以直接感知這一共性。例如Web頁面的“8秒規(guī)則”,即如果用戶在8 s的時(shí)間間隔內(nèi)沒有能夠成功下載所訪問的頁面,那么該用戶就很可能轉(zhuǎn)而訪問速度更快的類似網(wǎng)站。基于此,測量系統(tǒng)針對(duì)不同的應(yīng)用選用一些最具代表性的協(xié)議,根據(jù)用戶對(duì)它們最為關(guān)注的特性,從用戶感知的角度設(shè)計(jì)了一系列的應(yīng)用層性能評(píng)價(jià)指標(biāo),如HTTP的連接時(shí)間#65380;FTP的文件傳輸速率等。
2.1網(wǎng)絡(luò)層性能測量指標(biāo)
用于網(wǎng)絡(luò)層切換性能測量的指標(biāo)有丟包率[6]#65380;往返延遲[7]以及延遲抖動(dòng)三個(gè)。如果源端在T時(shí)刻發(fā)送P類型包的第一位到目的端,目的端響應(yīng)后立即發(fā)送P類型的應(yīng)答回源端且源端接收到了該包,則認(rèn)為T時(shí)刻從源端到目的端的P類型雙向包丟失為0;相反,如果源端在T時(shí)刻發(fā)送P類型#65380;目的地址為目的端的包的第一位,目的端響應(yīng)后立即發(fā)送P類型的應(yīng)答回源端且源端未收到該包,則認(rèn)為T時(shí)刻從源端到目的端的P類型雙向包丟失為1。在T時(shí)刻,源端發(fā)送P類型包的第一位到目的端,目的端響應(yīng)后立即發(fā)送P類型的應(yīng)答回源端;在T+dT時(shí)刻,源端收到該應(yīng)答包的最后一位,則認(rèn)為T時(shí)刻該P(yáng)類型包的雙向延遲為dT。一個(gè)測量周期內(nèi)包延遲的方差為這個(gè)測量周期內(nèi)的延遲抖動(dòng)。切換過程中會(huì)引起一些包丟失并使得部分包的延遲增大,丟包率的大小和延遲的變化直接反映了移動(dòng)切換網(wǎng)絡(luò)層性能。
2.2傳輸層TCP性能測量指標(biāo)
用于傳輸層TCP切換性能測量的指標(biāo)有TCP吞吐量[8]和擁塞控制窗口。對(duì)TCP吞吐量的測量采用Gilbert模型間接測量方法進(jìn)行測量,測量過程中不需要建立TCP連接。通過獲取系統(tǒng)內(nèi)核TCP協(xié)議棧的擁塞窗口值來測量擁塞窗口。測量TCP擁塞控制窗口可評(píng)估TCP擁塞控制機(jī)制在移動(dòng)切換中的效果,TCP吞吐量則反映了切換對(duì)TCP數(shù)據(jù)傳輸率的影響。
2.3應(yīng)用層性能測量指標(biāo)
對(duì)于應(yīng)用層切換性能測量指標(biāo)主要是基于用戶感知的角度來設(shè)計(jì)的。系統(tǒng)選擇測量常規(guī)傳統(tǒng)應(yīng)用和實(shí)時(shí)流媒體應(yīng)用的相關(guān)性能評(píng)估應(yīng)用層切換性能。其中,常規(guī)應(yīng)用選用了HTTP#65380;FTP#65380;Telnet三個(gè)協(xié)議作為測量對(duì)象,實(shí)時(shí)流媒體選用了RTSP作為測量對(duì)象。常規(guī)應(yīng)用中,用戶一般最關(guān)心的是連接時(shí)間和下載時(shí)間;而對(duì)于實(shí)時(shí)流媒體應(yīng)用,用戶最為關(guān)心的是包延遲和包丟失。根據(jù)上面的特點(diǎn),從用戶感知的角度設(shè)計(jì)了相應(yīng)的測量指標(biāo),包括HTTP連接建立時(shí)間#65380;HTTP頁面下載速率#65380;FTP連接建立時(shí)間#65380;FTP各命令響應(yīng)時(shí)間#65380;FTP上傳/下載文件速率#65380;Telnet連接時(shí)間#65380;Telnet命令響應(yīng)時(shí)間#65380;Telnet單字符傳輸速率#65380;RTSP流媒體包丟失率和包延遲。應(yīng)用層測量主要是在測量節(jié)點(diǎn)上使用程序模擬用戶通過應(yīng)用程序客戶端登錄被測主機(jī)上的應(yīng)用程序服務(wù)器來實(shí)現(xiàn)的。通過模擬程序可以模擬用戶行為進(jìn)行登錄,同時(shí)記錄客戶端與服務(wù)器建立連接#65380;傳輸數(shù)據(jù)和從服務(wù)器上下載文件的細(xì)節(jié),從而可以測量出用戶感知的各種應(yīng)用的性能指標(biāo)。
2.4切換過程各階段時(shí)間
切換過程的每個(gè)階段也是關(guān)注的重點(diǎn)。該系統(tǒng)測量了切換各個(gè)階段的時(shí)間,包括移動(dòng)檢測時(shí)間#65380;IPv6地址配置時(shí)間#65380;綁定更新時(shí)間和路由優(yōu)化時(shí)間及各段時(shí)間占總時(shí)間的比值。通過捕獲圖1中標(biāo)示出的那些切換中實(shí)體間交互的各種消息就能得到各個(gè)階段所經(jīng)歷的時(shí)間。測量切換各個(gè)階段的時(shí)間大小可以發(fā)現(xiàn)切換算法中哪個(gè)部分最值得關(guān)注與改進(jìn)。
3原型系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
該測量系統(tǒng)使用主動(dòng)端到端測量工具并結(jié)合被動(dòng)捕獲監(jiān)測來測量移動(dòng)切換性能。主動(dòng)端到端的網(wǎng)絡(luò)性能測量最大的一個(gè)特點(diǎn)是方便,不需要對(duì)網(wǎng)絡(luò)中的所有數(shù)據(jù)包進(jìn)行分析。端到端測量對(duì)于所關(guān)心的內(nèi)容只要在本地發(fā)送測試數(shù)據(jù)包,然后觀察網(wǎng)絡(luò)響應(yīng)即可。同時(shí),采用主動(dòng)端到端測量方法部署簡單,只需要在本地部署測量系統(tǒng)就可完成所有測量工作,對(duì)設(shè)備要求不高。但是,由于無法確切得知切換何時(shí)開始或結(jié)束,僅使用端到端測量要觀察整個(gè)切換過程各階段的詳細(xì)情況及比較切換前后測量數(shù)據(jù)的變化就很困難。
通過捕獲數(shù)據(jù)包并分析切換中實(shí)體之間交互的消息,將切換過程與主動(dòng)工具的測量過程結(jié)合起來,從而使得整個(gè)測量過程在切換信令消息驅(qū)動(dòng)和控制下完成就可以很好地解決這個(gè)問題。捕獲無線網(wǎng)絡(luò)上的數(shù)據(jù)包后,解析獲取二和三層切換的信令和消息,從而準(zhǔn)確地獲得三層切換準(zhǔn)確的開始和結(jié)束時(shí)間,實(shí)時(shí)地通知端到端測量工具。通過解析移動(dòng)節(jié)點(diǎn)與家鄉(xiāng)代理及通信節(jié)點(diǎn)之間的消息,可以得到整個(gè)切換過程各個(gè)階段的詳細(xì)信息,如移動(dòng)檢測時(shí)間#65380;重復(fù)地址檢測時(shí)間等。圖2詳細(xì)描述了測量方法的實(shí)施流程。
一次測量開始后,被動(dòng)監(jiān)測部分會(huì)不停地捕獲并解析捕獲的數(shù)據(jù)包。如果發(fā)現(xiàn)測量節(jié)點(diǎn)當(dāng)前處于切換狀態(tài)中,就會(huì)將信息通知給主動(dòng)測量工具,同時(shí)比較前一個(gè)狀態(tài)和當(dāng)前狀態(tài)從而計(jì)算出切換每個(gè)階段的時(shí)間。由于移動(dòng)IPv6切換過程中的消息都具有其自身的特點(diǎn),這部分工作主要是通過辨認(rèn)移動(dòng)切換中的特征消息,如路由器請求(RA)#65380;綁定更新(BU)#65380;家鄉(xiāng)測試初始化(HoTI)等實(shí)現(xiàn)。如果當(dāng)前節(jié)點(diǎn)沒有處在切換狀態(tài),則程序會(huì)跳轉(zhuǎn)到捕包部分循環(huán)測量,直到這次測量結(jié)束。
測量開始后,主動(dòng)測量工具會(huì)首先檢查當(dāng)前狀態(tài),看是否處在切換狀態(tài)。這個(gè)狀態(tài)變量是根據(jù)被動(dòng)部分發(fā)送過來的消息設(shè)定的,測量開始時(shí)會(huì)等待被動(dòng)監(jiān)測程序發(fā)送一個(gè)初始化狀態(tài)來初始化狀態(tài)變量。之后每一個(gè)周期測量都會(huì)對(duì)這個(gè)變量進(jìn)行檢查以確定當(dāng)前處在哪個(gè)狀態(tài)。如果發(fā)現(xiàn)現(xiàn)在是處在切換之中,測量工具就會(huì)將這些測量數(shù)據(jù)標(biāo)志為切換中的數(shù)據(jù);否則就標(biāo)志為切換前或切換后數(shù)據(jù)。一次測量可以包括多個(gè)周期性測量,每個(gè)測量周期結(jié)束都會(huì)測量得到一個(gè)當(dāng)前的網(wǎng)絡(luò)性能測量結(jié)果,這樣當(dāng)完成一次完整的測量后就可觀察到切換前后和切換當(dāng)中網(wǎng)絡(luò)性能的變化情況。獲取結(jié)果后測量工具就會(huì)送給上層顯示進(jìn)行相應(yīng)的處理,直到本次測量結(jié)束。由用戶通過圖形界面下達(dá)相應(yīng)命令來控制測量開始和結(jié)束。
系統(tǒng)結(jié)構(gòu)如圖3所示,主要包括測量工具模塊#65380;系統(tǒng)控制模塊和圖形用戶接口(GUI)。
該切換性能測量系統(tǒng)使用兩個(gè)進(jìn)程:一個(gè)進(jìn)程是用Java語言編寫的圖形用戶界面。用戶通過圖形用戶界面進(jìn)程啟動(dòng)另一個(gè)用C語言編寫的系統(tǒng)控制和測量進(jìn)程。系統(tǒng)控制進(jìn)程負(fù)責(zé)對(duì)測量工具和測量任務(wù)進(jìn)行控制管理;啟動(dòng)測量工具進(jìn)行測量并將結(jié)果送給圖形用戶進(jìn)程顯示。C語言編寫的測量工具能夠高效靈活地完成用戶下達(dá)的測量任務(wù)。圖形用戶和系統(tǒng)控制進(jìn)程之間通過管道通信。
a)圖形用戶界面接口模塊的主要功能是測量任務(wù)參數(shù)配置和測量結(jié)果顯示。網(wǎng)絡(luò)層和TCP性能測量任務(wù)主要參數(shù)有任務(wù)名稱#65380;任務(wù)類型#65380;測量地址#65380;探測包大小和測量次數(shù);應(yīng)用層測量任務(wù)主要參數(shù)有任務(wù)名稱#65380;任務(wù)類型#65380;測量地址#65380;登錄用戶名#65380;登錄密碼#65380;測量次數(shù)。用戶配置好測量參數(shù)后,將測量任務(wù)下達(dá)給系統(tǒng)控制測量程序,由控制測量程序根據(jù)參數(shù)調(diào)用相應(yīng)底層測量工具執(zhí)行測量。一次測量結(jié)束后,控制測量程序利用管道將測量結(jié)果傳回圖形用戶界面顯示,同時(shí)準(zhǔn)備下一次測量。
b)系統(tǒng)控制模塊的主要功能是對(duì)測量任務(wù)進(jìn)行控制和管理。控制模塊首先接收用戶配置的測量任務(wù)參數(shù),對(duì)傳入的參數(shù)進(jìn)行解析;之后開啟一個(gè)測量工具線程將測量所需的參數(shù)傳遞給底層測量工具進(jìn)行測量;當(dāng)一次測量結(jié)束后,將測量結(jié)果寫入數(shù)據(jù)庫并對(duì)結(jié)果進(jìn)行分析后回送給圖形用戶界面顯示。控制模塊同時(shí)負(fù)責(zé)測量任務(wù)的啟動(dòng)和終止,并且當(dāng)同時(shí)有多個(gè)測量任務(wù)時(shí)控制模塊還負(fù)責(zé)對(duì)測量任務(wù)進(jìn)行合理的管理和調(diào)度。
c)測量工具模塊是測量系統(tǒng)中最重要的模塊,該模塊的主要功能是根據(jù)配置的測量參數(shù)完成具體的測量任務(wù)。控制模塊傳入測量參數(shù)后,相應(yīng)的測量任務(wù)就開始一次測量,測量結(jié)束后將測量的結(jié)果交給控制模塊并等待下一次測量開始。測量工具分為兩個(gè)部分,即主動(dòng)端到端工具和被動(dòng)捕包,采用多線程機(jī)制,一個(gè)線程專門用于包捕獲,另外開啟線程進(jìn)行主動(dòng)測量。采用多線程開銷小#65380;資源共享性好#65380;效率高,可以高效精確地完成測量。測量工具模塊設(shè)計(jì)結(jié)構(gòu)如圖4所示。
主動(dòng)測量工具集成了七個(gè)端到端測量工具,用于網(wǎng)絡(luò)層#65380;傳輸層TCP和應(yīng)用層性能測量。網(wǎng)絡(luò)層測量工具利用Ping6原理通過從測量端周期性發(fā)送ICMP請求包給被測服務(wù)器并接收來自被測端的回應(yīng)以獲取包往返延遲和包丟失率等指標(biāo)。傳輸層TCP性能測量工具有擁塞控制窗口和吞吐量測量工具兩個(gè)。擁塞控制窗口測量工具主要是通過測量端和被測端建立一個(gè)TCP連接,測量時(shí)從測量工具端向被測端不斷發(fā)送TCP數(shù)據(jù)包,同時(shí)獲取TCP協(xié)議棧中的擁塞窗口值來測量TCP擁塞控制窗口。應(yīng)用層協(xié)議測量工具有四個(gè),分別為FTP測量工具#65380;HTTP測量工具#65380;Telnet測量工具和RTSP測量工具,主要是通過不斷模擬客戶端登錄服務(wù)器來測量連接建立時(shí)間以及數(shù)據(jù)的上傳/下載速率。
被動(dòng)測量工具主要是進(jìn)行數(shù)據(jù)包捕獲。首先將無線網(wǎng)卡設(shè)為監(jiān)控模式,監(jiān)聽本地?zé)o線網(wǎng)絡(luò)上的所有控制管理和數(shù)據(jù)幀;然后捕獲網(wǎng)絡(luò)中所有數(shù)據(jù)包,利用libpcap庫函數(shù)設(shè)置過濾條件得到與該移動(dòng)節(jié)點(diǎn)相關(guān)的幀;最后通過解析數(shù)據(jù)幀獲取二層切換信令和所有三層切換消息。同時(shí),被動(dòng)線程會(huì)實(shí)時(shí)告知主動(dòng)工具線程移動(dòng)節(jié)點(diǎn)的狀態(tài),如切換是否開始#65380;是否獲得轉(zhuǎn)交地址等。目前的系統(tǒng)只實(shí)現(xiàn)了對(duì)802.11上基本移動(dòng)IPv6切換消息的識(shí)別,正在考慮在此基礎(chǔ)上對(duì)測量工具進(jìn)行擴(kuò)展,使其支持對(duì)二層802.16標(biāo)準(zhǔn)切換信令和其他三層移動(dòng)IPv6切換,如快速移動(dòng)IPv6切換等消息的識(shí)別功能。
無線網(wǎng)卡在監(jiān)控模式下不能進(jìn)行正常通信,只能用于檢測無線網(wǎng)絡(luò)中的數(shù)據(jù)包,所以該系統(tǒng)需要使用兩塊無線網(wǎng)卡。測量時(shí)一塊設(shè)置成操作模式用于正常的通信和端到端測量,一塊設(shè)為監(jiān)控模式用于捕獲無線數(shù)據(jù)包。
4測量實(shí)驗(yàn)
4. 1實(shí)驗(yàn)環(huán)境
本文搭建了一個(gè)比較簡單的無線IPv6局域網(wǎng),用于測量系統(tǒng)的調(diào)試和簡單實(shí)驗(yàn)。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖5所示。
實(shí)驗(yàn)中的無線局域網(wǎng)由一個(gè)通信節(jié)點(diǎn)#65380;一個(gè)家鄉(xiāng)代理#65380;一個(gè)外地路由器和一個(gè)移動(dòng)節(jié)點(diǎn)組成。路由器1充當(dāng)家鄉(xiāng)代理路由器;通信節(jié)點(diǎn)在外地網(wǎng)絡(luò)的路由器2上;移動(dòng)節(jié)點(diǎn)#65380;家鄉(xiāng)代理和通信節(jié)點(diǎn)上均安裝有MIPL 2.0內(nèi)核補(bǔ)丁及應(yīng)用層程序(www.mobile-ipv6.org)。測量應(yīng)用層和傳輸層切換性能時(shí)工具部署在移動(dòng)節(jié)點(diǎn)上,測量網(wǎng)絡(luò)層切換性能時(shí)工具部署在通信節(jié)點(diǎn)上。CN上安裝并開啟HTTP#65380;FTP#65380;Telnet和RTSP服務(wù)器;MN從家鄉(xiāng)移動(dòng)到外地時(shí)就會(huì)發(fā)生切換。筆者在圖4的網(wǎng)絡(luò)中進(jìn)行調(diào)試和實(shí)驗(yàn),測量了基本移動(dòng)IPv6切換從網(wǎng)絡(luò)層到應(yīng)用層的移動(dòng)IPv6切換性能。
4. 2實(shí)驗(yàn)結(jié)果
在圖5的實(shí)驗(yàn)環(huán)境下進(jìn)行了50次切換,測量了這些切換的性能,選取其中具有代表性的幾組測量結(jié)果進(jìn)行簡單分析。圖6是網(wǎng)絡(luò)層性能測量結(jié)果。圖6(a)為切換各階段和總延遲,從圖中可得到,約80%的切換延遲大于3 s,其中地址配置和家鄉(xiāng)注冊時(shí)間普遍大于或等于1 s,這主要是由于IPv6地址配置過程中重復(fù)地址檢測和家鄉(xiāng)注冊中的綁定更新過程所引起的。這兩部分延遲時(shí)間在整個(gè)切換延遲中占的比重最大,可以說它們是移動(dòng)IPv6切換中最急需改進(jìn)的地方。圖6(b)是切換過程中的丟包率。從圖中可知,測量的50次切換中有43次丟包率大于或等于80%,這主要是由于切換時(shí)MN斷開與AP連接,以及獲取新CoA前無法正常通信所引起的。實(shí)驗(yàn)數(shù)據(jù)表明移動(dòng)IPv6切換的延遲和包丟失率很難滿足那些對(duì)延遲和丟包敏感的實(shí)時(shí)應(yīng)用的需要。
圖7是TCP窗口變化情況圖。其中橫坐標(biāo)是測量周期,縱坐標(biāo)表示TCP擁塞窗口值。一次測量中包含若干個(gè)測量周期,每個(gè)測量周期的間隔固定為100 ms。圖中橫坐標(biāo)在第889~1 777的采集點(diǎn)是切換時(shí)的窗口值;橫坐標(biāo)小于889的點(diǎn)是切換之前的數(shù)據(jù),大于1 777的點(diǎn)是切換之后的數(shù)據(jù)。由圖可知,切換中的窗口值逐步減小為0,可見切換對(duì)傳輸層TCP的性能產(chǎn)生了不良影響。從應(yīng)用層測量結(jié)果也可以看出,TCP發(fā)生擁塞導(dǎo)致基于TCP上的應(yīng)用,如FTP等的傳輸速率迅速減小。
圖8反映了切換前后以及切換過程中各應(yīng)用的性能變化情況。圖8(a)是FTP下載速率變化圖,橫坐標(biāo)測量采樣的周期為1 s,圖中明顯有一段時(shí)間的傳輸速率變?yōu)?,經(jīng)核對(duì)發(fā)現(xiàn)這段時(shí)間恰好是發(fā)生切換的時(shí)間。而且這個(gè)中斷的時(shí)間遠(yuǎn)大于網(wǎng)絡(luò)層切換時(shí)間。因此說明越到上層,切換的影響不僅沒有被弱化,反而加倍。從測量中發(fā)現(xiàn),有時(shí)中斷可以達(dá)到一分鐘甚至是幾分鐘,這對(duì)于一些文件下載和傳輸來說也是不能忍受的。圖8(b)是FTP的連接時(shí)間,它基本上與(a)反映的狀況相同,切換時(shí)FTP客戶端與服務(wù)器連接時(shí)間明顯變長,有的將近一分鐘,這個(gè)現(xiàn)象在其他測量數(shù)據(jù)中也經(jīng)常看到。這說明如果移動(dòng)節(jié)點(diǎn)來回在不同的網(wǎng)絡(luò)間切換,將極有可能導(dǎo)致某些應(yīng)用層業(yè)務(wù)無法工作。圖8(c)是HTTP的連接建立時(shí)間,這些應(yīng)用受到網(wǎng)絡(luò)層切換的影響經(jīng)過傳輸層并沒有弱化,反而加強(qiáng)了。圖8(d)是RTSP流媒體的丟包率情況,從測量的約20組數(shù)據(jù)來看,80%的情況下切換中丟包率都≥60%,這對(duì)于實(shí)時(shí)流媒體應(yīng)用來說是不可忍受的。從實(shí)驗(yàn)過程中也看到,切換確實(shí)導(dǎo)致了流媒體應(yīng)用的中斷,而且中斷的時(shí)間長達(dá)數(shù)十秒,如果來回不停地切換,情況要更加糟糕。
從測量的數(shù)據(jù)和分析來看,移動(dòng)IPv6切換對(duì)網(wǎng)絡(luò)層性能#65380;傳輸層性能和應(yīng)用層性能均造成了影響,而且影響的程度隨著層次的增高變得更大。導(dǎo)致這種情況的原因是多方面的,除了移動(dòng)切換本身導(dǎo)致的網(wǎng)絡(luò)中斷引起的包丟失和延遲增大這個(gè)原因外,上層傳輸協(xié)議不能很好地適應(yīng)移動(dòng)切換致使傳輸可靠性得不到保障也是主要原因。因此在改進(jìn)切換算法的同時(shí),也應(yīng)當(dāng)改進(jìn)現(xiàn)有的傳輸協(xié)議及各種應(yīng)用協(xié)議,提高其可靠性,使其更適合在移動(dòng)環(huán)境下使用以達(dá)到真正的無縫切換。
5相關(guān)工作
對(duì)移動(dòng)IPv6切換性能進(jìn)行測量研究的主要目的是評(píng)估移動(dòng)IPv6切換方法,發(fā)現(xiàn)其中存在的問題,對(duì)這些切換方法進(jìn)行改進(jìn),最終使其達(dá)到無縫切換。IETF提出了三種移動(dòng)IPv6的解決方案,主要關(guān)注的問題還是在切換性能的解決上。但是這些方法并沒有從根本上達(dá)到無縫切換,正是由于這些原因影響了移動(dòng)IPv6的普遍應(yīng)用。為了進(jìn)一步優(yōu)化這些方法,此前有一些關(guān)于對(duì)IETF提出的切換方法的測量和研究。
H. Hartenstein等人[9]通過建立數(shù)學(xué)模型#65380;采用形式化的方法分析比較了MIPv6#65380;FMIPv6和HMIPv6切換延遲的大小。他們分析得出,當(dāng)有線鏈路部分的延遲(ld)遠(yuǎn)大于無線部分延遲(Wd),即ld>>Wd時(shí),HMIPv6的包延遲小于等于FMIPv6,但FMIPv6的包丟失率較小。綜合延遲和包丟失率來考慮的話,如果在HMIPv6和FMIPv6中選取一個(gè)的話,還是FMIPv6的綜合性能優(yōu)于HMIPv6。但是最好的選擇就是將HMIPv6和FMIPv6結(jié)合起來實(shí)施,這樣將有助于切換預(yù)測以提高切換性能。
X. P’erez-Costa等人[10]通過網(wǎng)絡(luò)仿真工具NS-2使用壓力測試(stress test)的方法測量研究了MIPv6#65380;FMIPv6和HMIPv6的切換性能,通過模擬仿真示圖定量分析這些切換的性能,以提供對(duì)這些切換方法進(jìn)行改進(jìn)的依據(jù)。他們主要是關(guān)注網(wǎng)絡(luò)層包延遲和帶寬性能,同時(shí)也測量比較了各種切換方法的信令負(fù)載以及快速切換成功概率與移動(dòng)節(jié)點(diǎn)之間的關(guān)系。他們分析得出隨機(jī)移動(dòng)對(duì)切換性能存在影響,并且隨著包速率和包容量的增大,切換對(duì)網(wǎng)絡(luò)性能的影響會(huì)增大。X. P′erez Costa等人為IETF提出的不同切換方法的性能提供了一些量化的結(jié)果,同時(shí)為不同參數(shù)對(duì)協(xié)議性能的影響提供了一定的評(píng)價(jià)。
M. Dunmore等人[11]詳細(xì)介紹并分析了移動(dòng)IPv6切換過程,并將移動(dòng)IPv6整個(gè)過程分為了若干個(gè)小的階段,將總的切換延遲分成幾個(gè)時(shí)間的和,即th=td+ta+tc+tr+to。其中:td為路由器發(fā)現(xiàn)時(shí)間;ta為地址配置時(shí)間;tc為AAA或QoS狀態(tài)建立時(shí)間;tr為CoA地址注冊時(shí)間;to為路由優(yōu)化時(shí)間。他們分析了各個(gè)時(shí)間的具體組成,最后作了一個(gè)簡單的實(shí)驗(yàn)對(duì)切換延遲進(jìn)行測量。從測量分析的結(jié)論來看,如果要較好地支持當(dāng)前一些交互性和實(shí)時(shí)性強(qiáng)的業(yè)務(wù),現(xiàn)有的移動(dòng)IPv6切換方法還需要作進(jìn)一步的改進(jìn)以提高其性能。
A. Cabellos-Aparicio等人[12]利用現(xiàn)有的一些網(wǎng)絡(luò)測量工具,如Ethereal,對(duì)移動(dòng)切換性能瓶頸進(jìn)行了測量和分析,比較了二層和三層切換,簡單地研究了切換對(duì)流媒體應(yīng)用的影響。測量分析發(fā)現(xiàn),切換過程中的丟包與包速率相關(guān),包速率越大丟包越嚴(yán)重,同時(shí)包延遲與丟包率成正比。當(dāng)前的基本移動(dòng)IPv6切換算法無法保證低帶寬情況下的QoS,對(duì)于對(duì)通話質(zhì)量要求較高的語言傳輸業(yè)務(wù)是不可容忍的。解決這個(gè)問題的途徑就是進(jìn)一步優(yōu)化移動(dòng)IPv6切換算法或干脆使用另外的切換算法。
本文在A. Cabellos-Aparicio等人研究的基礎(chǔ)上,對(duì)移動(dòng)IPv6切換作了進(jìn)一步的測量分析研究。與上面的研究不同,本文主要關(guān)注移動(dòng)IPv6切換行為對(duì)網(wǎng)絡(luò)中各種應(yīng)用的影響,以及由于切換產(chǎn)生的整個(gè)網(wǎng)絡(luò)各層之間的相互影響,通過測量和分析切換所造成的對(duì)各應(yīng)用產(chǎn)生的外部影響來評(píng)估切換的性能。本文通過測量分析切換對(duì)網(wǎng)絡(luò)應(yīng)用和整個(gè)網(wǎng)絡(luò)各層產(chǎn)生了什么影響并且影響到什么程度,通過觀察這些影響發(fā)現(xiàn)切換在實(shí)際應(yīng)用中出現(xiàn)的某些問題,從而為進(jìn)一步提出解決的辦法提供參考。為了對(duì)這些影響進(jìn)行量化,設(shè)計(jì)了一系列測量指標(biāo);同時(shí)為了配合測量和分析,實(shí)現(xiàn)了一個(gè)移動(dòng)IPv6切換性能測量系統(tǒng)。該測量系統(tǒng)能測量從網(wǎng)絡(luò)層到應(yīng)用層的切換性能,部署方便,減少了測量的工作量,提高了測量的準(zhǔn)確性。
6結(jié)束語
移動(dòng)IPv6協(xié)議是下一代Internet重要的協(xié)議,移動(dòng)切換是移動(dòng)IPv6中最重要的部分。切換性能的優(yōu)劣直接影響到移動(dòng)IPv6協(xié)議在現(xiàn)實(shí)中的普及,對(duì)移動(dòng)切換性能進(jìn)行測量分析研究將有助于移動(dòng)IPv6在下一代互聯(lián)網(wǎng)中的早日普及和應(yīng)用。本文在他人研究基礎(chǔ)之上,對(duì)移動(dòng)IPv6切換性能作了進(jìn)一步的測量分析研究,提出了一系列性能評(píng)價(jià)指標(biāo),設(shè)計(jì)并最終實(shí)現(xiàn)了一個(gè)移動(dòng)IPv6切換性能測量系統(tǒng)。該系統(tǒng)可以測量和評(píng)估從網(wǎng)絡(luò)層到應(yīng)用層的切換性能。最后在實(shí)驗(yàn)網(wǎng)絡(luò)上進(jìn)行了測量并對(duì)結(jié)果進(jìn)行了分析。通過分析發(fā)現(xiàn)切換對(duì)網(wǎng)絡(luò)中從網(wǎng)絡(luò)層到應(yīng)用層的性能都產(chǎn)生了嚴(yán)重的影響,且隨著網(wǎng)絡(luò)層次增高,移動(dòng)切換對(duì)網(wǎng)絡(luò)性能影響也不斷增大。實(shí)際中還發(fā)現(xiàn),現(xiàn)有的傳輸控制協(xié)議對(duì)于移動(dòng)IPv6切換引起的延遲和包丟失問題并沒起到應(yīng)有的傳輸可靠性保障作用。這些都在下一步工作中將進(jìn)一步完善該測量系統(tǒng),豐富其測量指標(biāo)后對(duì)移動(dòng)切換性能進(jìn)行進(jìn)一步測量,把測量環(huán)境移到Internet中,使其更具一般性和代表性。根據(jù)測量數(shù)據(jù)中反映的問題作進(jìn)一步的分析并提出如何改進(jìn)移動(dòng)IPv6切換性能的方法以減小切換對(duì)網(wǎng)絡(luò)性能造成的影響。
參考文獻(xiàn):
[1]PERKINS C. RFC 3344, IP mobility support for IPv4[S].2002.
[2]DEERING S, HINDEN R. RFC 2460, Internet protocol, version 6 (IPv6) specification[S].1998.
[3]JOHNSON D, PERKINS C, ARKKO J. RFC 3775, Mobility support in IPv6[S].2004.
[4]KOODLI R. RFC 4068, Fast handovers for mobile IPv6[S].2005.
[5]SOLIMAN H, CASTELLUCCIA C,MALKI K E, et al. RFC 4140, Hierarchical mobile IPv6 mobility management (HMIPv6)[S].2005.
[6]ALMES G, KALIDINDI S, ZEKAUSKAS M. RFC 2679, A one-way delay metric for IPPM[S]. 1999.
[7]ALMES G, KALIDINDI S, ZEKAUSKAS M. RFC 2681, A round-trip delay metric for IPPM[S]. 1999.
[8]MATHIS M,ALLMAN M. RFC 3148, A framework for defining empirical bulk transfer capacity metrics[S]. 2001.
[9]HARTENSTETN H, LIEBESCHM, P′EREE-COSTA X,et al.A MIPv6, FMIPv6 and HMIPv6 handover latency study:analytical approach[C]//IST Mobile and Wireless Telecommunications Summit Thessalonilci.Greece: [s.n.], 2002.
[10]P′EREZ-COSTA X,TORRENT-MORENO M,HARTENSTEIN H.A performance comparison of mobile IPv6, hierarchical mobile IPv6,fast handovers for mobile IPv6 and their combination[J]. ACM Mobile Computing and Communications Review,2003,7(4):5-19.
[11]DUNMORE M, PAGTZIS T. Mobile IPv6 handovers: performance analysis and evaluation[EB/OL]. http://www.6net.org/ publications /deliverables/ D4.1.3v1.pdf.
[12]CABELLOS-APARICIO A,SERRAL-GRACIà R,JAKAB L, et al. Measurement based analysis of the handover in a WLAN MIPv6 scenario[C]//Proc of the 6th International Workshop on Passive and Active Measurements.Boston: Springer, 2005:203-214.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”