How do they control congestion?
Both SCTP and QUIC use a variant of the TCP congestion control algorithm, which adjusts the sending rate based on the feedback from the receiver and the network. However, they differ in how they implement and adapt the algorithm to their specific characteristics.
SCTP uses a separate congestion window for each destination address in a multihomed association, allowing it to balance the load and cope with failures. SCTP also uses a split fast retransmit algorithm, which can trigger a retransmission based on either the number of duplicate acknowledgments or the expiration of a timer. SCTP can also switch between different congestion control modes, such as slow start, congestion avoidance, fast recovery, or limited transmit, depending on the network conditions and the sender's state.
QUIC uses a single congestion window for the entire connection, regardless of the number of streams or IP addresses involved. QUIC also uses a hybrid loss detection algorithm, which combines packet number thresholds and time thresholds to determine when a packet is lost. QUIC can also adapt its congestion control algorithm to different scenarios, such as initial, handshake, or application data phases, or when migrating to a new path. QUIC also supports multiple congestion control algorithms, such as Reno, Cubic, or BBR, and allows the sender to choose the best one for its application.