private-octopus / picoquic

Minimal implementation of the QUIC protocol
MIT License
523 stars 153 forks source link

Add traffic if probing up #1684

Closed huitema closed 3 weeks ago

huitema commented 2 months ago

Add an experimental API to add more traffic if the congestion control algorithm is probing up. The additional traffic is made of redundant packets, or if there not enough of those, padding packets.

Tests show that the API works as intended. Analysis of the QLOG files show that traffic does indeed increase during probe up periods. However, the change does not improve real time statistics. On two test cases, the average media latency increases slightly (about +1.5%) while the max RTT stays constant. At best this provides a modest assurance against capacity drifting down.

There is a weakness to this approach. The traffic only increases during the "probe BW UP" states, which are infrequent. During the following "cruise" state, the traffic falls down to be application limited. If competing with other users, the other users will expand their share of bandwidth.

Not clear whether this should be checked in.