Project

General

Profile

Bug #3411

NccStrategy doesn't explore potential upstreams

Added by Hila Ben Abraham about 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Category:
Forwarding
Target version:
Start date:
01/14/2016
Due date:
% Done:

100%

Estimated time:
3.00 h

Description

Environment:

 A---B
 |   |
 C---D
  • consumer on A, producer on D
  • A-B-D link RTT is 20ms
  • A-C-D link RTT is 20ms

Steps to reproduce:

  1. send Interests from A to D
  2. observe packets sent through B & C.
  3. wait until the exploration period is over (ncc selected a best face and adjusted the prediction to be higher than the path RTT).
  4. reduce the RTT of the non-selected path to 10 ms. (If B was selected as best next hop, change A-C-D link RTT to 10ms).

Expected: ncc adjusts the prediction down until best face times out, and then explores and selects the other face.

Actual: ncc doesn't explore the second face and continue to use the previously selected face as the best face.

I believe this bug is caused by undesired call of timeoutOnBestFace. Unlike doPropagate, timeoutOnBestFace is not canceled when the interest is satisfied, but only when PITEntryInfo is deleted. I suspect that in some cases, timeoutOnBestFace is scheduled to run before the pit entry is erased, and therefore the prediction is adjusted up even though the interest was satisfied. (The prediction is adjusted down upon the arrival of the Data packet and then immediately adjusted up).

This bug can cause undesired behavior in other scenarios as well.


Files

nccPrediction.jpg (26 KB) nccPrediction.jpg Hila Ben Abraham, 01/14/2016 01:12 PM
nccPrediction.jpg (27.4 KB) nccPrediction.jpg Hila Ben Abraham, 01/15/2016 01:18 PM

Also available in: Atom PDF