Traffic Shaping, Traffic Policing
Total Page:16
File Type:pdf, Size:1020Kb
Traffic Shaping, Traffic Policing Peter Puschner, Institut für Technische Informatik Traffic Shaping, Traffic Policing • Enforce compliance of traffic to a given traffic profile (e.g., rate limiting) • By delaying or dropping certain packets, one can (i) optimize or guarantee performance, (ii) improve latency, and/or (iii) increase or guarantee bandwidth for other packets • Traffic shaping: delays non-conforming traffic • Traffic policing: drops or marks non-conforming traffic Peter Puschner, TU Wien 2 Traffic Shaping • Traffic metering to check compliance of packets with traffic contract e.g., leaky bucket / token bucket algorithm • Imposes limits on bandwidth and burstiness • Buffering of packets that arrive early – Buffer dimensioning (?) • Strategy to deal with full buffer – Tail drop (à policing) – Random Early Discard – Unshaped forwarding of overflow traffic Peter Puschner, TU Wien 3 Traffic Shaping • Self limiting sources • Shaping by network switches • Shaping traffic uniformly by rate • More sophisticated characteristics (allow for defined variability in traffic) Peter Puschner, TU Wien 4 Token Bucket Algorithm • Bucket capacity: C [tokens] • Token arrival rate: r [tokens per second] • When a packet of n bytes arrives, n tokens are removed from the bucket and the packet is sent • If fewer than n tokens available, no token is removed and the packet is considered to be non-conformant Peter Puschner, TU Wien 5 Leaky Bucket Algorithm n n n C C r … leak rate Peter Puschner, TU Wien 6 Leaky Bucket Algorithm n • Bucketn with capacity C leaks at fixedn rate r • TheC bucket must never overflow C • If the bucket is empty it stops leaking • A packet is conformant, if the amount of water, n, can be added to the bucketr … leak without rate causing an overflow; n is either constant or proportional to packet size • For non-conformant packets, no water is added to the bucket Peter Puschner, TU Wien 7 Leaky Bucket Properties Best average rate (over infinite time) r [bytes/s] r /n [messages/s], with message size n bytes Maximum burst size assume max. transmission rate M [bytes/s] C if r < M M – r Tmax = ∞ otherwise Lmax = Tmax × M [bytes] msg Lmax = ( Tmax × M ) / n [messages] Peter Puschner, TU Wien 8 Leaky Bucket - Notes C – n … characterizes max. jitter tolerance “how early can a packet be sent?” C = n … minimum message-send interval: n/r r / n … maximum rate at which packets can conform once the bucket is full The bucket stops leaking when it is empty à this limits the tolerance accrual in times when the incoming traffic rate is low C, r, n, queue size determine outgoing traffic Peter Puschner, TU Wien 9 Leaky Bucket – Remark Strategy can be used to measure rate of any stochastic process e.g., detect when an event rate increases above some acceptable threshold (bucket overflow) Different use of leaky-bucket counter on overflow condition • Unbounded increment to penalize overload cond. • No increment when bucket is full à allows to detect when situation is back to normal Peter Puschner, TU Wien 10 Summary • Strategies to enforce compliance of traffic to a given profile – Traffic Shaping: delays non-conforming traffic – Traffic Policing: drops/marks non-conforming traffic • Who does the shaping? – Sender: to guarantee that network accepts traffic – Network switches: to enforce contract compliance • What is controlled? – Rate, jitter, burstiness Peter Puschner, TU Wien 11 .