# TCP Congestion Control: A Systems Approach

### Chapter 1: Introduction&#x20;

1.1 What is Congestion?

1.2 Controlling Congestion

1.3 Theoretical Underpinnings

1.4 Congestion Control Today&#x20;

1.5 Reference Implementation&#x20;

### Chapter 2: Background&#x20;

2.1 Best-effort packet delivery

2.2 Reliable Byte-Stream&#x20;

2.3 High-Speed Networks&#x20;

### Chapter 3: Design Space&#x20;

3.1 Implementation Choices&#x20;

3.2 Evaluation Criteria&#x20;

3.3 Comparative Analysis&#x20;

3.4 Experimental Methodology

### Chapter 4: Control-Based Algorithms&#x20;

4.1 Timeout Calculation&#x20;

4.2 Additive Increase / Multiplicative Decrease&#x20;

4.3 Slow Start

4.4 Fast Retransmit and Fast Recovery&#x20;

4.5 Incremental Enhancement&#x20;

4.6 TCP CUBIC&#x20;

### Chapter 5: Avoidance-Based Algorithms&#x20;

5.1 TCP Vegas&#x20;

5.2 Varied Assumptions&#x20;

5.3 TCP BBR&#x20;

### Chapter 6: Active Queue Management&#x20;

6.1 DECbit

6.2 Random Early Detection&#x20;

6.3 Explicit Congestion Notification&#x20;

### Chapter 7: Beyond TCP&#x20;

7.1 Data Centers (DCTCP)

7.2 Background Transport (LEDBAT)

7.3 HTTP Performance (QUIC)

7.4 TCP-Friendly Protocols (TFRC)

7.5 Mobile Cellular Networks&#x20;
