Fast Recovery o Sent for each dupack after Sequence No W/2 dupacks arrive Packets BAcks Time Lecture 19: TCP Congestion Control
Lecture 19: TCP Congestion Control 16 Fast Recovery Time Sequence No Sent for each dupack after W/2 dupacks arrive X Packets Acks
Outline TCP congestion avoidance ·TCPs| ow start TCP modeling Lecture 19: TCP Congestion Control 17
Lecture 19: TCP Congestion Control 17 Outline • TCP congestion avoidance • TCP slow start • TCP modeling
Congestion Avoidance Behavior Congestion Window Cut Time Packet loss Grabbing t retransmit Congestion back Window Bandwidth and rate Lecture 19: TCP Congestion Control
Lecture 19: TCP Congestion Control 18 Congestion Avoidance Behavior Time Congestion Window Packet loss + retransmit Grabbing back Bandwidth Cut Congestion Window and Rate
Reaching Steady State Doing AIMd is fine in steady state but slow How does tcp know what is a good initial rate to start with? Should work both for a CDPD(10s of Kbps or less)and for supercomputer links(10 Gbps and growing) Quick initial phase to help get up to speed(slow start Lecture 19: TCP Congestion Control
Lecture 19: TCP Congestion Control 19 Reaching Steady State • Doing AIMD is fine in steady state but slow… • How does TCP know what is a good initial rate to start with? • Should work both for a CDPD (10s of Kbps or less) and for supercomputer links (10 Gbps and growing) • Quick initial phase to help get up to speed (slow start)
Slow Start Packet Pacing How do we get this clocking behavior to start? ·| nitialize cwnd=1 Upon receipt of every ack, cwnd cwnd 1 Implications Window actually increases to W in RtT* log2 w Can overshoot window and cause packet loss Lecture 19: TCP Congestion Control 20
Lecture 19: TCP Congestion Control 20 Slow Start Packet Pacing • How do we get this clocking behavior to start? • Initialize cwnd = 1 • Upon receipt of every ack, cwnd = cwnd + 1 • Implications • Window actually increases to W in RTT * log2 (W) • Can overshoot window and cause packet loss