congestion control algorithm
Closed this issue · 4 comments
I couldn't find any notion of which CC algorithm is implemented in this stack. did the algorithm change over time (if so, why? based on concrete data?)? AFAICS immediate ack is used (in Pcb
), was there a reason to not use delayed acks? what about slow start and fast retransmit? AFAICS sack is not implemented, or is it and I'm not able to find it?
Mirage at the moment has only TCP New Reno.
Both delayed and immediate ACKs are implemented but immediate was set as the default as it had better performance and avoided a timer (also appeared to be the default choice on the Mac).
Slow start and fast recovery are implemented, ie New Reno.
SACK has not been implemented. IMO SACK is not worth the additional complexity so not need in a minimal viable version. But of course if someone is interested they should definitely implement it.
Implementing BBR would be possible? Might be a fun project for me.
FWIW we can close this. I really only wanted to know which CC algorithm is supposed to be implemented.