1 ee689 lecture 4 review of last lecture udp-based delivery tcp-modifications
Post on 20-Dec-2015
216 views
TRANSCRIPT
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
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
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
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
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
Random vs. Prioritized Loss
Set PerfectChannel
FeedbackControl
PriorityLoss
RandomLoss
A 38.63 34.99 30.46 24.86
B 38.63 34.08 30.29 24.69
C 38.63 36.10 27.64 24.94
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
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
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
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
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
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
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
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
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
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
HPF Performance
Protocol High:LowRatio
PacketsDropped
Improve.Vs. TCP
TCP --- 0% ----
HPF 1:0 0% -4.0%
7:3 1.2% 2.2%
5:5 5.1% 16.7%
3:7 5.5% 21.3%
25
HPF Priorities
Protocol High:LowRatio
PacketsDropped
ImproveVs. TCP
TCP ---- 0% ----
HPF 1:0 0% -4.3%
7:3 1.1% 8.0%
5:5 5.3% 29.7%
3:7 5.7% 32.5%
26
HPF - App. Adaptation
AdaptiveVCR
Non-ada.VCR/HPF
AdaptiveVCR/HPF
B Drops 93.0% 6.1% 61.5%
P Drops 24.8% 8.2% 9.3%
I Drops 11.1% 9.2% 12.2%