Correct and update Prop324 based on things learned in prototyping
While testing congestion control over onion services, I noticed some omissions from the proposal that were present in the background material and literature, as well as some new heuristics I discovered from testing the prototype:
- The congestion window only should be updated with a congestion signal once per window
- If the local orconn is blocked, that should be an immediate congestion signal. Also doc that we may have too large a queue there
- If the edge connections do not have data to send, estimates of BDP should not be updated
- Westwood may have a runaway condition where max RTT continues to grow. We may want to reduce the max RTT measurement upon congestion
- I made a congestion control algorithm that directly uses the current BDP estimate as its current congestion window, and this works. We should spec it and evaluate it in Shadow.
- Update the consensus parameter list and tuning experiments section
- BDP estimation algs