440 likes | 548 Views
I. E. Logical FIFO. B. I. E. E. I. Edge-based Traffic Management Building Blocks. David Harrison, Yong Xia, Shiv Kalyanaraman, Rensselaer Polytechnic Institute shivkuma@ecse.rpi.edu http://www.ecse.rpi.edu/Homepages/shivkuma. Overview. Private Networks vs Public Networks
E N D
I E Logical FIFO B I E E I Edge-based Traffic Management Building Blocks David Harrison, Yong Xia, Shiv Kalyanaraman, Rensselaer Polytechnic Institute shivkuma@ecse.rpi.edu http://www.ecse.rpi.edu/Homepages/shivkuma
Overview • Private Networks vs Public Networks • QoS vs Congestion Control: the middle ground ? • Overlay Bandwidth Services: • Key: deployment advantages • A closed-loop QoS building block • Services: Better best-effort services, Assured services, Quasi-leased lines, App-level QoS…
Motivation: Site-to-Site VPN Over a Multi-Provider Internetwork
Virtual ISP: Network-level Overlay • Avoid crossing ISP boundaries • Each ISP will provide good service; V-ISP can easily verify it • Allocate/buy service across each ISP and compose them • Network (IP)-level overlay GPoP (core) GPoP (core) ISP 2 Proxy (edge) Proxy (edge) ISP 3 ISP 1
Our Model: Edge-based building blocks I E Logical FIFO B I E E I New: Closed-loop control ! Policy/ Bandwidth Broker Model: Inspired by diff-serv; Aim: further interior simplification
Priority/WFQ FIFO B B • Scheduler: differentiates service on a packet-by-packet basis • Loops: differentiate service on an RTT-by-RTT basis using edge-based policy configuration. Closed-loop BB: Bandwidth Sharing
Queuing Behavior: Without Closed-loop Control Bottleneck queue End system
Queuing: With Closed Loops • Bottleneck management issues consolidated at edges • Key: Transparent and lossless loop schemes • Potential: • Edge-based QoS services, • Edge plays in application-level QoS, active networking..
Closed-loop Building Block Reqts #1. Edge-to-edge overlay operation, #2. Robust stability #3. Bounded-buffer/zero-loss, #4. Minimal configuration/upgrades + incremental deployment #5. Rate-based operation: for bandwidth services • Not available in any congestion control scheme… • Related work: NETBLT, TCP Vegas, Mo/Walrand, ATM Rate/Credit approaches
bit Aij(t) delay Sij(t) b2 b1 queue time t1 t2 Queuing at One Router: Arrival / Service Curves • flow i at router j • arrival curve Aij(t) • & service curve Sij(t) • cumulative • continuous • non-decreasing • if no loss, then
1 j j+1 J ingress egress dj fi μij Λi,j+1 μi Λi Accumulation: Series of Routers • we have • define accumulation • which is a time-shifted, distributed sum of buffered bits of flow i at all routers 1 through J
1 j j+1 J ingress egress dj fi μij Λi,j+1 μi Λi Accumulation (Contd) • then 12
Accumulation vs Queuing • queue qij(t) -- num of bits of flow i queued in a fifo router j • accumulation ai(t) -- num of bits of flow i queued in a set of fifo routers 1~J is the forward direction propagation delay. • the collective queuing behavior of a series of fifo routers looks similar to that of one single fifo router
1 j j+1 J dj fi μij Λi,j+1 μi Λi … … time 1 j j+1 J 14 Accumulation: Physical Meaning
1 j j+1 J dj fi μij Λi,j+1 μi Λi Edge-based Control (EC) policy • control objective : keep • if , no way to probe increase of available bw; • control algorithm :
EC schemes • monaco • accumulation estimation: out-of-band / in-band • congestion response: additive inc/additive dec (aiad), etc • vegas • accumulation estimation: in-band • congestion response: additive inc / additive dec (aiad) • riviera • accumulation estimation: in-band • congestion response: additive inc / multiplicative dec • using egress rate (aimd-er) 16
Recall: accumulation theory … … time 1 j j+1 J
1 j j+1 J dj fi μij Λi,j+1 μi Λi out-of-band in-band ctrl pkt Accumulation vs. Monaco Estimator … … time 1 j j+1 J
Accumulation vs. Monaco estimator 1 jf jf+1 Jf djf fi data μij Λi,j+1 μi ctrl Λi Jb jb+1 jb djb 1 ctrl out-of-bd ctrl classifier fifo in-band ctrl, data pkt 19
ec: monaco • congestion estimation: • out-of-band and in-band control packets • congestion response: (AIAD) • if qm < α, cwnd(k+1) = cwnd(k) + 1; • if qm > β, cwnd(k+1) = cwnd(k) – 1;[ 1 = α < β = 3 ] 20
cwnd congestion avoidance slow start Time ec: vegas • congestion estimation: • define qv = ( cwnd / rttp – cwnd / rtt ) * rttp; • where rttp is round trip propagation delay (basertt) • congestion response: • if qv < α, cwnd(k+1) = cwnd(k) + 1; • if qv > β, cwnd(k+1) = cwnd(k) – 1; [ 1 = α < β = 3 ]
Vegas Accumulation Estimator • the physical meaning of qv • rtt= rttp + rttq [ rttq is queuing time ] • qv= ( cwnd / rttp – cwnd / rtt ) * rttp • = ( cwnd / rtt ) * ( rtt – rttp ) • = ( cwnd / rtt ) * rttq [ if rtt is typical ] • = sending rate * rttq[ little’s law ] • = packets backlogged [ little’s law again ] • so vegas maintains α ~ β number of packets queued inside the network • it adjusts sending rate additively to achieve this 22
1 jf jf+1 Jf djf fi data μij Λi,j+1 μi Λi Jb jb+1 jb djb 1 ack Accumulation vs. Vegas estimator • Backlogv 23
Vegas vs. Monaco estimators • Vegas accumulation estimator • ingress-based • round trip (forward data path and backward ack path) • sensitive to ack path queuing delay • sensitive to round trip propagation delay measurement error • Monaco accumulation estimator • egress-based • one way (only forward data path) • insensitive to ack path queuing delay • no need to explicitly know one way propagation delay
Riviera • congestion estimation: • in-band techniques, similar as vegas • congestion response: 25
Riviera: stability and fairness • lyapunov function • each flow i maximizes ( utility – penalty ) • proportionally fair 26
U U E00 En0 U I0 E0 U 8 100Mbps E1 U U I1 B0 B1 Bn 8 4ms I2 E2 U U 8 I00 I10 U U send rate (Mbps) 8 8 Linear Network Topology All links are 4ms, 100 Mbps. I=ingress, E=egress, U=UDP, B=Bottleneck 27
Utilization 29
Service Differentiation: Loss-based or Accumulation-based ? 32
Overlay Edge-to-edge Bandwidth Services • Idea: Use the EC scheme as a closed-loop building block for a range of QoS services • Basic Services: no admission control • “Better” best-effort services • Denial-of-service attack isolation support • Weighted proportional/priority services • Advanced services: edge-based admission control • Assured service emulation • “Quasi-leased-line” service • Key: no upgrades; only configuration reqts…
Scalable Best-effort TCP Service Without Overlay Scheme With Overlay Scheme Queue distribution to the edges => can manage more efficiently CoV vs. No of Flows FRED at the core vs. FRED at the edges with overlay control between edges
Edge-based Isolation of Denial of Service/Flooding TCP starting at 0.0s UDP flood starting at 5.0s
r + D r = min(r, bASm, bBE(m-a)+a) if no congestion if congestion 1 > bAS > bBE >> 0 Edge-based Assured Service Emulation • BackoffDifferentiation Policy: • Backoff little (bas) when below assurance (a), • Backoff (bas) same as best effort when above assurance (a) • Backoff differentiation quicker than increase differentiation • Service could be potentially oversubscribed (like frame-relay) • Unsatisfied assurances just use heavier weight.
Bandwidth Assurances Flow 1 with 4 Mbps assured + 3 Mbps best effort Flow 2 with 3 Mbps best effort
if no congestion r + D r = max(a, bBE(m-a)+a) if congestion 1 > bBE >> 0 Quasi-Leased Line (QLL) • Assume admission control and route-pinning (MPLS LSPs). • Provide bandwidth guarantee. • Key: No delay or jitter guarantees! • Adaptation in O(RTT) timescales • Average delay can be managed by limiting total and per-VL allocations (managed delay) • Policy:
Best-effort VL starts at t=0 and fully utilizes 100 Mbps bottleneck. Background QLL starts with rate 50Mbps Best-effort VL quickly adapts to new rate. Quasi-Leased Line Example Best-effort rate limit versus time
Starting QLL incurs backlog. Unlike TCP, VL traffic trunks backoff without requiring loss and without bottleneck assistance. Quasi-Leased Line Example (cont) Bottleneck queue versus time Requires more buffers: larger max queue
q < b 1-b Quasi-Leased Line (cont.) Worst-case queue vs Fraction of capacity for QLLs Single bottleneck analysis: B/w-delay products For b=.5, q=1 bw-rtt Simulated QLL w/ edge-to-edge control.
Current Work • With bottlenecks consolidated at the edge: • What diff-serv PHBs or remote scheduler functionalities can be emulated from the edge ? • What is the impact of congestion control properties and rate of convergence on attainable set of services ? • Areas: • Control plane architecture for large-scale overlays • Application-level QoS: edge-to-end problem • Dynamic (short-term) services • Congestion-sensitive pricing: congestion info at the edge • Edge-based contracting/bidding frameworks
Summary • Private Networks vs Public Networks • QoS vs Congestion Control vsThrowing bandwidth • Edge-based Building Blocks & Overlay services: • A closed-loop QoS building block: EC framework • Accumulation concept • Monaco, Vegas, Riviera Schemes: estimation issues • Basic services, advanced services