私は NS2 (および Linux でさえも) の完全な初心者です。私のタスクは、非常に基本的なエミュレーションの例を示して、ns2 を使用してエミュレートできることを示すことです。ここ数週間、簡単なエミュレーション スクリプトを動作させようと試みてきましたが、うまくいきませんでした。これを行うために数行のコードを書くのに、専門家ならほんの数分しかかからないと確信しています。同様の問題について私が読んだほとんどの説明は、NS2 または Linux の観点から理解するにはあまりにも高度です。誰かが学生レベルで私を助けてくれれば、
大歓迎です。
私は Linux マシンを使用しており、これまでのところ allinone ns-2.34 をダウンロードしてインストールしました。また、いくつかの簡単なエミュレーション スクリプトの例をググってみました。
たとえば、私はこれを見つけました:
# Create simulator
set ns [new Simulator]
$ns use-scheduler RealTime
# Emulator address
set me [exec hostname]
# Packet input
set bpf0 [new Network/Pcap/Live]
$bpf0 set promisc_ true
set nd0 [$bpf0 open readonly fxp0]
set filt "(not ip host $me)"
$bpf0 filter $filt
# Packet output
set ipnet [new Network/IP]
$ipnet open writeonly
# Input agent
set pfa [new Agent/Tap]
$pfa network $bpf0
# Output agent
set ipa [new Agent/Tap]
$ipa network $ipnet
# ICMP ECHO agent
set echoagent [new Agent/PingResponder]
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
$ns simplex-link $n0 $n2 100Mb 1000ms DropTail
$ns simplex-link $n2 $n1 100Mb 1000ms DropTail
$ns attach-agent $n0 $pfa
$ns attach-agent $n1 $ipa
$ns attach-agent $n2 $echoagent
$ns simplex-connect $pfa $echoagent
$ns simplex-connect $ipa $echoagent
# Wait for ping to come in...
$ns run
このスクリプトを実行しようとすると、次のようなメッセージが表示されます。
無効なコマンド名 "Network/Pcap/Live" while running "Network/Pcap/Live create o_11 " within within "catch "$className create $o $args" msg" (procedure "new" line 3) "new Network" 内で呼び出される/Pcap/Live" は、"set bpf0 [new Network/Pcap/Live]" (ファイル "./vince/emu1.tcl" 行 12) 内から呼び出されます。
誰でもこの問題を手伝ってもらえますか? 私はまだ ns2 の専門家ではないので、そのコードがどのように機能するかはよくわかりません。pingレスポンダーだと思います。私が必要とするのは、それが機能することを示すための非常に単純なエミュレーションの例だけなので、他の提案やサンプルスクリプトは素晴らしいでしょう!
ありがとう