[ndnSIM] Receiving an error while using Globalrouting

Zeinab zeinab.rezaiefar at gmail.com
Tue May 5 05:06:30 PDT 2020


Hi spyridon,
I solved my problem. Yes, you are right. One node was not connected 
Thank you so much
Best regards
Zeinab

> On 4 May 2020, at 18:47, Spyridon Mastorakis <smastorakis at unomaha.edu> wrote:
> 
> Hi,
> 
> Most probably you are trying to apply the helper to a node that does not exist. I guess somehow the range of nodes gets out of bounds. Did you try to use the debugger and see what is going on through the debug trace?
> 
> Thanks,
> 
> Spyridon (Spyros) Mastorakis
> Assistant Professor
> Computer Science Department
> University of Nebraska, Omaha
> Peter Kiewit Institute Room 175A
> https://sites.google.com/site/spyridonmastorakis
> 
>> On Apr 25, 2020, at 7:57 AM, Zeinab Rezaeifar via ndnSIM <ndnsim at lists.cs.ucla.edu> wrote:
>> 
>> Hi there,
>> when I use the Globalrouting instead of default route in the following scenario I will receive this error:
>> “ assert failed. cond="n < m_nodes.size ()", msg="Node index 4294967295 is out of range (only have 19 nodes).", file=../src/network/model/node-list.cc, line=209
>> libc++abi.dylib: terminating
>> Command ['/Users/zrf/ndnSIM/ns-3/build/scratch/xc'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>”). “
>> 
>> the scenario that I run :
>> 
>> // ndn-simple.cpp
>> 
>> #include "ns3/core-module.h"
>> #include "ns3/network-module.h"
>> #include "ns3/point-to-point-module.h"
>> #include "ns3/ndnSIM-module.h"
>> #include "ns3/ndnSIM/utils/trie/lru-policy.hpp"
>> #include "ns3/ndnSIM/utils/trie/multi-policy.hpp"
>> 
>> 
>> namespace ns3 {
>> 
>> 
>> int
>> main(int argc, char* argv[])
>> {
>>   // setting default parameters for PointToPoint links and channels
>>   Config::SetDefault ("ns3::PointToPointNetDevice::DataRate", StringValue ("10Mbps"));
>>   Config::SetDefault ("ns3::PointToPointChannel::Delay", StringValue ("1ms"));
>>  // Config::SetDefault ("ns3::DropTailQueue::MaxPackets", StringValue ("20p"));
>>       Config::SetDefault("ns3::QueueBase::MaxSize", StringValue("10p"));
>> 
>> 
>>   // Read optional command-line parameters (e.g., enable visualizer with ./waf --run=<> --visualize
>>   CommandLine cmd;
>>   cmd.Parse(argc, argv);
>> 
>>   // Creating nodes
>>  NodeContainer routerNodes;
>>   
>> NodeContainer producerNodes;
>>   
>> NodeContainer consumerNodes;
>>     NodeContainer attackerNodes;
>> //producerNodes.Create(3);
>> consumerNodes.Create(9);
>> routerNodes.Create(9);
>> attackerNodes.Create(1);
>> 
>> 
>>   // Connecting nodes using two links
>>   PointToPointHelper p2p;
>> 
>> 
>>    //Router 0
>>    p2p.Install(routerNodes.Get(0), routerNodes.Get(1));
>>    p2p.Install(routerNodes.Get(0), routerNodes.Get(2));
>>    p2p.Install(routerNodes.Get(0), routerNodes.Get(3));
>>    p2p.Install(routerNodes.Get(0), routerNodes.Get(6));
>> 
>>    //Router 1
>>    p2p.Install(routerNodes.Get(1), routerNodes.Get(2));
>>    p2p.Install(routerNodes.Get(1), routerNodes.Get(4));
>>    p2p.Install(routerNodes.Get(1), routerNodes.Get(7));
>> 
>>    //Router 2
>>    p2p.Install(routerNodes.Get(2), routerNodes.Get(5));
>>    p2p.Install(routerNodes.Get(2), routerNodes.Get(8));
>> 
>>    //Router 3
>>    //Router 4
>>    //Router 5
>>    //Router 6
>>    //Router 7
>>    //Router 8
>> 
>>    //Producers
>>    p2p.Install(routerNodes.Get(3), consumerNodes.Get(6));
>>    p2p.Install(routerNodes.Get(4), consumerNodes.Get(7));
>>    p2p.Install(routerNodes.Get(5), consumerNodes.Get(8));
>> 
>>    //Consumers
>>    p2p.Install(consumerNodes.Get(0), routerNodes.Get(6));
>>    p2p.Install(consumerNodes.Get(1), routerNodes.Get(7));
>>    p2p.Install(consumerNodes.Get(2), routerNodes.Get(8));
>>    p2p.Install(consumerNodes.Get(3), routerNodes.Get(3));
>>    p2p.Install(consumerNodes.Get(4), routerNodes.Get(4));
>>    p2p.Install(consumerNodes.Get(5), routerNodes.Get(5));
>> 
>>   // Install NDN stack on all nodes
>>   ndn::StackHelper ndnHelper;
>> //ndnHelper.SetDefaultRoutes(true);
>> ndnHelper.SetOldContentStore("ns3::ndn::cs::Lru", "MaxSize", "0");
>>       ndnHelper.InstallAll();
>> 
>> ///ndnHelper.Install(routerNodes);
>> //ndnHelper.SetOldContentStore("ns3::ndn::cs::Nocache");
>> ///ndnHelper.Install(consumerNodes);
>> 
>> //  ndnHelper.InstallAll();
>> 
>>   // Choosing forwarding strategy
>>   //ndn::StrategyChoiceHelper::InstallAll("/prefix", "/localhost/nfd/strategy/multicast");
>> // ndn::StrategyChoiceHelper::InstallAll("/prefix", "/localhost/nfd/strategy/ncc");
>> ndn::StrategyChoiceHelper::InstallAll("/", "/localhost/nfd/strategy/best-route");
>>      // Installing global routing interface on all nodes
>>  ndn::GlobalRoutingHelper ndnGlobalRoutingHelper;
>>   ndnGlobalRoutingHelper.InstallAll ();
>> 
>>   // Installing applications
>> //NodeContainer consumerNodes;
>> //  consumerNodes.Add (nodes.Get(0));
>> // consumerNodes.Add (nodes.Get(4));
>>   // Consumer
>>  std::string prefix= "/prefix";
>>     std::string prefix2 = "/fake";
>>     Ptr<Node> producer=consumerNodes.Get(1);
>> 
>>   ndn::AppHelper consumerHelper("ns3::ndn::ConsumerZipfMandelbrot");
>>   // ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerCbr");
>>   consumerHelper.SetPrefix(prefix);
>>   consumerHelper.SetAttribute("Frequency", StringValue("100"));        // 100 interests a second
>>   consumerHelper.SetAttribute("NumberOfContents", StringValue("100")); // 10 different contents
>> consumerHelper.SetAttribute("s", StringValue("0.9"));
>>  consumerHelper.Install(consumerNodes.Get(3));
>> consumerHelper.Install(consumerNodes.Get(5));
>> consumerHelper.Install(consumerNodes.Get(7));
>> consumerHelper.SetAttribute("Frequency", StringValue("50"));        // 100 interests a second
>> consumerHelper.Install(consumerNodes.Get(0));
>> consumerHelper.Install(consumerNodes.Get(2));
>> consumerHelper.Install(consumerNodes.Get(4));
>> consumerHelper.Install(consumerNodes.Get(6));
>> consumerHelper.Install(consumerNodes.Get(8));
>>     //*************
>>     ndn::AppHelper consumerHelper2("ns3::ndn::ConsumerZipfMandelbrot");
>>   // ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerCbr");
>>   consumerHelper2.SetPrefix("/fake");
>>   consumerHelper2.SetAttribute("Frequency", StringValue("200"));        // 100 interests a second
>>   consumerHelper2.SetAttribute("NumberOfContents", StringValue("100")); // 10 different contents
>> consumerHelper2.SetAttribute("s", StringValue("0.9"));
>>  //consumerHelper2.Install(attackNodes.Get(0));
>>      auto apps2 = consumerHelper2.Install(attackerNodes.Get(0));                        // first node
>>     apps2.Start(Seconds(0.1)); 
>> 
>> 
>> 
>>   // Producer
>>   ndn::AppHelper producerHelper("ns3::ndn::Producer");
>>   // Producer will reply to all requests starting with /prefix
>>   producerHelper.SetPrefix("/prefix");
>>   producerHelper.SetAttribute("PayloadSize", StringValue("1024"));
>>   producerHelper.Install(consumerNodes.Get(1)); // last node
>>   // ndnGlobalRoutingHelper.AddOrigins (prefix, producer);
>>     
>>     ndn::AppHelper producerHelper2("ns3::ndn::Producer");
>>   // Producer will reply to all requests starting with /prefix
>>   producerHelper2.SetPrefix("/fake");
>>   producerHelper2.SetAttribute("PayloadSize", StringValue("1024"));
>>   producerHelper2.Install(consumerNodes.Get(1)); // last node
>>     ndnGlobalRoutingHelper.AddOrigins (prefix2, producer);
>> // Calculate and install FIBs
>>  ndnGlobalRoutingHelper.CalculateRoutes ();
>>   Simulator::Stop(Seconds(20.0));
>> ///ndn::AppDelayTracer::InstallAll("app-delays-trace.txt");
>> 
>>  ///AsciiTraceHelper ascii;
>>   ///p2p.EnableAsciiAll (ascii.CreateFileStream ("ndn-simple.tr"));
>>  ///p2p.EnablePcapAll ("ndn-simple");
>> ndn::CsTracer::InstallAll("cs-trace.txt", Seconds(1));
>>   Simulator::Run();
>>   Simulator::Destroy();
>> 
>>   return 0;
>> }
>> 
>> } // namespace ns3
>> 
>> int
>> main(int argc, char* argv[])
>> {
>>   return ns3::main(argc, argv);
>> 
>> }
>> 
>> 
>> I do not understand what mistakes I am doing. I will appreciate your help
>> Kind regards
>> Zeinab
>> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20200505/07c4d26b/attachment-0001.html>


More information about the ndnSIM mailing list