[Ndn-interest] The forwarding strategy doesn't choose another path in a hijacker scenario
David R. Oran
daveoran at orandom.net
Sat May 11 04:56:55 PDT 2019
On 11 May 2019, at 7:52, Lan Wang (lanwang) wrote:
> Best route strategy doesn’t adapt using forwarding plane
> information.
Quick suggestion:
there’s periodic (and frequent) confusion about what what the best
route strategy does, so perhaps we should rename it “best route
only” strategy, or the slightly longer “best route only - no
ECMP”.
Or even better, fix it to do ECMP so at least we’re not more crippled
than native IP forwarding.
> It’s purely based on routing ranking. You can try the ASF strategy
> but first you need to make sure that R1 has both faces (one to R2 and
> one to $3) in its FIB entry for the name prefix P is using.
>
> Lan
>
> On May 11, 2019, at 6:41 AM, Farhi Nassima via Ndn-interest
> <ndn-interest at lists.cs.ucla.edu<mailto:ndn-interest at lists.cs.ucla.edu>>
> wrote:
>
> Hello everyone,
>
> I tried a hijacker scenario with the topology and the code below, i
> can see that the hijacker is working fine because the consumer node is
> sending interests and it doesn't receive anything and the hijacker
> (R3) is receiving but it doesn't send anything and the interest aren't
> reaching the producer, but why the best-route forwarding strategy
> isn't changing the path to a node that is not affected by hijack (R2)
> ? isn't it what it is supposed to do inherently ? i've tried other
> strategies (multicast, ncc, ...) but none of them changes the path as
> well. Can anyone, please tell me how can i do that ? Thank you in
> advance.
>
>
> +=>| R2 |<=+
> / \----/ \
> / \
> / \
> /---\ /----\<=+ +=>/----\ /---\
> | C |<------->| R1 | | R4 |<------->| P |
> \---/ \----/<=+ +=>\----/ \---/
> \ /
> \ /
> \ /----\ /
> +=>| R3 |<=+
> \----/
>
>
> AnnotatedTopologyReader topologyReader("", 6);
> topologyReader.SetFileName("src/ndnSIM/examples/topologies/topohijack.txt");
> topologyReader.Read();
>
>
>
> // Install NDN stack on all nodes
> ndn::StackHelper ndnHelper;
> ndnHelper.SetDefaultRoutes (true);
>
> // Getting containers for the consumer/producer
> Ptr<Node> producer = Names::Find<Node>("Node5");
> Ptr<Node> h1 = Names::Find<Node>("Node3");
> Ptr<Node> consumer=Names::Find<Node>("Node0");
>
> ndnHelper.InstallAll();
>
> // Installing global routing interface on all nodes
> ndn::GlobalRoutingHelper ndnGlobalRoutingHelper;
> ndnGlobalRoutingHelper.InstallAll();
>
> // Install NDN applications
> std::string prefix = "/prefix";
>
> ndn::StrategyChoiceHelper::InstallAll("/prefix",
> "ndn:/localhost/nfd/strategy/best-route");
>
> ndn::AppHelper consumerHelper("ns3::ndn::ConsumerCbr");
> consumerHelper.SetPrefix(prefix);
> consumerHelper.SetAttribute("Frequency", StringValue("1")); // 100
> interests a second
> consumerHelper.Install(consumer);
>
> ndn::AppHelper producerHelper("ns3::ndn::Producer");
> producerHelper.SetPrefix(prefix);
> producerHelper.Install(producer);
>
> ndn::AppHelper Hijackers("Hijacker");
> Hijackers.Install(h1);
>
> // Add /prefix origins to ndn::GlobalRouter
> ndnGlobalRoutingHelper.AddOrigins(prefix, producer);
>
> // Calculate and install FIBs
> ndn::GlobalRoutingHelper::CalculateRoutes();
>
> Simulator::Stop(Seconds(30.0));
> Simulator::Run();
> Simulator::Destroy();
>
> return 0;
>
>
>
> Kind Regards.
>
> _______________________________________________
> Ndn-interest mailing list
> Ndn-interest at lists.cs.ucla.edu<mailto:Ndn-interest at lists.cs.ucla.edu>
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest
> _______________________________________________
> Ndn-interest mailing list
> Ndn-interest at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest
DaveO
More information about the Ndn-interest
mailing list