【正文】
腳本編寫完成。 。 ,得出有用的數據,也可以用Nam等工具觀看網絡模擬運行過程。,重新進行上述模擬過程。 本章將在NS2環(huán)境下模擬無線傳感器網絡的幾個重要網絡性能指標,包括網絡吞吐量,網絡數據包時間延遲,跳數,路由負載等,然后用nam工具演示了RREQ廣播,數據傳輸,掉包等過程。 shell腳本一次計算多個連接的吞吐量并且畫圖顯示的shell腳本如下: !/bin/cshgrep AGT $$srcl=1 dstl=2 src2=4 dst2=5 src3=4 dst3=6 src4=6 dst4=7 src5=7 dst5=8 src6=7dst6=9 src7=8 dst7=9i=$src 1j=$dstldd=plot \$1一$i$\title\$i$j\with linespointsgawk v outfile=$1一$i$39。,v src=$i v dst=$j f $echo $ddfor k in2 3 4 5 6 7do i=src$k i=$ [$i] j=dst$k j=$[$jJ gawk v outfile=$1一$i$39。,v src=$i v dst=$j f $ dd=$dd,\ $1一$i$\title\$i$j\with linespointsdoneecho set term png medium 。$1 echo set output \$1 \ 。$1 echo set ylabel \Transmission Speed(KB/s)\。$echo set xlabel \Time(s)\。$echo set key left top box。$1 echo set title 1AODV Analysis\。$1 echo $dd。$gnuplot $1 ,橫坐標是整個模擬場景持續(xù)的時間,縱坐標是節(jié)點間的傳輸速率,從圖中我們可以看到共有7條曲線,表示不同的連接速率,如I2,45等。 AODV協(xié)議吞吐量BEGIN{ recvdSize=0。 startTime=1 e6。 st叩Time=0。 } $2!}/^t/{ event=$1。 t加e=$2。 node id=$3。 plotid=$6。 pkt size=$8。 level=$4。}$0}/^s.*AGT/amp。amp。sendTime[pktid]=0{ if($3=(_src_ )){ if (timestartTime){ startT而e=time。 } sendTime[pkt id]=time。 } } $0}/^r.*AGT/{ if($3=(dst_ )){ if (timestopTime){ stopTime=time } Recv Time[pkt_id]=time。 } }END{ delay=avgse delay=recvd Num=0。for (i in recvTime){ if (sendTime[i]=0){ printf }nError in :receiving a packet that wasnot sent %g}n,i。 } delay+=(recvTime[i)sendTime[i))。 recvdNum++。}if (recvdNum!=0) {avgee delay=delay/recvdNum。}else {avg delay=0。}if (recvdNum=0){ printf }nWarning:no packets were received,simulation may be too shortln。}printf %15s:%d}n,startTime,startTime。printf %ISs:%d}n,stopTime,stopTime。printf %15s:%gin,avgDelay[ms],avg_delay*1000。圖中橫坐標是不同的連接,比如12,45等,縱坐標表示的延遲量,pause time是暫停的時間,值越大,表示整個場景的移動性越小,由圖可以看出,pause time越大網絡的延遲就越小,這說明傳感網絡中節(jié)點的移動對整個網絡的延遲影響很大。 跳數:消息成功傳輸的平均跳數二每個成功消息的跳數之和/消息總成功數目 跳數模擬 ,pause time較小時,各節(jié)點移動性比較大,所以跳數就會比較均衡,而pause time比較大時,節(jié)點移動性比較小,那跳數很大程度上取決于初始的拓撲,這樣就會造成不同的連接之間跳數差別比較大。圖34路由負載模擬 ,隨著pause time的增大,路由負載呈遞減趨勢,這說明移動性小的傳感網絡的路由負載要比移動性大的好。 RREQ廣播演示如果節(jié)點確定它需要一條到目的節(jié)點的路由而該路由并不可用,則節(jié)點發(fā)起一個RREQ廣播請求幀??梢杂肗S2下的nam工具來演示RREQ廣播情形。從圖中可以看出,RREQ請求幀是以某個節(jié)點為中心向四周擴散開,這與AODV路由協(xié)議的運行是一致的。 用nam演示RREQ廣播無線網絡中存在大量的節(jié)點,節(jié)點間需要相互通信,可以用nam來演示這一過程,圖中的小黑點表示傳輸的數據,當前正在從1號節(jié)點傳往38號節(jié)點。無線網絡中的節(jié)點在傳輸數據過程中,會發(fā)生掉包現象,可以用nam來演示掉包現象,圖中的帶數字的小圓圈表示網絡中的節(jié)點,黑色小方塊就是掉的包。 NS是一個龐大的系統(tǒng),無線網絡模塊內容只是他其中很小的一部分,本章首先概要得介紹了NS系統(tǒng),然后在NS環(huán)境下構建了一個無線網絡,并在該網絡上運行AODV路由協(xié)議。無線網絡的性能指標有很多,本章對其中的網絡吞吐量,網絡數據包時間延遲,跳數,路由負載等指標進行了模擬,然后又用NS下的nam工具演示了RREQ廣播,數據傳輸,掉包等過程。 通過本章的NS模擬,對AODV路由協(xié)議的性能及運行原理有了直觀的了解???結通過編寫這個程序,我體會最為深刻的一點是系統(tǒng)架構和設計模式的重要性。即使是對于一個并不大的程序,代碼的組織都是非常重要的,因為這關系到日后的維護以及擴展。但是對于系統(tǒng)的架構,卻完全是自己的事情,幾千上萬行的代碼需要通過合適的方法組織起來,使程序員編寫代碼更加有條理,更加符合軟件工程的標準,這才是最重要的。在剛開始編寫這個程序的時候,我幼稚地認為其中最重要的是算法。但是頭一個月編寫程序的時候卻發(fā)現程序越寫越不容易維護,可見是我走錯了方向。后來我向公司真正的軟件設計人員及系統(tǒng)架構師討教,他們告訴我:我們的先人早已為我們準備好了各種精良可用的現成算法,我們所要做的就是直接“拿來主義”罷了;但是對于代碼的組織(也就是軟件的架構)才是真正軟件工業(yè)的核心部分,因為軟件事實上是直接和經濟掛鉤的,因此我們必須在編寫代碼之前選擇一種最為合適的方法來組織這些代碼,否則我們將會失去更多的時間和金錢。于是,我將以前寫的代碼全部刪除,認真地思考了三天的時間。我也在這三天內真正從一個學生程序員走入了軟件開發(fā)的大門,我開始發(fā)現其實軟件開發(fā)并不是純數學——正相反,數學只占了很小的一部分。它其實是一種哲學,一種有著數學美感的哲學。參考文獻[1] ad hoc networkscharter.[2]Wireless LAN medium access control(MAC)and physical layer(PHY) Standard ,IEEE puter society LAN MANstandards mittee,Ed,1997[3]Elizabeth ,Chrles E.Perkins.An Implementation Study of the AODV Routing Protocol.In Proceedings of the IEEE Wireless Communications and Networking Conference,2000[4]Tanenbaum A Networks(Third Edition).熊桂喜等譯,清華大學出版社,1998,272~273[5]Hong X Y,Xu K X,Gerla routing protocols for mobile ad Network,Vol 16,Issue 4,JulyAug 2002:11~21[6]趙志峰,鄭少仁.Ad ,2001,17(1):14~17[7]Corson S,Macker ad hoc networking(MANET):Routing Protocol Performance Issues and Evaluation 2501,Jan 1999[8]Chakrabarti S,Mishra issues in Ad Hoc wireless Commun.,2001(2)[9]周海剛,肖軍模.Ad ,2001,17(12):39~42[10]Vikas Kawadia,Yongguang Zhang,Binita Services for Implementing AdHoc Routing ,2001致 謝畢業(yè)設計即將完成,此時此刻我的內心充滿了完成工作的成就感所帶來的喜悅,但是,內心深處更多的是對在我畢業(yè)設計期間對我無私幫助的系領導、老師和同學們的無限幫助的感激之情,沒有他們的熱心幫助我就不能這么順利完成畢業(yè)設計。感謝XX學院領導!您們對畢業(yè)生關懷備至,盡最大努力給我們提供畢業(yè)設計所需要的硬件設備!感謝XX老師,作為我的指導教師,X老師對我的畢業(yè)設計的成果起了決定性的作用。游老師嚴謹求實、溫厚和藹,令學生景仰;X老師深厚的學術功底、敏銳的學術洞察力、嚴謹的治學作風和精益求精的工作精神,給學生留下了深刻的印象。他對待事物的嚴謹求實的精神在我的畢業(yè)設計中一直鼓舞著我,在我遇到困難的時候,是他支持我一步一步走下來。在X老師的悉心指導下,我對科研工作有了更進一步的認識并深受啟發(fā)。感謝身邊的同學們!感謝XXXXXXX等同學。在我做畢業(yè)設計的過程中遇到困難時,是他們給了我精神上和物質上的幫助。真心地感謝他們!最后,感謝本文的讀者!希望您能給我多提寶貴意見,使我的系統(tǒng)得到進一步的改進,使之更加完善!再一次感謝所有在這段難忘的歲月里幫助過我,鼓勵過我