160 likes | 252 Views
TCP. Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol. TCP Header. TCP flow control. Window based Sender cannot send more data than a window without acknowledgements.
E N D
TCP • Transport Control Protocol • Reliable In-order delivery • Flow control • Responds to congestion • “Nice” Protocol
TCP flow control • Window based • Sender cannot send more data than a window without acknowledgements. • Window is a minimum of receiver’s buffer and ‘congestion window’. • After a window of data is transmitted, in steady state, acks control sending rate.
Flow control • Congestion window is increased gradually • At the beginning, set cwnd = 1 • For each ack, double the cwnd until a threshold • Increase by 1 for a window of acks after that.
Reliable delivery • Sender, Receiver keep track of bytes sent and bytes received. • Acks have an indication of next byte expected. • Three duplicate acks considered a packet loss - sender retransmits
Congestion Control • Traffic on the network is constantly changing. • Packets may be lost due to transmission errors, switch buffer overflows, receiver buffer overflows. • Packet loss is taken as an indication of congestion.
Congestion Response • TCP reduces sending rate on packet loss • cwnd is halved on a packet loss • cwnd is set to 1 on a timeout • TCP follows -- Multiplicative Decrease and Additive Increase policy for window adjustments
Congestion Response • Queue length reduction takes qudratic time • Multiplicative decrease allows sufficient time to reduce queue lengths -- Jacobson • Jain -- Multiplicative decrease and additive increase allows ‘fair’ sharing of bandwidth. • TCP -- ‘good’ citizen - allows fair sharing, avoids congestion collapse.
TCP Congestion Response • TCP responds to congestion. • Increases window size until a packet loss • This allows maximization of utilization. • No Congestion avoidance mechanism • Number of Proposals - TCP Vegas -- includes a rate adjustment mechanism based on observed delay.
DECbit • Indicate congestion by setting a bit in the packet. • Receiver echoes the bit to the sender. • Sender adjusts sending rate based on percentage of marked packets. • Avoids congestion before it happens • Reduces the stair-case affect of TCP.
TCP and multimedia • Reliable delivery not needed for multimedia • Timely delivery more important than in-order delivery. • Late packet can be thrown away • TCP’s reliability gets in the way.