190 likes | 806 Views
Why traffic shaping?. In packet networks that implement resource sharing admission control and scheduling alone are insufficient users may attempt to exceed the rates specified at the time of connection establishment (possibly inadvertently)
E N D
Why traffic shaping? • In packet networks that implement resource sharing • admission control and scheduling alone are insufficient • users may attempt to exceed the rates specified at the time of connection establishment (possibly inadvertently) • QoS is negotiated for average rate, but bursts occur during transmissions, hence resource allocation can be unbalanced. • Need constant watch over traffic associated with each application. • Traffic enforcement • polices source streams to check that their input conforms to declared values. • Traffic Shaping • smooths input streams so that characteristics are amenable to provide QoS guarantees. • Need traffic shaping at entry into or within the network
Purpose of traffic shaping • Traffic shaping • set of rules that describe a flow’s traffic characteristics. • Purpose • the way of a flow to describe its traffic to the network • the network can determine if the flow should be allowed in • the network can periodically monitor the flow’s traffic • E.g. If we want to transmit data of 100 Mbps, do we take one packet of size 100Mbits/s or do we take 1 packet of size 1Kbit every 10 microseconds. • Issues • Regulating traffic • Deciding whether to accept a flow’s data • Policing flows
Burstiness and Bandwidth Allocation • Classification of sources - data, voice and video • Data sources are generally bursty, whereas voice and video are naturally continuous and bursty if compression is used. • Multimedia sources can be divided into 2 classes: • Constant bit rate (CBR) traffic - often from continuous sources • strongly periodic, strongly regular stream characteristics • needs peak-rate allocation of bandwidth for congestion free transmission. • Variable bit rate (VBR) traffic - often from bursty sources • strong periodic and weakly regular stream characteristics or weakly periodic and strongly regular stream characteristics • Average rate of transmission can be a small fraction of the peak rate. Peak rate allocation would result in underutilization and average rate allocation would result in losses/delays.
Isochronous Traffic Shaping • Simple Leaky Bucket • developed by J. Turner, 1986 (Washington Univ.) Each flow has its own leaky bucket. Data - size of bucket - rate - cells drain out at the bottom of bucket and are sent Regulator enforces the rate at the bottom Regulator
Isochronous traffic shaping • (r, T) - smooth traffic shaping • developed by Golestani, 1990 - part of the stop-and-go queueing algorithm. • Traffic is divided into T-bit frames where T is fixed. • r bit packets of a flow are considered where r varies on a per flow basis. • In an (r,T)-smooth traffic system, a flow is permitted to inject not more than r bits of data into the network in any T bit times. • If the next packet to be sent over the flow would cause the flow to use more than r bits in the current frame, the flow must hold the packet until the next frame starts. • A flow that obeys this rule has (r,T)-smooth traffic.
Isochronous Traffic Shaping • (r,T)-smooth traffic system • relaxed form of leaky bucket because: • rather than sending one cell size c every 1/ time units, the flow can send Tc/ bits of data every T bit times. • Limitations • One cannot send a packet larger than r bits long. • Hence, unless T is very long, the maximum packet size may be very small. • Limitations of isochronous traffic shaping • The range of behaviors is limited to fixed rate flows. • Variable flows must request data rate = peak data rate which is wasteful.
Isochronous traffic shaping with Priorities • Idea: • If a flow exceeds its rate, the excess packets are given a lower priority. If a network is heavily loaded, these packets will be preferentially discarded. • Decision place to assign priority • at the sender • sending application can mark its own packets. Application knows which data units are more important and can mark accordingly. • in the network (useful for traffic policing) • Network marks the cells. Network watches the flow’s packets as they enter the network. If flow exceeds promised rate, network marks enough of flow’s packets so that remaining high priority packets are within the required rate • Limitations • Amount of traffic that can be guaranteed is rather low (50%). There is a problem discarding packets selectively in FIFOs.
Shaping Bursty traffic patterns • Token bucket mechanism • different from the simple leaky bucket. • Consider trying to send a packet of size b tokens (b < ) under the following three scenarios • Token bucket is full - the packet is sent and b tokens are removed from the bucket • Token bucket is empty - the packet must wait for b tokens to drip into the bucket at which time it is sent • Token bucket is partially full - There are B tokens in the bucket. If b B then the packet is sent immediately; otherwise it must wait for the remaining b-B tokens before being sent.
Token Bucket Each flow has its own leaky bucket. - rate at which tokens are placed in bucket Token bucket - capacity of bucket Data Buffer Regulator enforces the rate at the bottom peak avg Regulator Stability and bandwidth utilization > > peak avg
Token Bucket • Differences between simple leaky bucket (SLB) and token bucket (TB) • SLB forces bursty traffic to smooth out, TB permits burstiness but bounds it. • SLB guarantees that the flow will never send faster than worth of packets per second, TB guarantees that the burstiness is bounded so that • the flow never sends more than tokens worth of data in an interval and • the long-term transmission rate will not exceed . • TB has no discard or priority policy. • TB is easy to implement. Each flow needs just a counter to count tokens and a timer to determine when to add new tokens to the counter.
Limitations of token bucket • Difficulty with policing • at any time the flow is allowed to exceed rate by number of tokens, it means we need better policing. • Reasons for policing • In any period of time, flow is allowed to exceed rate by tokens. • If network polices flows by simply measuring their traffic over intervals of length , a flow can cheat by sending tokens of data in every interval. • Cheating because the flow would send token in the interval and it is supposed to send at most tokens worth of data.
Token bucket with leaky bucket rate control • TB more flexible than LB, but if a flow has been idle for a while, its bucket will fill. • When flow begins sending again, it can send up to tokens worth of data on the network without stopping. • Allowing one flow to consume all the bandwidth is harmful. Cell switches do not respond well to steady streams of traffic heading for the same destination. • Long bursts of high priority traffic may interfere with other high priority traffic. • Need to limit how long a token bucket sender can monopolize the network. • Solution - Combine token bucket with leaky bucket.
Composite Shaper Token bucket Leaky bucket Data Buffer Regulator