2009年4月17日 星期五

NIST - 網路模擬器

NIST Net is a network emulation package that runs on Linux. NIST Net allows a single Linux PC set up as a router to emulate a wide variety of network conditions

這是一個在Linux上的網路模擬器,可以模擬封包的傳送,就如上所說的,可以用一台電腦模擬網路上的各種情況

以下是擷取網路上的資料,實際上是還沒有測試過:
NistNet是一款基於Linux系統能夠動態即時仿真IP網路環境的開源工具,它可實現端到端網路中那些關鍵性能,例如延遲、抖動、丟包等多種複雜的網路環境的類比,為那些對於網路環境較為敏感的應用提供了便利的測試方法。

NistNet是做為Linux內核的一個可動態載入的模組來實現的。它用圖形用戶介面和命令行介面兩種使用形勢。

下面介紹如何配置、編譯、安裝、使用NistNet。

1) 下載NistNet原始檔案。
Sourforge和Nist的項目主頁都提供NistNet的源碼下載。
http://snad.ncsl.nist.gov/nistnet/
http://sourceforge.net/projects/nistnet/
下載nistnet.2.0.12b.tar.gz壓縮包
並在一台運行Linux的主機上解壓縮此檔。
2) 配置
運行解壓縮目錄下的configure命令。
3) 編譯
Configure如果無誤,即可運行make命令進行編譯。
4) 安裝
編譯後,運行Make install進行安裝。
5) 使用
$ ./Load.Nistnet
此命令可以載入NistNet到內核
然後可以通過
cnistnet或者xnistnet啟動NistNet工具。
例:為源IP為192.168.1.203:5060目的IP為192.168.100.156:5060的UDP流量增加10%丟包率,並且增加1s的延時。
執行下序命令:
$ ./Load.NistNet
$ cnistnet -u
$ cnistnet –a 192.168.1.203:5060 192.168.100.156:5060 --drop 10 --delay 1000


注:使用此功能之前要使能Linux系統的路由功能,以便能夠跨網段轉發
使能Linux路由功能的命令是
$ echo 1 < /proc/sys/net/ipv4/ip_forward
查看路由功能是否啟動的命令是
$ cat /proc/sys/net/ipv4/ip_forward
如果終端顯示‘1’則表明路由功能啟動成功,如果顯示‘0’則表示路由沒有成功啟動

參考資料:
用NistNet模仿網路環境
NIST Net Home Page

沒有留言: