Flow 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 Flow Control?** Flow control is a technique used in data communication to manage the rate at which data is sent between a sender and a receiver, preventing the receiver from being overwhelmed. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is Flow Control useful?** It prevents data loss by ensuring the sender does not transmit more data than the receiver can handle, especially when the receiver has limited buffer capacity. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How does Flow Control work?** Flow control works using mechanisms like **sliding window** and **stop-and-wait**, where the sender waits for acknowledgments or window updates before sending more data. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is Flow Control used?** Flow control is widely used in **TCP** connections, serial communication, and other protocols where reliable and orderly data transfer is necessary. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does Flow Control belong to?** Flow control is primarily handled at the **Transport Layer (Layer 4)** of the OSI model, though it can also appear at the **Data Link Layer (Layer 2)**. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is Flow Control Windows specific?** No, flow control is a protocol-level feature that works the same across all operating systems, including Windows, Linux, and macOS. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is Flow Control Linux specific?** No, flow control is universally implemented across all platforms that support TCP/IP networking and serial communication protocols. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol is used by Flow Control?** **TCP** is the primary transport protocol that implements flow control through its windowing mechanisms. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is Flow Control using client-server model?** No, flow control is a mechanism used in communication regardless of the model. However, it is especially important in client-server communication to avoid congestion and data loss. .. 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:`Flow_Control Basic Setup on Ubuntu using IPv6 ` * :ref:`TCP Feature : Flow Control ` * :ref:`Reference links ` .. _Flow_Control_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _Flow_Control_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _Flow_Control_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _Flow_Control_step18: .. tab-set:: .. tab-item:: Flow_Control Basic Setup on Ubuntu using IPv6 * setup .. _Flow_Control_step4: .. tab-set:: .. tab-item:: TCP Feature : Flow Control **Flow Control - Testcases** .. csv-table:: :file: ./TCP_Feature4_Flow_control_Test_Cases.csv :widths: 10,10,30,20 :header-rows: 1 .. _Flow_Control_step17: .. tab-set:: .. tab-item:: Reference links * Reference links