Ee689 lecture 4
Download
1 / 27

EE689 Lecture 4 - PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on

EE689 Lecture 4. Review of Last Lecture UDP-based delivery TCP-modifications. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' EE689 Lecture 4' - rainer


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Ee689 lecture 4
EE689 Lecture 4

  • Review of Last Lecture

  • UDP-based delivery

  • TCP-modifications


End to end congestion
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.


Udp based delivery
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.


Udp based delivery1
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


Cyclic udp
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.


Cyclic udp1
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



Cyclic udp2
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


Estimating bw
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


Cyclic udp3
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 ??


Stored media live media
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


Cudp summary
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


Tcp modifications
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


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


Hpf layers
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







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


Hpf congestion control
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





Summary
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


ad