TCP Congestion Control and Flow Control

HeroicSandDune avatar
HeroicSandDune
·
·
Download

Start Quiz

Study Flashcards

30 Questions

What is the primary responsibility of the transport layer in a network?

End-to-end communication over a network

Which layer of the OSI model is the transport layer?

Fourth layer

Why does connection-oriented communication, like TCP, add more network load compared to UDP?

It requires acknowledgment for each message delivered

What is the purpose of assigning numbers to packets for same-order delivery?

Ensure packets are delivered in strict sequence

Which protocol is commonly used for connection-oriented communication at the transport layer?

TCP

Where do transport layer protocols run within a network?

End systems

Which layer ensures that the data transmitted is the same as the data received and it isn't corrupt?

Transport Layer

What aspect of data transmission does flow control manage?

Data flow rate

What does Congestion control prevent?

Senders from overwhelming the network

Which protocol is connectionless and offers fast delivery but lacks congestion and flow control?

User Datagram Protocol (UDP)

What characteristic distinguishes TCP from UDP concerning delivery?

Acknowledgment

In Slow Start algorithm, how does the congestion window increase?

By one segment for each ACK returned

Which protocol establishes sequencing and acknowledgment for data delivery?

Transmission Control Protocol (TCP)

What indicates a congestion situation in the Congestion Avoidance algorithm?

Both a and b

What happens when congestion is indicated by duplicate ACKs in TCP?

Fast Retransmit and Fast Recovery algorithms are invoked

In terms of speed, which protocol is noted to be faster compared to the other?

User Datagram Protocol (UDP)

In which scenario does Congestion Avoidance algorithm slow the transmission rate?

Network forced to drop one or more packets

What initiates the Fast Retransmit algorithm in TCP?

Receipt of duplicate ACKs

What is the purpose of the TCP protocol?

To setup and tear down a full duplex connection between end points

How does TCP ensure error-free data delivery?

By transmitting data in blocks called TCP segments

What is the purpose of the Acknowledgement number in TCP?

Containing the next byte sequence expected by the host

How does TCP handle out-of-order segments during transmission?

By reordering them using sequence numbers

What does the Data offset in TCP represent?

Size of the TCP header and offset to data portion

Why does TCP use sequence numbers?

To assemble segmented data in proper order at the receiver's end

What does receiving three or more duplicate ACKs indicate to the sender?

At least one segment has been lost

What is the name of the algorithm where the sender does not wait for a retransmission timer to expire after receiving three or more duplicate ACKs?

Fast Retransmit algorithm

In Fast Recovery, how does the sender resume transmission after detecting congestion?

With a larger window, incrementing as if in Congestion Avoidance mode

Why is flow control necessary in data communication between two machines?

To prevent overwhelming a receiving station with data

What feedback mechanism does the receiver use to inform the sender it is overwhelmed with data?

ACK (Acknowledgment)

What is the purpose of the time out in data communication?

To determine how long a sender should wait before retransmitting a packet

Study Notes

Transport Layer Services and Protocols

  • The transport layer is the fourth layer in the OSI model and the second layer in the TCP/IP model.
  • It is responsible for end-to-end communication over a network and provides logical communication between application processes running on different hosts.
  • The transport layer collects segments from the Application Layer and transmits them into the Network Layer, and reassembles segments into fully formed messages and passes them on to the Application Layer.

Services Provided by the Transport Layer

  • Connection-Oriented Communication: establishes a handshake protocol to ensure a connection is robust before data is exchanged.
  • Same Order Delivery: ensures packets are delivered in strict sequence by assigning them a number.
  • Data Integrity: ensures data integrity across all layers using checksums.
  • Flow Control: ensures data is sent at a rate acceptable for both communicating devices.
  • Multiplexing: allows simultaneous applications over a network.
  • Traffic Control: identifies indications of overloaded nodes and reduces flow rates to remediate issues.

Transport Layer Protocols

  • Transmission Control Protocol (TCP):
    • Connection-oriented
    • Reliable, in-order delivery
    • Congestion control
    • Flow control
  • User Datagram Protocol (UDP):
    • Connectionless
    • Unreliable, unordered delivery
    • Fast, but no congestion control or flow control

Comparison between UDP and TCP Protocols

  • UDP: connectionless, unreliable, fast, no sequencing, no acknowledgment
  • TCP: connection-oriented, reliable, slow, segment sequencing, acknowledgment, congestion control, and flow control

TCP Congestion Control Algorithms

  • First: Slow Start - initializes a congestion window to one segment, which increases by one segment for each ACK returned.
  • Second: Congestion Avoidance - slows the transmission rate when congestion occurs.
  • Third: Fast Retransmit - retransmits a segment when three or more duplicate ACKs are received.
  • Fourth: Fast Recovery - resumes transmission with a larger window, incrementing as if in Congestion Avoidance mode.

Flow Control

  • Ensures that a transmitting station does not overwhelm a receiving station with data.
  • The receiver sends feedback to the sender to inform them when they are overwhelmed with data.
  • Time out: the time to wait before the sender will retransmit the packet.

Flow Control Methods

  • Stop-and-Wait
  • Transmission Control Protocol (TCP) Connection Oriented: implements mechanisms to setup and tear down a full duplex connection, guarantee error-free and ordered delivery, and control traffic.

TCP Segments

  • Application data broken into segments for transmission.
  • Segmentation is done by TCP, according to its best strategy.
  • Each segment is placed into an IP packet.
  • TCP uses port numbers to connect programs.
  • The sequence number of the first data byte in the segment is sent to the destination host.
  • The receiving TCP uses sequence numbers to rearrange segments and eliminate duplicate segments.

Learn about how TCP utilizes Slow Start algorithm for congestion control and the role of flow control in preventing receivers from being overwhelmed. Understand how the congestion window size is dynamically adjusted based on ACKs returned by the receiver.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

TCP Congestion Control Quiz
10 questions
TCP Congestion Control and Algorithm
18 questions
TCP socket and Connection-oriented Demux
18 questions
Use Quizgecko on...
Browser
Browser