Title: Why traffic shaping?
1Why 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
2Purpose of traffic shaping
- Traffic shaping
- set of rules that describe a flows 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 flows
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 flows data
- Policing flows
3Burstiness 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.
4Isochronous 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
?
5Isochronous 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.
6Isochronous 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.
7Isochronous 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
flows packets as they enter the network. If
flow exceeds promised rate, network marks enough
of flows 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.
8Shaping Bursty traffic patterns
- Token bucket mechanism
- different from the simple leaky bucket.
- Consider trying to send a packet of size b tokens
(b lt ?) 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.
9Token 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
gt ? gt
peak
avg
10Token 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.
11Limitations 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.
12Token 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.
13Composite Shaper
?
Token bucket
?
Leaky bucket
Data Buffer
?
Regulator