440 likes | 1.06k Vues
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, . Max bits b(u). Slope= average rate. Max burst rate. Interval size u. b(u)= r u +b.
E N D
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, Max bits b(u) Slope= average rate Max burst rate Interval size u b(u)=r u +b
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
# of Bits Bits Location Type of Marking Three most significant bits of TOS byte in IPv4 and IPv6 headers 3 IP Precedence Differentiated Services Code Point (DSCP) Six most significant bits of TOS byte in IPv4 and IPv6 headers 6 MPLS Experimental (EXP) Bits Part of 20 bit MPLS label 3 Ethernet CoS Bits 3 ISL or 802.1q/p header ATM Cell header ATM CLP Bit 1 Frame Relay header 1 Frame Relay DE Bit Marker Locations and Size
RED with Multiple Thresholds Discard Probability “Red” Packets “Yellow” Packets “Green” Packets 1 AverageQueue Length 0 0 “Red” Threshold Full “Yellow” Threshold “Green” Threshold
R R Metering, Marking and Policing May classifypackets to service classes Host May select outgoing packets and drop excess ISP May meter hostbehavior and shape packets Enterprise Network R May police hostbehavior and classify packets onbehalf of host May meter aggregate behavior, classify, (re)mark, drop, andshape packets Polices aggregatebehavior and remarks or drops excess
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 Chapter 13: ATM Traffic & Congestion Control
Generic Cell Rate Algorithm (GCRA): Virtual Scheduling GCRA (I, L): I = Increment L = Limit ta(k) = Time of arrival of a cell TAT = Theoretical arrival time At time of arrival ta(1) of the first cell of connection, TAT = ta(1) Late arrival OK Early arrival TEST Early arrival beyond limit NOT OK • 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, ) I.e., this cell arrived too late. Early arrival within limit OK Reset TAT
ta(k) (a) • Virtual scheduling algorithm • Conforming cell • Non-conforming cell • At the time of arrival of the first cell of the connection, TAT = ta(k) Time TAT(k-1) TAT(k+1) TAT(k) TAT(k) ta(k) (b) Time TAT(k-1) TAT(k) TAT(k+1) ta(k) Time TAT(k-2) TAT(k-1) TAT(k)
Multiple Leaky Buckets Can we create traffic differentiation?
Scenario At the Edges: Multiple Cascading Token Buckets (FRQ?)At Core router : Multi-GRED drop Model
Definitions • The committed rate of R: comm(A) = • 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 = • The fair throughput of an aggregate i is composed of its CIRi and its fair share of the excess bandwidth EIRaggi = (EIRi/AGGEIR).
Better differentiation
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.