L14. Describe slow start and fast retransmit mechanisms in TCP Reno. Flashcards

1
Q

What is TCP Reno?

A

A TCP congestion control algorithm, based on TCP Tahoe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Slow Start?

A

A congestion control algorithm used in TCP to manage the rate of data transmission and avoid overwhelming the network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the goal of Slow Start?

A

The primary goal of slow start is to find an appropriate transmission rate without causing network congestion.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How does Slow Start work?

A
  1. When a TCP connection is established, the sender starts with a small congestion window (cwnd), typically set to one maximum segment size (MSS). This conservative starting point helps prevent overwhelming the network.
  2. For each acknowledgment (ACK) received, the cwnd increases by one MSS. Since multiple ACKs can be received within a single round-trip time (RTT), this results in an exponential increase in cwnd. This continues until a packet loss is detected or the congestion window reaches a threshold known as the slow start threshold (ssthresh).
  3. Once the cwnd surpasses the ssthresh, TCP shifts from slow start to congestion avoidance mode. In congestion avoidance, the increase in the cwnd is linear rather than exponential, growing by one MSS per RTT. This more gradual increase helps to balance the network load and reduce the risk of congestion.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is ssthresh?

A

ssthresh stands for “slow start threshold” and is the maximum value of the congestion window for slow start; once the cwnd surpasses the sshtresh TCP shifts from slow start to congestion avoidance mode

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is cwnd?

A

cwnd stands for “congestion window” and represents the maximum amount of data a TCP sender can transmit without receiving an ACK from the receiver

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the original size of the cwnd?

A

One MSS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How does the cwnd increase during Slow Start?

A

One MSS per ACK, effectively doubling the cwnd

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How does the cwnd increase during Congestion Avoidance?

A

One MSS per RTT, which means the cwnd increases linearly instead of exponentially

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Fast Retransmit?

A

Fast retransmit is a mechanism designed to quickly recover from packet loss without waiting for a timeout to occur. It works in conjunction with another mechanism called fast recovery.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How does Fast Retransmit work?

A
  1. When a packet is lost, the receiver detects the missing segment and continues to acknowledge the last correctly received segment, causing the sender to receive duplicate ACKs. In TCP Reno, receiving three duplicate ACKs (indicating that three subsequent packets have arrived out of order) triggers the fast retransmit mechanism.
  2. Upon receiving the third duplicate ACK, the sender immediately retransmits the lost packet without waiting for the retransmission timeout (RTO) to expire. This prompt retransmission reduces the idle time and helps maintain the flow of data.
  3. When fast retransmit is triggered, TCP Reno sets the ssthresh to half of the current cwnd (to reflect the reduced network capacity) and temporarily reduces the cwnd. This action signals the onset of congestion and prepares for the fast recovery phase.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How does TCP Reno detect packet loss?

A

From receiving three duplicate ACKs (indicating that three subsequent packets have arrived out of order) or RTO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does TCP Reno do upon receiving three duplicate ACKs?

A

Employs Fast Retransmit, immediately retransmitting the lost packet without waiting for the retransmission timeout (RTO) to expire.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How does TCP Reno adjust the ssthresh and cwnd when fast retransmit has been triggered?

A

It sets ssthresh to half of the current cwnd (to reflect the reduced network capacity) and temporarily reduces the cwnd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What phase does TCP Reno enter after Fast Retransmit?

A

Following the fast retransmit, TCP enters the fast recovery phase to quickly recover from the detected packet loss and resume efficient data transmission.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Fast Recovery?

A

The phase TCP Reno enters after Fast Retransmit

17
Q

How does Fast Recovery work?

A
  1. After retransmitting the lost packet, TCP Reno increases the cwnd to ssthresh plus three MSS (to account for the three packets that triggered the duplicate ACKs).
  2. For each subsequent duplicate ACK received, the cwnd is incremented by one MSS. This allows TCP to send a new packet for each duplicate ACK received, maintaining the data flow.
  3. Fast recovery continues until an ACK for the retransmitted packet is received, indicating that the loss has been recovered. At this point, TCP exits fast recovery, sets the cwnd to the ssthresh value, and transitions to congestion avoidance mode to continue managing the transmission rate.
18
Q

What value does TCP set the cwnd to during Fast Recovery?

A

ssthresh plus three MSS (to account for the three packets that triggered the duplicate ACKs)

19
Q

When does the fast recovery phase end?

A

When ACK for the retransmitted packet is received, indicating that the loss has been recovered.

20
Q

What happens after the fast recovery phase ends?

A

TCP sets the cwnd to the ssthresh value, and transitions to congestion avoidance mode to continue managing the transmission rate.

21
Q

What value does TCP Reno set the cwnd to after fast recovery?

A

The ssthresh value

22
Q

Under what conditions does TCP go back to the Slow Start phase?

A

When a packet is lost and no acknowledgment (ACK) is received before the retransmission timer expires, causing TCP to assume severe network congestion, or following a prolonged idle period when no data is transmitted.

23
Q

What happens when TCP goes back to Slow Start?

A

ssthresh is set to half of the current congestion window (cwnd) or at least two MSS and the cwnd is reset to one MSS

24
Q

Summarize the purpose of slow start, fast retransmit, and fast recovery

A

Slow start prevents network congestion by gradually increasing the transmission rate, while fast retransmit and fast recovery quickly detect and recover from packet loss, minimizing idle time and maintaining efficient data flow. These mechanisms work together to optimize TCP performance and ensure reliable data transmission across the network.