基于網(wǎng)絡(luò)編碼的機(jī)會(huì)網(wǎng)絡(luò)數(shù)據(jù)分發(fā)研究與仿真畢業(yè)設(shè)計(jì)說(shuō)明書
《基于網(wǎng)絡(luò)編碼的機(jī)會(huì)網(wǎng)絡(luò)數(shù)據(jù)分發(fā)研究與仿真畢業(yè)設(shè)計(jì)說(shuō)明書》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于網(wǎng)絡(luò)編碼的機(jī)會(huì)網(wǎng)絡(luò)數(shù)據(jù)分發(fā)研究與仿真畢業(yè)設(shè)計(jì)說(shuō)明書(57頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 1 引言1.1 研究問(wèn)題現(xiàn)狀近年來(lái),無(wú)線通信技術(shù)得到了飛速的發(fā)展,新技術(shù)不斷出現(xiàn),其中移動(dòng)通信系統(tǒng)的3G技術(shù)已經(jīng)進(jìn)入應(yīng)用普及階段,并朝第四代通信系統(tǒng)方向演進(jìn)。國(guó)家中長(zhǎng)期科學(xué)和技術(shù)發(fā)展規(guī)劃綱要(2006一2020)中已經(jīng)明確提出了未來(lái)通信領(lǐng)域的競(jìng)爭(zhēng)將集中反映在特殊環(huán)境和新興應(yīng)用領(lǐng)域中的通信網(wǎng)絡(luò)能力及通信技術(shù)的競(jìng)爭(zhēng)上1。其中新興應(yīng)用領(lǐng)域涉及到的移動(dòng)網(wǎng)絡(luò)技術(shù)更是被作為前沿技術(shù)中的重點(diǎn)。目前,移動(dòng)通信的快速發(fā)展使得移動(dòng)網(wǎng)絡(luò)帶寬逐漸增大,移動(dòng)應(yīng)用不斷豐富,移動(dòng)終端的處理能力越來(lái)越強(qiáng)。為了適應(yīng)不同的應(yīng)用需求,各具特色的網(wǎng)絡(luò)結(jié)構(gòu)和無(wú)線網(wǎng)絡(luò)技術(shù)不斷涌現(xiàn),包括無(wú)線個(gè)域網(wǎng)(如IEEE802.15)、無(wú)線局域網(wǎng)(
2、如IEEE802.lla/b/g/i/n)、無(wú)線城域網(wǎng)(如802.16、802.20)、無(wú)線移動(dòng)廣域網(wǎng)(如2G、3G)、衛(wèi)星網(wǎng)絡(luò),以及無(wú)線自組織(Ad Hoc)網(wǎng)絡(luò)、無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)等等。而WIFi、WIMax、UWB等無(wú)線接入網(wǎng)絡(luò)和GPRS、B3G、UMTS等蜂窩移動(dòng)網(wǎng)絡(luò)等基礎(chǔ)設(shè)施與技術(shù)的完善為移動(dòng)應(yīng)用提供了在任何時(shí)間、任何地點(diǎn)訪問(wèn)所有網(wǎng)絡(luò)服務(wù)的可能性。在上述的各種網(wǎng)絡(luò)發(fā)展后,一種節(jié)點(diǎn)移動(dòng)范圍更大,網(wǎng)絡(luò)大多數(shù)都是不連通的新型網(wǎng)絡(luò)出現(xiàn)了,這種類型的網(wǎng)絡(luò)被稱為機(jī)會(huì)網(wǎng)絡(luò),機(jī)會(huì)網(wǎng)絡(luò)是一種不需要源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間存在完整路徑,利用節(jié)點(diǎn)移動(dòng)帶來(lái)的
3、相遇機(jī)會(huì)實(shí)現(xiàn)網(wǎng)絡(luò)通信的自組織網(wǎng)絡(luò)。經(jīng)過(guò)近幾年的發(fā)展,機(jī)會(huì)網(wǎng)絡(luò)技術(shù)研究與應(yīng)用已經(jīng)取得了一定的進(jìn)展,但是,總體而言目前相關(guān)研究還處于一個(gè)剛起步的初級(jí)階段。隨著移動(dòng)應(yīng)用業(yè)務(wù)的增加以及機(jī)會(huì)網(wǎng)絡(luò)商業(yè)化,機(jī)會(huì)網(wǎng)絡(luò)技術(shù)的全面應(yīng)用與深入仍然要解決很多極具挑戰(zhàn)性的問(wèn)題,如復(fù)雜環(huán)境下的路由、數(shù)據(jù)時(shí)延與網(wǎng)絡(luò)開銷均衡問(wèn)題、移動(dòng)狀態(tài)下網(wǎng)絡(luò)可靠性以及安全問(wèn)題等等。同時(shí)在一些領(lǐng)域,機(jī)會(huì)網(wǎng)絡(luò)的相關(guān)技術(shù)標(biāo)準(zhǔn)尚未形成,尤其在國(guó)內(nèi)對(duì)于這類高延遲的特殊通信網(wǎng)絡(luò)的研究才剛剛起步。規(guī)劃信息化發(fā)展戰(zhàn)略中不僅強(qiáng)調(diào)了信息產(chǎn)業(yè)以及信息技術(shù)的發(fā)展,同時(shí)也提出了將寬帶無(wú)線移動(dòng)通信、新興及特殊應(yīng)用領(lǐng)域的網(wǎng)絡(luò)通信等核心關(guān)鍵技術(shù)研究作為我國(guó)信息技術(shù)的主要
4、發(fā)展方向之一。因此,對(duì)機(jī)會(huì)網(wǎng)絡(luò)數(shù)據(jù)分發(fā)展開研究將為正確理解機(jī)會(huì)網(wǎng)絡(luò)拓?fù)渑c數(shù)據(jù)傳輸特點(diǎn)提供可行性依據(jù),有助于推進(jìn)現(xiàn)有關(guān)鍵技術(shù)的可擴(kuò)展性,并對(duì)提高機(jī)會(huì)網(wǎng)絡(luò)數(shù)據(jù)傳輸可靠性,探索節(jié)點(diǎn)移動(dòng)模型對(duì)機(jī)會(huì)網(wǎng)絡(luò)服務(wù)性能保障的影響,推動(dòng)相關(guān)技術(shù)的深入研究有重要現(xiàn)實(shí)的意義。2000年,R.Ahlswede等人基于網(wǎng)絡(luò)信息流的概念提出了網(wǎng)絡(luò)編碼的思想,通過(guò)允許中間節(jié)點(diǎn)既實(shí)現(xiàn)路由功能又實(shí)現(xiàn)編碼功能,達(dá)到組播的最大流量2。為使得網(wǎng)絡(luò)編碼具有實(shí)際可用性,Li等人提出了線性網(wǎng)絡(luò)編碼的概念,證實(shí)節(jié)點(diǎn)進(jìn)行線性網(wǎng)絡(luò)編碼運(yùn)算,具有可行性,能夠達(dá)到最大流傳輸理論極限3。Ho等人推廣了這一概念,提出了有限域下隨機(jī)線性網(wǎng)絡(luò)編碼的思想,并證
5、實(shí)其有效性4。之后,隨機(jī)線性網(wǎng)絡(luò)編碼被應(yīng)用于各個(gè)方面的研究,用于提高網(wǎng)絡(luò)吞吐量、能量利用效率。網(wǎng)絡(luò)編碼徹底改變了通信網(wǎng)絡(luò)中信息處理和信息傳輸?shù)姆绞剑徽J(rèn)為是進(jìn)入 21世紀(jì)后信息處理和信息傳輸研究領(lǐng)域上最重要的理論成果之一。網(wǎng)絡(luò)編碼的核心思想是允許通信網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)傳輸?shù)男畔⑦M(jìn)行操作和處理(如有限域中的運(yùn)算等),而不再局限于存儲(chǔ)與轉(zhuǎn)發(fā)。與傳統(tǒng)的基于存儲(chǔ)和轉(zhuǎn)發(fā)的路由傳輸機(jī)制相比,網(wǎng)絡(luò)編碼能顯著改善數(shù)據(jù)分發(fā)系統(tǒng)性能,如提升網(wǎng)絡(luò)吞吐量,節(jié)約傳輸帶寬和均衡網(wǎng)絡(luò)負(fù)載等。網(wǎng)絡(luò)編碼具有重要的理論價(jià)值和廣泛的應(yīng)用前景,其研究已經(jīng)引起了學(xué)術(shù)界和產(chǎn)業(yè)界的廣泛關(guān)注和高度重視。國(guó)際知名大學(xué)、科研機(jī)構(gòu)和公司,如普林斯頓大
6、學(xué)、麻省理工學(xué)院(MIT)、貝爾實(shí)驗(yàn)室(Bell Lab)、AT&T 的香農(nóng)信息實(shí)驗(yàn)室和微軟公司(Microsoft)等都積極投入對(duì)網(wǎng)絡(luò)編碼的研究,并取得了一些重要的研究成果。我國(guó)的香港中文大學(xué)(CUHK)、清華大學(xué)、中國(guó)科學(xué)技術(shù)大學(xué)、西安電子科技大學(xué)和南京大學(xué)等也對(duì)網(wǎng)絡(luò)編碼展開了研究,并取得一定的進(jìn)展。機(jī)會(huì)網(wǎng)絡(luò)經(jīng)常出現(xiàn)鏈路斷裂,網(wǎng)絡(luò)不連通的狀況,在這種情況下,節(jié)點(diǎn)一般并不丟棄數(shù)據(jù)包,相反節(jié)點(diǎn)傳輸數(shù)據(jù)一般采用“存儲(chǔ)一攜帶一轉(zhuǎn)發(fā)”的模式,傳統(tǒng)的機(jī)會(huì)網(wǎng)絡(luò)中,中間節(jié)點(diǎn)只進(jìn)行數(shù)據(jù)的存儲(chǔ)與轉(zhuǎn)發(fā)操作,但是運(yùn)用網(wǎng)絡(luò)編碼的機(jī)會(huì)網(wǎng)絡(luò)中,中間節(jié)點(diǎn)可以對(duì)接收到的數(shù)據(jù)塊進(jìn)行隨機(jī)線性組合編碼,可以增大單次傳輸?shù)臄?shù)據(jù)量。
7、隨著網(wǎng)絡(luò)規(guī)模的日趨龐大、各種網(wǎng)絡(luò)方案和協(xié)議日趨復(fù)雜,分析、實(shí)驗(yàn)和仿真等方法成為了當(dāng)前進(jìn)行網(wǎng)絡(luò)技術(shù)研究的有效手段。研究網(wǎng)絡(luò)仿真技術(shù)成為了現(xiàn)代通信網(wǎng)絡(luò)設(shè)計(jì)的重要環(huán)節(jié),在通信網(wǎng)絡(luò)性能研究中起關(guān)鍵性作用。在眾多網(wǎng)絡(luò)仿真軟件中NS2具有免費(fèi)、源代碼開放、易擴(kuò)展等等優(yōu)點(diǎn)而備受研究人員的青睞。NS2是一個(gè)開源的網(wǎng)絡(luò)仿真軟件,可以再windows/unix上運(yùn)行,且所有源代碼公開,對(duì)于進(jìn)行網(wǎng)絡(luò)的研究和擴(kuò)展非常方便。本課題研究的內(nèi)容就是在仿真平臺(tái)NS2下設(shè)計(jì)并建立機(jī)會(huì)網(wǎng)絡(luò)模型,理解網(wǎng)絡(luò)編碼的原理,在NS2中編程實(shí)現(xiàn)基于分簇的隨機(jī)線性網(wǎng)絡(luò)編碼數(shù)據(jù)分發(fā)的仿真并與一般的網(wǎng)絡(luò)編碼比較其網(wǎng)絡(luò)吞吐量和時(shí)延性能。1.2 本文
8、的內(nèi)容組織本文內(nèi)容組織如下:先分別介紹了機(jī)會(huì)網(wǎng)絡(luò)、網(wǎng)絡(luò)編碼原理及仿真平臺(tái)NS2的各種知識(shí),然后使用NS2構(gòu)建機(jī)會(huì)網(wǎng)絡(luò)拓?fù)?,編出各個(gè)代碼腳本,在NS2上仿真實(shí)驗(yàn),得出數(shù)據(jù)并畫圖進(jìn)行說(shuō)明驗(yàn)證。2 機(jī)會(huì)網(wǎng)絡(luò)及網(wǎng)絡(luò)編碼相關(guān)知識(shí)2.1 機(jī)會(huì)網(wǎng)絡(luò)的概念機(jī)會(huì)網(wǎng)絡(luò)是一種特殊的自組織網(wǎng)絡(luò),它不需要存在端到端的完整路徑,充分利用了節(jié)點(diǎn)移動(dòng)帶來(lái)的相遇機(jī)會(huì)(contact),實(shí)現(xiàn)數(shù)據(jù)逐跳轉(zhuǎn)發(fā),并最終傳送到目的節(jié)點(diǎn)5。從本質(zhì)上來(lái)看,機(jī)會(huì)網(wǎng)絡(luò)否定了傳統(tǒng)網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)囊粋€(gè)根本前提在路由期間或者數(shù)據(jù)傳遞期間,存在一條或者多條源端到目的端的路徑。機(jī)會(huì)網(wǎng)絡(luò)中的相遇(contact)概念是指節(jié)點(diǎn)之間發(fā)生的一次聯(lián)系。當(dāng)節(jié)點(diǎn)(如:車
9、輛、移動(dòng)用戶)進(jìn)入彼此的通信范圍之內(nèi)時(shí),則發(fā)生通信,當(dāng)兩者離開彼此通信范圍時(shí),則鏈路斷開,停止通信。在機(jī)會(huì)網(wǎng)絡(luò)中,contact是機(jī)會(huì)性的,而非確定性的。圖2.1是一個(gè)機(jī)會(huì)網(wǎng)絡(luò)示意圖,t1時(shí)刻源節(jié)點(diǎn)S希望將數(shù)據(jù)傳輸給目標(biāo)節(jié)點(diǎn)D,但S 和D 位于不同的連通域而沒(méi)有通信路徑,因此,S 首先將數(shù)據(jù)打包成消息發(fā)送給鄰居節(jié)點(diǎn)3,由于3并沒(méi)有合適的機(jī)會(huì)轉(zhuǎn)發(fā)下一跳節(jié)點(diǎn),它將消息在本地存儲(chǔ)并等待傳輸機(jī)會(huì),經(jīng)過(guò)一段時(shí)間到達(dá)t2 時(shí)刻,節(jié)點(diǎn)3運(yùn)動(dòng)到節(jié)點(diǎn)4的通信范圍并轉(zhuǎn)發(fā)給節(jié)點(diǎn)4,在t3時(shí)刻,節(jié)點(diǎn)4將消息傳輸給目標(biāo)節(jié)點(diǎn)D,完成數(shù)據(jù)傳輸。圖2.1 機(jī)會(huì)網(wǎng)絡(luò)示意圖機(jī)會(huì)網(wǎng)絡(luò)的部分概念來(lái)源于早期的延遲容忍網(wǎng)絡(luò)DTN(del
10、ay tolerant network)6研究。DTN最初是容遲網(wǎng)絡(luò)研究組(DTNRG)為星際網(wǎng)絡(luò)IPN(interplanetary network)7通信而提出來(lái)的,其主要目標(biāo)是支持具有間歇性連通、延遲大、錯(cuò)誤率高等通信特征的不同網(wǎng)絡(luò)的互聯(lián)和互操作,如互聯(lián)Internet和傳感器網(wǎng)絡(luò)、移動(dòng)自組織網(wǎng)絡(luò)等。DTN網(wǎng)絡(luò)體系由多個(gè)底層運(yùn)行獨(dú)立通信協(xié)議的DTN域組成。域間網(wǎng)關(guān)利用“存儲(chǔ)-轉(zhuǎn)發(fā)”的模式工作,當(dāng)去往目標(biāo)DTN域的鏈路存在時(shí)轉(zhuǎn)發(fā)消息,否則,將消息存儲(chǔ)在本地持久存儲(chǔ)器中等待可用鏈路。機(jī)會(huì)網(wǎng)絡(luò)可以看成是具有一般DTN 網(wǎng)絡(luò)特征的無(wú)線自組網(wǎng)。2.2 機(jī)會(huì)網(wǎng)絡(luò)的構(gòu)架機(jī)會(huì)網(wǎng)絡(luò)的體系結(jié)構(gòu)與傳統(tǒng)Inte
11、rnet傳輸結(jié)構(gòu)的最大區(qū)別在于束層(BundleLayer),它位于傳輸層和應(yīng)用層之間,它跟底層協(xié)議相互配合,使得應(yīng)用程序可以跨過(guò)多個(gè)區(qū)域?qū)崿F(xiàn)通信。機(jī)會(huì)網(wǎng)絡(luò)節(jié)點(diǎn)使用束層來(lái)發(fā)送和接受數(shù)據(jù),并保證逐跳轉(zhuǎn)發(fā)的可靠性以及端到端的確認(rèn)。該架構(gòu)非常靈活,既保證了各層的共性,又避免非法使用其他層。1、束層為了實(shí)現(xiàn)“存儲(chǔ)-攜帶-轉(zhuǎn)發(fā)”的消息交換機(jī)制,機(jī)會(huì)網(wǎng)絡(luò)在節(jié)點(diǎn)的應(yīng)用層和傳輸層之間插入了一個(gè)新的協(xié)議層束層。使用束層的一個(gè)主要原因是在機(jī)會(huì)網(wǎng)絡(luò)中,傳輸延時(shí)差異很大,當(dāng)一個(gè)數(shù)據(jù)包丟失時(shí),整個(gè)傳輸?shù)臄?shù)據(jù)成為無(wú)用數(shù)據(jù)。因此為了避免這樣的事情發(fā)生,將數(shù)據(jù)打包成一個(gè)較大的消息,稱之為束,并使之不能輕易分割成更小的片段。機(jī)
12、會(huì)網(wǎng)絡(luò)中一般不存在從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的端到端的連接,因此束會(huì)存儲(chǔ)在中繼節(jié)點(diǎn)上并等待合適機(jī)會(huì)進(jìn)行傳輸。一個(gè)束必須包含的信息有:源端地址、目的端地址、起始時(shí)間、束的生存時(shí)間、數(shù)據(jù)長(zhǎng)度及服務(wù)類型等。此外,對(duì)于具體的應(yīng)用,可能還需要一些狀態(tài)域和認(rèn)證消息,例如,監(jiān)管傳送請(qǐng)求等。2、監(jiān)管傳送束層提供了一種簡(jiǎn)單的并且不需要應(yīng)答的投遞機(jī)制,但框架本身提供了兩種可能的方法來(lái)提高可靠性:端到端的應(yīng)答和監(jiān)管傳送。通過(guò)監(jiān)管傳送,可以保證端到端的可靠性。在特定的環(huán)境下,這種機(jī)制可以更好地利用資源,例如源節(jié)點(diǎn)可以將已經(jīng)投遞成功的束在緩存中釋放掉。3、機(jī)會(huì)網(wǎng)絡(luò)中的節(jié)點(diǎn)一個(gè)束的源端和目的端是由端點(diǎn)號(hào)EID(Endpoint-
13、Identifier)來(lái)標(biāo)識(shí)的。EID中包含一個(gè)或多個(gè)機(jī)會(huì)網(wǎng)絡(luò)節(jié)點(diǎn)。當(dāng)目的地收到該束時(shí),認(rèn)為該束傳遞成功。EID可以類比于DNS(Domain Name System)中的統(tǒng)一資源標(biāo)識(shí)(URI,Uniform Resource Identifier),并且與路由或拓?fù)浣M織結(jié)構(gòu)沒(méi)有必然聯(lián)系。區(qū)域名是早先提出的一個(gè)概念,一個(gè)完整的地址由區(qū)域號(hào)和節(jié)點(diǎn)號(hào)組成?;谶@種區(qū)域的概念,束首先投遞到目的節(jié)點(diǎn)所在的區(qū)域,然后再投遞到目的節(jié)點(diǎn)。4、服務(wù)分類按重要性不同,束層引入了三類服務(wù):1、大塊束(bulk bundles),只需要較小的投入,當(dāng)有資源可用時(shí)就可以提供這種服務(wù);2、正常束(normal clas
14、s bundles),比大塊束優(yōu)先級(jí)要高,但比“加快束”(expedited bundles)優(yōu)先級(jí)要低;3、加快束,這類服務(wù)只是針對(duì)來(lái)自同一個(gè)端點(diǎn)的束而言,例如:當(dāng)大塊束與加快束來(lái)自不同的端點(diǎn)時(shí),即使加快束比大塊束優(yōu)先級(jí)高,但大塊束仍有可能比加快束先傳遞。5、安全機(jī)會(huì)網(wǎng)絡(luò)框架提供了一個(gè)可選的安全構(gòu)架,使用逐跳、端到端的授權(quán)和誠(chéng)信機(jī)制,主要的困難是如何對(duì)網(wǎng)絡(luò)進(jìn)行控制和如何轉(zhuǎn)發(fā)控制消息。沒(méi)有進(jìn)行認(rèn)證的節(jié)點(diǎn)不能夠通過(guò)機(jī)會(huì)網(wǎng)絡(luò)發(fā)送數(shù)據(jù),并且不能利用該網(wǎng)絡(luò)以外的節(jié)點(diǎn)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。2.3 機(jī)會(huì)網(wǎng)絡(luò)拓?fù)涮攸c(diǎn)1、多跳網(wǎng)由于無(wú)線通信的距離受限制,機(jī)會(huì)網(wǎng)絡(luò)中節(jié)點(diǎn)之間的通信通常需要借助其他節(jié)點(diǎn)的中繼轉(zhuǎn)發(fā)才能實(shí)現(xiàn),
15、便形成了多跳通信路徑。2、動(dòng)態(tài)的網(wǎng)絡(luò)拓?fù)錂C(jī)會(huì)網(wǎng)絡(luò)中節(jié)點(diǎn)間的相互連通性構(gòu)成了網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。由于機(jī)會(huì)網(wǎng)絡(luò)中的節(jié)點(diǎn)可以以隨機(jī)的速度和方式移動(dòng),加上發(fā)射功率的變化,以及無(wú)線信道的干擾大小不斷變化等因素,節(jié)點(diǎn)間通過(guò)無(wú)線通信形成的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可能隨時(shí)發(fā)生變化,而且變化的方式和速度都是難以預(yù)料的。3、分布式控制在機(jī)會(huì)網(wǎng)絡(luò)中,為了實(shí)現(xiàn)網(wǎng)內(nèi)節(jié)點(diǎn)之間的通信,需要解決無(wú)線資源使用、路由發(fā)現(xiàn)等控制問(wèn)題。由于機(jī)會(huì)網(wǎng)絡(luò)沒(méi)有預(yù)設(shè)的基礎(chǔ)設(shè)施,也就沒(méi)有預(yù)設(shè)的中心控制節(jié)點(diǎn),所以只能采用分布式控制的方式來(lái)完成。4、對(duì)等性機(jī)會(huì)網(wǎng)絡(luò)中節(jié)點(diǎn)與節(jié)點(diǎn)可以直接互通,每個(gè)節(jié)點(diǎn)都相同,無(wú)主從之分,每個(gè)節(jié)點(diǎn)都能夠支持邏輯上的自發(fā)自收,即節(jié)點(diǎn)直接的
16、來(lái)去雙向鏈路都相同。因此,無(wú)機(jī)會(huì)網(wǎng)絡(luò)節(jié)點(diǎn)的無(wú)線通信裝置一般采用時(shí)分雙工方式(TDD)。5、臨時(shí)自組織性若干個(gè)無(wú)線節(jié)點(diǎn)聚集到一起時(shí),他們便臨時(shí)自組織性地形成了一個(gè)無(wú)線通信網(wǎng)絡(luò),該臨時(shí)性包括:網(wǎng)絡(luò)成員的臨時(shí)性,網(wǎng)絡(luò)組織的臨時(shí)性,網(wǎng)絡(luò)拓?fù)涞呐R時(shí)性,網(wǎng)絡(luò)路由的臨時(shí)性,網(wǎng)絡(luò)無(wú)線資源分配采用按需臨時(shí)分配等。6、鏈路帶寬受限機(jī)會(huì)網(wǎng)絡(luò)采用無(wú)線傳輸技術(shù)作為其基本通信手段,與有線傳輸技術(shù)相比,它具有較低的傳輸帶寬。并且由于各個(gè)節(jié)點(diǎn)分布式競(jìng)爭(zhēng)使用信道,使得每個(gè)移動(dòng)節(jié)點(diǎn)實(shí)際使用的帶寬遠(yuǎn)小于物理層所提供的最大傳輸速率。7、能量受限機(jī)會(huì)網(wǎng)絡(luò)內(nèi)的移動(dòng)節(jié)點(diǎn)一般需要依靠電池來(lái)提供能量,因此,節(jié)省功率將使自組網(wǎng)技術(shù)中一個(gè)需要高度
17、重視的問(wèn)題。8、有限的安全性機(jī)會(huì)網(wǎng)絡(luò)由于采用分布式控制、無(wú)中心、臨時(shí)組織等原因,它比一般的無(wú)線網(wǎng)絡(luò)更易受到安全方面的威脅。2.4 機(jī)會(huì)網(wǎng)絡(luò)節(jié)點(diǎn)移動(dòng)模型節(jié)點(diǎn)移動(dòng)模型描述了節(jié)點(diǎn)的移動(dòng)模式,包括位置、速度等特征的變化,廣泛應(yīng)用于自組網(wǎng)協(xié)議性能的分析和評(píng)價(jià),是自組織網(wǎng)絡(luò)的基礎(chǔ)研究之一。傳統(tǒng)的MANET假設(shè)網(wǎng)絡(luò)是全連通的,節(jié)點(diǎn)的移動(dòng)對(duì)路由層以上的協(xié)議是“屏蔽”的。因此一般從網(wǎng)絡(luò)拓?fù)浣嵌热シ治鲆苿?dòng)模型對(duì)協(xié)議性能的影響,如拓?fù)溥B通率、節(jié)點(diǎn)連通度等,而機(jī)會(huì)網(wǎng)絡(luò)中的移動(dòng)模型研究是以刻畫節(jié)點(diǎn)相遇特征為核心的。這是因?yàn)樵跈C(jī)會(huì)網(wǎng)絡(luò)中的數(shù)據(jù)傳輸依賴于節(jié)點(diǎn)移動(dòng)帶來(lái)的相遇機(jī)會(huì),而節(jié)點(diǎn)的相遇概率和相遇時(shí)間分布是由節(jié)點(diǎn)的移動(dòng)模
18、型決定的。因此,相比于傳統(tǒng)的MANET,移動(dòng)模型對(duì)機(jī)會(huì)網(wǎng)絡(luò)研究更加重要。2.4.1 獨(dú)立同分布的理論移動(dòng)模型許多學(xué)者研究了3個(gè)經(jīng)典的獨(dú)立同分布移動(dòng)模:Random Way Point8(RWP) Random Walk(RW)和Random Direction9(RD)。這些模型下的節(jié)點(diǎn)相遇特征可用兩個(gè)參數(shù)來(lái)刻畫:相遇時(shí)間(meeting time,簡(jiǎn)稱MT)和相遇間隔時(shí)間(inter meeting time,簡(jiǎn)稱IMT)。MT 是指兩個(gè)節(jié)點(diǎn)從靜止開始到第一次相遇(進(jìn)入通信范圍)經(jīng)過(guò)的時(shí)間間隔,而IMT 是指兩個(gè)節(jié)點(diǎn)前后兩次相遇的時(shí)間間隔。文獻(xiàn)9都分別從不同的角度證明了上述3個(gè)移動(dòng)模型的節(jié)點(diǎn)
19、期望相遇時(shí)間(expected meeting time)服從指數(shù)分布或其尾部服從指數(shù)分布,并基于此分析了多種路由協(xié)議的延時(shí)性能。文獻(xiàn)10推導(dǎo)出RW模型下期望相遇間隔時(shí)間的分布也服從指數(shù)分布,而文獻(xiàn)11推導(dǎo)了RD模型和RWP模型下的期望相遇間隔時(shí)間分布,并證明了RWP和RD模型下相遇時(shí)間和相遇間隔時(shí)間的尾部分布是無(wú)記憶的。2.4.2 基于統(tǒng)計(jì)的實(shí)際移動(dòng)模型除了從理論來(lái)推導(dǎo)以外,一些研究人員還利用統(tǒng)計(jì)方法,通過(guò)收集實(shí)際環(huán)境中節(jié)點(diǎn)的運(yùn)動(dòng)軌跡來(lái)研究節(jié)點(diǎn)的移動(dòng)特征。MIT 的Reality Mining項(xiàng)目12記錄了MIT校園中100個(gè)攜帶藍(lán)牙智能手機(jī)的學(xué)生和職工為期9個(gè)月的移動(dòng)軌跡和相遇數(shù)據(jù);UCS
20、D 的Wireless Topology Discovery13收集了11周內(nèi)300個(gè)無(wú)線PDA與Wi-Fi接入點(diǎn)的相遇數(shù)據(jù);劍橋大學(xué)的Haggle項(xiàng)目14則記錄了若干個(gè)帶有藍(lán)牙接口的iMote設(shè)備在校園的相遇情況。此外,他們還在INFOCOM參會(huì)期間進(jìn)行了類似的實(shí)驗(yàn);UMass研究小組15收集并分析了由公交車上的Wi-Fi節(jié)點(diǎn)組成的機(jī)會(huì)網(wǎng)絡(luò)DieselNet實(shí)際運(yùn)行中的相遇規(guī)律。文獻(xiàn)2通過(guò)分析文獻(xiàn)13中的數(shù)據(jù)集發(fā)現(xiàn),實(shí)際節(jié)點(diǎn)的移動(dòng)具有社區(qū)特性,節(jié)點(diǎn)相遇時(shí)間服從近似的冪律分布,而不是根據(jù)經(jīng)典移動(dòng)模型推導(dǎo)出的指數(shù)分布,這些成果證實(shí)了傳統(tǒng)的移動(dòng)模型并不一定適用于實(shí)際節(jié)點(diǎn)的移動(dòng)特征,但研究人員在對(duì)于
21、使用何種分布的移動(dòng)模型問(wèn)題上一直存在爭(zhēng)議。文獻(xiàn)16試圖統(tǒng)一這兩種類型的移動(dòng)模型,作者從理論上推導(dǎo)出在一個(gè)有限邊界的移動(dòng)空間中,節(jié)點(diǎn)相遇間隔時(shí)間服從指數(shù)分布,如果去掉有限邊界的條件,按照RW模型移動(dòng)的節(jié)點(diǎn)相遇間隔就與統(tǒng)計(jì)觀察到的結(jié)果相一致,服從近似冪律分布。2.4.3 基于社區(qū)的移動(dòng)模型人所攜帶設(shè)備組成的網(wǎng)絡(luò)是機(jī)會(huì)網(wǎng)絡(luò)的一個(gè)主要應(yīng)用,探索適用于這類場(chǎng)景且便于數(shù)學(xué)分析的移動(dòng)模型機(jī)會(huì)網(wǎng)絡(luò)研究的一個(gè)重點(diǎn)。基于由人組成的機(jī)會(huì)網(wǎng)絡(luò)節(jié)點(diǎn)移動(dòng)實(shí)際表現(xiàn)出的社區(qū)特性,一些研究人員提出了基于社區(qū)的移動(dòng)模型(community based model)。該模型下的節(jié)點(diǎn)并不是隨機(jī)選取移動(dòng)位置,而是考慮了3種情況來(lái)決策下
22、一步移動(dòng)位置:1)節(jié)點(diǎn)偏好,節(jié)點(diǎn)比其他節(jié)點(diǎn)更傾向于去往某個(gè)特定位置或遇到特定節(jié)點(diǎn);;2)節(jié)點(diǎn)異構(gòu)性:某些節(jié)點(diǎn)能夠到達(dá)所有位置,遇到所有其他節(jié)點(diǎn);3)行為時(shí)變性:節(jié)點(diǎn)移動(dòng)隨著時(shí)間變化。Musolesi等人17結(jié)合社會(huì)網(wǎng)絡(luò)理論提出了一種基于社區(qū)的移動(dòng)模型。該模型根據(jù)節(jié)點(diǎn)之間聯(lián)系的緊密程度,將節(jié)點(diǎn)分布在多個(gè)在不同區(qū)域的社區(qū),然后計(jì)算不同社區(qū)對(duì)每個(gè)節(jié)點(diǎn)的吸引力,并以此確定節(jié)點(diǎn)是否移動(dòng)以及朝哪個(gè)目標(biāo)區(qū)域移動(dòng)。Spyropoulos 等人18,19提出了時(shí)變的社區(qū)移動(dòng)模型,每個(gè)節(jié)點(diǎn)的工作周期由正常移動(dòng)周期和集中移動(dòng)周期組成,每個(gè)周期內(nèi),節(jié)點(diǎn)隨機(jī)選擇一個(gè)社區(qū)作為它的本地社區(qū)。節(jié)點(diǎn)在每個(gè)周期都有兩種移動(dòng)狀態(tài),
23、Local epoch和Roaming epoch。前者是選擇在本地社區(qū)內(nèi)移動(dòng),后者是在其他地方漫游。節(jié)點(diǎn)在兩個(gè)狀態(tài)之間以一定的概率來(lái)切換,形成一個(gè)馬爾可夫鏈,概率大小由所處的移動(dòng)周期來(lái)確定。例如,在集中移動(dòng)周期內(nèi),節(jié)點(diǎn)訪問(wèn)本地社區(qū)的概率較高。2.5 網(wǎng)絡(luò)編碼的概念思想在傳統(tǒng)網(wǎng)絡(luò)中,結(jié)點(diǎn)僅對(duì)接收的數(shù)據(jù)進(jìn)行存儲(chǔ)和轉(zhuǎn)發(fā),難以達(dá)到網(wǎng)絡(luò)傳輸?shù)淖畲笸掏铝亢蛶捓寐?,若?shù)據(jù)傳輸路徑出現(xiàn)瓶頸鏈路,則網(wǎng)絡(luò)數(shù)據(jù)傳輸性能將受限于瓶頸鏈路。對(duì)此,在網(wǎng)絡(luò)中引入網(wǎng)絡(luò)編碼技術(shù),增加結(jié)點(diǎn)對(duì)數(shù)據(jù)的編碼運(yùn)算功能,節(jié)約網(wǎng)絡(luò)鏈路的帶寬資源,減小網(wǎng)絡(luò)數(shù)據(jù)傳輸中瓶頸鏈路的影響。網(wǎng)絡(luò)編碼(network coding)是一種融合編碼和
24、路由的信息交換技術(shù),在傳統(tǒng)存儲(chǔ)轉(zhuǎn)發(fā)的路由方法基礎(chǔ)上,通過(guò)允許對(duì)接收的多個(gè)數(shù)據(jù)包進(jìn)行編碼信息融合,增加單次傳輸?shù)男畔⒘?,提高網(wǎng)絡(luò)整體性能。Ahlswede等人于2000年提出了網(wǎng)絡(luò)編碼概念,指出對(duì)組播網(wǎng)絡(luò)中的某些節(jié)點(diǎn)附加額外的編碼操作能使源與組播成員間達(dá)到最大流最小割心的組播速率。網(wǎng)絡(luò)編碼一經(jīng)提出便引起了國(guó)際學(xué)術(shù)界的廣泛關(guān)注,其理論和應(yīng)用已成為通信領(lǐng)域研究的新熱點(diǎn)網(wǎng)絡(luò)編碼在提高網(wǎng)絡(luò)吞吐量、改善負(fù)載均衡、減小傳輸延遲、節(jié)省節(jié)點(diǎn)能耗、增強(qiáng)網(wǎng)絡(luò)魯棒性等方面均顯示出其優(yōu)越性,可廣泛應(yīng)用于Ad Hoe網(wǎng)絡(luò),傳感器網(wǎng)絡(luò)、P2P內(nèi)容分發(fā)、分布式文件存儲(chǔ)和網(wǎng)絡(luò)安全等領(lǐng)域。經(jīng)過(guò)幾年的發(fā)展,網(wǎng)絡(luò)編碼的理論研究已取得
25、重要進(jìn)展,在應(yīng)用基礎(chǔ)和工程實(shí)踐方面的研究正在全方位展開。網(wǎng)絡(luò)編碼已成為一項(xiàng)融合信息論、代數(shù)學(xué)、圖論、網(wǎng)絡(luò)流理論和優(yōu)化理論等多學(xué)科的交叉技術(shù),且日益引起更多研究者的關(guān)注,其對(duì)現(xiàn)有的網(wǎng)絡(luò)體系結(jié)構(gòu)、協(xié)議設(shè)計(jì)方法、信息交換方式和網(wǎng)絡(luò)管理模式帶來(lái)了革命性的變化。網(wǎng)絡(luò)編碼的基本思想是使網(wǎng)絡(luò)中的節(jié)點(diǎn)不僅具有存儲(chǔ)轉(zhuǎn)發(fā)的功能,他們還能夠打若干個(gè)待轉(zhuǎn)發(fā)的數(shù)據(jù)包進(jìn)行編碼壓縮成一個(gè)數(shù)據(jù)包,然后轉(zhuǎn)發(fā)給相應(yīng)的接收節(jié)點(diǎn),并且以足夠大的概率保證它的接收節(jié)點(diǎn)能夠順利地解碼恢復(fù)出原始的數(shù)據(jù)包,從而減少傳輸次數(shù),提高網(wǎng)絡(luò)吞吐量,降低網(wǎng)絡(luò)延遲。以一個(gè)簡(jiǎn)單的具代表性的蝴蝶網(wǎng)絡(luò)來(lái)描述網(wǎng)絡(luò)編碼的思想,一下均假設(shè)每條鏈路單位時(shí)間只能傳輸單位
26、bit的數(shù)據(jù)數(shù)據(jù)信息量。圖2.3和圖2.4中分別是利用網(wǎng)絡(luò)編碼前后的網(wǎng)絡(luò)傳輸狀態(tài),該網(wǎng)絡(luò)有一個(gè)源節(jié)點(diǎn)S,兩個(gè)端節(jié)點(diǎn)Y,Z以及其余4個(gè)T,W,U,X是四個(gè)中轉(zhuǎn)節(jié)點(diǎn)。在圖2.2中,b1和b2都是源s向端節(jié)點(diǎn)y和x發(fā)出的兩個(gè)單位bit的信息,當(dāng)b1和b2到達(dá)w節(jié)點(diǎn)時(shí),由于一次只能處理一個(gè)單位的信息,所以W只能選擇發(fā)送其中之一,而另一個(gè)則必須送入等待隊(duì)列,因此,要使Y和Z這兩個(gè)目的節(jié)點(diǎn)都要收到這兩個(gè)信息,則W必須至少傳送兩次;圖2.3表示的是網(wǎng)絡(luò)編碼方法,節(jié)點(diǎn)W對(duì)輸入的信息進(jìn)行網(wǎng)絡(luò)編碼操作(“+”表示模二加),然后將操作結(jié)果 b1 + b2(稱為編碼信息)發(fā)送至輸出鏈路(W,X),然后又通過(guò)鏈路(X,
27、Y)和(X,Z),最終傳送給信宿 Y 和 Z。當(dāng)信宿 Y 收到 b1 和 b1 + b2后,通過(guò)逆過(guò)程的譯碼操作 b1 + (b 1 + b 2)就能恢復(fù)出信源 S 發(fā)出的 b2,這樣使得信宿 Y 同時(shí)收到了 b1 和 b2。按照同樣的方式,信宿 Z 也可恢復(fù)出信源發(fā)出的 b1(通過(guò)譯碼操作b 2 + (b 1 + b2))而同時(shí)收到 b1 和 b2。也就是說(shuō),基于網(wǎng)絡(luò)編碼的數(shù)據(jù)分發(fā)模式實(shí)現(xiàn)了該組播的理論傳輸容量。可見,與傳統(tǒng)的路由傳輸方式相比,網(wǎng)絡(luò)編碼提升了網(wǎng)絡(luò)的吞吐量。 圖2.2 網(wǎng)絡(luò)結(jié)構(gòu) 圖2.3 普通的存儲(chǔ)轉(zhuǎn)發(fā) 圖2.4 運(yùn)用網(wǎng)絡(luò)編碼從上述實(shí)例可以看出,基于網(wǎng)絡(luò)編碼的數(shù)據(jù)分發(fā)的具體實(shí)施
28、過(guò)程是:具備編碼條件的中間節(jié)點(diǎn)(比如該節(jié)點(diǎn)的入度至少為 2,如圖2.4中的節(jié)點(diǎn) W 就具備編碼條件,節(jié)點(diǎn) T,U 和 X 等則不具備編碼條件,只能執(zhí)行存儲(chǔ)和轉(zhuǎn)發(fā)操作)對(duì)接收到的數(shù)據(jù)信息按照一定方式的處理(編碼),然后傳輸給下一級(jí)的網(wǎng)絡(luò)節(jié)點(diǎn),收到信息的下一級(jí)節(jié)點(diǎn)如果具備編碼條件,又對(duì)其接收的信息按照同樣的方式進(jìn)行處理和傳輸,如此反復(fù),直到所有經(jīng)過(guò)處理后的信息都匯聚到信宿節(jié)點(diǎn)為止。最后,在信宿節(jié)點(diǎn),通過(guò)逆過(guò)程的操作(譯碼),即可譯出信源發(fā)出的原始信息。節(jié)點(diǎn)對(duì)傳輸?shù)男畔⑦M(jìn)行如何處理和操作,屬于網(wǎng)絡(luò)編碼的碼構(gòu)造問(wèn)題。如果節(jié)點(diǎn)對(duì)傳輸?shù)男畔⑦M(jìn)行線性操作,則稱為線性網(wǎng)絡(luò)編碼;否則稱為非線性網(wǎng)絡(luò)編碼(Non-
29、linear Network Coding)。如果網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)信息進(jìn)行操作的系數(shù)是隨機(jī)選取的,則稱為隨機(jī)網(wǎng)絡(luò)編碼;如果是通過(guò)算法確定出來(lái)的,則稱為確定性網(wǎng)絡(luò)編碼。因此,線性網(wǎng)絡(luò)編碼是一種有效的網(wǎng)絡(luò)編碼碼構(gòu)造方式,當(dāng)前具體的基于網(wǎng)絡(luò)編碼的數(shù)據(jù)分發(fā)系統(tǒng)中均采用線性網(wǎng)絡(luò)編碼作為其碼構(gòu)造方式。圖2.4 所示的節(jié)點(diǎn)W對(duì)輸入的信息 b1 和 b2 進(jìn)行的模二加操作,就是一種最簡(jiǎn)單的線性網(wǎng)絡(luò)編碼操作方式。2.6 網(wǎng)絡(luò)編碼的應(yīng)用雖然網(wǎng)絡(luò)編碼提出的初衷是為改善組播傳輸網(wǎng)絡(luò)中數(shù)據(jù)分發(fā)系統(tǒng)的傳輸性能,但隨著研究的不斷深入,網(wǎng)絡(luò)編碼表現(xiàn)出了越來(lái)越廣泛的應(yīng)用前景。目前,網(wǎng)絡(luò)編碼與覆蓋網(wǎng)絡(luò)(Overlay Network)
30、和無(wú)線網(wǎng)絡(luò)(Wireless Network)等相結(jié)合的研究取得了重要的進(jìn)展,被認(rèn)為是網(wǎng)絡(luò)編碼最有可能被首先應(yīng)用的領(lǐng)域。1、 數(shù)據(jù)分發(fā)網(wǎng)絡(luò)編碼最直接的應(yīng)用就是數(shù)據(jù)分發(fā),尤其是大范圍的數(shù)據(jù)分發(fā)。前面討論的基于組播網(wǎng)絡(luò)的數(shù)據(jù)分發(fā),均是網(wǎng)絡(luò)編碼最典型的應(yīng)用。Chou 等最早將隨機(jī)網(wǎng)絡(luò)編碼付諸實(shí)施,構(gòu)建了一個(gè)可實(shí)用化的網(wǎng)絡(luò)編碼數(shù)據(jù)分發(fā)系統(tǒng),并在 Washington 大學(xué)的Rocketfuel 項(xiàng)目所獲得的幾個(gè) ISP 骨干網(wǎng)絡(luò)拓?fù)渖线M(jìn)行了仿真,取得了較好的傳輸性能。CodedStream 也是在網(wǎng)絡(luò)中較早進(jìn)行了基于網(wǎng)絡(luò)編碼的數(shù)據(jù)分發(fā)的嘗試71,CodedStream 是一個(gè)基于P2P模式的,面向高帶
31、寬流媒體的數(shù)據(jù)分發(fā)系統(tǒng)。它按照編碼網(wǎng)絡(luò)分發(fā)數(shù)據(jù)的特性,在覆蓋網(wǎng)絡(luò)上構(gòu)建一個(gè) K-redundant 路徑圖作為網(wǎng)絡(luò)拓?fù)?,網(wǎng)絡(luò)編碼被用于圖中“瓶頸”處的數(shù)據(jù)分發(fā)。最初的 CodedStream 在自己的仿真平臺(tái)上進(jìn)行了測(cè)試,其后續(xù)研究將整個(gè)思想進(jìn)一步擴(kuò)展,并利用 PlanetLab 平臺(tái)進(jìn)行了更廣泛的測(cè)試。網(wǎng)絡(luò)編碼與應(yīng)用層組播(Application Layer Multicast,ALM)相結(jié)合也取得一定進(jìn)展。應(yīng)用層組播中的數(shù)據(jù)分發(fā)由客戶端主機(jī)實(shí)現(xiàn)的,端主機(jī)具有一定的計(jì)算能力,這為網(wǎng)絡(luò)編碼提供了良好的應(yīng)用環(huán)境。而且,應(yīng)用層組播利用的覆蓋網(wǎng)絡(luò)拓?fù)淇梢园葱枳兓@也恰好可以利用網(wǎng)絡(luò)編碼對(duì)動(dòng)態(tài)網(wǎng)絡(luò)適
32、應(yīng)性強(qiáng)的優(yōu)勢(shì)。Y. Zhu 給出了一個(gè)基于網(wǎng)絡(luò)編碼的應(yīng)用層組播的完整實(shí)現(xiàn)。通過(guò)對(duì)比測(cè)試,證明了基于網(wǎng)絡(luò)編碼的應(yīng)用層組播在網(wǎng)絡(luò)吞吐量、資源利用率等方面的性能要優(yōu)于網(wǎng)絡(luò)層組播和普通的應(yīng)用層組播。但是在傳輸遲延和信息冗余等方面不夠理想。而且,大多數(shù)情況下,網(wǎng)絡(luò)編碼能將應(yīng)用層組播的吞吐量提升一倍以上。但是,T. Nad等通過(guò)進(jìn)一步的實(shí)驗(yàn)證實(shí),由于在執(zhí)行編碼和譯碼操作時(shí)需要一定的I/O和CPU消耗,基于網(wǎng)絡(luò)編碼的應(yīng)用層組播的傳輸容量往往無(wú)法達(dá)到預(yù)期。2、 無(wú)線網(wǎng)絡(luò)由于無(wú)線鏈路的不可靠性和物理層廣播特性,應(yīng)用網(wǎng)絡(luò)編碼,可以解決傳統(tǒng)路由、跨層設(shè)計(jì)等技術(shù)無(wú)法解決的問(wèn)題。具體來(lái)說(shuō),網(wǎng)絡(luò)編碼除了提升無(wú)線網(wǎng)絡(luò)的網(wǎng)絡(luò)
33、吞吐量,還可以減少數(shù)據(jù)包的傳播次數(shù),降低無(wú)線發(fā)送能耗。采用隨機(jī)網(wǎng)絡(luò)編碼,即使部分網(wǎng)絡(luò)節(jié)點(diǎn)或鏈路失效,最終在目的節(jié)點(diǎn)仍然能恢復(fù)原始數(shù)據(jù),從而增強(qiáng)網(wǎng)絡(luò)的容錯(cuò)性和魯棒性。此外,無(wú)需復(fù)雜的加密算法,采用網(wǎng)絡(luò)編碼就可以提高無(wú)線網(wǎng)絡(luò)的安全性等。文獻(xiàn)20對(duì)網(wǎng)絡(luò)編碼在無(wú)線自組織網(wǎng)絡(luò)(WirelessAd Hoc Networks)、無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks)和無(wú)線網(wǎng)狀網(wǎng)(Wireless Mesh Networks)中的應(yīng)用進(jìn)行了探討。J. Yuan提出了一種利用網(wǎng)絡(luò)編碼來(lái)優(yōu)化信息流的路由方法21,以此來(lái)提升Ad Hoc網(wǎng)絡(luò)中數(shù)據(jù)分發(fā)的效率。該方法基于一種在網(wǎng)絡(luò)層和物理
34、層平衡鏈路帶寬供需的跨層優(yōu)化策略。Y.Wu等在Ad Hoc組播方面提出了應(yīng)用網(wǎng)絡(luò)編碼的最小化能量解決方法22,使得傳輸每比特信息消耗的能量最小,以此來(lái)節(jié)省Ad Hoc網(wǎng)絡(luò)中數(shù)據(jù)分發(fā)的能耗。此外,還有一些學(xué)者對(duì)如何利用網(wǎng)絡(luò)編碼增加Ad Hoc傳輸?shù)聂敯粜詥?wèn)題進(jìn)行了研究,如Chen等研究在分布式天線系統(tǒng)和多入多出系統(tǒng)(DAS-MIMO)中,引入網(wǎng)絡(luò)編碼的概念,經(jīng)過(guò)理論推導(dǎo)和實(shí)驗(yàn)仿真,證明了無(wú)論有無(wú)輔助天線,網(wǎng)絡(luò)編碼都能提高網(wǎng)絡(luò)的性能,尤其是減小系統(tǒng)丟包損耗。相對(duì)于Ad Hoc網(wǎng)絡(luò),無(wú)線傳感器網(wǎng)絡(luò)密度較大,移動(dòng)性不強(qiáng),通常運(yùn)行在無(wú)人值守的惡劣甚至危險(xiǎn)的遠(yuǎn)程環(huán)境中,能源無(wú)法替代,設(shè)計(jì)有效的策略延長(zhǎng)網(wǎng)絡(luò)
35、的生命周期成為無(wú)線傳感器網(wǎng)絡(luò)的核心問(wèn)題。麻省理工學(xué)院的Petrovic等人提出了一種結(jié)合網(wǎng)絡(luò)編碼的對(duì)無(wú)線信號(hào)不進(jìn)行調(diào)制的策略23,并證明:運(yùn)用分布式隨機(jī)網(wǎng)絡(luò)編碼,未經(jīng)調(diào)制的無(wú)線信號(hào)能夠達(dá)到與經(jīng)過(guò)調(diào)制的無(wú)線信號(hào)一樣的吞吐量,這樣就能節(jié)省大量因?yàn)槟M器件進(jìn)行調(diào)制而消耗的能量和降低節(jié)點(diǎn)的成本。傳感器網(wǎng)絡(luò)需要把節(jié)點(diǎn)資源整合起來(lái),實(shí)現(xiàn)一個(gè)可靠和健壯的網(wǎng)絡(luò),基于這種想法,文獻(xiàn)35提出了一種結(jié)合分布式源編碼和網(wǎng)絡(luò)編碼的優(yōu)化算法,目的是用來(lái)提高傳感器網(wǎng)絡(luò)的容錯(cuò)性和可靠性,同時(shí)對(duì)分布式源編碼的壓縮效率和魯棒性進(jìn)行了折中考慮。Katti等提出的基于機(jī)會(huì)的網(wǎng)絡(luò)編碼方法(COPE)首次研究了網(wǎng)絡(luò)編碼在無(wú)線環(huán)境協(xié)議層面
36、上的具體實(shí)現(xiàn)問(wèn)題。在COPE協(xié)議中,每個(gè)節(jié)點(diǎn)對(duì)傳輸媒體進(jìn)行偵聽,獲得它的鄰居節(jié)點(diǎn)的狀態(tài)信息,決定進(jìn)行編碼的機(jī)會(huì),并在本地的FIFO緩存結(jié)構(gòu)內(nèi)進(jìn)行編碼,然后進(jìn)行基于機(jī)會(huì)的路由。COPE協(xié)議要求每個(gè)節(jié)點(diǎn)利用本地信息各自決定哪些數(shù)據(jù)包需要進(jìn)行編碼以及如何進(jìn)行編碼。靈活的設(shè)計(jì)使得即使在網(wǎng)絡(luò)交通需求未知或者網(wǎng)絡(luò)流量劇增、或者發(fā)送/接收方動(dòng)態(tài)變化的情況下,COPE協(xié)議仍能有效的支持多路單播流。然而該協(xié)議需要節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù)包并進(jìn)行編碼,如果網(wǎng)絡(luò)出現(xiàn)擁塞,可能就會(huì)耗費(fèi)較多的節(jié)點(diǎn)存儲(chǔ)空間。另外,文件共享是無(wú)線網(wǎng)狀網(wǎng)的一種典型應(yīng)用,為了評(píng)估網(wǎng)絡(luò)編碼對(duì)該應(yīng)用的影響,Hamra等64在理想化MAC協(xié)議基礎(chǔ)上開發(fā)了特定的
37、仿真平臺(tái),分別比較了服務(wù)時(shí)間等性能在節(jié)點(diǎn)個(gè)數(shù)、盲轉(zhuǎn)發(fā)(Blind Forwarding)和選擇性轉(zhuǎn)發(fā)(Selective Forwarding)情況下的表現(xiàn)。實(shí)驗(yàn)結(jié)果表明應(yīng)用網(wǎng)絡(luò)編碼得到的改進(jìn)雖然不如在有線網(wǎng)絡(luò)中顯著,但仍能在很大程度上提高吞吐量、縮短服務(wù)時(shí)間。2.7 隨機(jī)線性網(wǎng)絡(luò)編碼的數(shù)據(jù)分發(fā)隨機(jī)線性網(wǎng)絡(luò)編碼方法的核心思想是利用節(jié)點(diǎn)的運(yùn)算能力,在發(fā)送節(jié)點(diǎn)線性編碼組合不同的信息包,在接收節(jié)點(diǎn)獲得足夠的線性編碼組合后,通過(guò)運(yùn)算得到原始信息包,其可用性推廣了網(wǎng)絡(luò)編碼理論的應(yīng)用范圍。應(yīng)用網(wǎng)絡(luò)編碼的理論成果,Gkantsidis 等給出了基于隨機(jī)網(wǎng)絡(luò)編碼的數(shù)據(jù)分發(fā)系統(tǒng)的原理模型(或稱概念模型),如圖2
38、.5所示。假設(shè)Server節(jié)點(diǎn)(存放原始文件的服務(wù)器)需分發(fā)某文件給 Peer A,首先 Server將該文件分割成 n 個(gè)文件塊(Block),即B1,B2,B3.Bn,如果使用網(wǎng)絡(luò)編碼,則 Server節(jié)點(diǎn)從有限域中選擇n個(gè)系數(shù)C11,C12.C1n構(gòu)成編碼向量(Encoding Vector)c1 =C11,C12.C1n ,并利用該向量對(duì)分割后的文件塊進(jìn)行有限域中的線性運(yùn)算。隨 后,Server節(jié)點(diǎn)將運(yùn)算后的編碼信息E1 = B1 c 11+ B2 c12 + .+ Bn c1n,分發(fā)給 Peer A圖2.5 基于隨機(jī)線性網(wǎng)絡(luò)編碼的數(shù)據(jù)分發(fā)系統(tǒng)的原理模型假設(shè) Peer A 又下載了另外
39、一個(gè)編碼信息塊E2= B1 c 21+ B2 c22 + .+ Bn c2n,該信息來(lái)自Server節(jié)點(diǎn)或其它鄰居節(jié)點(diǎn),當(dāng)Peer B對(duì)PeerA發(fā)出下載請(qǐng)求時(shí),PeerA 按照上述同樣的方式在有限域中選擇系數(shù)c 1 , c 2,并對(duì)當(dāng)前緩存的編碼信息塊 E1和 E2進(jìn)行線性組合,將運(yùn)算結(jié)果E = E 1c1 + E2 c2分發(fā)給Peer B。如果下游節(jié)點(diǎn)向 Peer B 請(qǐng)求數(shù)據(jù)包,則 Peer B按照同樣的規(guī)則將編碼后的數(shù)據(jù)信息分發(fā)給下游節(jié)點(diǎn)。對(duì) Peer B收到的 E 而言,其對(duì)應(yīng)的編碼向量為c1 c1 + c2 c2??梢姡捎镁W(wǎng)絡(luò)編碼,節(jié)點(diǎn)之間不再傳輸原始的文件塊,而是編碼信息(塊)
40、。當(dāng)某 Peer 接收到 n 個(gè)已編碼信息E1 ,E2. ,En后,則有: 公式(2.1)如果公式2.1的系統(tǒng)轉(zhuǎn)移矩陣 C 滿秩,即各編碼向量之間線性獨(dú)立,則能通過(guò)求解矩陣方程B1,B1.Bn =C-1E1,E2.En T譯出各原始文件塊B1,B1.Bn ,并恢復(fù)出原始文件。由于采用隨機(jī)網(wǎng)絡(luò)編碼總能保證矩陣C以接近1的概率滿秩,基于隨機(jī)網(wǎng)絡(luò)編碼和圖2.5所示的原理模型,文獻(xiàn)25構(gòu)建了一種網(wǎng)絡(luò)編碼數(shù)據(jù)分發(fā)的原型系統(tǒng):Avalanche。在 Avalanche 系統(tǒng)中,節(jié)點(diǎn)之間傳輸?shù)男畔⑹前凑丈鲜鲈韺?duì)原始文件塊執(zhí)行隨機(jī)網(wǎng)絡(luò)編碼操作后的編碼信息。Avalanche 能克服基于存儲(chǔ)和轉(zhuǎn)發(fā)的數(shù)據(jù)分發(fā)系
41、統(tǒng)(如 BitTorrent 等)的缺陷和不足,可以顯著減少節(jié)點(diǎn)平均下載時(shí)間,進(jìn)一步提升數(shù)據(jù)分發(fā)系統(tǒng)的傳輸性能。3 NS2仿真平臺(tái)3.1 NS2簡(jiǎn)介NS2,即Network Simulator Version 2,是面向?qū)ο蟮?、離散事件驅(qū)動(dòng)的網(wǎng)絡(luò)環(huán)境模擬器,主要用于解決網(wǎng)絡(luò)研究方面的問(wèn)題。NS2提供了在無(wú)線或有線網(wǎng)絡(luò)上的TCP、路由、多播等多種協(xié)議的模擬。NS2晝以來(lái)都在吸收全世界各地研究人員的成果,包括UCB、CMU笏大學(xué)和SUN等公司的無(wú)線網(wǎng)絡(luò)方面的代碼。NS2足一個(gè)面向?qū)ο蟮木W(wǎng)絡(luò)桟擬工具,對(duì)以完整地模擬整個(gè)網(wǎng)絡(luò)壞境。NS2使用一整套C+類庫(kù)實(shí)現(xiàn)了大多數(shù)常見的網(wǎng)絡(luò)協(xié)議以及鏈路層模型,利用這
42、些類的實(shí)例可以搭建起整個(gè)網(wǎng)絡(luò)的模型,而且包括具體的細(xì)節(jié)實(shí)現(xiàn)。NS2使用兩種編程語(yǔ)言,OTcl(具有面向?qū)ο筇匦缘腡cl腳本程序設(shè)計(jì)語(yǔ)言)和C+,它底層的模擬引擎主要由C+編寫,同時(shí)利用麻省理工學(xué)院的面向?qū)ο蟮墓ぞ呙钫Z(yǔ)言O(shè)Tcl作為模擬時(shí)的命令和配置接口語(yǔ)言。一方面,由于C+程序運(yùn)行速度快,并且可以設(shè)計(jì)精確、復(fù)雜的算法,可以用于模擬各種網(wǎng)絡(luò)協(xié)議,適合于底層的實(shí)現(xiàn)。另一方面,具有面向?qū)ο筇匦缘腡cl腳本語(yǔ)言通過(guò)調(diào)用引擎中各類的屬性、方法定義網(wǎng)絡(luò)的拓?fù)?,配置?shù)據(jù)源,目的端,建立連接,產(chǎn)生所有事件的時(shí)刻表,運(yùn)行并跟蹤模擬結(jié)果,還可以對(duì)結(jié)果進(jìn)行相應(yīng)的統(tǒng)計(jì)處理或制圖,方便網(wǎng)絡(luò)研究者在短時(shí)間內(nèi)快速地開發(fā)和
43、模擬出所需要的網(wǎng)絡(luò)壞境。C+和OTcl兩種語(yǔ)言的對(duì)象和變量是通過(guò)TclCL關(guān)聯(lián)起來(lái)的,C+的類和對(duì)象為編譯類和編譯對(duì)象,而OTcl的類和對(duì)象為解釋類和解釋對(duì)象,TclCL是在OTcl基礎(chǔ)上的封裝。圖3.1是NS2架構(gòu)圖,描述了Tcl、OTcl和TclCL之間的關(guān)系。圖3.1 NS2構(gòu)架圖3.2 NS2的特點(diǎn)1、抽象NS模擬器在設(shè)計(jì)上能夠滿足網(wǎng)絡(luò)研究界在模擬方面的多種需。抽象NS具備不同程度的抽象級(jí)別,不僅可以對(duì)細(xì)節(jié)進(jìn)行模擬,也對(duì)以對(duì)不同層次的總體框架進(jìn)行模擬。2、仿真NS提供了更加接近真實(shí)網(wǎng)絡(luò)的仿真環(huán)境,這是其他仿真軟件所不具備的。3、場(chǎng)景生成NS中自帶了流最場(chǎng)景生成文件和運(yùn)動(dòng)場(chǎng)景cbrgen
44、生成文件setdest,讓使用更加方便,當(dāng)然也支持用戶按照自己的實(shí)際需要編寫場(chǎng)景及運(yùn)動(dòng)文件腳本。4、可視化通過(guò)其中的網(wǎng)絡(luò)動(dòng)畫工具Nam,以動(dòng)畫的方式實(shí)現(xiàn)網(wǎng)絡(luò)仿真的全過(guò)程,讓整個(gè) 運(yùn)動(dòng)過(guò)程一目了然。5、可擴(kuò)充性可擴(kuò)充性表現(xiàn)在可以方便的添加新協(xié)議,讓使用范圍更加廣泛。3.3 NS2仿真一般流程進(jìn)行網(wǎng)絡(luò)仿真前,首先分析仿真涉及哪個(gè)層次,NS仿真分兩個(gè)層次:一個(gè)是基于 OTcl編程的層次。利用NS已有的網(wǎng)絡(luò)元素實(shí)現(xiàn)仿真,無(wú)需修改NS本身, 只需編寫OTcl腳本。另一個(gè)是基于C+和OTcl編程的層次。如果NS中沒(méi)有所需的網(wǎng)絡(luò)元素,則需要對(duì)NS進(jìn)行擴(kuò)展,添加所需網(wǎng)絡(luò)元素,即添加新的C+和 OTcl類,編寫
45、新的OTcl腳木。假設(shè)用戶已經(jīng)完成了對(duì)NS的擴(kuò)展,或者NS所包含的構(gòu)件已經(jīng)滿足了要求, 那么進(jìn)打一次仿真的步驟大致如下:1、開始編寫OTcl腳本。首先配置模擬網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),此時(shí)可以確定鏈路的基本特性,如延遲、帶寬和丟失策略等。2、建立協(xié)議代理,包栝端設(shè)備的協(xié)議綁定和通信業(yè)務(wù)量模型的建立。3、配置業(yè)務(wù)量模型的參數(shù),從而確定網(wǎng)絡(luò)上的業(yè)務(wù)量分布。4、設(shè)置Trace對(duì)象。NS通過(guò)Trace文件來(lái)保存整個(gè)模擬過(guò)程。仿真完后, 用戶可以對(duì)Trace文件進(jìn)行分析研究。5、編寫其他的輔助過(guò)程,設(shè)定模擬結(jié)束時(shí)間,至此OTcl腳本編寫完成。6、用NS解釋執(zhí)行剛才編寫的OTcl腳本。7、對(duì)Trace文件進(jìn)行分析,得
46、出有用的數(shù)據(jù)。8、調(diào)整配置拓?fù)浣Y(jié)構(gòu)和業(yè)務(wù)量模型,重新進(jìn)行上述模擬過(guò)程。下面是仿真的流程圖:圖3.2 NS2進(jìn)行仿真的基本流程圖3.4 NS2仿真的基本組件和使用3.4.1 節(jié)點(diǎn)的結(jié)構(gòu)和配置無(wú)線網(wǎng)絡(luò)中的節(jié)點(diǎn)是可移動(dòng)的節(jié)點(diǎn),擁有很多屬性,如果使用NS研究無(wú)線網(wǎng)絡(luò)需要在無(wú)線節(jié)點(diǎn)創(chuàng)建之前對(duì)節(jié)點(diǎn)的各項(xiàng)屬性進(jìn)行配置。節(jié)點(diǎn)的屬性配置使用Simulator 類的noed-config 方法,該方法采用可變的模塊化結(jié)構(gòu),以實(shí)現(xiàn)不同類型的節(jié)點(diǎn)在相同的節(jié)點(diǎn)基類下定義。配置好屬性以后再創(chuàng)建節(jié)點(diǎn),這是創(chuàng)建節(jié)點(diǎn)的基本方式,如需創(chuàng)建不同的節(jié)點(diǎn)則重新配置屬性以后再創(chuàng)建。下面是使用node-config 配置一個(gè)節(jié)點(diǎn)屬性的例子
47、。set ns new Simulator#建立一個(gè)模擬實(shí)例set topo new Topography #建立一個(gè)拓?fù)鋱D對(duì)象#配置無(wú)線節(jié)點(diǎn)$ns node-config -adhocRouting AODV #無(wú)線路由協(xié)議是AODV協(xié)議-llType LL #邏輯鏈路層類型是LL層-macType Mac/802.11 #MAC層協(xié)議采用802.11協(xié)議-ifqType Queue/DropTail/PriQueue #接口隊(duì)列類型是IFQ隊(duì)列-ifqLen 50 #網(wǎng)絡(luò)接口隊(duì)列的大小是50-antType Antenna/QmniAntenna #天線模型是全向天線-propType P
48、ropagation/TwoRayGround #無(wú)線傳輸模型是TwoRayGround-phyType Phy/WirelessPhy #網(wǎng)絡(luò)接口類型是無(wú)線物理層-channel Channel/WirelessChannel #物理信道類型無(wú)線信道-topoInstance $topo #設(shè)置拓?fù)鋵?shí)例-agentTrace ON #開啟代理層trace-routerTrace ON #開啟路由層trace-macTrace OFF #關(guān)閉mac層的trace-movementTrace OFF#關(guān)閉移動(dòng)節(jié)點(diǎn)的移動(dòng)記錄設(shè)置完節(jié)點(diǎn)的屬性之后,使用node-congfig 方法的 -reset
49、選項(xiàng)可以將節(jié)點(diǎn)的所有屬性的參數(shù)值設(shè)置為默認(rèn)值:$ns node-config -reset3.4.2 數(shù)據(jù)流生成工具cbrgenNS2自帶有交通場(chǎng)景生成器,名稱為cbrgen.tcl。數(shù)據(jù)流生成工具cbrgen 用來(lái)生成傳輸負(fù)載,可以產(chǎn)生移動(dòng)節(jié)點(diǎn)之間的TCP 流和CBR 流。該工具所在的目錄為ns/indep-utils/cmu-scen-gen/,使用方法如下:ns cbrgen.tcl -type cbr/tcp -nn nodes -seed seed -mc connections -rate rate其中各種參數(shù)的含義如下:-type:選擇tcp表示生成tcp流,選擇cbr表示生成c
50、br流;-nn:nodes表示節(jié)點(diǎn)數(shù)目;-seed:seed表示指定隨機(jī)種子;-mc:connections表示節(jié)點(diǎn)間的最大連接數(shù);-rate:rate表示每個(gè)連接間的數(shù)據(jù)流的速率;在使用cbrgen設(shè)置節(jié)點(diǎn)數(shù)n時(shí),節(jié)點(diǎn)的編號(hào)是從node_(1)到node_(n)。3.4.3 拓?fù)溥\(yùn)動(dòng)場(chǎng)景生成工具setdest拓?fù)溥\(yùn)動(dòng)場(chǎng)景生成工具setdest是用來(lái)隨機(jī)生成無(wú)線網(wǎng)所需的節(jié)點(diǎn)運(yùn)動(dòng)場(chǎng)景,也即一定數(shù)量的節(jié)點(diǎn)在某一固定大小的矩形區(qū)域中隨機(jī)移動(dòng)。生成setdest的命令的源代碼文件在ns/indep-utils/cmu-scen-gen/setdest文件夾下,使用前需執(zhí)行make命令以生成可執(zhí)行文件。
51、setdest的使用方法如下:setdest -v -n -p -M -t -x -y 或setdest -v -n -s -m -M -t -P -p -x -y 其中使用到的參數(shù)定義如下:-v:version_of_setdest 指定setdest的版本;-n:nodes指定場(chǎng)景中總節(jié)點(diǎn)數(shù)目;-p:pause_time指定了節(jié)點(diǎn)在運(yùn)動(dòng)到一個(gè)目的點(diǎn)后停留的時(shí)間,如果設(shè)置為0表示節(jié)點(diǎn)不做停留;-s:speed_type為uniform/normal;-m:min_speed指定節(jié)點(diǎn)移動(dòng)的最小速率;-M: max_speed指定節(jié)點(diǎn)移動(dòng)的最大速率;-P:pause_type為constant/
52、uniform;-t:simulation_time指定了模擬場(chǎng)景的持續(xù)時(shí)間,單位為s;-x:max_x指定了節(jié)點(diǎn)運(yùn)動(dòng)區(qū)域的長(zhǎng)度,單位為m;-y:max_y指定了節(jié)點(diǎn)運(yùn)動(dòng)區(qū)域的寬度,單位為m;版本不用使用的參數(shù)也有區(qū)別,需按要求使用。執(zhí)行make命令生成可執(zhí)行文件以后,若沒(méi)有將setdest命令添加到linux系統(tǒng)環(huán)境變量中,則應(yīng)在使用setdest時(shí)需要指定路徑全稱或在ns/indep-utils/cmu-scen-gen/setdest目錄下使用,而且要在setdest前面加“./”。cbrgen和setdest產(chǎn)生的文件均可以采用source命令加入另一個(gè)Otcl腳本中,注意產(chǎn)生的文件用
53、到了諸如node_數(shù)組變量和god_變量,需要在Otcl腳本中預(yù)先建立。3.4.4 簡(jiǎn)單動(dòng)畫顯示工具NAMNAM(Network Animater)的功能是根據(jù)網(wǎng)絡(luò)模擬軟件或真實(shí)環(huán)境的特定格式的Trace輸出文件來(lái)運(yùn)行動(dòng)畫,以觀測(cè)網(wǎng)絡(luò)模擬中的Trace和數(shù)據(jù)分組流向。NAM使用方法如下:nam -g -t -i -j -k -N -c -f -r -a -p -S NAM命令中的參數(shù)意義如下:-g:指明NAM窗口的幾何位置;-t:指定nam使用tkgraph,并為tkgraph確定輸入文件;-i: 指定屏幕刷新率,單位為毫秒(ms),默認(rèn)為50ms;-j:指定nam演示時(shí)的仿真時(shí)間;-k:初始
54、化socket端口號(hào);-N:為nam實(shí)例命名,它可能在此后用于對(duì)等的同步;-g:指明NAM窗口的幾何位置;-c:進(jìn)行反向演示(模擬的逆過(guò)程)時(shí),緩沖區(qū)所能存儲(chǔ)的活動(dòng)對(duì)象的最大值(size);-f: 演示啟動(dòng)時(shí)所載入的文件;-r:演示速度,默認(rèn)是2ms(0.002);-a:創(chuàng)建一個(gè)獨(dú)立的nam實(shí)例;-p:打印Trace的文件格式;-S:開啟X同步以便于圖形的調(diào)試,僅限于有X環(huán)境的UNIX系統(tǒng)。OTcl腳本中可以對(duì)節(jié)點(diǎn)、鏈路、隊(duì)列、和Agent等對(duì)象進(jìn)行動(dòng)畫顯示方面的屬性控制,nam動(dòng)畫顯示的命令如下:1、 節(jié)點(diǎn)$node color color#設(shè)定節(jié)點(diǎn)的顏色$node shape shape#
55、設(shè)定節(jié)點(diǎn)的形狀$node label label#設(shè)定節(jié)點(diǎn)的名稱$node label-color color#設(shè)定節(jié)點(diǎn)顯示名稱的顏色$node label-at ldirection#設(shè)定節(jié)點(diǎn)名稱的顯示位置2、鏈路和隊(duì)列$ns duplex-link-op 其中attribute的值可以是orient、color、queuePos和label。Orient指定了鏈路的方向,可以是:right、left、down、right-up、right-down、left-up以及l(fā)eft-down。Color指定鏈路的顏色,label定義鏈路顯示的名稱,queuePos定義隊(duì)列顯示的方向。3、 Age
56、nt$ns attach-agent $node $Agent$ns add-agent-trace $Agent AgentName使用上面的命令就可以使想要顯示的Agent以Agentname出現(xiàn)在節(jié)點(diǎn)的附近的方框內(nèi),這樣可以再nam顯示中看出摸個(gè)節(jié)點(diǎn)上綁定了哪些Agent。3.4.5 Trace文件格式Trace文件是在模擬過(guò)程中生成的記錄模擬每一個(gè)分組調(diào)度事件的文件,一次模擬生成的信息基本上全體現(xiàn)在Trace文件中。Trace文件包含了很多有用的可供分析的數(shù)據(jù),我們需要從中篩選出我們關(guān)注的數(shù)據(jù)進(jìn)行分析。1、 有線網(wǎng)絡(luò)的Trace格式有線網(wǎng)絡(luò)的Trace格式中每條記錄包含了如下截圖顯示1
57、2項(xiàng)內(nèi)容:圖3.3 有線網(wǎng)絡(luò)的Trace部分截圖內(nèi)容現(xiàn)在來(lái)分析有線網(wǎng)絡(luò)的Trace格式的一條記錄中每一項(xiàng)的信息:(1) Event:發(fā)生事件的類型有+、-、r和d等4種,分別表示分組進(jìn)入鏈路隊(duì)列、分組離開鏈路隊(duì)列、目的節(jié)點(diǎn)接收分組以及隊(duì)列丟棄分組等含義。(2) Time:事件發(fā)生的時(shí)間。(3) From node:發(fā)送分組的源節(jié)點(diǎn)id。(4) To node:接收分組的目的節(jié)點(diǎn)id。(5) Pkt type:分組的類型。(6) Pkt size:分組的大小。(7) Flags:標(biāo)志項(xiàng)。(8) Fid:IPv6定義的流標(biāo)示符。(9) Src addr:表示分組的來(lái)源端,例如2.0表示節(jié)點(diǎn)2的0號(hào)
58、端口。(10) Dst addr:表示分組的目的端,例如3.0表示節(jié)點(diǎn)3的0號(hào)端口。(11) Seq num: 分組的序列號(hào)。(12) Pkt id:分組的唯一標(biāo)示符。2、 無(wú)線網(wǎng)絡(luò)的Trace格式圖3.4 無(wú)線網(wǎng)絡(luò)的Trace部分截圖內(nèi)容無(wú)線網(wǎng)絡(luò)的Trace格式的記錄的每一項(xiàng)信息:(1) Event:事件的類型有是s、r、f和d 4種,分別表示分組的發(fā)送、接收、轉(zhuǎn)發(fā)、丟棄事件。(2) Time:事件發(fā)生的時(shí)間。(3) Node:事件發(fā)生的節(jié)點(diǎn)id。(4) Layer:發(fā)生事件所在的層。(5) Flags:標(biāo)志項(xiàng)。(6) Pkt id:分組的id。(7) Pkt type:分組的類型。(8)
59、Pkt size:分組的大小。(9) MAC Layer Info: MAC層的信息。(10) -:分隔符。(11) IP Info: IP層的信息。3.5 性能參數(shù)分析模型1、 傳輸時(shí)延網(wǎng)絡(luò)的傳輸時(shí)延D(End-to-End Delay)定義為源節(jié)點(diǎn)發(fā)送出一個(gè)分組到目的節(jié)點(diǎn)接收到該分組之間的時(shí)間差,它包括電(或光)信號(hào)在物理介質(zhì)中的傳播延時(shí)和數(shù)據(jù)在網(wǎng)絡(luò)中的處理延時(shí),也即指網(wǎng)絡(luò)中數(shù)據(jù)傳輸所用的時(shí)間。在很多網(wǎng)絡(luò)應(yīng)用中,比較關(guān)注分組的時(shí)延大小,要求分組的時(shí)延不能太大,例如實(shí)時(shí)的視頻會(huì)議、網(wǎng)絡(luò)電話等。結(jié)合NS的Trace文件,以分組發(fā)送和到達(dá)接收之間的時(shí)間間隔來(lái)計(jì)算傳輸延時(shí),計(jì)算方式如下: D(i)
60、=RT(i)-S(i)T公式(3.1)式中,D(i)表示第i個(gè)分組的傳輸時(shí)延,RT(i)表示第i個(gè)分組的接收時(shí)間,ST(i)表示第i個(gè)分組的發(fā)送時(shí)間。在分析網(wǎng)絡(luò)的傳輸時(shí)延時(shí),一般都統(tǒng)計(jì)平均傳輸時(shí)延 公式(3.2)即統(tǒng)計(jì)Trace腳本中N個(gè)分組的平均傳輸時(shí)延。2、 網(wǎng)絡(luò)吞吐量網(wǎng)絡(luò)的吞吐量(Throughput)TH是網(wǎng)絡(luò)性能的一個(gè)重要參數(shù),是指在不丟包的情況下單位時(shí)間內(nèi)節(jié)點(diǎn)可以接收的數(shù)據(jù)量,單位是字節(jié)每秒或比特每秒。端到端的吞吐量與網(wǎng)絡(luò)狀況有很大關(guān)系,為了測(cè)試端到端的最大吞吐量,應(yīng)該逐漸增大發(fā)送端的數(shù)據(jù)發(fā)送速率,然后計(jì)算接收端的吞吐量,直至吞吐量達(dá)到最大。在分析Trace文件時(shí),使用以下的計(jì)算方
61、式計(jì)算吞吐量: 公式(3.3)上式中:TB(i)是指到底i個(gè)分組被目的節(jié)點(diǎn)接收時(shí)已經(jīng)傳輸?shù)臄?shù)據(jù)總量,RT(i)是第i個(gè)包的接收時(shí)間。im,表示計(jì)算從第m個(gè)分組到底i個(gè)分組的吞吐量,特別的,若取m=1 則是計(jì)算平均吞吐量。3.6 Trace文件分析處理3.6.1 gawk處理文檔的過(guò)程gawk是一種對(duì)文檔資料具有很強(qiáng)處理能力的程序語(yǔ)言,簡(jiǎn)短的幾句代碼就可以完成對(duì)文檔的修改、對(duì)比、抽取,相對(duì)其他的語(yǔ)言來(lái)說(shuō),其對(duì)文檔資料的處理方面具有很大的優(yōu)勢(shì)。gawk語(yǔ)言將說(shuō)要處理的文檔分解為一條條的記錄(一般一條記錄是數(shù)據(jù)文件的一行數(shù)據(jù)),每條記錄默認(rèn)以空格TAB鍵分隔為一個(gè)個(gè)字段。例如,Trace文件的每一行作為一個(gè)記錄,取實(shí)際Ttrace文件的記錄如下:圖3.5 仿真實(shí)驗(yàn)Trace文件部分截圖內(nèi)容在對(duì)記錄的處理過(guò)程中,一般都要對(duì)記錄的字段進(jìn)行操作。對(duì)記錄中字段的提取可以采用字段變量“$1,$2,$3.”等,gawk讀入記錄后已自動(dòng)把字段值存入字段變量。需要注意的是“$0”表示所讀取的整條記錄。表3.1是對(duì)圖3.5 Trace文件的記錄進(jìn)行分解和提取的例子。表3.1 對(duì)Trace文件記錄的分解和提取一二三四 五六七八九十十一r47.355426347_2_AGT-251cbr532
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級(jí)上冊(cè)火燒云_PPT
- 冀教版小學(xué)科學(xué)六年級(jí)上冊(cè)《鳥類動(dòng)物的特征》課件
- 八年級(jí)生物上第三章-動(dòng)物在生物圈中的作用
- 九年級(jí)科學(xué)物質(zhì)分類和利用
- 工時(shí)定額管理的現(xiàn)狀及問(wèn)題解決方案
- 結(jié)直腸癌診治進(jìn)展課件
- 《再塑生命的人》PPT課件
- 聚異戊二烯橡膠課件
- 橋梁結(jié)構(gòu)構(gòu)造圖剖析課件
- PCR的發(fā)明_原理及應(yīng)用1(精品)
- 八年級(jí)語(yǔ)文五柳先生傳1
- 方便面行業(yè)分析(1)
- 人教版五年級(jí)數(shù)學(xué)上冊(cè)練習(xí)二十一詳細(xì)答案課件(同名32)
- 車輛動(dòng)力學(xué)模型課件
- 油井流入動(dòng)態(tài)(IPR曲線)剖析課件