如何在NS3中使用Tcp变体比较?

如何在NS3中使用Tcp变体比较?,tcp,ns-3,Tcp,Ns 3,我需要为一个类项目比较使用ns-3的不同类型的TCP。我是ns-3的新手。我不想实现新代码。简而言之,我有两个问题: ns-3的哪个示例最适合我的目的Tcp变体比较。cc 如何查看输出。我运行了代码,但没有输出 您可以使用.waf运行示例。导航到ns-3目录(可执行文件.waf所在的位置)并运行: 这将编译(如果需要)并使用默认参数运行示例。您可以使用--command template=“%s”更改参数。这对NS-3有很好的介绍,请仔细阅读 因此,为了完整地回答您的问题,您可以使用此示例来比

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

  • ns-3的哪个示例最适合我的目的Tcp变体比较。cc
  • 如何查看输出。我运行了代码,但没有输出

  • 您可以使用
    .waf
    运行示例。导航到ns-3目录(可执行文件
    .waf
    所在的位置)并运行:

    这将编译(如果需要)并使用默认参数运行示例。您可以使用
    --command template=“%s”更改参数。这对NS-3有很好的介绍,请仔细阅读

    因此,为了完整地回答您的问题,您可以使用此示例来比较:

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

    因此,请使用不同的
    transport\u prot
    参数运行此示例,并比较您的跟踪。

    不幸的是,在我的ns3中没有
    cwnd\u tr\u name
    。如何获取
    tcp变体比较的输出文件?@codddeer123您是对的,它们支持此选项。但是,如果查看代码,您将找到答案:)
    Simulator::Schedule(秒(0.00001),&TraceCwnd,前缀为文件名+“-cwnd.data”);
    ...
    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);
    ...
    
    ./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
    
    cmd.AddValue ("transport_prot", "Transport protocol to use: TcpTahoe, TcpReno, TcpNewReno, TcpWestwood, TcpWestwoodPlus ", transport_prot);