Project

General

Profile

Feature #3823

Updated by Anonymous almost 8 years ago

Links like UDP tunnels or wireless links should be able to locally detect a packet loss and signal that information to the forwarding strategy. The following design is based on: 

 - [Hop-By-Hop Best Effort Link Layer Reliability in Named Data Networking](https://named-data.net/publications/techreports/ndn-0041-1-hop-by-hop-link-reliability/) 
 - [A Practical Congestion Control Scheme for NDN](http://conferences2.sigcomm.org/acm-icn/2016/proceedings/p21-schneider.pdf) 

 The implementation consists of 2 parts: 

 1. *Detecting the loss within NDNLP.* This should be done with **positive acknowledgements**, so the sender knows for sure if the packet was either received or lost (no undetectable losses like with NACKs). The detection can be based on sequence numbers (e.g. detecting a loss after at least 3 out-of-order packets) together with some signaling when the link goes idle. Or one can use gaps in sequence numbers **together** with local link timeouts. Optionally, the link loss detection can perform local re-transmissions, but it is not necessary. In fact, I would argue for letting the strategy layer decide about retransmissions.  

 2. *Signal the loss to the forwarding strategy.* This could be done with a simple callback onLinkLoss(), similar to onIncomingData() or onNACK(). The strategy can then decide how to handle the link loss (e.g. re-transmitting, or signaling it further downstream by congestion marking or NACKs). The link layer should also tell the strategy whether the loss is likely caused by congestion (like a UDP tunnel) or not (like a WiFi link), as this influences the signaling decision of the strategy layer (e.g. whether it should mark downstream packets). If a link layer timeout is used, the strategy should be able to know the timeout.  


 I'd like to thank Davide and Junxiao for helpful comments on the current design.  

 Link to Google Docs: https://docs.google.com/a/email.arizona.edu/presentation/d/1cP1ya0oEUw1wjpF3SWqaUgLNLx5iH50Y7v2slVTvLOU/edit?usp=sharing 
 
  

 

Back