Token Bucket Leaky Bucket Leaky Bucket (a) A leaky bucket with water. (b) a leaky bucket with packets. Token Bucket We want to allow some burstiness. x(t) is the instantaneous sending rate, bu maxt 0 tu x( t)dt Max bits b(u) t Max burst rate Slope= average rate Interval size u b(u)=r u +b Token Bucket Regulator (Shaper) What is it good for? • Traffic shaper – Shape the traffic to conform to contract • Traffic policer – Drop packets that do not conform • Traffic marker – Color packets by conformance to contract – Rate estimator Remarks • When tokens are not available – Store packet (shaper) – Discard packet (policer) • The sum of two regulated flows (b1,r1)& (b2,r2) behave like a regulated flow (b1+b2,r1+r2) • Cascading t.b. after a l.b. can shape the burst rate Shaping Examples (a) Input to a leaky bucket. (b) Output from a leaky bucket. Output from a token bucket with capacities of (c) 250 KB, (d) 500 KB, (e) 750 KB, (f) Output from a 500KB token bucket feeding a 10-MB/sec leaky bucket. Traffic Marker Packet arrival Enough tokens in bucket? Color red Color green Packet forwarding IETF Packet Marking • Two types of markers are available: – RFC 2697: A Single-Rate, Three-Color Marker • Committed Information Rate (CIR), • Committed Burst Size (CBS), • Excess Burst Size (EBS) – RFC 2698: A Dual-Rate, Three-Color Marker • • • • Peak Information Rate (PIR) Committed Information Rate (CIR), Committed Burst Size (CBS), Peak Burst Size (PBS) • Suggested in the context of DiffServ Heinanen and Guerin, 1999 Single-Rate Three-Color Marker Usage: •Mark conforming traffic with a low drop precedence •Mark exceeding traffic with a high drop precedence •Drop violating traffic Definitions: •CIR – Committed Information Rate •CBS – Committed Burst Size (max) •EBS – Excess Burst Size (max) •Tc – Current size of CBS bucket •Te – Current size of EBS bucket Two-Rate Three-Color Marker Usage: •Mark packets within CIR as conforming •Mark packets between CIR and PIR as exceeding •Drop packets above the PIR Definitions: •CIR – Committed Rate •PIR – Peak rate •CBS – Committed burst size (max) •PBS – Peak burst size (max) •Tc – Current size of CBS bucket •Tp – Current size of PBS bucket Marker Locations and Size Type of Marking # of Bits Bits Location 3 Three most significant bits of TOS byte in IPv4 and IPv6 headers 6 Six most significant bits of TOS byte in IPv4 and IPv6 headers MPLS Experimental (EXP) Bits 3 Part of 20 bit MPLS label Ethernet CoS Bits 3 ISL or 802.1q/p header ATM CLP Bit 1 ATM Cell header Frame Relay DE Bit 1 Frame Relay header IP Precedence Differentiated Services Code Point (DSCP) RED with Multiple Thresholds Discard Probability “Red” Packets “Yellow” Packets “Green” Packets 1 Average Queue Length 0 0 13 “Red” Threshold “Yellow” Threshold “Green” Threshold Full © Juha Heinanen Metering, Marking and Policing May classify packets to service classes May meter host behavior and shape packets May police host behavior and classify packets on behalf of host 14 Host May select outgoing packets and drop excess R Enterprise Network R May meter aggregate behavior, classify, (re)mark, drop, and shape packets R ISP Polices aggregate behavior and remarks or drops excess © Juha Heinanen Leaky Buckets in ATM ATM Traffic Parameters • Source Traffic Descriptor – Peak Cell Rate (PCR): upper bound on traffic submitted by source (PCR = 1/T, where T = minimum cell spacing – Sustainable Cell Rate (SCR): upper bound on average rate of traffic submitted by source (over a larger T) – Maximum Burst Size (MBS): maximum number of cells sent continuously at PCR – Minimum Cell Rate (MCR): used with ABR and GFR… minimum cell rate requested, access to unused capacity up to PCR (elastic capacity = PCR-MCR?) – Maximum Frame Size (MFS): maximum size of a frame in cells available for GFR service 16 Chapter 13: ATM Traffic & Congestion Control Generic Cell Rate Algorithm (GCRA): Virtual Scheduling Late arrival OK Early arrival beyond limit NOT OK At time of arrival ta(1) of the first cell of connection, TAT = ta(1) Early arrival TEST I.e., this cell arrived too late. Early arrival within limit OK Reset TAT 17 GCRA (I, L): I = Increment L = Limit ta(k) = Time of arrival of a cell TAT = Theoretical arrival time Algorithm takes two arguments, I and L With PCR of R, I = T = 1/R CDVT limit, = L Then peak cell rate algorithm is expressed as: GCRA(T, ) • Virtual scheduling algorithm – Conforming cell ta(k) (a) TAT(k-1) TAT(k) TAT(k+1) TAT(k) Time I ta(k) (b) TAT(k-1) L TAT(k) TAT(k+1) Time I – Non-conforming cell ta(k) TAT(k-2) L TAT(k-1) TAT(k) Time I * At the time of arrival of the first cell of the connection, TAT = ta(k) Leaky Bucket Multiple Leaky Buckets Can we create traffic differentiation? Scenario At the Edges: Multiple Cascading Token Buckets (FRQ?) At Core router : Multi-GRED drop Model RED differentiation Simulation Set-Up Definitions The committed rate of R: comm(A) = CIR The excess link rate of R ex(R) = bw(R) − comm(A). CIR aggregation level: AGGCIR = comm(A)/bw(R) . The EIR aggregation-level is the entire EIR allocated on a bottleneck link divided by its excess rate, AGGEIR = EIRi / ex( R) iA • The fair throughput of an aggregate i is composed of its CIRi and its fair share of the excess bandwidth EIRaggi = (EIRi/AGGEIR). • • • • iA 4/8/2015 i 24 SLAa Token Bucket Rate Assignment Aggregate Traffic Mix Three-Color Marking Goodput Per Aggregate (a) GoodPut (Bytes) 900000 600000 300000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Tim e (10 seconds) Better differentiation Six-Color Marking Goodput Per Aggregate (b) GoodPut (Bytes) 900000 600000 300000 0 1 2 3 4 5 6 7 8 9 10 11 Tim e (10 seconds) 12 13 14 15 16 17 Effect of Packet Size Things to Remember • Increasing the number of colors indeed improving differentiation between the aggregates according to the committed and the excess rates. • The token bucket coloring policies, which is widely used for this purpose, prefer short packets and mark them with a higher priority colors. • The differentiation process is more difficult for the short TCP connections that remain in the slow start phase, than for the long connections that are usually in the congestion avoidance phase.