<div dir="ltr"><div><b>Thank you for your response.</b></div><div><b><br></b></div><div><b>for further clarification:<br></b></div><div><b>How can I measure throughput ,delay and packet drops to compare bellow ndn and udp application. I tried for ndn by using obtain matrix but it failed.</b></div><div><b><br></b></div><div><b>My questions:</b></div><div><b>1. How can I measure performance for both udp and ndn application 's "throughput, delay and packet drops" ?<br></b></div><div><b>1. Should I try measuring parameters manually?</b></div><div><b>2. From the L3ratetracer can I measure throughput ,delay and packet drops for ndn and udp both?</b></div><div><b>3. How can I compare both ndn and udp application throughput,delay and packet drops?</b></div><div><b>4. For udp application should I use flow monitor to measure throughput ,delay and packet drops?</b></div><div><b><br></b></div><div><b>For your consideration my code for udp and ndn custom app is given bellow:<br></b></div><div><b><br></b></div><b>** NDN custom application's main.cpp**</b><br><div><div> ndn::AppHelper appHelper ("ndnBlockchainApp");<br><br><div> vector<Ptr<ndnBlockchainApp>> apps; <br></div><div><br></div><div>for (auto &node : allNodes) { </div><div> std::string nodeName = Names::FindName (node);</div><div> Ptr<ndnBlockchainApp> app = CreateObject<ndnBlockchainApp> (); </div><div>app->SetStartTime (Seconds (startTime)); </div><div>app->SetStopTime (Seconds (endTime)); </div><div>app->SetAttribute ("NodeName", StringValue (nodeName)); </div><div>app->SetAttribute ("cssz", IntegerValue (100));</div> apps.push_back (app);<br> if (nodeName[0] == 'r') continue;<br><div> node->AddApplication (app); </div><div>std::string prefix = "/ndn.blockchain/" + nodeName; ndnRoutingHelper.AddOrigins (prefix, node); </div><div> }</div><br> Simulator::Stop (Seconds (endTime)); <br><b> Simulator::Schedule (Seconds (10.000), &ndnBlockchainApp::NewTransaction, apps[108], std::string ("user-145 Donald"));</b><br><div> Simulator::Run (); </div><div>Simulator::Destroy ();</div><div><br></div><div><br></div><div><b>** UDP custom application's main.cpp**</b><br></div><br><br> LogComponentEnable ("ipBlockchainApp", LOG_LEVEL_DEBUG);<br><br> auto allLinks = topologyReader.GetLinks (); </div><div>InternetStackHelper internetHelper; internetHelper.Install (allNodes);<br> topologyReader.AssignIpv4Addresses ("10.0.0.0");<br> vector<Ptr<ipBlockchainApp>> apps; </div><div><br></div><div>for (int i = 0; i < allNodes.size (); i++) {</div><div> Ptr<Node> node = allNodes.Get (i);</div><div> std::string nodeName = Names::FindName (node);<br> Ptr<Ipv4> ipv4 = node->GetObject<Ipv4> (); </div><div>Ipv4InterfaceAddress iaddr = ipv4->GetAddress (1, 0);</div><div> Ipv4Address ipAddr = iaddr.GetLocal ();<br> Ptr<ipBlockchainApp> udp = CreateObject<ipBlockchainApp> (); </div><div>udp->SetStartTime (Seconds (startTime)); </div><div>udp->SetStopTime (Seconds (endTime)); </div><div><br></div><div>apps.push_back (udp); </div><div><br></div><div>if (nodeName[0] == 'r') continue; allNodes.Get (i)->AddApplication (udp); }<br><b> Simulator::Schedule (Seconds (10.000), &ipBlockchainApp::NewTransaction, apps[108], std::string ("user-145 Donald"));</b><br> Simulator::Stop (Seconds (endTime)); <br></div><div><br></div><div>yours ,Rony<br></div></div></div>