Congestion Control ======================== .. panels:: :container: container-fluid p-4 bg-light :column: col-lg-12 p-2 .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is Congestion Control?** Congestion control is a set of techniques used by connection-oriented protocols like TCP to prevent network congestion by controlling the amount of data sent into the network. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is Congestion Control useful?** It helps maintain network performance and avoids packet loss or delays caused by overwhelming network resources, ensuring fair bandwidth usage among multiple users. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How does Congestion Control work?** TCP uses algorithms like Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery to dynamically adjust the sending rate based on network feedback and detected packet loss. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is Congestion Control used?** It is used in all TCP-based communications across the internet and private networks to maintain reliable and efficient data transmission. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does Congestion Control belong to?** Congestion control mechanisms are implemented at the **Transport Layer (Layer 4)** of the OSI model. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is Congestion Control Windows specific?** No, congestion control algorithms are part of the TCP implementation on all major operating systems including Windows, Linux, and macOS. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is Congestion Control Linux specific?** No, Linux implements TCP congestion control with various algorithms, and this functionality is common across all platforms supporting TCP. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol uses Congestion Control?** **TCP (Transmission Control Protocol)** primarily uses congestion control techniques to manage network traffic. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is Congestion Control using client-server model?** Yes, congestion control is used in client-server communication to ensure that data flows efficiently and fairly between sender and receiver. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`Congestion_Control Basic Setup on Ubuntu using IPv4 ` * :ref:`TCP Feature : Congestion Control ` * :ref:`Reference links ` .. _Congestion_Control_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _Congestion_Control_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _Congestion_Control_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _Congestion_Control_step18: .. tab-set:: .. tab-item:: Congestion_Control Basic Setup on Ubuntu using IPv4 * setup .. _Congestion_Control_step4: .. tab-set:: .. tab-item:: TCP Feature : Congestion Control **Congestion Control - Testcases** .. csv-table:: :file: ./TCP_Feature7_congestion_control_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _Congestion_Control_step17: .. tab-set:: .. tab-item:: Reference links * Reference links