Internet congestion control: TCP Internet congestion control: TCP - - PowerPoint PPT Presentation

internet congestion control tcp internet congestion
SMART_READER_LITE
LIVE PREVIEW

Internet congestion control: TCP Internet congestion control: TCP - - PowerPoint PPT Presentation

Internet congestion control: TCP Internet congestion control: TCP 1988: "Congestion Avoidance and Control" (Jacobson/Karels) Combined congestion/flow control for TCP Goal: stability - in equilibrum, no packet is sent into the


slide-1
SLIDE 1

Internet congestion control: TCP Internet congestion control: TCP

  • 1988: "Congestion Avoidance and Control" (Jacobson/Karels)

Combined congestion/flow control for TCP

  • Goal: stability - in equilibrum, no packet is sent into the network

until an old packet leaves

– ack clocking, “conservation of packets“ principle – possible through window based stop&go - behaviour

  • Superposition of stable systems = stable ->

network based on TCP with congestion control = stable

  • Today, TCP dominates the Internet (WWW, ..)

recent backbone measurement: 98% TCP traffic

slide-2
SLIDE 2

User 1 Allocation x1 Fairness Line Efficiency Line User 2 Allocation x2

Starting Point

AIMD Desirable

Starting Point

AIAD MIMD Underload Overload

AIMD Background AIMD Background

User 1 Allocation x1 Fairness Line Efficiency Line User 2 Allocation x2

Starting Point

AIMD Desirable

Starting Point

AIAD MIMD Underload Overload

slide-3
SLIDE 3

Some reasons for TCP stability Some reasons for TCP stability

  • Exponential backoff:

“For a transport endpoint embedded in a network of unknown topology and with an unknown, unknowable and constantly changing population of competing conversations, only one scheme has any hope of working - exponential backoff - but a proof of this is beyond the scope of this paper.“

  • Conservation of packets:

“The physics of flow predicts that systems with this property should be robust in the face of congestion.“

  • Additive Increase, Multiplicative Decrease:

Not explicitely cited as a stability reason in the paper!

– ...but in 1000‘s of other papers!

slide-4
SLIDE 4

“Proofs“ of TCP stability “Proofs“ of TCP stability

  • AIMD:

Chiu/Jain: diagram + algebraic proof homogeneous RTT case

  • steady-state TCP model: window size ~ 1.22/sqrt(p)

(p = packet loss)

  • Johari/Tan, Massoulié, ..:

– local stability, neglect details of TCP behaviour (fluid flow model, ..) – assumption: “queueing delays will eventually become small relative to propagation delays“

  • Steven Low:

– Duality model (based on utility function / F. Kelly, ..): Stability depends on delay, capacity, load and AQM !

slide-5
SLIDE 5

Extended Use of Vector Diagrams Extended Use of Vector Diagrams

  • Problem:

– Stability analysis very complex – TCP-like mechanism design difficult

  • Solution:

– Extended use of vector diagrams!

  • Analyze actual results (from simulation or real life measurements)
  • Instead of just explaining a concept, design in the diagram space

– Necessary simplifications may even be less dramatic!

slide-6
SLIDE 6

How Stable is AIMD / async. RTT? How Stable is AIMD / async. RTT?

U 2

SER

User 1

  • 0.0500

0.0000 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 0.0000 0.2000 0.4000 0.6000 0.8000 1.0000

  • Simple simulation

(no queues, ..)

  • RTT: 7 vs. 2
  • AI=0.1, MD=0.5
  • Simul. time=175
slide-7
SLIDE 7

How is AIMD distorted in TCP? How is AIMD distorted in TCP?

TCP 2 TCP 1 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000 5.5000 6.0000 6.5000 7.0000 7.5000 8.0000 8.5000 9.0000 9.5000 10.0000 2.0000 4.0000 6.0000 8.0000 10.0000 12.0000 14.0000

  • ns-2 simulator
  • TCP Tahoe
  • equal RTT
  • 1 bottleneck link
slide-8
SLIDE 8

Problems with TCP Problems with TCP

  • TCP over wireless: checksum error -> packet drop

misinterpretation

  • TCP over “long fat pipes“: large bandwidth*delay product

– long time to reach equilibrium, MD = dramatic!

  • TCP reaches equilibrium, but not a stable point

– fluctuations lead to regular packet drops & reduced throughput – fluctuations not feasible for streaming multimedia apps

  • TCP Vegas: interpret delay as congestion ... but:

similar delay, different available bandwidth!

slide-9
SLIDE 9

