說明:柯志亨老師《ns2仿真實驗-----多媒體和無線網絡通信》這本書lab18實驗為“無線網絡封包傳輸遺失模型”的實驗。該無線傳輸遺失模型是柯老師自己開發的,原始的ns-allinone-2.35(也包括其他版本)中是沒有該模型的。所以實驗的第一步就是要先為ns2.35添加該模型。
步驟:
1.將柯老師所給的ns-allinone-2.29包中ns-2.29/mac/wireless-phy.cc和ns-2.29/mac/wireless-phy.h兩個文件復制到你自己安裝的ns-allinone-2.35/ns-2.35/mac/目錄下。復制前先備份ns-2.35/mac中的這兩個文件。



具體的安裝路徑因人而異,不可照搬我的~
2.在ns-allinone-2.35/ns-2.35/目錄下執行sudo make clean;sudo make命令。

執行完該步后,會出現如下錯誤:

3.修改2中出現的錯誤,修改完后重新make。具體如下:
在當前目錄中打開mac/wireless-phy.cc文件,在61行添加MIN聲明。

在當前目錄中打開common/packet-stamp.h文件,在58行添加double InterferencePr。

然后重新在當先目錄下執行sudo make。圖略。
make之后,會出現如下錯誤:

4.修改3中錯誤,然后重新make。
在當前目錄中打開mac/wireless-phy.h文件,在99行添加T_sleep的定義

然后重新執行sudo make,大功告成!
5.經過上邊幾個步驟,柯老師的無線網絡封包傳輸遺失模型就在咱們自己的ns2.35中添加完成了。但是要想做lab18的實驗,在這里還要修改下lab18所給出的lab18.tcl文件,原因就不說明了。大家照做即可。
打開lab18/lab18.tcl文件,注釋掉142-146行代碼(具體的行號可能略有不同,大家看下,不過很好找的)。然后在140行添加ns_ connect $udp0 $null0。

6.大功告成。去做lab18的實驗吧。
友情提示:柯老師給出的ns-allinone-2.29包下載地址:http://pan.baidu.com/s/1qWmDmwc
標准的ns-allinone-2.35包下載地址:http://pan.baidu.com/s/1o6jt1we
