Request for Comments: 3644 Y. Ramberg
Category: Standards Track Cisco Systems
J. Strassner
Intelliden
R. Cohen
Ntear LLC
B. Moore
IBM
November 2003
Policy Quality of Service (QoS) Information Model
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
This document presents an object-oriented information model for
representing Quality of Service (QoS) network management policies.
This document is based on the IETF Policy Core Information Model and
its extensions. It defines an information model for QoS enforcement
for differentiated and integrated services using policy. It is
important to note that this document defines an information model,
which by definition is independent of any particular data storage
mechanism and access protocol.
Table of Contents
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. The Process of QoS Policy Definition. . . . . . . . . . 5
1.2. Design Goals and Their Ramifications. . . . . . . . . . 8
1.2.1. Policy-Definition Oriented. . . . . . . . . . . 8
1.2.1.1. Rule-based Modeling . . . . . . . . . 9
1.2.1.2. Organize Information Hierarchically . 9
1.2.1.3. Goal-Oriented Policy Definition . . . 10
1.2.2. Policy Domain Model. . . . . . . . . . . . . . . 11
1.2.2.1. Model QoS Policy in a Device- and
Vendor-Independent Manner . . . . . . 11
1.2.2.2. Use Roles for Mapping Policy to
Network Devices . . . . . . . . . . . 11
1.2.2.3. Reusability . . . . . . . . . . . . . 12
1.2.3. Enforceable Policy. . . . . . . . . . . . . . . 12
1.2.4. QPIM Covers Both Signaled And Provisioned QoS . 14
1.2.5. Interoperability for PDPs and Management
Applications. . . . . . . . . . . . . . . . . . 14
1.3. Modeling Abstract QoS Policies. . . . . . . . . . . . . 15
1.4. Rule Hierarchy. . . . . . . . . . . . . . . . . . . . . 17
1.4.1. Use of Hierarchy Within Bandwidth Allocation
Policies. . . . . . . . . . . . . . . . . . . . 17
1.4.2. Use of Rule Hierarchy to Describe Drop
Threshold Policies. . . . . . . . . . . . . . . 21
1.4.3. Restrictions of the Use of Hierarchy Within
QPIM. . . . . . . . . . . . . . . . . . . . . . 22
1.5. Intended Audiences. . . . . . . . . . . . . . . . . . . 23
2. Class Hierarchies . . . . . . . . . . . . . . . . . . . . . . 23
2.1. Inheritance Hierarchy . . . . . . . . . . . . . . . . . 23
2.2. Relationship Hierarchy. . . . . . . . . . . . . . . . . 26
3. QoS Actions . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1. Overview. . . . . . . . . . . . . . . . . . . . . . . . 26
3.2. RSVP Policy Actions . . . . . . . . . . . . . . . . . . 27
3.2.1. Example: Controlling COPS Stateless Decision. . 28
3.2.2. Example: Controlling the COPS Replace Decision. 29
3.3. Provisioning Policy Actions . . . . . . . . . . . . . . 29
3.3.1. Admission Actions: Controlling Policers and
Shapers . . . . . . . . . . . . . . . . . . . . 29
3.3.2. Controlling Markers . . . . . . . . . . . . . . 32
3.3.3. Controlling Edge Policies - Examples. . . . . . 33
3.4. Per-Hop Behavior Actions. . . . . . . . . . . . . . . . 34
3.4.1. Controlling Bandwidth and Delay . . . . . . . . 35
3.4.2. Congestion Control Actions. . . . . . . . . . . 35
3.4.3. Using Hierarchical Policies: Examples for PHB
Actions . . . . . . . . . . . . . . . . . . . . 36
4. Traffic Profiles. . . . . . . . . . . . . . . . . . . . . . . 38
4.1. Provisioning Traffic Profiles . . . . . . . . . . . . . 38
4.2. RSVP Traffic Profiles . . . . . . . . . . . . . . . . . 39
5. Pre-Defined QoS-Related Variables . . . . . . . . . . . . . . 40
6. QoS Related Values. . . . . . . . . . . . . . . . . . . . . . 42
7. Class Definitions: Association Hierarchy. . . . . . . . . . . 44
7.1. The Association "QoSPolicyTrfcProfInAdmissionAction". . 44
7.1.1. The Reference "Antecedent". . . . . . . . . . . 44
7.1.2. The Reference "Dependent" . . . . . . . . . . . 44
7.2. The Association "PolicyConformAction" . . . . . . . . . 44
7.2.1. The Reference "Antecedent". . . . . . . . . . . 45
7.2.2. The Reference "Dependent" . . . . . . . . . . . 45
7.3. The Association "QoSPolicyExceedAction" . . . . . . . . 45
7.3.1. The Reference "Antecedent". . . . . . . . . . . 46
7.3.2. The Reference "Dependent" . . . . . . . . . . . 46
7.4. The Association "PolicyViolateAction" . . . . . . . . . 46
7.4.1. The Reference "Antecedent". . . . . . . . . . . 46
7.4.2. The Reference "Dependent" . . . . . . . . . . . 47
7.5 The Aggregation
"QoSPolicyRSVPVariableInRSVPSimplePolicyAction" . . . . 47
7.5.1. The Reference "GroupComponent". . . . . . . . . 47
7.5.2. The Reference "PartComponent" . . . . . . . . . 47
8. Class Definitions: Inheritance Hierarchy. . . . . . . . . . . 48
8.1. The Class QoSPolicyDiscardAction. . . . . . . . . . . . 48
8.2. The Class QoSPolicyAdmissionAction. . . . . . . . . . . 48
8.2.1. The Property qpAdmissionScope . . . . . . . . . 48
8.3. The Class QoSPolicyPoliceAction . . . . . . . . . . . . 49
8.4. The Class QoSPolicyShapeAction. . . . . . . . . . . . . 49
8.5. The Class QoSPolicyRSVPAdmissionAction. . . . . . . . . 50
8.5.1. The Property qpRSVPWarnOnly . . . . . . . . . . 50
8.5.2. The Property qpRSVPMaxSessions. . . . . . . . . 51
8.6. The Class QoSPolicyPHBAction. . . . . . . . . . . . . . 51
8.6.1. The Property qpMaxPacketSize. . . . . . . . . . 51
8.7. The Class QoSPolicyBandwidthAction. . . . . . . . . . . 52
8.7.1. The Property qpForwardingPriority . . . . . . . 52
8.7.2. The Property qpBandwidthUnits . . . . . . . . . 52
8.7.3. The Property qpMinBandwidth . . . . . . . . . . 53
8.7.4. The Property qpMaxBandwidth . . . . . . . . . . 53
8.7.5. The Property qpMaxDelay . . . . . . . . . . . . 53
8.7.6. The Property qpMaxJitter. . . . . . . . . . . . 53
8.7.7. The Property qpFairness . . . . . . . . . . . . 54
8.8. The Class QoSPolicyCongestionControlAction. . . . . . . 54
8.8.1. The Property qpQueueSizeUnits . . . . . . . . . 54
8.8.2. The Property qpQueueSize. . . . . . . . . . . . 55
8.8.3. The Property qpDropMethod . . . . . . . . . . . 55
8.8.4. The Property qpDropThresholdUnits . . . . . . . 55
8.8.5. The Property qpDropMinThresholdValue. . . . . . 55
8.8.6. The Property qpDropMaxThresholdValue. . . . . . 56
8.9. The Class QoSPolicyTrfcProf . . . . . . . . . . . . . . 56
8.10. The Class QoSPolicyTokenBucketTrfcProf. . . . . . . . . 57
8.10.1. The Property qpTBRate . . . . . . . . . . . . . 57
8.10.2. The Property qpTBNormalBurst. . . . . . . . . . 57
8.10.3. The Property qpTBExcessBurst. . . . . . . . . . 57
8.11. The Class QoSPolicyIntServTrfcProf. . . . . . . . . . . 57
8.11.1. The Property qpISTokenRate. . . . . . . . . . . 58
8.11.2. The Property qpISPeakRate . . . . . . . . . . . 58
8.11.3. The Property qpISBucketSize . . . . . . . . . . 58
8.11.4. The Property qpISResvRate . . . . . . . . . . . 58
8.11.5. The Property qpISResvSlack. . . . . . . . . . . 59
8.11.6. The Property qpISMinPolicedUnit . . . . . . . . 59
8.11.7. The Property qpISMaxPktSize . . . . . . . . . . 59
8.12. The Class QoSPolicyAttributeValue . . . . . . . . . . . 59
8.12.1. The Property qpAttributeName. . . . . . . . . . 60
8.12.2. The Property qpAttributeValueList . . . . . . . 60
8.13. The Class QoSPolicyRSVPVariable . . . . . . . . . . . . 60
8.14. The Class QoSPolicyRSVPSourceIPv4Variable . . . . . . . 61
8.15. The Class QoSPolicyRSVPDestinationIPv4Variable. . . . . 61
8.16. The Class QoSPolicyRSVPSourceIPv6Variable . . . . . . . 62
8.17. The Class QoSPolicyRSVPDestinationIPv6Variable. . . . . 62
8.18. The Class QoSPolicyRSVPSourcePortVariable . . . . . . . 62
8.19. The Class QoSPolicyRSVPDestinationPortVariable. . . . . 63
8.20. The Class QoSPolicyRSVPIPProtocolVariable . . . . . . . 63
8.21. The Class QoSPolicyRSVPIPVersionVariable. . . . . . . . 63
8.22. The Class QoSPolicyRSVPDCLASSVariable . . . . . . . . . 64
8.23. The Class QoSPolicyRSVPStyleVariable. . . . . . . . . . 64
8.24. The Class QoSPolicyRSVPIntServVariable. . . . . . . . . 65
8.25. The Class QoSPolicyRSVPMessageTypeVariable. . . . . . . 65
8.26. The Class QoSPolicyRSVPPreemptionPriorityVariable . . . 65
8.27. The Class QoSPolicyRSVPPreemptionDefPriorityVariable. . 66
8.28. The Class QoSPolicyRSVPUserVariable . . . . . . . . . . 66
8.29. The Class QoSPolicyRSVPApplicationVariable. . . . . . . 66
8.30. The Class QoSPolicyRSVPAuthMethodVariable . . . . . . . 67
8.31. The Class QosPolicyDNValue. . . . . . . . . . . . . . . 67
8.31.1. The Property qpDNList . . . . . . . . . . . . . 68
8.32. The Class QoSPolicyRSVPSimpleAction . . . . . . . . . . 68
8.32.1. The Property qpRSVPActionType . . . . . . . . . 68
9. Intellectual Property Rights Statement. . . . . . . . . . . . 69
10. Acknowledgements. . . . . . . . . . . . . . . . . . . . . . . 69
11. Security Considerations . . . . . . . . . . . . . . . . . . . 69
12. References. . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.1. Normative References . . . . . . . . . . . . . . . . . 70
12.2. Informative References . . . . . . . . . . . . . . . . 70
13. Authors’ Addresses. . . . . . . . . . . . . . . . . . . . . . 72
14. Full Copyright Statement. . . . . . . . . . . . . . . . . . . 73
1. Introduction
The QoS Policy Information Model (QPIM) establishes a standard
framework and constructs for specifying and representing policies
that administer, manage, and control access to network QoS resources.
Such policies will be referred to as "QoS policies" in this document.
The framework consists of a set of classes and relationships that are
organized in an object-oriented information model. It is agnostic of
any specific Policy Decision Point (PDP) or Policy Enforcement Point
(PEP) (see [TERMS] for definitions) implementation, and independent
of any particular QoS implementation mechanism.
QPIM is designed to represent QoS policy information for large-scale
policy domains (the term "policy domain" is defined in [TERMS]). A
primary goal of this information model is to assist human
administrators in their definition of policies to control QoS
resources (as opposed to individual network element configuration).
The process of creating QPIM data instances is fed by business rules,
network topology and QoS methodology (e.g., Differentiated Services).
This document is based on the IETF Policy Core Information Model and
its extensions as specified by [PCIM] and [PCIMe]. QPIM builds upon
these two documents to define an information model for QoS
enforcement for differentiated and integrated services ([DIFFSERV]
and [INTSERV], respectively) using policy. It is important to note
that this document defines an information model, which by definition
is independent of any particular data storage mechanism and access
protocol. This enables various data models (e.g., directory
schemata, relational database schemata, and SNMP MIBs) to be designed
and implemented according to a single uniform model.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119
[KEYWORDS].
1.1. The Process of QoS Policy Definition
This section describes the process of using QPIM for the definition
QoS policy for a policy domain. Figure 1 illustrates information
flow and not the actual procedure, which has several loops and
feedback not depicted.
---------- ---------- -----------
| Business | | Topology | | QoS |
| Policy | | | |Methodology|
---------- ---------- -----------
| | |
| | |
------------------------------------
|
V
---------------
| QPIM/PCIM(e) |
| modeling |
---------------
|
| --------------
|<----------| Device info, |
| | capabilities |
| --------------
V
(---------------)
( device )---)
( configuration ) )---)
(---------------) ) )
(--------------) )
(-------------)
Figure 1: The QoS definition information flow
The process of QoS policy definition is dependent on three types of
information: the topology of the network devices under management,
the particular type of QoS methodology used (e.g., DiffServ) and the
business rules and requirements for specifying service(s) [TERMS]
delivered by the network. Both topology and business rules are
outside the scope of QPIM. However, important facets of both must be
known and understood for correctly specifying the QoS policy.
Typically, the process of QoS policy definition relies on a
methodology based on one or more QoS methodologies. For example, the
DiffServ methodology may be employed in the QoS policy definition
process.
The topology of the network consists of an inventory of the network
elements that make up the network and the set of paths that traffic
may take through the network. For example, a network administrator
may decide to use the DiffServ architectural model [DIFFSERV] and
classify network devices using the roles "boundary" and "core" (see
[TERMS] for a definition of role, and [PCIM] for an explanation of
how they are used in the policy framework). While this is not a
complete topological view of the network, many times it may suffice
for the purpose of QoS policy definition.
Business rules are informal sets of requirements for specifying the
behavior of various types of traffic that may traverse the network.
For example, the administrator may be instructed to implement policy
such that VoIP traffic manifests behavior that is similar to legacy
voice traffic over telephone networks. Note that this business rule
(indirectly) prescribes specific behavior for this traffic type
(VoIP), for example in terms of minimal delay, jitter and loss.
Other traffic types, such as WEB buying transactions, system backup
traffic, video streaming, etc., will express their traffic
conditioning requirements in different terms. Again, this
information is required not by QPIM itself, but by the overall policy
management system that uses QPIM. QPIM is used to help map the
business rules into a form that defines the requirements for
conditioning different types of traffic in the network.
The topology, QoS methodology, and business rules are necessary
prerequisites for defining traffic conditioning. QPIM enables a set
of tools for specifying traffic conditioning policy in a standard
manner. Using a standard QoS policy information model such as QPIM
is needed also because different devices can have markedly different
capabilities. Even the same model of equipment can have different
functionality if the network operating system and software running in
those devices is different. Therefore, a means is required to
specify functionality in a standard way that is independent of the
capabilities of different vendors’ devices. This is the role of
QPIM.
In a typical scenario, the administrator would first determine the
role(s) that each interface of each network element plays in the
overall network topology. These roles define the functions supplied
by a given network element independent of vendor and device type.
The [PCIM] and [PCIMe] documents define the concept of a role. Roles
can be used to identify what parts of the network need which type of
traffic conditioning. For example, network interface cards that are
categorized as "core" interfaces can be assigned the role name
"core-interface". This enables the administrator to design policies
to configure all interfaces having the role "core-interface"
independent of the actual physical devices themselves. QPIM uses