Enhancement idea: ATM ABR Enhancement idea: ATM ABR

  • TCP -> TCP/RED -> TCP/RED/ECN -> TCP/RED/Multilevel ECN -> ...
  • logical consequence: „ECN“ with fine granularity

(explicitely ask for congestion information)

  • Routers know more about congestion. TCP-AI is like guessing and

reacting when it is already too late.

  • Idea related to ATM Available Bit Rate (ABR) service:

– Resource management (RM) cells query the network for ECN flag & Explicit Rate information – framework for sophisticated ER calculations

  • > 1000s of papers

True for all mechanisms which use binary feedback! Often: Fairness through flow counting

  • > not scalable!
slide-10
SLIDE 10

PTP: The Performance Transparency PTP: The Performance Transparency Protocol (draft Protocol (draft-

  • welzl

welzl-

  • ptp

ptp-

  • 05.txt)

05.txt)

  • “Generic“ ECN / BECN - to carry traffic information

(e.g. queue length, ..)

  • Stateless & simple -> scalable!
  • Only every 2nd router needed for full functionality

– If less routers support it, results are an upper limit

  • Available Bandwidth Determination:

– nominal bandwidth (“ifSpeed“) + 2* (address + traffic counter (“if(In/Out)Octets“) + timestamp) = available bandwidth

  • two modes: “forward packet stamping“ / “direct reply“ (not for

available bandwidth (byte counters))

No problems w/ wireless links unless combined with packet loss!

slide-11
SLIDE 11

PTP: How does it work? PTP: How does it work?

  • Forward packet stamping:

Sender Receiver Router 1 2 3 S-a A-b B-?-c C-r

TTL: 8 TTL-C: 9 Request: Bwinfo TTL: 7 TTL-C: 7 BWinfo A Bwinfo a TTL: 6 TTL-C: 6 BWinfo A BWinfo B Bwinfo a TTL: 4 TTL-C: 4 BWinfo A BWinfo B BWinfo c BWinfo C Bwinfo a 9-4-5=0, complete Bwinfo table

9>8! 7=7 6>5! "Init 9" Upper case: Lower case:

  • utgoing interface

incoming interface – The receiver can tell if the information is complete (DS Count, TTL)

slide-12
SLIDE 12

PTP: How does it work? /2 PTP: How does it work? /2

  • Direct reply:

– Routers compare values; if requirements cannot be met...

  • the values are updated, the packet is redirected to the sender

– Similar to RSVP reservation setup – Does not work with available bandwidth (traffic counter) – Advantageous for satellite links!

  • Forward packet stamping

satellite usage scenario: 1st ground station acts as a receiver - only relies on PTP

slide-13
SLIDE 13

Design algorithm Design algorithm

  • find useful (closely related) ATM ABR mechanism
  • start with simplifications, then expand the model
  • A new mechanism must work for 2 users, equal RTT

– simple analysis similar to Chiu/Jain (diagram + math)

  • it must also work for heterogeneous RTTs

– simulate using a simple diagram based simulator – analyze using extended vector diagram analysis

  • it must also work for more users and more realistic scenarios

– simulate with ns

slide-14
SLIDE 14

The ATM ABR best match: CAPC The ATM ABR best match: CAPC

  • “Congestion Avoidance with Proportional Control“ (A. Barnhart 1994)
  • Uses load factor LF: Input Rate IR / Target Rate R0

– R0 e.g. 95% of nominal bandwidth, d = 1 - LF (available bandwidth)

  • “As long as the incoming rate is greater than R0, the desired rate,

ERS will diminish at a rate that is proportional to the amount by which R0 is exceeded. Conversely, whenever the incoming rate is less than R0, ERS will increase.“

  • for each new cell entering the queue:

LF<=1: ERX = min(ERU, 1 + d*Rup) ... else ERX = max(ERF, 1 + d*Rdn) ERS = ERS*ERX

  • constants: Rup, Rdn define the speed of rate increase / decrease,

ERU, ERF = upper / lower bound

  • different default values for LAN and WAN!

hint for RTT dependance!

slide-15
SLIDE 15

Conversion for packet nets: CADPC Conversion for packet nets: CADPC

  • “Congestion Avoidance with Distributed Proportional Control“
  • Only ask for current load, do calculations at sender
  • Fairness: sender 1 RTT = x * sender 2 RTT

– sender 1 needs to calculate ERS x times -> ERS = ERS*(ERX^x)

  • Result in Chiu-Jain-diagram-simulator:

