[ndnSIM] Unexpected output for 3 nodes configuration using wifi

Sirapop Theeranantachai sirapop741 at gmail.com
Sat Jan 18 00:56:09 PST 2025


Hi Otávio,

Are you configuring three nodes in a  presumedly multi-access wifi? Then I
believe a transmission from the node at (10,70) and the other node at
(120,70) would take one hop, no?

You can trace packets with a regular ns-3 logging tool. (NetDevice and
Channel, for example).
https://www.nsnam.org/docs/release/3.37/manual/html/logging.html


On Fri, Jan 17, 2025, 5:08 AM Otávio Augusto via ndnSIM <
ndnsim at lists.cs.ucla.edu> wrote:

> Hello.
>
> The contents of the ndn_wifi_3_nodes.cc file seem to be unavailable. So,
> here is the code:
>
> #include "ns3/core-module.h"
> #include "ns3/network-module.h"
> #include "ns3/applications-module.h"
> #include "ns3/wifi-module.h"
> #include "ns3/mobility-module.h"
> #include "ns3/internet-module.h"
>
> #include "ns3/ndnSIM-module.h"
>
> using namespace std;
> namespace ns3 {
>
> NS_LOG_COMPONENT_DEFINE("ndn.WifiExample1");
>
> int
> main(int argc, char* argv[])
> {
>   // disable fragmentation
>
> Config::SetDefault("ns3::WifiRemoteStationManager::FragmentationThreshold",
> StringValue("2200"));
>   Config::SetDefault("ns3::WifiRemoteStationManager::RtsCtsThreshold",
> StringValue("2200"));
>   Config::SetDefault("ns3::WifiRemoteStationManager::NonUnicastMode",
>                      StringValue("OfdmRate24Mbps"));
>
>   CommandLine cmd;
>   cmd.Parse(argc, argv);
>
>   WifiHelper wifi;
>   // wifi.SetRemoteStationManager ("ns3::AarfWifiManager");
>   wifi.SetStandard(WIFI_STANDARD_80211a);
>   wifi.SetRemoteStationManager("ns3::ConstantRateWifiManager", "DataMode",
>                                StringValue("OfdmRate24Mbps"));
>
>   YansWifiChannelHelper wifiChannel;
>
> wifiChannel.SetPropagationDelay("ns3::ConstantSpeedPropagationDelayModel");
>
> wifiChannel.AddPropagationLoss("ns3::ThreeLogDistancePropagationLossModel");
>   wifiChannel.AddPropagationLoss("ns3::NakagamiPropagationLossModel");
>
>   YansWifiPhyHelper wifiPhyHelper;
>   wifiPhyHelper.SetChannel(wifiChannel.Create());
>   wifiPhyHelper.Set("TxPowerStart", DoubleValue(5));
>   wifiPhyHelper.Set("TxPowerEnd", DoubleValue(5));
>
>   WifiMacHelper wifiMacHelper;
>   wifiMacHelper.SetType("ns3::AdhocWifiMac");
>
>   MobilityHelper mobility;
>
>   NodeContainer nodes;
>   nodes.Create(3);
>
>   ////////////////
>   // 1. Install Wifi
>   NetDeviceContainer wifiNetDevices = wifi.Install(wifiPhyHelper,
> wifiMacHelper, nodes);
>
>   // 2. Install Mobility model
>   mobility.Install(nodes);
>
>   std::cout << "set position for nodes" << std::endl;
>
>   Ptr<ConstantPositionMobilityModel> s1 =
> nodes.Get(0)->GetObject<ConstantPositionMobilityModel> ();
>   Ptr<ConstantPositionMobilityModel> s2 =
> nodes.Get(1)->GetObject<ConstantPositionMobilityModel> ();
>   Ptr<ConstantPositionMobilityModel> s3 =
> nodes.Get(2)->GetObject<ConstantPositionMobilityModel> ();
>
>   s1->SetPosition (Vector ( 10.0, 70.0, 0));
>   s2->SetPosition (Vector ( 70.0, 70, 0));
>   s3->SetPosition (Vector ( 120.0, 70.0, 0));
>
>   // 3. Install NDN stack
>   NS_LOG_INFO("Installing NDN stack");
>   ndn::StackHelper ndnHelper;
>   // ndnHelper.AddNetDeviceFaceCreateCallback (WifiNetDevice::GetTypeId
> (), MakeCallback(MyNetDeviceFaceCallback));
>   ndnHelper.setPolicy("nfd::cs::lru");
>   ndnHelper.setCsSize(0);
>   ndnHelper.SetDefaultRoutes(true);
>   ndnHelper.Install(nodes);
>
>   // Set strategy
>   ndn::StrategyChoiceHelper::Install(nodes, "/",
> "/localhost/nfd/strategy/multicast");
>
>   // 4. Set up applications
>   NS_LOG_INFO("Installing Applications");
>
>   ndn::AppHelper consumerHelper("ns3::ndn::ConsumerCbr");
>   consumerHelper.SetPrefix("/test/prefix");
>   consumerHelper.SetAttribute("Frequency", DoubleValue(1.0));
>   consumerHelper.Install(nodes.Get(0));
>
>   ndn::AppHelper producerHelper("ns3::ndn::Producer");
>   producerHelper.SetPrefix("/");
>   producerHelper.SetAttribute("PayloadSize", StringValue("1200"));
>   producerHelper.Install(nodes.Get(2));
>
>
>   Simulator::Stop(Seconds(30.0));
>
>   Simulator::Run();
>   Simulator::Destroy();
>
>   return 0;
> }
>
> } // namespace ns3
>
> int
> main(int argc, char* argv[])
> {
>   return ns3::main(argc, argv);
> }
>
>
> Att,
> Otávio
>
> Em qua., 15 de jan. de 2025 às 10:29, Otávio Augusto <
> otavio.augusto.snc at gmail.com> escreveu:
>
>> Hello everyone.
>>
>> I'm testing a multi-node with wifi connection in ndnSIM, the code is
>> attached (ndn_wifi_3_nodes.cc). In addition, I'm using ndnSIM from Windows
>> OS with WSL 2, Ubuntu 20.04  (I don't know if this is important).
>>
>> Using the following command I get some log information about the consumer:
>>
>>
>> *NS_LOG=ndn.Consumer ./waf --run=ndn_wifi_3_nodes*
>> The output is in the out.txt attachment.
>> I expected the communication to go through the intermediary. However, as
>> you can see, many messages timed out and the data packets that reached the
>> consumer contain hop count equal to 1, which probably means that the
>> consumer and producer are communicating directly, without using the
>> intermediary node. Why did this happen?
>>
>> Note 1: in the 'ndn-simple-wifi' example the best-route strategy is used,
>> but for me it resulted in NACK, I don't know why. Because of this, I used
>> the multicast strategy.
>> Note 2: How can I see the ndn route log (intermediate node, node 1)? I
>> know how to check the consumer and producer logs, but I don't know what
>> name I use to check the ndn router log with *NS_LOG*.
>> --
>> Otávio da Cruz
>> Doctor student
>> Electrical Engineering at the Graduate Program in Electrical Engineering
>> of the Federal University of Rio Grande do Sul (UFRGS) - Brazil
>>
> _______________________________________________
> ndnSIM mailing list
> ndnSIM at lists.cs.ucla.edu
> https://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20250118/c60d7ef2/attachment-0001.htm>


More information about the ndnSIM mailing list