Module 7: Transport Layer - Congestion and TCP Variants Flashcards

1
Q

Solution for congestion in TCP

A

Dynamic adjustment
- every sender infers the level of congestion
- adapts its sending rate for the greater good

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

Why is congestion control difficulty?

A

How does the sender know there is congestion?
How should the sender adapt?
What is the performance objective?

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

The goal of congestion control is to…

A

prevent communicating hosts from overloading the network

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

How does the sender infer congestion?

A
  1. packet delay (RTT estimate)
  2. packet loss (timeout, triple duplicate ack)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What can the end host do when it detects congestion?

A

decrease the sending rate

when NOT detecting congestion
- increase sending rate
- make sure packets are getting sent

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

What are the pros and cons of the TCP Congestion Window?

A
  • pro: avoids having explicit feedback from network
  • con: under-shooting and over-shooting the rate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How does TCP increase and decrease congestion window size?

A

increase: linearly
decrease: multiplicatively

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

What’s worse? Over-sized window or under-sized window?

A

Oversized is worse
Oversized: packets are dropped and retransmitted (congestion collapse)
Undersized: somewhat lower throughputs

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

What causes the sawtooth behavior of congestion window size?

A

additive increase and multiplicative decrease

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

How is congestion window size calculated?

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

What is the difference between flow control and congestion control?

A

flow control: keep a fast sender from overwhelming a receiver

congestion control: keep a set of senders from overloading the network

Similar mechanisms:
TCP flow control: receiver window
TCP congestion control: congestion window
TCP window: min{congestion window, receiver window}

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

slow start and the TCP sawtooth

A

to start the flow, we double packets sent each time we receive an acknowledgement - until we hit a loss

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

what are two types of loss in TCP?

A
  1. timeout (serious problem)
    solution: better to start over with a low CWND or else you might trigger a very large burst in traffic
  2. triple duplicate ACK (fast retransmit/recovery)
    solution: do a multiplicative decrease and keep going
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Explain the motivation for Nagle’s algorithm?

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

How does Nagle’s algorithm deal with this issue?

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

In Nagle’s algo, when there is a loss in the network…

A

more than one small packet is sent per round trip time

17
Q

What is the motivation for delayed ACK?

A
18
Q

Delayed Ack

A
19
Q

If B wants to send an acknowledgement to A, but has no data to send to A, what does it do?

A

Wait to piggyback on data generated within the timeout period, otherwise directly send the acknowledgement back

20
Q

What is the TCP Variant, Fast Retransmits?

A
21
Q

When does fast retransmit work best?

A

long data transfers
high window size
low burstiness in packet losses

22
Q

What is slow feedback from drop tail?

A
23
Q

How does RED address the issues of waiting for timeout or triple ACK?

A
24
Q

What are properties of RED

A

Drop packets before queue is full
Drop packet in proportion to each flow’s rate
Drops are spaced out in time
Tolerant of burstiness in the traffic

25
Q

What are the problems with RED

A

Hard to get the tunable parameters just right
Sometimes RED helps but not always
RED is implemented in practice but often not used due to the challenges of tuning right