Lecture 5: Congestion Control TCP Reno Flashcards
Wie unterscheidet man bei TCP Reno?
..ob wir eine schwere Stausituation oder leichte Stausituation haben.
Cwnd: congestion window
wie viel darf ich schicken ohne ein Stau im Netz zu erzeugen.
What is congestion?
the traffic load exceed the capacity of a linke –> congestion
Why is congestion bad?
- router buffers fill up => queueing delays
- router buffers are finite => packet drops
- need retransmissions => wasted bandwidth, low goodput, congestion collapse
Congestion control
distributed algorithm that shares network resources among competing users in a fair and efficient way.
TCP congestion control
- is end 2 end an window based.
- TCP senders have at most cwnd packets in the pipe (cwnd transmitted but not acknowledged packets)
- > a small cwnd = fewer packets are out at any one time and less traffic = less congrestion
- > a large cwnd = better throughput, up to the point of congestion
- the challenge is to adapt cwnd based on the stream of returning acknowledgments ACK
TCP self-clocking
- packets arrive at the receiver with a spacing of packet size / bottleneck capacity
- acknowledgments are generated with the same spacing
- they trigger new packets with bottleneck spacing
TCP congestion window adaptation
- it starts cautiously with a small cwnd
- whenever packets are acknowledged, it cautiously increases cwnd (to surpass the knee)
- if it detects loss (surpassed the cliff) it drastically reduces cwnd to resolve congestion quickly
BAndwidth delay product
Given
- a window size of cwnd packets
- a max segment size MSS
- a pipe with capacity C
- round trip time RTT
TCP can transmit: cwnd*MSS bytes per RTT
the achievable Throughput = cwnd*MSS/RTT
In order to fill the pipe with capacity C (throughput = C) a congestion window of C*RTT = cwnd *MSS is needed
C*RTT is referred to as the bandwidth delay product of the pipe.
Max-min Fairness
Maximize the rate of the flow that has the minimal rate
- max-min fairness is achieved, of no rate can be increased without decreasing an already smaller rate
- algorithm: water filling
- –increase the rates of all flows evenly until a link is saturated
- –repeat the previous for all flows that do not use saturated links