簡單的說,NS-2是一個網路模擬器,所以經常被用到網路課的教學中。 NS-2是OpenSource的,最早的版本是在linux/unix下啟動並執行,後來有了windows下用vc編譯啟動並執行版本,但從2.26以後就放棄了對vc的支援,所以現在裝NS2隻有兩條路,要麼裝個linux,要麼就在windows下裝個cygwin,然後再在cygwin上裝ns2. 為了一個ns2(完成安裝後不過100M)而安裝linux(RH9完整安裝大概在5G左右)實在不值,所以我決定用cygwin 先去 http://www.cygwin.com/setup.exe 下載setup.exe,運行,得到這個介面: 點下一步,出現這個介面:
選擇“Install from Internet”,當然,如果本地已經下載了你所需要的package,也可以選“Install from Local Directory” 接下來選擇安裝位置:
可以自己選擇一個目錄安裝。現在(10/13/05)的cygwin版本跟NTFS完全相容,所以不用擔心,可以放心的把它裝在NTFS分區。至於Test File Type,建議最好設成unix,雖然我沒試過用dos格式,但是鑒於OpenSource的軟體原本都是linux/unix下的,所以最好還是用unix 繼續下一步
選擇一個儲存package的地方,我們要用到的package大小大概是60M。當然,如果選擇的是Install From Local Directory,那麼這一步就會變成“指定package所在的位置” 下一步
指定Proxy 伺服器。教育網內的機器是沒辦法直接上國外網的,所以要指定代理。最該死的是它的 mirror list放在國外,所以即使你知道一個國內的ftp地址(可以下載package的地址,比如ftp://ftp.sjtu.edu.cn/cygwin),你也得指定Proxy 伺服器,要不然你就沒辦法獲得mirror list,安裝就進行不下去。清華校內的話,除實驗室之外推薦使用代理,強烈建議不要直接連國外,要知道國際流量可是 1元/MB,安裝一次就需要60RMB! 下一步
選擇鏡像網站。cygwin有很多鏡像網站(但是上面列的都是國外的),可以選擇其中一個下載package。也可以自己指定一個網站。比如,如果要用ftp://ftp.sjtu.edu.cn/cygwin,可以在User URL中填這個地址,然後點add,就能將這個地址加到上面的鏡像列表中,然後可以選擇這個鏡像進行安裝。 下一步
選擇要安裝的軟體包。這裡我只列出ns2需要的包,其中不包括安裝程式預設安裝的包: gcc gcc-g++ gnuplot make patch perl tar X-startup-scripts xorg-x11-base xorg-x11-bin xorg-x11-devel xorg-x11-bin-dlls xorg-x11-bin-lndir xorg-x11-etc xorg-x11-fenc xorg-x11-fnts xorg-x11-libs-data xorg-x11-xwin 點右上方的view,使它旁邊的狀態顯示為Full,你就能看到按字母順序排序的package列表,在這些包前點滑鼠,使它們處於非“Skip”的狀態 下一步
開始下載檔案,準備安裝。下載過程會比較慢,因為總檔案有60多M,且分成很多小檔案。如果是Proxy 伺服器,可能還會更慢,推薦早上開機安裝,然後去上自習,估計中午就能下完了 下載完成後,系統會自動開始安裝
安裝過程還是比較慢的,耐心等待就是了 安裝完成
讓人高興的提示
到這裡,cygwin安裝完成,這時案頭上應該出現了一個cygwin的表徵圖,點擊運行,就能看到cygwin的介面了 接下來就是安裝ns2了 先去 http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz 下載ns-allinone安裝包。當然也可以選擇下載單獨的包,然後一個一個安裝,不過真的不推薦,因為太麻煩了 下載完後,用winrar(我確定winzip能不能解壓tar格式的檔案,誰試試,告訴我一聲)把裡面的檔案都解壓到 cygwin安裝目錄下的 home目錄的子目錄下,比如在我這裡就是 c:/cygwin/home/hct 。 啟動cygwin, cd /home/hct/ns-allinone-2.28 ./install 安裝過程就開始了。由於目錄不一樣,上面的命令可能不太一樣。 安裝過程是很漫長的,因為我們下載的是源檔案,機器還得先編譯,等吧…… 安裝完後會出現這個提示:
這時還需要修改路徑資訊,把可執行檔的路徑加到PATH環境變數中 開啟 c:/cygwin/home/hct/.bashrc (當然,根據安裝路徑不同,這個檔案所處的位置也不同),在檔案末尾加入這些資訊: export NS_HOME=/home/hct/ns-allinone-2.28 export PATH=$NS_HOME/nam-1.11:$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/otcl-1.9:$NS_HOME/lib:$LD_LIBRARY_PATH export TCL_LIBRARY=$NS_HOME/tcl8.4.5/library .bashrc檔案可以用記事本開啟,不過最好用UE,因為它是unix格式的文本 加入後的檔案像這樣: http://www.sinzy.net/Test/i1/20051013132448_1dwgbc45_.bashrc 現在我們的工作就基本完成了。 儲存.bashrc,開啟cygwin,運行 startxwin.bat 這時應該出現這樣的視窗:
運行 cd /home/hct/ns-allinone-2.28/ns-2.28/ns-tutorial/examples ns example2.tcl 應該會出現這樣的視窗:
這就表示ns2安裝圓滿完成了! Problems & Solutions P: 運行 startxwin.bat 時提示“No Such File or Directory” S: 可能是沒有安裝X-Startup-Scripts,重新運行setup.exe,然後選擇安裝就行了 也可能是環境變數沒有設定好,按上面的設定再檢查一遍,注意要把 hct 改成你相應的名字 另外,應該運行 startxwin.bat ,不能只打 startxwin P: 運行 ns examples2.tcl 時提示" no such file or directory" S: 如果是找不到 examples2.tcl 那就是你打 cd /home/hct/ns-allinone-2.28/ns-2.28/ns-tutorial/examples 的時候出了錯 如果是找不到ns,那就是環境變數沒設定好 P: 運行 ns examples2.tcl 時提示“nam: no such file or directory” S: 看看你的 /home/hct/ns-allinone-2.28/nam-1.11 目錄下有沒有 nam.exe 檔,有的話就是你的環境變數設定錯了,注意要把 nam-1.11 這個目錄加到PATH中 如果沒有nam.exe,那就是編譯nam時出錯了。運行 gcc -dumpversion 看看你的gcc版本,如果是3.4.x,那就好辦了。找到 nam-1.11/agent.h ,把它的第73行中的NULL改成0,然後回到nam-1.11目錄,運行 ./configure 然後運行 make,等運行完畢,再試試 ns example2.tcl 就應該沒問題了 如果gcc版本不是3.4.x,那就不知道是什麼問題了,不過可以肯定是編譯出了錯,所以換個nam版本試試吧 註:在2.30版本後 不提供ns-tutorial 需要的話要到以前的版本中拷 reference:http://x.cygwin.com/docs/ug/setup-cygwin-x-installing.html http://140.116.72.80/~smallko/ns2/setup.htm http://140.116.72.80/~smallko/ns2/setup_en.htm |