Project

General

Profile

Feature #4362

Updated by Anonymous over 6 years ago

Routers When NFD is running natively (e.g. on Ethernet links), a router should be able to detect congestion by measuring their its queue (either backlog size, or queuing delay). 

 This congestion measurement should then be used to signal consumers by putting congestion marks into packets (#3797). 

 In our Hackathon project we figured out, that we can use the **ioctl** command TIOCOUTQ to receive the buffer backlog size of all three socket types: TCP, UDP, and unix sockets. 

 The current design includes: 

 - Check if buffer is above THRESHOLD = MAX_BUF_SIZE / 3 (defaults to 200KB / 3) 
 - If buffer > THRESHOLD -> Insert first congestion mark into packet.  
 - As long as the buffer stays above threshold: Mark the following packets in a decreasing interval, described in the CoDel paper (start at 100ms then decrease by inverse sqrt(drops) )  

Back