徐 斌,季 敏,譚國(guó)平
(河海大學(xué) 計(jì)算機(jī)與信息學(xué)院 通信與信息系統(tǒng)研究所,江蘇南京 210098)
目前已經(jīng)存在多種移動(dòng)自組網(wǎng)多播協(xié)議,而網(wǎng)絡(luò)編碼機(jī)制的出現(xiàn)打破了原基于存儲(chǔ)轉(zhuǎn)發(fā)協(xié)議性能的局面。由文獻(xiàn)[1]可知,采用網(wǎng)絡(luò)編碼的多播協(xié)議可達(dá)到最大流最小割定理的上限。而文獻(xiàn)[2-3]中所講述的實(shí)時(shí)多播路由協(xié)NCRM(Network Coding based Real-Time Multicast),不但減少了網(wǎng)絡(luò)中數(shù)據(jù)包的轉(zhuǎn)發(fā)次數(shù),而且降低了節(jié)點(diǎn)能耗,更加改善了網(wǎng)絡(luò)的吞吐量。但當(dāng)接受節(jié)點(diǎn)數(shù)受限,業(yè)務(wù)傳輸負(fù)載增加時(shí),NCRM的節(jié)點(diǎn)的編碼、解碼速度將不及數(shù)據(jù)包傳輸?shù)乃俣?,不可避免的出現(xiàn)網(wǎng)絡(luò)擁塞現(xiàn)象,既造成丟包率的急劇增大,也使得系統(tǒng)的總開(kāi)銷(xiāo)急劇增加。
因此文中借鑒了TCPVegas擁塞機(jī)制的思想,在NCRM的基礎(chǔ)上實(shí)現(xiàn)了一種基于窗口擁塞控制機(jī)制的多播路由優(yōu)化機(jī)制 WCC-NCRM (Window-based Congestion Control-NCRM)。將TCPVegas擁塞控制的思想融入實(shí)時(shí)多播路由協(xié)議NCRM中,不但使網(wǎng)絡(luò)中的數(shù)據(jù)包數(shù)量控制在一定的水平,以避免網(wǎng)絡(luò)沖突加大,也盡可能平滑的處理數(shù)據(jù)分組的丟失。當(dāng)業(yè)務(wù)傳輸負(fù)載增大時(shí),既保證了高于NCRM的分組投遞率,也顯著降低了系統(tǒng)的總開(kāi)銷(xiāo),從而彌補(bǔ)了NCRM的缺陷,提高了多播業(yè)務(wù)可靠性。
L.S.Brakmo等人在1994年提出了一種基于時(shí)延rtt(round-trip time)的擁塞控制機(jī)制TCPVegas[4]。該算法核心通過(guò)觀(guān)察回路往返時(shí)間rtt的變化來(lái)估計(jì)網(wǎng)絡(luò)擁塞狀況,借助rtt找出期望的傳輸率Ep和真實(shí)傳輸率Ap之間的差異值Diff來(lái)調(diào)整擁塞窗口進(jìn)而調(diào)整數(shù)據(jù)的發(fā)送速率,以提高吞吐量、降低分組丟失率,更多的相見(jiàn)文獻(xiàn)[5]。TCPVegas擁塞控制算法主要分為慢啟動(dòng)階段、擁塞避免階段、超時(shí)重傳階段,TCPVegas機(jī)制的參數(shù)設(shè)置如表1所示,各階段。
介紹如下:
1.1.1 慢啟動(dòng)階段
為防止TCP連接啟動(dòng)時(shí)向網(wǎng)絡(luò)中傳輸過(guò)多的數(shù)據(jù)包,而導(dǎo)致TCP傳輸成功率的急劇下降,因此采用慢啟動(dòng)的方式。TCP連接建立時(shí)設(shè)定一個(gè)初始值為w擁塞窗口,其參數(shù)值為w=(α+β)/2,參數(shù) α 和 β 作為窗口調(diào)整基準(zhǔn)的門(mén)限值[6](經(jīng)驗(yàn)值分別設(shè)為1和3)。當(dāng)發(fā)送節(jié)點(diǎn)收到第一個(gè)數(shù)據(jù)包反饋消息ACK的rtt時(shí),并不調(diào)整擁塞窗口大小,并將此時(shí)的rtt設(shè)定為basertt。當(dāng)大約經(jīng)過(guò)兩個(gè)rtt后才將窗口大小增加一倍。若當(dāng)TCPVegas根據(jù)Diff檢測(cè)到網(wǎng)絡(luò)擁塞時(shí),此時(shí)進(jìn)入擁塞避免階段。
表1 TCP Vegas機(jī)制的參數(shù)設(shè)置Tab.1 The parameter setting of TCP Vegas mechanism
1.1.2 擁塞避免階段
TCPVegas擁塞窗口調(diào)整機(jī)制的目的就是將緩存數(shù)據(jù)維持在兩個(gè)門(mén)限值之內(nèi),以維持整個(gè)網(wǎng)絡(luò)穩(wěn)定。TCPVegas擁塞窗口調(diào)整機(jī)制算法如式(1)。
當(dāng)Diff>β時(shí),意味著數(shù)據(jù)傳輸速率太快,表明網(wǎng)絡(luò)開(kāi)始發(fā)生擁塞,此時(shí)減小w的值來(lái)減緩數(shù)據(jù)傳送的速率。反之,當(dāng)Diff<α?xí)r,應(yīng)該加大w的值以增加數(shù)據(jù)傳送的速率。若α<Diff<β時(shí),表示網(wǎng)絡(luò)使用率比較穩(wěn)定,此時(shí)不需要調(diào)整擁塞窗口的大小。
1.1.3 超時(shí)重傳階段
為使Vegas能夠及時(shí)的重傳丟失的分組,Vegas摒棄了以往所采用的要收到3個(gè)重復(fù)ACK后才進(jìn)行的重傳策略,而是在收到了1個(gè)或者2個(gè)重復(fù)的ACK后,就啟動(dòng)重傳機(jī)制,此種機(jī)制顯著提升了TCP應(yīng)對(duì)分組丟失的響應(yīng)速度。
現(xiàn)今的網(wǎng)絡(luò)通信中,流量控制和擁塞控制主要是基于TCP協(xié)議,其核心思想是采用了數(shù)據(jù)包的滑動(dòng)傳輸窗口思想,而窗口的大小決定于反饋消息,Vegas的優(yōu)點(diǎn)在于擁塞機(jī)制的觸發(fā)只與rtt的變化有關(guān),而與包的具體傳輸時(shí)延無(wú)關(guān),能夠較好的預(yù)測(cè)網(wǎng)絡(luò)帶寬的使用情況。
借鑒TCPVegas擁塞控制機(jī)制的思想,在NCRM的基礎(chǔ)上實(shí)現(xiàn)了一種的基于窗口擁塞控制機(jī)制的多播路由優(yōu)化協(xié)議WCC-NCRM。WCC-NCRM算法機(jī)制主要分為3個(gè)模塊:發(fā)送端處理模塊、中間節(jié)點(diǎn)處理模塊以及接收端處理模塊。其中發(fā)送端處理模塊又分為發(fā)送窗口內(nèi)數(shù)據(jù)發(fā)送處理、接收到反饋消息后發(fā)送窗口調(diào)整處理這兩個(gè)部分,WCC-NCRM的擁塞控制的系統(tǒng)參數(shù)設(shè)置如下表2所示,其中特別注意的是發(fā)送窗口大小可以自適應(yīng)調(diào)整,本文仿真分析中設(shè)置W初始大小為8,各模塊處理機(jī)制如下:
表2 WCC-NCRM擁塞控制參數(shù)表Tab.2 The parameter table of congestion control for WCC-NCRM
1.2.1 發(fā)送節(jié)點(diǎn)處理機(jī)制
1)發(fā)送端發(fā)送窗口內(nèi)數(shù)據(jù)的發(fā)送處理流程
發(fā)送節(jié)點(diǎn)在發(fā)送數(shù)據(jù)包之前設(shè)定一個(gè)用于存儲(chǔ)分組塊序號(hào)block_id的發(fā)送窗口緩存和一個(gè)初始大小為INIT_WIN的發(fā)送窗口,該發(fā)送窗口的LOWER_ID(之后更新為發(fā)送端當(dāng)前發(fā)送的分組塊號(hào))初始化為1,UPPER_ID初始化為INIT_WIN-1。這里定義只有分組塊序列號(hào)滿(mǎn)足LOWER_ID<block_id<UPPER_ID時(shí),才符合發(fā)送條件。
當(dāng)網(wǎng)絡(luò)層接收應(yīng)用層傳輸來(lái)的數(shù)據(jù)包時(shí),首先通過(guò)UID(唯一標(biāo)示符)將數(shù)據(jù)包進(jìn)行分塊,本文中編碼塊長(zhǎng)度定義為BLOCK_SIZE,即BLOCK_SIZE個(gè)數(shù)據(jù)包組成一個(gè)block。每個(gè)block的分組塊序號(hào)可由式(2)得到:
將得到的分組塊號(hào)存入該數(shù)據(jù)包包頭的block_id域中,隨之將處理完的數(shù)據(jù)包存入該發(fā)送節(jié)點(diǎn)的本地緩存中。當(dāng)本地緩存中接收滿(mǎn)一個(gè)block_id的數(shù)據(jù)包時(shí),首先將發(fā)送節(jié)點(diǎn)當(dāng)前處理的分組塊號(hào)current_block_id設(shè)置為block_id,再將該block_id存入發(fā)送窗口緩存中。判斷該current_block_id是否小于UPPER_ID且大于LOWER_ID,如滿(mǎn)足此條件,則該分組塊獲得發(fā)送機(jī)會(huì)。此時(shí),對(duì)存儲(chǔ)在發(fā)送節(jié)點(diǎn)本地緩存中的所屬于該分組塊的原始數(shù)據(jù)包進(jìn)行初始網(wǎng)絡(luò)編碼,編碼完成后將相應(yīng)的編碼向量存入WCC-NCRM包頭的編碼向量域中和編碼包一起傳輸。若current_block_id不符合發(fā)送窗口的發(fā)送條件,則不會(huì)對(duì)該分組塊進(jìn)行初始編碼和發(fā)送操作,而在發(fā)送窗口中等待窗口調(diào)整完后再操作。
發(fā)送節(jié)點(diǎn)每發(fā)送完一個(gè)分組塊的所有初始編碼包后進(jìn)行第一次窗口調(diào)整:發(fā)送窗口的LOWER_ID向上調(diào)整一次,UPPER_ID向上調(diào)整0.5個(gè),即發(fā)兩次分組塊推動(dòng)發(fā)送窗口前進(jìn)一次。這是應(yīng)對(duì)當(dāng)網(wǎng)絡(luò)發(fā)生擁塞時(shí),由于核心節(jié)點(diǎn)不能及發(fā)送反饋消息以調(diào)整發(fā)送窗口而造成的網(wǎng)絡(luò)癱瘓。經(jīng)過(guò)以上操作后檢查發(fā)送窗口緩存是否為空,若不為空則將current_block_id設(shè)置為發(fā)送窗口緩存中序號(hào)最小的分組塊號(hào),并且繼續(xù)進(jìn)行上述操作,將發(fā)送窗口緩存中的所有符合發(fā)送條件的分組塊全部編碼并完成發(fā)送。
2)接收到反饋消息后發(fā)送窗口調(diào)整流程
發(fā)送端接收到反饋消息后先判定該反饋消息是否是首次收到的,若是首個(gè)反饋消息,則先根據(jù)反饋消息計(jì)算出該分組塊的一次往返時(shí)間rtt,并設(shè)定為basertt,同時(shí)將發(fā)送窗口的UPPER_ID向上調(diào)整2次。若不是首個(gè)反饋消息,則與TCPVegas的方法類(lèi)似,首先計(jì)算出預(yù)期傳輸率和實(shí)際傳輸率之間的差異值diff。然后再根據(jù)diff的值來(lái)調(diào)整發(fā)送窗口的大小。與TCPVegas的方法不同的是,無(wú)論diff值為多少都會(huì)更新一次basertt,實(shí)時(shí)的更新basertt可以避免TCPVegas機(jī)制中的不公平資源分配問(wèn)題。WCC-NCRM發(fā)送窗口調(diào)整機(jī)制可用式(3)表示。
如果diff小于0,則說(shuō)明當(dāng)前解碼的分組塊的往返時(shí)間要小于首次的數(shù)據(jù)包往返時(shí)間,因此更新basertt,此時(shí)不調(diào)整發(fā)送窗口大小。根據(jù)TCPVegas中所用的門(mén)限參數(shù),若diff小于α,意味著分組傳輸速率較慢,網(wǎng)絡(luò)使用率低,因此將發(fā)送窗口的UPPER_ID向上調(diào)整4次,同時(shí)將此時(shí)的rtt設(shè)定為basertt;若diff大于β時(shí),意味著傳送速率太快,表明網(wǎng)絡(luò)開(kāi)始擁塞,因此將發(fā)送窗口的UPPER_ID向下調(diào)整1次,并將此時(shí)的rtt設(shè)定為basertt。最后若diff的值大于且小于時(shí)表示網(wǎng)絡(luò)使用率比較穩(wěn)定,無(wú)需調(diào)整發(fā)送窗口大小。
1.2.2 中間節(jié)點(diǎn)處理機(jī)制
WCC-NCRM中間節(jié)點(diǎn)的處理過(guò)程與文獻(xiàn)[2]中的NCRM處理過(guò)程一致。當(dāng)中間節(jié)點(diǎn)收到一個(gè)新的block的編碼包時(shí),首先會(huì)檢查編碼包中是否含有新信息,如果包含新的信息,則會(huì)將此編碼包存儲(chǔ)到本地緩存中,如果沒(méi)有包含新信息則會(huì)丟掉該編碼包。針對(duì)每個(gè)分組塊,都會(huì)設(shè)定一個(gè)專(zhuān)門(mén)的定時(shí)器,其時(shí)長(zhǎng)為BLOCK_TIMEOUT。當(dāng)中間節(jié)點(diǎn)在此時(shí)長(zhǎng)內(nèi)收集到關(guān)于某分組塊的BLOCK_SIZE個(gè)編碼包時(shí),則會(huì)直接對(duì)該分組塊進(jìn)行二次編碼。同時(shí)將編碼后的新編碼包廣播給它的鄰居節(jié)點(diǎn),以提高整個(gè)網(wǎng)絡(luò)的解碼成功率。反之,如果中間節(jié)點(diǎn)在BLOCK_TIMEOUT時(shí)長(zhǎng)內(nèi)并未收集夠關(guān)于某分組塊的足夠編碼包,它會(huì)向其鄰居節(jié)點(diǎn)請(qǐng)求冗余編碼包后再進(jìn)行二次編碼。值得注意的是二次編碼的編碼包的個(gè)數(shù)是可以根據(jù)當(dāng)前場(chǎng)景的網(wǎng)絡(luò)狀態(tài)自適應(yīng)調(diào)整的。例如在網(wǎng)絡(luò)結(jié)構(gòu)中節(jié)點(diǎn)密度較小的情況下,二次編碼時(shí)產(chǎn)生成較多的編碼包可以確保比較高的分組投遞率。
1.2.3 接收節(jié)點(diǎn)處理機(jī)制
核心節(jié)點(diǎn)解碼的成功率基本可以代表整個(gè)mesh網(wǎng)絡(luò)的解碼成功率,本機(jī)制除了利用發(fā)送節(jié)點(diǎn)調(diào)整發(fā)送窗口大小之外,主要是利用核心節(jié)點(diǎn)的反饋消息來(lái)調(diào)整發(fā)送窗口大小。如果核心節(jié)點(diǎn)收集夠關(guān)于某編碼塊的BLOCK_SIZE個(gè)線(xiàn)性無(wú)關(guān)的編碼包,則該接收節(jié)點(diǎn)便可以利用高斯消元法順利恢復(fù)出該編碼塊的原始數(shù)據(jù)包,同時(shí)生成一個(gè)反饋消息給發(fā)送節(jié)點(diǎn),該反饋消息的序列號(hào)就是成功解碼的序列號(hào)。
其他節(jié)點(diǎn)對(duì)解碼的處理方式與核心節(jié)點(diǎn)一樣,在定時(shí)器超時(shí)前收集夠某編碼塊的BLOCK_SIZE個(gè)線(xiàn)性無(wú)關(guān)的編碼包,則可恢復(fù)出該編碼塊的原始數(shù)據(jù)。同時(shí)會(huì)對(duì)該編碼塊重新編碼并發(fā)送給下游節(jié)點(diǎn)繼續(xù)傳遞編碼包。若接收節(jié)點(diǎn)定時(shí)器超時(shí)前,未能收集夠關(guān)于某編碼塊的編碼包,則會(huì)向其鄰居節(jié)點(diǎn)請(qǐng)求冗余編碼包以完成解碼操作。
為了更好的評(píng)估WCC-NCRM協(xié)議的性能,我們?cè)贜S2仿真平臺(tái)[8]上搭建了相應(yīng)仿真環(huán)境。仿真參數(shù)設(shè)置如下:36個(gè)節(jié)點(diǎn)均勻分布在750 m×750 m的區(qū)域中;節(jié)點(diǎn)平均停留時(shí)間為0 s;移動(dòng)模型采用隨機(jī)路徑點(diǎn)移動(dòng)模型[7](RWP);節(jié)點(diǎn)信號(hào)覆蓋范圍為250 m,信道容量為2 Mbps。應(yīng)用層采用單個(gè)數(shù)據(jù)包大小為512 byte的恒定比特?cái)?shù)據(jù)流(CBR)來(lái)模擬多播業(yè)務(wù);傳輸層采用用戶(hù)數(shù)據(jù)包協(xié)議(UDP);網(wǎng)絡(luò)層分別采用NCRM和WCC-NCRM;仿真時(shí)間為30 s。
此移動(dòng)模型下的仿真仍然設(shè)置在單個(gè)多播組中,業(yè)務(wù)傳輸負(fù)載分別設(shè)為 5、7.5、10、12.5、15、17.5、20、22.5(kb/s),接受節(jié)點(diǎn)個(gè)數(shù)為20個(gè),節(jié)點(diǎn)的移動(dòng)速度為15 m/s,并取NCRM和WCC-NCRM的BLOCK_SIZE均為4。限于篇幅,文中只討論業(yè)務(wù)傳輸負(fù)載變化情況下,NCRM和WCC-NCRM的性能對(duì)比,其他場(chǎng)景下有著類(lèi)似的性能。為確保仿真結(jié)果的可信度,每組仿真參數(shù)在移動(dòng)模型下都會(huì)生成8個(gè)多播仿真場(chǎng)景,然后在每個(gè)仿真場(chǎng)景下分別進(jìn)行10次仿真,最終通過(guò)計(jì)算平均值,得出在隨機(jī)路徑點(diǎn)移動(dòng)模型中關(guān)于WCC-NCRM和NCRM的分組投遞率及總開(kāi)銷(xiāo),仿真曲線(xiàn)如圖1和圖2所示。
圖1 RWP分組投遞率vs.傳輸負(fù)載Fig.1 RWPpack delivery ratio vs.traffic overload
圖2 RWP總開(kāi)銷(xiāo)vs.傳輸負(fù)載Fig.2 RWPoverhead vs.traffic overload
如圖1所示,當(dāng)傳輸負(fù)載大于7.5 kb/s且小于20 kb/s時(shí),在WCC-NCRM協(xié)議下的分組投遞率將明顯高于NCRM的,說(shuō)明本優(yōu)化協(xié)議改善了在傳輸負(fù)載相對(duì)增大范圍內(nèi)的網(wǎng)絡(luò)擁塞現(xiàn)象,并且提升了分組投遞率,提高了網(wǎng)絡(luò)資源的利用率。但隨著傳輸負(fù)載逐漸增大時(shí),在WCC-NCRM和NCRM協(xié)議下,mesh網(wǎng)中各節(jié)點(diǎn)的編碼、解碼速度都將不及數(shù)據(jù)包的傳輸速度,網(wǎng)絡(luò)出現(xiàn)擁塞現(xiàn)象,從而造成丟包率的增大,引起分組投遞率的急劇下降。
如圖2所示,因采用WCC-NCRM協(xié)議后,網(wǎng)絡(luò)擁塞現(xiàn)象得到改善,系統(tǒng)丟包率平滑下降,mesh網(wǎng)中的節(jié)點(diǎn)將減少請(qǐng)求資源的操作,從而導(dǎo)致了其數(shù)據(jù)包轉(zhuǎn)發(fā)次數(shù)的下降,以至于WCC-NCRM協(xié)議下的系統(tǒng)總開(kāi)銷(xiāo)將遠(yuǎn)小于NCRM協(xié)議下的系統(tǒng)總開(kāi)銷(xiāo)。但隨著傳輸負(fù)載的增大,因節(jié)點(diǎn)不能及時(shí)成功的解碼,mesh網(wǎng)中的節(jié)點(diǎn)將更多的處于請(qǐng)求資源操作中,從而導(dǎo)致了數(shù)據(jù)包轉(zhuǎn)發(fā)次數(shù)的增多,以至于兩種機(jī)制下的系統(tǒng)總開(kāi)銷(xiāo)都會(huì)有所上升。
文中提出了一種可靠的基于TCP-Vegas擁塞控制的多播路由優(yōu)化機(jī)制WCC-NCRM,將TCP-Vegas擁塞控制算法思想融入NCRM中,實(shí)現(xiàn)了在業(yè)務(wù)傳輸負(fù)載增大的情況下,緩解網(wǎng)絡(luò)擁塞狀況,提高網(wǎng)絡(luò)資源利用率,既維持較低的系統(tǒng)總開(kāi)銷(xiāo),又保持了較高的分組投遞率,提升了整個(gè)系統(tǒng)的可靠性。
由于WCC-NCRM機(jī)制中的關(guān)鍵因數(shù)rtt對(duì)整個(gè)系統(tǒng)起著決定性作用,如何消除rtt對(duì)WCC-NCRM的性能影響,更好的提高機(jī)制的總體性能,有著重要研究意義。下一階段會(huì)對(duì)rtt進(jìn)行改進(jìn)以減少因rtt抖動(dòng)造成的WCC-NCRM性能的下降,最終得到一種最優(yōu)的基于窗口擁塞控制的多播路由優(yōu)化方案。
[1]Ahlsw ede R,Cai N.Network information flow[J].IEEE Trans.Inform.Theory,2000,6(4):1204-1216.
[2]譚國(guó)平,倪新洋,季敏,等.一種基于網(wǎng)絡(luò)編碼的移動(dòng)自組網(wǎng)實(shí)時(shí)多播協(xié)議[J].微電子學(xué)與計(jì)算機(jī),2011,28(8):12-14.TAN Guo-pin,NI Xin-yang,JI Min,et al.NCRM:A network coding based on real-time multicast protocol in mobile Adhoc networks[J].Microelectronics and Computer,2011,28(8):12-14.
[3]譚國(guó)平,季敏,倪新洋,等.網(wǎng)絡(luò)編碼VS.存儲(chǔ)轉(zhuǎn)發(fā):移動(dòng)自組網(wǎng)中實(shí)時(shí)多播機(jī)制仿真研究[J].成都信息工程學(xué)院學(xué)報(bào),2011,26(3):298-303.TAN Guo-pin,JI Min,NI Xin-yang,et al.Network coding vs store-and-forwarding:simulation studies on real-time multicast mechanisms in Ad-hoc networks[J].Journal of Chengdu University of Information Technology,2011,26(3):298-303.
[4]Brakmo L S,Maney S W.Peterson L L.TCP Vegas:new techniques for congestion detection and avoidance[C].Proceedings of ACM SIGCOMM94,1994 24-35.
[5]劉國(guó)柱,高文娟.基于TCPReno和TCPVegas擁塞控制性能研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(2):434-437.LU Guo-zhu,GAO Wen-juan.Research of congestion control performance based on TCPReno and TCPvegas[J].Computer Engineering and Design,2011,32(2):434-437.
[6]李鵬,陳元琰,羅曉署.無(wú)線(xiàn)異構(gòu)網(wǎng)絡(luò)環(huán)境中基于擁塞狀態(tài)區(qū)分的TCPVegas改進(jìn)算法[J].計(jì)算機(jī)應(yīng)用,2010,30(2):309-311.LI Peng,CHEN Yuan-yan,LUO Xiao-shu.TCP Vegas-P:enhanced TCP Vegas congestion control algorithm based on congestion status differentiation over wireless heterogeneous network[J].Journal of Computer Applications, 2010,30(2):309-311.
[7]童超,龍翔,高小鵬.基于隨機(jī)路徑點(diǎn)模型的Ad hoc網(wǎng)絡(luò)復(fù)雜統(tǒng)計(jì)特性[J].北京航空航天大學(xué)學(xué)報(bào),2008,34(10)1236-1242.TONG Chao,LONG Xiang,GAO Xiao-peng.Complexity statistical characteristics for Ad-hoc networks based on random way point model[J].Journal of Beijing University of Aeronautics and Astronautics,2008,34(10)1236-1242.
[8]黃化吉,馮德力.NS網(wǎng)絡(luò)模擬和協(xié)議仿真[M].北京:人民郵電出版社,2010.