2016-05-01 5 views
2

Мне нужно сравнить различные типы TCP, используя ns-3 для проекта класса. Я новичок в ns-3. Я не хочу внедрять новый код. Вкратце, у меня есть 2 вопроса:Как использовать сравнение вариантов Tcp в NS3?

  1. Какой пример ns-3 является лучшим для моей цели? Tcp-Variants-Comparison.cc?
  2. Как я могу видеть выход. Я запустил код, но выхода не было.

ответ

2

Вы можете запустить свой пример, используя .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 аргументами и сравнить свои следы.

+0

К сожалению, в моем ns3 нет 'cwnd_tr_name'. Как я могу получить выходной файл для 'tcp-variant-compar'? – codddeer123

+1

@ codddeer123 вы правы, они [удалены] (http://code.nsnam.org/ns-3-dev/diff/a4c1c237df2c/examples/tcp/tcp-variants-comparison.cc) этот параметр. Однако, если вы заглянете в код, вы найдете ответ :) 'Simulator :: Schedule (Seconds (0.00001), & TraceCwnd, prefix_file_name +" -cwnd.data ");' – incBrain