Расчет пропускной способности UDP в NS3 - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть топология клиент / сервер в NS3, и я хочу рассчитать пропускную способность UDP-трафика c на сервере. Эта строка кода sink = StaticCast<PacketSink> (tcpServerApp.Get (0)); не работает, поскольку она может использоваться только для расчета пропускной способности пакетов TCP. Как рассчитать пропускную способность для полученного UDP-трафика c на сервере?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Спасибо за ответ. Я реализовал код:

uint64_t rxBytes = 0;
  rxBytes = 1400 * DynamicCast<UdpServer> (ServerApp.Get (0))->GetReceived ();
  double throughput = (rxBytes * 8) / (10 * 1000000.0); //Mbit/s
  std::cout << "throughput = " << throughput << " Mbit/s" << std::end

Но я получил ошибку SIGSEGV. В чем может быть проблема?

Спасибо

0 голосов
/ 08 апреля 2020

Вы можете рассчитать пропускную способность пакетов UDP, используя следующий код. Вы должны использовать этот код после Simulation::Run();

      uint64_t rxBytes = 0;

      rxBytes = payloadSize * DynamicCast<UdpServer> (serverApp.Get (0))->GetReceived ();
      double throughput = (rxBytes * 8) / (simulationTime * 1000000.0); //Mbit/s
      std::cout << "throughput = " << throughput << " Mbit/s" << std::endl;
...