如何在NS3中使用Tcp Variants Comparison?

时间:2016-05-01 06:15:18

标签: tcp ns-3

我需要使用ns-3比较不同类型的TCP用于类项目。我是ns-3的新手。我不想实现新代码。简而言之,我有两个问题:

  1. ns-3的哪个例子最符合我的目的?的 Tcp-Variants-Comparison.cc
  2. 如何查看输出。我运行了代码,但没有输出。

1 个答案:

答案 0 :(得分:3)

您可以使用.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介绍,请仔细阅读。

cwnd

因此,要完全回答您的问题,您可以使用此示例进行比较:

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

因此,使用不同的transport_prot参数运行此示例并比较您的跟踪。