This document, RFC 5681, specifies the four interconnected congestion control algorithms used by TCP: slow start, congestion avoidance, fast retransmit, and fast recovery. It also outlines how TCP should handle transmission after a long idle period and discusses various acknowledgment generation methods. The document obsoletes RFC 2581 and provides detailed specifications and recommendations for implementing these algorithms. Key points include:
1. **Slow Start and Congestion Avoidance**: These algorithms are used to control the amount of data injected into the network. Slow start is used at the beginning of a transfer or after a retransmission timer, while congestion avoidance is used when the congestion window (cwnd) exceeds a threshold (ssthresh). The initial congestion window (IW) is set based on the sender's maximum segment size (SMSS).
2. **Fast Retransmit and Fast Recovery**: These algorithms are used to detect and recover from packet loss. Fast retransmit occurs when three duplicate ACKs are received, and fast recovery follows, where the sender retransmits lost segments and adjusts the congestion window accordingly.
3. **Additional Considerations**: The document addresses how TCP should handle idle connections, acknowledgment generation, and loss recovery mechanisms. It recommends using slow start to restart transmission after a long idle period and suggests limiting the number of duplicate ACKs to prevent attacks.
4. **Security Considerations**: The document highlights the importance of TCP's response to retransmission timeouts and duplicate ACKs, and recommends countermeasures against attacks such as ACK division.
5. **Changes from RFC 2581**: The document updates the initial congestion window size, clarifies the treatment of ssthresh on retransmission timeout, and recommends advanced loss recovery algorithms.
The document is organized into sections covering definitions, congestion control algorithms, additional considerations, security, and changes from previous versions. It is intended to guide TCP implementers and network administrators in optimizing TCP's congestion control mechanisms.This document, RFC 5681, specifies the four interconnected congestion control algorithms used by TCP: slow start, congestion avoidance, fast retransmit, and fast recovery. It also outlines how TCP should handle transmission after a long idle period and discusses various acknowledgment generation methods. The document obsoletes RFC 2581 and provides detailed specifications and recommendations for implementing these algorithms. Key points include:
1. **Slow Start and Congestion Avoidance**: These algorithms are used to control the amount of data injected into the network. Slow start is used at the beginning of a transfer or after a retransmission timer, while congestion avoidance is used when the congestion window (cwnd) exceeds a threshold (ssthresh). The initial congestion window (IW) is set based on the sender's maximum segment size (SMSS).
2. **Fast Retransmit and Fast Recovery**: These algorithms are used to detect and recover from packet loss. Fast retransmit occurs when three duplicate ACKs are received, and fast recovery follows, where the sender retransmits lost segments and adjusts the congestion window accordingly.
3. **Additional Considerations**: The document addresses how TCP should handle idle connections, acknowledgment generation, and loss recovery mechanisms. It recommends using slow start to restart transmission after a long idle period and suggests limiting the number of duplicate ACKs to prevent attacks.
4. **Security Considerations**: The document highlights the importance of TCP's response to retransmission timeouts and duplicate ACKs, and recommends countermeasures against attacks such as ACK division.
5. **Changes from RFC 2581**: The document updates the initial congestion window size, clarifies the treatment of ssthresh on retransmission timeout, and recommends advanced loss recovery algorithms.
The document is organized into sections covering definitions, congestion control algorithms, additional considerations, security, and changes from previous versions. It is intended to guide TCP implementers and network administrators in optimizing TCP's congestion control mechanisms.