2
我需要比較不同類型的TCP使用NS-3的類項目。我是ns-3的新手。我不想實現一個新的代碼。簡而言之,我有兩個問題:如何在NS3中使用Tcp變體比較?
- ns-3的哪個示例最適合我的用途? Tcp-Variants-Comparison.cc?
- 如何查看輸出。我運行了代碼,但沒有輸出。
我需要比較不同類型的TCP使用NS-3的類項目。我是ns-3的新手。我不想實現一個新的代碼。簡而言之,我有兩個問題:如何在NS3中使用Tcp變體比較?
您可以使用.waf
運行您的示例。導航到您的NS-3目錄(其中.waf
可執行文件所在的位置),然後運行:
./waf --run tcp-variants-comparison
這將編譯(如果需要),並運行默認參數的例子。您可以使用--command-template="%s <args>"
更改參數。如果你看看tcp-variants-comparison.cc裏面你可以看到所有可用的參數,如:
...
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的擁塞窗口的例子文件:
./waf --run tcp-variants-comparison --command-template="%s --tracing=1 --cwnd_tr_name=cwndTrace"
然後,您可以使用任何你喜歡的工具來顯示數據。下面是如何與gnuplot
繪製它:
$ 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。這給你一個很好的介紹NS-3,所以仔細閱讀。
所以完全回答你的問題,你可以用這個例子的對比:
cmd.AddValue ("transport_prot", "Transport protocol to use: TcpTahoe, TcpReno, TcpNewReno, TcpWestwood, TcpWestwoodPlus ", transport_prot);
所以運行具有不同transport_prot
爭論這個例子和比較你的痕跡。
不幸的是,在我的ns3中沒有'cwnd_tr_name'。我如何獲得'tcp-variants-comparison'的輸出文件? – codddeer123
@ 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