<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"> Hi All,<br>    Firstly,I will introduce the program in my experiment.And then,I will talk about my confusions found when looking for the log.<br>    My purpose is to forward the interest when the pit size under the threshold.I have two forwarding strategy class.One drops the interest when the pit size out of the threshold;Another drops the interest and pushes back a fake data packet in the same situation.To reach these goals,I overrided the OnInterest method and deal with the interest accouding to the pit size before the pit entry create when a new interest received.<br>    To observe and verify the result,I logged the interest prefix in OnInterest method and DoPropagateInterest method,and logged the pit size  in OnInterest.What's more,I outputed each pit entry.</div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">    The forwarding strategy is running on the 11-node 2-bottleneck topology.The topology is as follow.The c1,c2,c3 and c4 are consumerCbrs which send 10 interestes per second .C1 starts in 1s,c2 starts in 1s,c3 starts in 2s and c4 starts in 4s.A little different between this topology and the example provided by ndnSIM is the p1,p2,p3 and p4 are routers not producers because I want the router and cusumer pend the incoming interest.In addition,I set the pit max size of each node is 10 and the threshold of the pit is 5.<br>     <br>#    /------\ 0                                                 0 /------\<br>#    |  0  |<-----+                                       +----->|  7  |<br>#    \------/       \                                     /       \------/<br>#                    \              /-----\              /        <br>#    /------\ 0       \         +==>| 5 |<==+         /       0 /------\<br>#    |  1  |<--+      \       /    \-----/    \       /      +-->|  8  |<br>#    \------/    \      \     |                 |     /      /    \------/<br>#                 \      |    |   1Mbps links   |    |      /     <br>#                  \  1  v0   v5               1v   2v  3  /      <br>#                   +->/------\                 /------\<-+       <br>#                     2|  4  |<===============>|  6  |4         <br>#                   +->\------/4               0\------/<-+       <br>#                  /    3^                           ^5    \      <br>#                 /      |                           |      \     <br>#    /------\ 0  /      /                             \      \  0 /------\<br>#    |  2  |<--+      /                               \      +-->|  9  |<br>#    \------/         /                                 \         \------/<br>#                    /     "All consumer-router and"     \        <br>#    /------\ 0     /      "router-producer links are"    \    0 /------\<br>#    |  3  |<-----+       "10Mbps"                        +---->|  10  |<br>#    \------/                                                    \------/<br>#      </div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">    When I run the first forwarding strategy which just drop the interest without push back data packet.I found serveral confusions:</div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">    1,<span style="line-height: 1.7;">.Is there any re-request mechanism in ndnSIM core?</span><span style="line-height: 1.7;">In the 1st 0.5 second, c1 sent 5 interests in data /p1/data/%00,  </span><span style="line-height: 1.7;">/p1/data/%00%01,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%02,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%03,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%04.The pit size of node 0,4,5,6</span><span style="line-height: 1.7;"> were 5 and reached the threshold.They would drop the interest.And the consumer application in c1 would continue to send interestes.</span><span style="line-height: 1.7;">The c1 would drop the interest and would not propograte the interest.In the 2nd 0.5 second,</span><span style="line-height: 1.7;">c1 sent 5 interests in data /p1/data/%00%05,  </span><span style="line-height: 1.7;">/p1/data/%00%06,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%07,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%08,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%09.The node had </span><span style="line-height: 1.7;">reached the threshold and would drop the interestes.</span><span style="line-height: 1.7;">But in the 3rd 0/5 second,the output confused me.After c1 sent a interest for </span><span style="line-height: 1.7;">/p1/data/%00%0A,it sent another interest in p1/data/%00.What's more confued is the node 4 will propograte this interest.</span><span style="line-height: 1.7;">Why c1 sent interest in /p1/data/%00 again and propogated it when the pit size above the threshold?The same question in node 4,5,6.</span></div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><span style="line-height: 1.7;"><br></span></div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><span style="line-height: 1.7;">    2,Is there any timeout mechanism in pit entry?When c1 sent a interest for </span><span style="line-height: 1.7;">/p1/data/%00%13,the output shows that the pit size in c1 is still 5.But when it sent a interest for </span><span style="line-height: 1.7;">/p1/data/%00%14,the pit size is 4.</span></div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><span style="line-height: 1.7;"><br></span></div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><span style="line-height: 1.7;"><br></span></div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">    When I run the second forwarding strategy which just drop the interest and push back a fake data packet.I found serveral confusions:</div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">    <span style="line-height: 1.7;">1,The confusion is like the 1st confusion in first forwarding strategy.In the first 0.5 seconds, c1 sent 5 interests which data name are /p1/data/%00,  </span><span style="line-height: 1.7;">/p1/data/%00%01,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%02,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%03,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%04.The pit size of node 0,4,5,6</span><span style="line-height: 1.7;"> were 5 and reached the threshold.They would drop the interest.In the next 0.5 seconds, c1 continued to send interest.But this time,it just sent one interest in new data named /p1/%data/%00/%05.Other 4 interests are interested in data </span><span style="line-height: 1.7;"> /p1/data/%00,  </span><span style="line-height: 1.7;">/p1/data/%00%01,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%02,</span><span style="line-height: 1.7;">  </span><span style="line-height: 1.7;">/p1/data/%00%03.This is quiet different from the 1st forwarding strategy.</span></div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><span style="line-height: 1.7;">  <br></span></div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><span style="line-height: 1.7;">   2,I used Ptr<Name> name = Create<Name>("/pushback/altert") to construct a name.But it throw exception.</span></div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><span style="line-height: 1.7;"><br></span></div><div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial"><span style="line-height: 1.7;">   The attachment have 6 files.</span><span style="line-height: 1.7;">MyFwStrategy_PitLimit_NoPushBack.txt is the log in 1st strategy.</span><span style="line-height: 1.7;">MyFwStrategy_PitLimit.txt is the log in 2nd strategy.ndn-congestion-alt-topo-plugin.cc is the scenario.topo-11-node-two-bottlenecks.txt is the topoplogy.MyFwStrategy_PitLimit.* is my strategy.</span></div></div></div></div></div></div></div></div></div></div></div></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>