Я работаю над простой топологией дерева. Я хочу, чтобы один конкретный узел (маршрутизатор) работал как угонщик, поэтому я попытался установить для этого узла значение Hijacker, но этот узел работает как обычный узел и перенаправляет все в правильный пункт назначения.
Кроме того, я не могу заполнить PIT каждого узла топологии, если я пытаюсь смоделировать приложение, каждый PIT пуст, но с визуализатором я вижу, что каждый пакет проходит к каждому узлу.
Это мой код:
// Install CCNx stack on all nodes
ndn::StackHelper ccnxHelper;
ccnxHelper.SetForwardingStrategy ("ns3::ndn::fw::BestRoute");
ccnxHelper.SetPit ("ns3::ndn::pit::SerializedSize", "MaxSize", "100");
ccnxHelper.SetContentStore ("ns3::ndn::cs::Lru", "MaxSize", "1"); // Content Store OFF
ccnxHelper.InstallAll ();
// Installing global routing interface on all nodes
ndn::GlobalRoutingHelper ccnxGlobalRoutingHelper;
ccnxGlobalRoutingHelper.InstallAll ();
// Getting containers for the consumer/producer
Ptr<Node> consumer1 = Names::Find<Node> ("leaf-1");
Ptr<Node> consumer2 = Names::Find<Node> ("leaf-2");
Ptr<Node> consumer4 = Names::Find<Node> ("leaf-4");
Ptr<Node> producer = Names::Find<Node> ("leaf-3");
Ptr<Node> router3 = Names::Find<Node> ("rtr-3");
Ptr<Node> router2 = Names::Find<Node> ("rtr-2");
Ptr<Node> router1 = Names::Find<Node> ("rtr-1");//consumerswindow
ndn::AppHelper consumerHelper ("ns3::ndn::ConsumerWindow");
consumerHelper.SetAttribute ("Window", UintegerValue (100));
consumerHelper.SetAttribute ("Size", StringValue("0.1"));
consumerHelper.SetPrefix ("/rtr-3/leaf-3");
consumerHelper.Install (consumer1);
consumerHelper.SetPrefix ("/rtr-3/leaf-3");
consumerHelper.Install (consumer2);
//hijaker router1
ndn::AppHelper hijackerHelper ("Hijacker");
hijackerHelper.Install (router1);
//attacker consumercbr
ndn::AppHelper consumerHelper_attack ("ns3::ndn::ConsumerCbr");
consumerHelper_attack.SetAttribute ("Frequency", StringValue ("1"));
consumerHelper_attack.SetPrefix ("/rtr-3/leaf-3");
consumerHelper_attack.Install (consumer4);//producer leaf-3
ndn::AppHelper producerHelper ("ns3::ndn::Producer");
producerHelper.SetAttribute ("PayloadSize", StringValue("1024"));
ccnxGlobalRoutingHelper.AddOrigins ("/rtr-3", producer);
producerHelper.SetPrefix ("/rtr-3");
producerHelper.Install (producer);
// Calculate and install FIBs
ccnxGlobalRoutingHelper.CalculateRoutes ();
Simulator::Schedule (Seconds (1.0), printPitStats, router1); //print statistics about PIT
Simulator::Stop (Seconds (5.0));
Simulator::Run ();
Simulator::Destroy ();
Где я не прав?
Этот разговор перешел на ndnSIM список рассылки
Других решений пока нет …