– max-min fairness approximated for limited rtt variations (trade-off between Rup, Rdn and allowed RTT‘s) – not good enough, but gives a hint that weighing the rate changes with the user‘s properties can lead to max-min fairness!

Note: multiplicative!

slide-16
SLIDE 16

CADPC Design CADPC Design

  • Idea:

– relate user‘s current rate to the state of the system! (also in LDA+) Thought: in the Chiu-Jain-diagram, if the rate increase is indirectly proportional to the user‘s current rate, the rates will equalize.

  • erx = 1 + rup * (1.0 - myRate/traffic)

does not work! e.g. synchronous case -> myRate/traffic = constant!

  • Solution:

– erx = 1 + rup * (1.0 - myRate/d) relationship between user‘s rate and available rate keeps changing!

  • Enhancement:

– dependence on rup not desirable; rate changes should be proportional to the current load -> use d instead of rup!

slide-17
SLIDE 17

CADPC vector diagram analysis CADPC vector diagram analysis

slide-18
SLIDE 18

CADPC synchronous case analysis CADPC synchronous case analysis

  • Final formula per user:

d = traffic / r0; erx = 1 + d * (1.0 - myRate/d); ers = ers*erx;

  • Combined:

xi(t) = rate

  • f user i,

n users

  • after some straight-

forward derivations:                                       − − + = +

= 1

) ( 1 ) ( 1 1 ) ( ) 1 ( r t x t x d t x t x

n j j i i i

(Special form of) logistic equation => stable!

        − − + = +

= n j j i i i

t x t x r r t x t x

1

) ( ) ( 1 ) ( ) 1 (

slide-19
SLIDE 19

CADPC synchronous case analysis /2 CADPC synchronous case analysis /2

  • Equilibrium: assume x(t+1) = x(t)
  • leads to: x(t) = r0/(n+r0)
  • traffic (n users): n*x(t) = n*r0/(n+r0)

Convergence of equilibrium with increasing number of users: 0,2 0,4 0,6 0,8 1 1,2 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29

r0 = 1

slide-20
SLIDE 20

ns simulation: 25 TCP / 25 CADPC ns simulation: 25 TCP / 25 CADPC

not simultaneously!

tcp.tr cadpc.tr Bandwidth (byte / s) Time (s) 0.0000 20.0000 40.0000 60.0000 80.0000 100.0000 120.0000 140.0000 160.0000 180.0000 200.0000 220.0000 240.0000 260.0000 280.0000 300.0000 320.0000 340.0000 360.0000 380.0000 0.0000 10.0000 20.0000 30.0000 40.0000 50.0000 60.0000

single bottleneck (dumbbell)

slide-21
SLIDE 21

Results Results

  • Implementation: r0 normalized to 1 -> calc -> de-normalize
  • 1 PTP packet every 4 RTTs, no other acks!

– rate indeed converges to n/n+1

  • No packet loss
  • Very smooth rate, rapid convergence
  • Not in the picture:

– rapid convergence to almost perfect fairness – bg traffic: rapid backoff and recovery

slide-22
SLIDE 22

CADPC advantages CADPC advantages

  • Better stability than TCP

– smooth rate advantageous for streaming media apps

  • No problems with wireless links (no packet loss interpretation)
  • Rare feedback - good in environments with long delay

– rapid convergence & reaction - good in environments with a high bw*delay product

  • Rate calculation independent of RTT => independent of position

– scalable! if PTP = x% of generated traffic n, PTP scales O(n)

  • Only (rare) PTP packets necessary to calculate rate

– Satellite environments: do receiver's calculations at sat. base station and give earlier feedback – easier to differentiate pricing – easier to implement metering => traffic shaping, policing, admission control, ..

slide-23
SLIDE 23

Deployment plans Deployment plans

  • Problem: PTP needs router support

– CADPC needs complete path information (every 2nd router)

  • Possibilities:

– QoS in a DiffServ class (QoS “in the small“): “we offer QoS & provide router support, you use CADPC and get a good result“ – If CADPC works with non-greedy senders: edge2edge PTP signaling (TCP over CADPC) PTP supported traffic engineering – CADPC <=> TCP translation at edge routers?

slide-24
SLIDE 24
  • More ns simulations

– CADPC vs. AIMD in vector diagram simulator: CADPC is much less aggressive – compare with TCP-friendly binary mechanisms – compare with other ER mechanisms PCP, ALS

  • Extension to proportional fairness?
  • CADPC implementation

– PTP already available for Linux – compare with TCP, TFRC, RAP, ... – evaluate QoS

Future work Future work