Advanced Computer Networks

Advanced Computer Networks

Advanced Computer Networks QoS in IP networks Prof. Andrzej Duda [email protected] http://duda.imag.fr 1 Contents § QoS principles § Traffic shaping § leaky bucket § token bucket § Scheduling § FIFO § Fair queueing § RED § IntServ § DiffServ 2 Improving QOS in IP Networks § IETF groups are working on proposals to provide better QOS control in IP networks, i.e., going beyond best effort to provide some assurance for QOS § Work in Progress includes Integrated Services, RSVP, and Differentiated Services § Simple model for sharing and congestion studies: 3 Principles for QOS Guarantees § Consider a phone application at 1Mbps and an FTP application sharing a 1.5 Mbps link. § bursts of FTP can congest the router and cause audio packets to be dropped. § want to give priority to audio over FTP § PRINCIPLE 1: Marking of packets is needed for router to distinguish between different classes; and new router policy to treat packets accordingly 4 Principles for QOS Guarantees § Applications misbehave (audio sends packets at a rate higher than 1Mbps assumed above); § PRINCIPLE 2: provide protection (isolation) for one class from other classes § Require Policing Mechanisms to ensure sources adhere to bandwidth requirements; Marking and Policing need to be done at the edges: 5 Principles for QOS Guarantees § Alternative to Marking and Policing: allocate a set portion of bandwidth to each application flow; can lead to inefficient use of bandwidth if one of the flows does not use its allocation § PRINCIPLE 3: While providing isolation, it is desirable to use resources as efficiently as possible 6 Principles for QOS Guarantees § Cannot support traffic beyond link capacity § PRINCIPLE 4: Need a Call Admission Process; application flow declares its needs, network may block call if it cannot satisfy the needs 7 Traffic shaping § How to prevent congestion? § it may result from burstiness § make arrivals more deterministic, obtain better performance § example : no. of clients in D/D/1 vs. G/D/1 or group arrivals vs. single arrivals § control the rate and burst size § traffic description - leaky bucket, token bucket § Service contract § if the network knows the type of the traffic, it can reserve resources to support the traffic § contract between the source and the network § source: traffic description - leaky bucket, token bucket § network: QoS guarantee if the traffic conforms to the description § if the traffic is not conformant (leaky bucket, token bucket), penalty: reject a packet, no guarantees of the QoS (traffic policing) 8 Leaky bucket § Limited size buffer with constant departure rate § R if buffer not empty § 0 if buffer empty § Equivalent to the queue G/D/1/N b § Fixed size packets § one packet per clock tick R § Variable size packets § number of bytes per clock tick § Packet loss if buffer filled 9 Token bucket arrival of tokens : rate r packet buffer b test peak rate R 10 Characterizing Burstiness: Token Bucket § Parameters § r – average rate, i.e., rate at which tokens fill the bucket § b – bucket depth (limits size of burst) § R – maximum link capacity or peak rate § A bit (packet) can be transmitted only when a token is available Maximum # of bits sent r b/s bits b·R/(R-r) slope r b bits slope R ≤ R b/s b/(R-r) time regulator Token bucket § Tokens generated with rate r § 1 token : 1 packet or k bytes § Packet must wait for a token before transmission § no losses § allows limited bursts (a little bit more than b) § When packets are not generated, tokens accumulate § n tokens - burst of n packets § if bucket filled, tokens are lost § Mean departure rate: r § Delay limited by b/r (Little's formulae) 12 Example § 25 MB/s link § Network can support a peak rate R = 25 MB/s, but prefers sustained throughput of r = 2 MB/s § Data generated § 1 MB each second, burst during 40 ms § Example 1. leaky bucket with b = 1 MB, R = 25 MB/s, r = 2 MB/s 2. token bucket with b = 250 KB, R = 25 MB/s, r = 2 MB/s 3. token bucket with b = 500 KB, R = 25 MB/s, r = 2 MB/s 4. token bucket with b = 750 KB, R = 25 MB/s, r = 2 MB/s 5. token bucket with b = 500 KB, R = 25 MB/s, r = 2 MB/s and leaky bucket with b = 1 MB, R = 10 MB/s 13 14 Burst duration § Burst duration - S [s] § Size of the bucket - b bits § Maximal departure rate - R b/s § Token arrival rate - r b/s § burst of b + rS bits § burst of RS § b + rS = RS -> S = b/(R - r) § Example § b = 250 KB, R = 25 MB/s, r = 2 MB/s § S = 11 ms 17 QoS Guarantees: Per-hop Reservation § End-host: specify § arrival rate characterized by token bucket with parameters (b, r, R) § the maximum tolerable delay D, no losses § Router: allocate bandwidth ra, buffer space Ba such that § no packet is dropped § no packet experiences a delay larger than D slope ra bits slope r Arrival curve b•R/(R-r) R D = b/ra(R-ra)/(R-r) Ba time b/(R-r) Token Bucket and a router R ra r Queue - Ba Source Token Bucket b, r, R 19 QoS Guarantees: Per-hop Reservation § Router: if allocated bandwidth ra = r, buffer space B such that § no packet is dropped § no packet experiences a delay larger than D = b/r bits slope r Arrival curve b•R/(R-r) R slope r D = b/r B b/(R-r) time Traffic description rate 3 MB/s Flow B 2 MB/s Flow A 1 MB/s 1 s 2 s 3 s 4 s time § Flow A : r = 1 MB/s, b = 1 B § Flow B : r = 1 MB/s, b = 1 MB § during 2 s, the flow saves 2 s at 0.5 MB/s = 1 MB 24 Scheduling strategies packets transmission queue § Scheduler § defines the order of packet transmission § Allocation strategy § throughput § which packet to choose for transmission § when chosen, packet benefits from a given throughput § buffers § which packet to drop, when no buffers 25 FIFO § Current state of Internet routers § Allows to share bandwidth § proportionally to the offered load § No isolation § elastic flows (rate controlled by the source eg. TCP) may suffer from other flows § a greedy UDP flow may obtain an important part of the capacity § real time flows may suffer from long delays § Last packets are dropped - tail drop § TCP adapt bandwidth based on losses § RED (Random Early Detection) techniques § choose a packet randomly before congestion and drop it 26 Priority Queue § Several queues of different priority § source may mark paquets with priority § eg. ToS field of IP § packets of the same priority served FIFO § non-preemptive § Problems § starvation - high priority source prevents less priority sources from transmitting § TOS field in IP - 3 bits of priority § how to avoid everybody sending high priority packets? 27 Class Based Queueing (CBQ) Class 1 Class 2 Class 3 § Also called Custom Queueing (CISCO) § Each queue serviced in round-robin order § Dequeue a configured byte count from each queue in each cycle § Each class obtains a configured proportion of link capacity 28 Characteristics § Limited number of queues (CISCO - 16) § Link sharing for Classes of Service (CoS) § based on protocols, addresses, ports § Method for service differentiation § assign different proportions of capacity to different classes § not so drastic as Priority Queueing § Avoids starvation 29 Per Flow Round Robin flow 1 flow 2 flow 3 § Similar to Processor Sharing or Time Sharing § one queue per flow § cyclic service, one packet at a time 30 Characteristics § It modifies the optimal strategy of sources § FIFO: be greedy - send as much as possible § RR: use your part the best § a greedy source will experience high delays and losses § Isolation § good sources protected from bad ones § Problems § flows sending large packets get more § cost of flow classification 31 Fair Queueing flow 1 flow 2 flow 3 time § Round robin "bit per bit" § each packet marked with the transmission instant of the last bit § served in the order of the instants § allocates rates according to local max-min fairness 32 Weighted Fair Queueing § Fair queueing § equal parts : 1/n § Weighted fair queueing § each flow may send different number of bits § Example - weights wi flow 1 flow 2 flow 3 1/3 1/6 1/2 ri = C wi , C: link capacity 33 Rate guarantee § Weights expressed as proportions (wi - guaranteed weight) § If no packets of a given flow, unused capacity shared equally by other flows ri >= C wi § Weights to guarantee a given rate wi = ri / C 34 Delay guarantee § Flow constrained by a token bucket § rate r, buffer of b § delay limited by b/r § If r ≤ ri (the rate obtained is sufficient for the flow) § delay limited by b/ri § total delay limited by the sum of all delays 35 Policing Mechanisms (more) ❒ Delaytoken bucket, guarantee WFQ combine to provide guaranteed upper bound on delay, i.e., QoS guarantee! arriving token rate, r traffic bucket size, b per-flow rate, R WFQ D = b/R max 7: Multimedia Networking 7-83 36 Deficit Round-Robin (DRR) § A quantum of bits to serve from each connection in order § Each queue: deficit counter (dc) (to store credits) with initial value zero § Scheduler visits each non-empty queue, compares the packet at the head to dc and tries to serve one quantum of data § if size ≤ (quantum + dc) § send and save excess in dc: dc ß quantum + dc – size, § otherwise save entire quantum: dc += quantum § if no packet to send, reset dc § Easier implementation than other fair policies § O(1) 37 Deficit Round-Robin § DRR can handle variable packet size Quantum size : 1000 bytes § 1st Round § A’s dc : 1000 2000 1000 0 § B’s dc : 200 (served twice) 1500 A § C’s dc : 1000 § 2nd Round 500 300 B § A’s dc : 500 (served) § B’s dc : 0 1200 C § C’s dc : 800 (served) Second First Head of Round Round Queue 38 DRR: performance § Handles variable length packets fairly § If weights are assigned to the queues, then the quantum

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    89 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us