280 likes | 395 Views
689 Lecture 2. Review of Last Lecture Networking basics TCP/UDP review. Multimedia Applications. Video-on-demand Near-video-on-demand Interactive games Teleconferencing IP Telephony Training/Travel videos. Multimedia Requirements. Guarantees over long periods of time
E N D
689 Lecture 2 • Review of Last Lecture • Networking basics • TCP/UDP review
Multimedia Applications • Video-on-demand • Near-video-on-demand • Interactive games • Teleconferencing • IP Telephony • Training/Travel videos
Multimedia Requirements • Guarantees over long periods of time • Throughput guarantees • Audio requires loss/delay guarantees • Interactive apps. Require low delay • Visual Perception allows adaptivity • Audio not as forgiving as video
Multimedia requirements • CBR • VBR • Variable bit rate places extra burden • Systems/devices/network support harder • Adaptive applications compensate for bandwidth/performance degradation and packet losses.
Delivering multimedia • Network transport layers responsible
Transport layers • TCP/UDP
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.
UDP • Unreliable Datagram Protocol
UDP • Provides multiplexing and demultiplexing of sources. • No reliability, flow control, congestion control. • Sends data in a burst. • Most multimedia applications using UDP
UDP and multimedia • Put flow control, congestion control into application. • Retransmit if packet deadline not past • Move on if packet deadline is past • Don’t respond to Congestion • Not a “nice” citizen. • Possible to cause congestion collapse.
Summary • TCP not well suited to multimedia. • TCP is a well understood, ‘nice’ protocol. • Multiplicative decrease/additive increase allows fair sharing of BW and avoids congestion collapse. • UDP is being used by multimedia developers.