Project

General

Profile

Actions

Feature #3823

closed

Feature #1624: Design and Implement Congestion Control

Congestion Control: design Local Link Loss Detection

Added by Anonymous over 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Protocol
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
6.00 h

Description

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:

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


Files

schneider_retreat_pres.pdf (406 KB) schneider_retreat_pres.pdf Anonymous, 11/08/2016 01:13 PM
BELRP-20161122.pptx (48.3 KB) BELRP-20161122.pptx Eric Newberry, 11/22/2016 03:39 PM
BELRP-20161124.pptx (49.8 KB) BELRP-20161124.pptx Eric Newberry, 11/24/2016 04:20 PM
BELRP-Design_Jan18.pdf (64 KB) BELRP-Design_Jan18.pdf Anonymous, 01/19/2017 10:27 PM

Related issues 4 (0 open4 closed)

Related to NFD - Feature #3931: Implement NDNLP Link Reliability ProtocolClosedEric Newberry

Actions
Related to NFD - Feature #4003: FaceMgmt: enable link reliabilityClosedEric Newberry

Actions
Related to NFD - Feature #4004: nfdc face create: reliability optionClosedEric Newberry

Actions
Related to NFD - Task #4391: Congestion Control: Test Local Link Loss DetectionClosedEric Newberry

Actions
Actions

Also available in: Atom PDF