Differentiated Services Tarik Cicic University of Oslo December 2001 Overview • • • • • • Motivation for Differentiated Services DiffServ model, concept of Class of Service Components: ingress/egress nodes etc. Functionality Per Hop Behavior (PHB) A critical view of DiffServ 2 Motivation for DiffServ • ATM has never become widespread technology • IntServ with RSVP does not scale due to signaling and per-flow state overhead • a solution providing different network services for different traffic classes is a more modest but also more realistic aim 3 1 Simple example • We need to transport real time data (e.g. video) and traditional best-effort services in the same network • define two service classes • treat them differently: best-effort can wait, forward real time data ASAP 4 DiffServ Model • Define a small number of service classes • at border routers, mark packets as belonging to one of the defined classes (using policy checking, “complex lookups”) • inside the domain, core routers forward the packets based on the class they belong to (“simple lookups” only) 5 Architecture Foundations • Edge routers: Multi-byte classifier Policer Packet Marker Queue manager/scheduler • Core routers: DS-byte classifier Queue manager/scheduler • Edge routers are ingress or egress, depending on the flow direction 6 2 Code Point • Packet marker in ingress routers assigns a Differentiated Services Code Point (DSCP) to each packet • DSCP is used to classify the traffic in core routers • IPv4 DSCP: 8-bit TOS field: 0 1 2 3 4 5 DSCP 6 7 CU 7 DiffServ Network Example • 1-4 border (edge) routers: examine incoming packets, mark service class bits in each packet • 5-7 internal (core) routers: forward packets according to the class 4 • signalized by 1 5 7 • the DSCP bits 6 3 2 8 DiffServ forwarding S1 ER1 DiffServ Cloud C5 C6 S2 ER4 R2 C7 ER3 R1 ER2 9 3 DiffServ forwarding €$ | 0000 | S1 | R1 S1 αβ | 0000 | S2 | R2 S2 ER4 DiffServ Cloud C5 ER1 R2 C7 C6 R1 ER3 ER2 10 Edge router forwarding S1 || R1 R1 €$ | 0000 | S1 €$ | 0000 1111 | S1 | R1 Scheduler Packet marker Policer Multibyte classifier Policies: S1/R1 Best S1/* Good S5/* Deny €$ | 1111 | S1 | R1 ER1 11 DiffServ forwarding €$ | 1111 | S1 | R1 €$ | 1111 | S1 | R1 S1 ER1 DiffServ Cloud C5 ER4 R2 C7 αβ | 1001 | S2 | R2 C6 αβ | 1001 | S2 | R2 S2 ER3 R1 ER2 12 4 Core router forwarding 1111 | S1 | R1 €$ | 1111 €$ | 1111 | S1 | R1 Scheduler DS-byte classifier C7 13 DiffServ forwarding €$ | 1111 | S1 | R1 S1 ER1 DiffServ Cloud C5 ER4 C7 C6 αβ | 1001 | S2 | R2 S2 R2 αβ | 1001 | S2 | R2 €$ | 1111 | S1 | R1 ER3 R1 ER2 14 Queuing Schemes (1/4) • FIFO queuing – from a Differentiated Services viewpoint FIFO is not applicable since it does not support quality differentiation • Priority queuing – priority queuing overcomes the shortcomings of FIFOs by having multiple queues relative various delay classes – it is straightforward to estimate the latency of the higher class, but it is difficult to declare much about the delay of the lower priority classes, because that issue depends crucially on the traffic load and variations of the higher class – difficult to provide delay guarantees 15 5 Queuing Schemes (2/4) • • • • Weights for Controlling Delays Although the incoming packet stream in an interior node is largely uncontrollable, the outgoing of each service class (queue) can be rigorously controlled For example each PHB class i gets a proportion w(i) of the whole link capacity when every queue is non-empty The challenge is to set perfect weights - another drawback is increased problems related to packet losses R12 B1 R11 W1 C R21 R22 B2 W2 Discarded packets 16 Queuing Schemes (3/4) • Weighted Fair Queuing (WFQ) (per-flow) • The idea behind WFQ is to compute the time a packet would need complete a service if a General Process Sharing (GPS) had been used to to service the packets and then service the packet according to these finishing times • GPS is a theoretical scheduling discipline that shares the bandwidth exactly in proportion to the weight of the connections • Three facts make WFQ not appropriate for DiffServ: – It is difficult to utilize WFQ without per-flow queuing – WFQ systems need to know the weight of each flow, and if the requirement changes, a signaling is needed to transmit relevant information – WFQ requires quite a hard computational effort 17 Queuing Schemes (4/4) Target for quality differentiation of CBQ • • • • • • variation Class-Based-Queuing (CBQ) Delay pr node (ms) “Per-class WFQ” 1 The idea is that a group of users should not utilize the whole capacity even though the application they are using needs high quality The importance of a packet depends on the aggregate load level of the 10 class It is not possible to state that the packet-loss ratio in Class 1 is always lower than in Class 2 (without Class 3 additional traffic controlling mechanisms) 100 1 Feasible to realize: higher price => better quality and more bandwidth 18 Class 1 Class 2 10-4 10-8 Packet loss ratio 6 SLA/TCA Agreements • At “usage” and “network” level: 1. Service-level-agreement (SLA): A contract that specifies the forwarding service either between customer and a service provider or between two service providers 2. Traffic-conditioning agreement (TCA): Defines the rules used to realize the service, such as metering, marking, and discarding (PHB details) 19 Per-Hop Behavior • DiffServ is more a framework than a detailed standard • Per-Hop Behavior (PHB) represents a set of rules to distinguish and maintain different classes of service • a DiffServ domain should have a single treatment of traffic in each node • not even PHB standards include implementation details! 20 PHB class • A PHB class is a collection of PHBs intended to be applicable for transmitting packets for one application • Technically the service provider is allowed to remark packets within a class, but not from one class to another • An example: – For handling best-effort traffic one could define a PHB class consisting of two different PHBs: • “PHB high importance” with low packet loss ratio • “PHB low importance” available bitrate 21 7 Expedited Forwarding PHB • ”Low loss, low latency, low jitter, assured bandwidth end-to-end service through DS domain” (RFC2598) • Departure traffic rate at any transit node must be less or equal to arrival traffic rate • Tight traffic control in edge routers! • ”Premium service” – well suited for multimedia • Single DSCP (code point):101110 in IPv4 22 Assured Forwarding PHB • Several (4) independent forwarding classes, with several (3) drop precedence each • each of the (four) classes has separate buffer space and allocated bandwidth • drop precedence example: MPEG • otherwise just few constraints: AF presents an open platform for DiffServ implementation • DSCP: xxxyy0 (xxx = class, yy = precedence) 23 Typical DS Node Organization FIFO EF Handler Priority dropping Priority Queuing AF1 Handler Classifier AF2 Handler Scheduler AF3 Handler AF4 Handler Best Effort FIFO Weighted Fair Queuing 24 8 Analyze of the DiffServ model • DiffServ does not provide QoS guarantees • flows belonging to a same CoS will still compete about the resources • different CoS can still compete for the resources (depending on the PHB) • the network provider can only claim that “Statistically seen, if the customer sends no more data than agreed, 99.8% of the packets will be forwarded.” 25 Admission and policy control • Both IntServ and DiffServ need to perform the admission and policy control • Management issues: – – – – – number of objects (network size, scalability) distributed or centralized inter-domain issues, end-to-end edge-to-edge (intra-domain) control loop vs. provisioning (adding more resources) 26 RSVP Admission/Policy Control • RSVP needs help to determine which reservation requests can be satisfied: – are the resources sufficient? (admission control) – does the caller have administrative permission? (policy control) • admission control: – is there sufficient buffer space and processing power to meet given QoS requirements? – QoS vector comparison problem 27 9 Management Technologies • Centralized: Simple Network Management Protocol (SNMP) • Policy-based: – SNMP extensions – Common Open Policy Service (COPS) • Active technologies (research area; distributed systems and network intelligence) 28 Centralized vs. Distributed Standard Management by Delegation Policy Decision Point ve n et w ork in g Network nodes Ac ti 29 COPS • Policy control: Who should be allowed to make a reservation? • payment, criminal record etc. • COPS (Common Open Policy Service) protocol Network node COPS PEP PDP LDP IntServ network 30 PEP: Policy Enforcement Point PDP: Policy Decision Point LDP: Local Decision Point 10 IntServ vs. DiffServ Decision making Setup IntServ DiffServ Per flow (individual) Per class (group) Per flow signaling Administrative Communicatio Large n overhead State in routers Large Moderate / little Moderate / no Yes No (Best effort QoS within the class) guarantees No Replication of E.g. classification 31 functionality 11