Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 EE689 Lecture 4 Review of Last Lecture UDP-based delivery TCP-modifications.

Similar presentations


Presentation on theme: "1 EE689 Lecture 4 Review of Last Lecture UDP-based delivery TCP-modifications."— Presentation transcript:

1 1 EE689 Lecture 4 Review of Last Lecture UDP-based delivery TCP-modifications

2 2 End-to-End Congestion UDP-based applications should do end-to- end congestion control Otherwise -- BW divided unfairly -- Loss of Goodput TCP-friendly -- enforce TCP-like control Hard to enforce TCP-friendly mechanism Multiple connections/IP-spoofing get around those mechanisms.

3 3 UDP-based delivery “Nice” Applications will follow end-to-end congestion All of the flow control/congestion control reliability to be built into application. ALF - Application Level Framing - design principle - advocates application level of transport mechanisms.

4 4 UDP-based delivery Packet-pair: One mechanism for BW estimation Send two packets back-to-back, measure the delay between acks ACK Compression - Receiving timestamps Round robin scheduling /FIFO Minimum ack spacing indicates link BW

5 5 Cyclic UDP Developed at UC Berkeley Notion of rounds -- data sent in a fixed size time units Retransmit data within the round Move on to next round if data not received within round Apply flow control within the round.

6 6 Cyclic UDP Prioritize packets within round Order higher priority packets in front CUDP improves chances of delivery of higher priority packets -- retransmissions have higher priority NACK - indicate not received packets so far on each packet reception

7 7 Random vs. Prioritized Loss

8 8 Cyclic UDP Rounds allow timely delivery Rounds allow prioritization of current packets Application prioritizes within the round Uses delay and packet losses for determining available BW

9 9 Estimating BW Loss rate = 1 - bytes recvd/ bytes sent Expected loss rate = X Expected delay = D1 If (L > X) EstBW = (1-L)*LtBW/(1+X) else if (meanDelay > D1) EstBW = (1+X)*LtBW*D1/meanDelay else EstBW = (1+X)*LtBW

10 10

11 11 Cyclic UDP Adapts to Congestion Assumes all available BW can be used Not clear what happens to competing TCP applications Results indicate multiple CUDP flows share available BW Loss rate -- scalability ??

12 12 Stored Media/Live Media Stored Media allows buffering of data, can tolerate startup delays More buffering -- more chances of overcoming congestion/smoother playout Buffering => Longer latencies, not acceptable for interactive applications Vxtreme etc. exploit buffering

13 13 CUDP Summary Possible to design adaptive flow control into UDP application Allows Timely Delivery and discard of expired packets, prioritization Shown to scale against CUDP apps. Not clear if more aggressive than TCP Not a multiplicative decrease response

14 14 TCP Modifications If TCP congestion/flow control is so good, why not retain it? Easy to show that “TCP-friendly” Get rid of reliable/in-order delivery mechanisms that get in the way. HPF = Heterogeneous Packet Flows

15 15 HPF Allows marking packets high/low priority Provides In-order reliable delivery of high priority packets Allows low priority packets to be delivered when enough BW available If routers support priority, can drop low priority packets ahead of high priority packets

16 16 HPF Layers Application Framing (AF) -- convert frames into packets, packets into frames Windowing, Reliability, Timing and Flow- control (WRTF) -- window management, flow control, reliability, deadlines Congestion Control (CC) -- congestion response, estimation of RTTs

17 17 HPF Architecture

18 18 HPF

19 19 Another Example

20 20 HPF Sender Interface

21 21 HPF Receiver Interface

22 22 HPF Separate the reliable delivery from windowing mechanisms. Advance rcv_next pointer based on Reliable packets Compute fraction of packets lost as opposed to based on sequence numbers -- a burst of losses doesn’t lead to cwnd being set to 1. Multiplicative Decrease/Additive Increase

23 23 HPF Congestion Control If ack_fraction > , cwnd = fi(cwnd), fi = TCP slow start If ack_fraction < , cwnd = fd(cwnd), fd = 1/(1/cwnd + 1 - ack_fraction)  = 1 - random loss probability

24 24 HPF Performance

25 25 HPF Priorities

26 26 HPF - App. Adaptation

27 27 Summary UDP-based delivery puts application in charge to do flow control, congestion response etc. -- ALF plus more Tedious for every application to implement all the basic mechanisms Separate ALF policies and implementation - HPF does this and follows TCP based congestion response


Download ppt "1 EE689 Lecture 4 Review of Last Lecture UDP-based delivery TCP-modifications."

Similar presentations


Ads by Google