2016-05-01 26 views
2

クラスプロジェクトのために、ns-3を使って異なる種類のTCPを比較する必要があります。私はns-3で新しいです。私は新しいコードを実装したくありません。簡単に言えば、私は2つの質問を持っています:NS3でTcp Variants Comparisonを使用するには?

  1. どのようなns-3の例が私の目的に最も適していますか? Tcp-Variants-Comparison.cc
  2. 出力を確認するにはどうすればいいですか?コードを実行しましたが、出力はありませんでした。

答えて

2

.wafを使用して例を実行できます。あなたのNS-3ディレクトリ(.waf実行ファイルが置かれている場所)に移動して実行します。

./waf --run tcp-variants-comparison 

これは、(必要な場合)コンパイルして、デフォルトの引数を指定して例を実行します。引数を変更するには、--command-template="%s <args>"を使用します。だからここ

... 
cmd.AddValue ("delay", "Access link delay", access_delay); 
cmd.AddValue ("tracing", "Flag to enable/disable tracing", tracing); 
cmd.AddValue ("tr_name", "Name of output trace file", tr_file_name); 
cmd.AddValue ("cwnd_tr_name", "Name of output trace file", cwnd_tr_file_name); 
... 

はあなたがTcpWestwoodプロトコルcwndTrace へのデフォルトの輻輳ウィンドウを保存することができる方法の例です:あなたはtcp-variants-comparison.ccの内側に見える場合は、利用可能なすべての引数、例えばを見ることができますファイル:

./waf --run tcp-variants-comparison --command-template="%s --tracing=1 --cwnd_tr_name=cwndTrace" 

あなたが好きなツールを使用して、データを表示できます。

$ gnuplot 
gnuplot> set terminal png size 640,480 
gnuplot> set output "cwnd.png" 
gnuplot> plot "cwndTrace" using 1:2 title 'Congestion Window' with linespoints 
gnuplot> exit 

あなたはまたthis NS-3 tutorialを見てみる必要があります。ここではgnuplotでそれをプロットする方法です。これはあなたにNS-3の入門を与えるので、注意深く読んでください。

cwnd

だから、完全にあなたの質問に答えるために、あなたはの比較のために、この例を使用することができますので、異なるtransport_prot引数を指定してこの例を実行すると、あなたの痕跡を比較

cmd.AddValue ("transport_prot", "Transport protocol to use: TcpTahoe, TcpReno, TcpNewReno, TcpWestwood, TcpWestwoodPlus ", transport_prot); 

+0

残念ながら私のns3では 'cwnd_tr_name'はありません。 'tcp-variants-comparison'の出力ファイルはどうすれば入手できますか? – codddeer123

+1

@ codddeer123あなたはこのオプションを削除しています(http://code.nsnam.org/ns-3-dev/diff/a4c1c237df2c/examples/tcp/tcp-variants-comparison.cc)。しかし、コードを調べると答えが見つかります: 'Simulator :: Schedule(秒(0.00001)、&TraceCwnd、prefix_file_name +" -cwnd.data ");' – incBrain

関連する問題