QoS Issues in Heterogeneous IP Networks Lecture 2 of 4: QoS technologies 1 Wendong WANG Broadband Network Research Center (BNRC) State Key Laboratory of Networking and Switching Technology School of Computer Science & Technology Beijing University of Posts and Telecommunications September 2006
Contents Overview Course introduction QoS background QoS Concept QoS Standards QoS Technologies QoS in heterogeneous IP Networks 2
QoS Technologies (1) 3
Agenda QoS Technologies (1) IntServ Model Services Principles DiffServ Model Services Basic principle (Parts) 4
Architecture IP QoS Solutions IntServ (Integrated Services) DiffServ (Differentiated Services) Mechanisms Resource management:queuing, Scheduling Service control: Admission control QoS routing Each Architecture may use some of QoS mechanisms 5
Integrated Services 6
Integrated Services An extension of current Internet Architecture and protocols to meet the growing need for real-time service Provides an absolute End to End QoS guarantee based on per flow Supports a traffic class for real time services requirements Resources reservation & admission control 7
IETF IntServ RFCs IntServ/RSVP proposed by MIT in 1993. IETF setup IntServ working Group since then. IntServ RFCs: IntServ: RFC1633 - IntServ Architecture, 1994.6 RSVP: RFC2205 (Function Spec. 1997.9) RFC2210 (RSVP with IntServ 1997.9) Services: RFC2211 (Controlled-load Service,1997.9), RFC2212 (Guaranteed Service,1997.9) 8
Features of IntServ Per flow based Call setup signalling Admission control Resources Reservation Traffic classes: Best Effort Service Controlled-load Service Guaranteed Service 9
IntServ model IETF RFC 2205 10
Definitions in IntServ Flow The abstraction of a distinguishable stream of related datagrams from a single user. Those datagrams from a single user and with the same QoS requirements, could be from one source to one or more destinations. Flow is defined in simplex mode. T-spec Specifications of the traffic characteristics of the sender. Described by token bucket with bucket depth b and bucket rate r R-spec Specification of the desired service of the receiver. Described by receive rate R and slack term S 11
File Edit Locate View Help 500 400 300 200 Network Traffic 100 0 Help 1 2 3 4 5 6 7 E D C B A File Edit Locate View Help 500 400 300 200 Network Traffic 100 0 Help 1 2 3 4 5 6 7 E D C B A Controlled-load load Service Controlled-load Service: Defined in RFC 2211 Aims at the service with a QoS closely approximating QoS that service would receive from an unloaded network element. Provides delay and bandwidth guarantee. Need user traffic spec. & bandwidth. Requires admission control. IP network 12
File Edit Locate View Help 500 400 300 200 Network Traffic 100 0 Help 1 2 3 4 5 6 7 E D C B A File Edit Locate View Help 500 400 300 200 Network Traffic 100 0 Help 1 2 3 4 5 6 7 E D C B A Guaranteed Service Guaranteed Service: Defined in RFC 2212 Aims at real-time services Provides firm bounds on delay and bandwidth Need user traffic spec. & service requirement spec. Requires signaling and admission control IP network 13
Components of IntServ Classifier Mapping the traffic class according to contents of IP heads or others defined rules,packets in same class get the same treatment from the packet scheduler. Packet Scheduler Using different packets forwarding strategies to provide different required QoS characteristics in output link. Admission Control Implementing the decision algorithm to determine whether a new flow can be granted the requested QoS without impacting earlier guarantees Reservation setup protocol Creating and maintaining a flow-specific state between source and destination along the path of a flow. 14
Admission control Call Admission: Network elements will admit services according to their T-spec and R-spec contents and then compared with the current available resource except of that allocated to other services. 15
Token bucket The bucket holds tokens instead of input IP packets Tokens are generated and placed into the token bucket at a rate r The token bucket holds a number of tokens b When a packet arrives at the token bucket, it is forwarded to output if there is a available token. Otherwise it is buffered until a token becomes available. r means the average rate of output IP packets, b means max bursting of output IP packets 16
Reservation Setup Protocol - RSVP Resource ReSerVation Protocol (RFC 2205) Internet signaling protocol used for QoS negotiations Compatible with current Internet architecture and routing protocols Transfer QoS states of traffic flow to router or host in order to process the negotiation of resources reservation. 17
RSVP Attributes (1) RSVP makes resource reservations for both unicast and many-to-many multicast applications, adapting dynamically to changing group membership as well as to changing routes. RSVP is simplex, i.e., it makes reservations for unidirectional data flows. RSVP is receiver-oriented, i.e., the receiver of a data flow initiates and maintains the resource reservation used for that flow. RSVP maintains "soft" state in routers and hosts, providing graceful support for dynamic membership changes and automatic adaptation to routing changes. 18 RFC 2205
RSVP Attributes (2) RSVP is not a routing protocol but depends upon present and future routing protocols. RSVP transports and maintains traffic control and policy control parameters that are opaque to RSVP. RSVP provides several reservation models or "styles" to fit a variety of applications. RSVP provides transparent operation through routers that do not support it. RSVP supports both IPv4 and IPv6. RFC 2205 19
Basic RSVP Message Types (1) PATH:path setup Contains traffic characteristics of sender (T-spec) Router modifies contents of PATH message according to its QoS capability, and recorded the address of previous hop RESV:resource reservation Reversed forwarding message along the route of corresponding PATH message Contains flowspec and required QoS in order to configure the Queuing and Scheduling strategies in router. Contains filterspec in order to define which traffic flow could obtain the QoS guarantee described in flowspec 20
Basic RSVP Message Types (2) CONFIRMATION: Confirm the resources reservation request Upon the request of RESV TEARDOWN:release the reserved links or states PathTear: release the resources along the route of date flow ResvTear: release the resources reversed the route of data flow ERROR: error info PathErr: PATH fails ResvErr: RESV fails 21
RSVP resource reservation procedures PATH(1) IntServ Network PATH(2) RESV(5) PATH(3) RESV(4) Receiver 1 PATH(3) Sender RESV(4/6) PATH(2) RESV(4) RESV(3) Receiver 2 Receiver 3 22
Reservation Styles of RSVP Fixed-Filter: An explicit sender has distinct resources reservation. Specified sender has the reserved resources exclusively. Shared Explicit: Explicit senders have the shared resources reservation. Specified senders have the sharable reserved resources. Wildcard-Filter: Wildcard senders have the shared resources reservation. All senders have the sharable reserved resources. 23
IntServ/RSVP Services example Property Best Effort Service Controlled Load Services Applications Best effort Delay tolerant Real time Guaranteed Service Control Method None Token Bucket Token Bucket and WFQ End-to-end behaviour References RFC2205 - RFC2210 Best effort Best effort over unloaded network RFC2212 Spec of Controlled-Load Network Element Service Bounded delay RFC2211 Spec of Guaranteed QoS 24
Pros. IntServ pros. & cons. Provide multi services classes E2E QoS guarantee based per flow Support multicast services Cons. Scalability Complexity Connection-oriented QoS could not be used for all IP applications Charging mechanisms Conclusion:IntServ could be used at edge network or enterprise local area networks (LAN) 25
Differentiated Services 26
Differentiated Service An extension of current Internet Architecture and protocols to meet the growing need for multiservices requirements Services differentiated at DS boundary node and forwarded at DS interior node Provides relative Edge to Edge QoS guarantee based on traffic aggregate Supports multiple Per-Hop-Behavior for different services requirements 27
IETF DiffServ RFCs Diffserv was proposed by K. Nichols in 1997, IETF setup DiffServ working group in 1998 DiffServ RFCs RFC 2474,2475(Diffserv Architecture) RFC 2597,2598/3246(PHB definition) RFC 2697,2698 (Marker algorithms) 28
Features of DiffServ Accommodate a wide variety of services and provisioning policies Decouple the services from the particular applications Without hop-by-hop application signaling and permicroflow or per-customer state within core network nodes Small set of forwarding behaviors with implementation complexity at DS boundary Forwarding behaviors with implementation simplicity at DS interior node Compatible with current network and applications With the scalability consideration 29
DiffServ model IP flow Edge router Backbone Core router Core router Edge router Tspc Tspc DS classifier Queue scheduler Multi-byte classifier Meter Maker Policer 30
DiffServ Architecture Single Domain DiffServ Code Point (DSCP) Service Level Specification (SLS) Per Hop Behavior (PHB) User DiffServ Boundary Node Class 1 Class 2 DiffServ Interior Node Class 1 Class 2 DiffServ Interior Node DS Domain 31
DiffServ Architecture Multi-Domain 32
Definitions in DiffServ Service Level Agreement (SLA): a service contract between a customer and a service provider that specifies the forwarding service a customer should receive. Service Level Specification (SLS): a set of parameters and their values which together define the service offered to a traffic. A SLS is a technical part of SLA Traffic Conditioning Agreement (TCA): an agreement specifying classifier rules and any corresponding traffic profiles and metering, marking, discarding and/or shaping rules which are to apply to the traffic streams selected by the classifier. Traffic Conditioning Specification (TCS): a set of parameters with assigned values that unambiguously specify a set of classifier rules and a traffic profile. A TCS is a technical part of TCA DS Behavior Aggregate (BA): a collection of packets with the same DS codepoint crossing a link in a particular direction. 33
SLA/SLS vs TCA/TCS User and Service providers sign service contract with the SLA/SLS SLA/SLS IP Service Provider Service provider maps SLA/SLS to TCA/TCS When network is congested, TCA/TCS is the rules for traffic conditioning of services SLS and TCS are used in DiffServ Network. 34
DiffServ Code Point(DSCP DSCP) 0 56 7 D S C P C U DSCP: A specific value of the DSCP portion of the DS field. Recommended codepoints should map to specific and standardized PHBs. Multiple codepoints may map to the same PHB. Use ToS octet in IPv4 Header or Traffic Class octet in IPv6 DSCP: 6 bit, could provide 64 PHBs CU:currently unused 35
Per Hop Behavior (PHB) Different PHB has the different forwarding performance behavior. PHB dose not define its forwarding performance behavior corresponding to any process mechanism. But default and undefined PHB must have best effort forwarding behavior PHB could be set-in PHB Group, A PHB group provides a service building block that allows a set of related forwarding behaviors to be specified together Pool Codepoint space Assignment policy 1 xxxxx0 Standard action 2 xxxx11 EXP/LU 3 xxxx01 EXP/LU* *EXP/LU---Experimental / local Use 36
Per-Hop Hop-Behavior Definitions Differentiated Services Default PHB Expedited Forwarding PHB Assured Forwarding PHB Class Selector PHB Best Effort Low latency Low Jitter Low loss Assured Bandwidth with four independently forwarded classes Three different packets drop precedence Levels in each classes Compatible with IPv4 ToS IP Precedence bits 37
Expedited Forwarding (EF) PHB Defined in RFC2598/RFC3246 Aims at to provide low loss, low latency, low jitter, assured bandwidth, end-to-end service. Also be described as Premium service. Guarantees a minimum service rate Arrival rate should not exceed departure rate at DS node. Isolated with other PHBs Codepoint: 101 110 Example: Virtual leased line 38
Assured Forwarding (AF) PHB Defined in RFC2597 Aims at to provide multi-services with relative different performance Behaviors. AF PHBs compose AF PHB group AF PHB group provides forwarding of IP packets in N independent AF classes. Within each AF class, an IP packet is assigned one of M different levels of drop precedence. An IP packet that belongs to an AF class i and has drop precedence j is marked with the AF codepoint AFij (N=4,M=3) Example: Platinum, Gold,Silver, Bronze 39
Assured Forwarding (AF) PHB Codepoint: Drop Precedence AF1 AF2 AF3 AF4 Low 001010 010010 011010 100010 Medium 001100 010100 011100 100100 High 001110 010110 011110 100110 Example Class 1 Class 2 Class 3 Class 4 Operator 1 Operator 2 Video Budget users Voice Expert residential Interactive Business Others (BE) Premium 40
Class Selector (CS) PHB Defined in RFC2474 Aims at to preserve partial backwards compatibility with current usage of the IP Precedence bits in ToS field of IPv4 header and keep future flexibility Class Selector Codepoint with a larger numerical value has a higher relative order than a Class Selector Codepoint with a smaller numerical value. The set of PHBs mapped to by the eight Class Selector Codepoints must yield at least two independently forwarded traffic classes. Codepoint: xxx000 (not include 000000) 41
DSCP vs PHB PHB DSCP PHB DSCP PHB DSCP DE 000000 AF11 001010 AF31 011010 EF 101110 AF12 001100 AF32 011100 AF13 001110 AF33 011110 AF21 010010 AF41 100010 AF22 010100 AF42 100100 AF23 010110 AF43 100110 42
DiffServ Interior Node Extract PHB info from aggregated IP Packet flows. Simple Packets treatment (forwarding) based on the aggregated flows according to PHB. Local Conditioning if necessary. No need to maintain the state of flows. 43
DiffServ Interior Node (2) DiffServ Interior Node Select PHB PHB PHB PHB PHB Local conditions Extract DSCP Packet treatment 44
DiffServ boundary Node Classification: classify the input packets according to defined classification rules. Metering: meter the input packets according to SLS/TCS Marking: mark the input packets according to metering results. Policing: forward or discard or delay or re-mark the packets. 45
DiffServ boundary Node (2) DS Boundary Node:Traffic classification metering marking and policing functions DiffServ Edge Router Classifier Meter Marker Policer 46
Components of DiffServ Classifier Meter Marker Shaper Droper Policer Traffic conditioner 47
Pros. DiffServ pro. & con. Provide PHBs for multi services Flexible service models scalability and compatibility Easier to implement Without separate signalling Chargeable 48
DiffServ pro. & con. (2) Cons. No flow based e2e QoS guarantee Difficult to support Multicast Need SLA/SLS negotiation between DS Domains Difficult to support Dynamic traffic Need every hop to support DiffServ 49
IntServ vs DiffServ IntServ Absolute QoS guarantee Per flow based Need signalling Higher complexity Lower scalability Connection-oriented QoS Support multicast 50 DiffServ Relative QoS guarantee aggregated flows based No separated signalling Lower complexity in core, higher complexity in edge Higher scalability Packet-oriented QoS
Summary IntServ and DiffServ both proposed by IETF are two network model with QoS capabilities IntServ aims at to support realtime services DiffServ aims at to provide multi relative different services as well as realtime services IntServ based on per flow while DiffServ based on aggregated flows IntServ is suitable for LAN while DiffServ is suitable for WAN 51
References Books: Zheng Wang, Internet QoS: Architectures and Mechanisms for Quality of Service, Morgan Kaufmann Publishers, 2001, ISBN:1-55860-608-4 Kun II Park, QoS In Packet Networks, Springer, 2004, ISBN:0-387- 23389-x RFCs: IntServ: Architecture: RFC1633 Signalling (RSVP): RFC2205, RFC2210 Services:RFC2211, RFC2212 DiffServ: Architecture: RFC2474, RFC2475 PHB definitions: RFC2597, RFC2598, RFC3246 52