UCB TCP Jean Walrand U C Berkeley www eecs berkeley edu wlr UCB Outline TCP Service State Diagram Flow Control Congestion Control RTT Estimation Fast Recovery Fast Retransmit UCB TCP Service Error Free Byte Stream Reliable byte stream TCP IP Unreliable packet delivery Actual data path UCB TCP IP TCP Service c d ports Multiplexing Ports p1 p2 A A B p1 p2 p1 p2 p3 B p1 C p2 UCB A 1 SYN k B State Diagram Key Steps 3 Data k 1 ACK n 1 2 SYN n ACK ACK k 1 4 FIN 5 FIN ack 6 FIN 7 FIN ack SYN Synchronize A tells B that its bytes start with sequence number k 1 N Synchronize B tells A that its bytes start with sequence number n 1 CK Acknowledgement B tells A that it agrees that A s bytes start with k 1 ata A starts sending bytes with sequence number k 1 CK Acknowledgement A tells B that it agrees that B s bytes start with n 1 N Finish A tells B that it closes the half connection from A to B 5 B acks 7 Similar to 4 5 UCB State Diagram c d States SYN sent Closed Established FIN Wait 1 Timed Wait Closed FIN Wait 2 1 A SYN B Data ACK SYN ACK ACK Established Listen SYN received FIN FIN ack FIN FIN ack Last Ack Close Wait Closed 1 A waits in case B retransmits FIN and A must ack again State Diagram c d UCB UCB Flow Control Objective Avoid saturating receiver Mechanism Receiver advertises window Wrec W Wrec Outstanding where Oustanding Last sent last Acked Wrec ACK Wrec UCB Congestion Control Objective Avoid saturating routers Mechanism Loss Reduce W No loss Increase W Details See book UCB Congestion Control c d Slow Start ACK W W 1 W 1 W 2 W 4 W 8 UCB Congestion Control c d Slow Start ACK W W 1 W RTT UCB Congestion Control c d Congestion Avoidance ACK W W 1 W W 8 W 8 125 1 8 125 8 2 8 W 8 1 8 W 8 8 8 9 W 9 9 9 10 UCB Congestion Control c d Congestion Avoidance ACK W W 1 W W RTT UCB RTT Estimation Timeout if delay average 4 deviations Average delay and deviation first order filters Average A n calculated when n th ACK arrives A n a A n 1 1 a Delay n Deviation D n calculated when n th ACK arrives D n a D n 1 1 a Delay n A n Note Obvious corrections when retransmission Do not include delays of retransmitted packets UCB Fast Retransmission When 3 duplicated ACKs retransmit and W W 2 Motivation 3 dup to avoid retransmission after misordering ACK n ACK n ACK n UCB Fast Recovery Objective Keep buffer full after setting W W 2 Illustration Window goes from 2K to K L 2K 1 L 4 L 3 L 2 L 1 L L Last Received 1 3 Dup Ack L L 2K 1 L 4 L L 2K 1 L 4 W 2K L 2K L 12K 1 L 2K L L 2K 1 L 5 W 2K 2 L 3K 2 L 2K 1 L 2K L W 3K 1 L 3K 1 L 2K 1 L 2K W K
View Full Document