week 3 - More transport Layer Flashcards
Acknowledgement message does not mean you should free buffer
BUFFER ONLY FREED/ PROCESSED WHEN DATA PASSED TO APPLICATION LAYER
Really important
ACK (message) != freeing buffer
What is Flow Control
“Flow control is a specific end-to-end mechanism between sender and receiver where the receiver advertises its available buffer space (using rwnd) to prevent the sender from transmitting more data than the receiver can process. This mechanism is implemented through the sliding window protocol.”
what is congestion control
“Congestion control is a sender-side mechanism in TCP that prevents network congestion by dynamically adjusting the transmission rate based on network conditions. It uses the congestion window (cwnd) and various algorithms to detect and respond to network congestion, ensuring optimal network utilization without overwhelming network resources.”
Congestion Window (cwnd) Mechanism:
“The congestion window is a dynamic, sender-maintained limit on the amount of unacknowledged data that can be in transit. It starts small (typically 1 MSS) and adjusts using algorithms:
. slow start
.
Question: What is the purpose of the sliding window in TCP?
The sliding window in TCP is an end-to-end flow control mechanism that allows the sender to transmit multiple segments up to the window size without waiting for an acknowledgment. It controls how much data can be in transit before requiring confirmation from the receiver, enabling continuous and efficient data transmission.
Question: How does the sliding window mechanism contribute to flow control?
The sliding window mechanism helps manage the flow of data by ensuring that the sender only sends data that the receiver can handle based on its advertised window size. The receiver adjusts the window size to reflect its available buffer space, preventing data overflow and ensuring smooth data reception.
How does the sliding window mechanism affect throughput?
The sliding window increases throughput by allowing the sender to send multiple segments in sequence without waiting for acknowledgments after each segment. This avoids the delays of a stop-and-wait approach, keeps the network “pipeline” full, and makes the data transmission more efficient.
How does persist time help(take example where window size is 0 )
When Window Size = 0:
.Sender stops sending (receiver buffer full)
.Persist timer activates to prevent deadlock
.Timer expires → Small packet called “window probe” is sent
.Receiver must respond with current window size
.If still 0: Timer doubles, repeat probe (5s → 10s → 20s → max 60s)
.If non-zero: Normal transmission resumes
throughput
rate at which data is processed
Fast throughput -> data processed quickly and buffer empties faster so data can be sent quicker
bandwidth
capacity at which a network can transmit data
How does TCP Congestion control work?
basic definiton
Increase the sending rate until packet loss is observed , at which point sending rate is decreased
What is TCP Congestion control method called AIMD
AIMD
Explain TCP Congestion control now in detail
Additive Increase:
Increase sending rate by 1 MSS (Maximum Segment Size) per RTT (Round trip time) until a loss is detected
AT WHICH POINT
|
Multiplacitve decrease occurs:
Sending rate is cut in half at each loss event
Multiplacitve decrease in detail
.When 3 duplicate acknowledements are received sending rate is cut in half
. When timeout occurs sending rate cut to one MSS ( severe)
what is ss thresh
half the value of the cwnd just before timeout
at this point you switch from slow start to additive increase
explain the transiton from slow start to linear ( additive increase and is slow start actually slower than linear additive increase?
lets say you have just experienced a timeout and so cwnd cut to 1 MSS
We then begin slow start where we double the control widow until ss thresh ( half the value of cwnd before timeout)
at this point we switch from slow start to additive increase where we increased cwnd by 1 mss per rtt until packet loss detected ( either through a timeout - cut to 1 mss - or 3 duplicate acks we cut sending rate to half the control window and resume linear additive increase)