summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3644.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc3644.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc3644.txt')
-rw-r--r--doc/rfc/rfc3644.txt4091
1 files changed, 4091 insertions, 0 deletions
diff --git a/doc/rfc/rfc3644.txt b/doc/rfc/rfc3644.txt
new file mode 100644
index 0000000..424271c
--- /dev/null
+++ b/doc/rfc/rfc3644.txt
@@ -0,0 +1,4091 @@
+
+
+
+
+
+
+Network Working Group Y. Snir
+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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 1]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+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
+
+
+
+Snir, et al. Standards Track [Page 2]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ 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
+
+
+
+Snir, et al. Standards Track [Page 3]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ 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
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 4]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+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.
+
+
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 5]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ ---------- ---------- -----------
+ | 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
+
+
+
+
+Snir, et al. Standards Track [Page 6]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ 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
+ roles to help the administrator map a given set of devices or
+ interfaces to a given set of policy constructs.
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 7]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ The policy constructs define the functionality required to perform
+ the desired traffic conditioning for particular traffic type(s). The
+ functions themselves depend on the particular type of networking
+ technologies chosen. For example, the DiffServ methodology
+ encourages us to aggregate similar types of traffic by assigning to
+ each traffic class a particular per-hop forwarding behavior on each
+ node. RSVP enables bandwidth to be reserved. These two
+ methodologies can be used separately or in conjunction, as defined by
+ the appropriate business policy. QPIM provides specific classes to
+ enable DiffServ and RSVP conditioning to be modeled.
+
+ The QPIM class definitions are used to create instances of various
+ policy constructs such as QoS actions and conditions that may be
+ hierarchically organized in rules and groups (PolicyGroup and
+ PolicyRule as defined in [PCIM] and [PCIMe]). Examples of policy
+ actions are rate limiting, jitter control and bandwidth allocation.
+ Policy conditions are constructs that can select traffic according to
+ a complex Boolean expression.
+
+ A hierarchical organization was chosen for two reasons. First, it
+ best reflects the way humans tend to think about complex policy.
+ Second, it enables policy to be easily mapped onto administrative
+ organizations, as the hierarchical organization of policy mirrors
+ most administrative organizations. It is important to note that the
+ policy definition process described here is done independent of any
+ specific device capabilities and configuration options. The policy
+ definition is completely independent from the details of the
+ implementation and the configuration interface of individual network
+ elements, as well as of the mechanisms that a network element can use
+ to condition traffic.
+
+1.2. Design Goals and Their Ramifications
+
+ This section explains the QPIM design goals and how these goals are
+ addressed in this document. This section also describes the
+ ramifications of the design goals and the design decisions made in
+ developing QPIM.
+
+1.2.1. Policy-Definition Oriented
+
+ The primary design goal of QPIM is to model policies controlling QoS
+ behavior in a way that as closely as possible reflects the way humans
+ tend to think about policy. Therefore, QPIM is designed to address
+ the needs of policy definition and management, and not device/network
+ configuration.
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 8]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ There are several ramifications of this design goal. First, QPIM
+ uses rules to define policies, based on [PCIM] and [PCIMe]. Second,
+ QPIM uses hierarchical organizations of policies and policy
+ information extensively. Third, QPIM does not force the policy
+ writer to specify all implementation details; rather, it assumes that
+ configuration agents (PDPs) interpret the policies and match them to
+ suit the needs of device-specific configurations.
+
+1.2.1.1. Rule-based Modeling
+
+ Policy is best described using rule-based modeling as explained and
+ described in [PCIM] and [PCIMe]. A QoS policy rule is structured as
+ a condition clause and an action clause. The semantics are simple:
+ if the condition clause evaluates to TRUE, then a set of QoS actions
+ (specified in the action clause) can be executed. For example, the
+ rule:
+
+ "WEB traffic should receive at least 50% of the available
+ bandwidth resources or more, when more is available"
+
+ can be formalized as:
+
+ "<If protocol == HTTP> then <minimum BW = 50%>"
+
+ where the first angle bracketed clause is a traffic condition and the
+ second angle bracketed clause is a QoS action.
+
+ This approach differs from data path modeling that describes the
+ mechanisms that operates on the packet flows to achieve the desired
+ effect.
+
+ Note that the approach taken in QPIM specifically did NOT subclass
+ the PolicyRule class. Rather, it uses the SimplePolicyCondition,
+ CompoundPolicyCondition, SimplePolicyAction, and CompoundPolicyAction
+ classes defined in [PCIMe], as well as defining subclasses of the
+ following classes: Policy, PolicyAction, SimplePolicyAction,
+ PolicyImplicitVariable, and PolicyValue. Subclassing the PolicyRule
+ class would have made it more difficult to combine actions and
+ conditions defined within different functional domains [PCIMe] within
+ the same rules.
+
+1.2.1.2. Organize Information Hierarchically
+
+ The organization of the information represented by QPIM is designed
+ to be hierarchical. To do this, QPIM utilizes the PolicySetComponent
+ aggregation [PCIMe] to provide an arbitrarily nested organization of
+ policy information. A policy group functions as a container of
+
+
+
+
+Snir, et al. Standards Track [Page 9]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ policy rules and/or policy groups. A policy rule can also contain
+ policy rules and/or groups, enabling a rule/sub-rule relationship to
+ be realized.
+
+ The hierarchical design decision is based on the realization that it
+ is natural for humans to organize policy rules in groups. Breaking
+ down a complex policy into a set of simple rules is a process that
+ follows the way people tend to think and analyze systems. The
+ complexity of the abstract, business-oriented policy is simplified
+ and made into a hierarchy of simple rules and grouping of simple
+ rules.
+
+ The hierarchical information organization helps to simplify the
+ definition and readability of data instances based on QPIM.
+ Hierarchies can also serve to carry additional semantics for QoS
+ actions in a given context. An example, detailed in section 2.3,
+ demonstrates how hierarchical bandwidth allocation policies can be
+ specified in an intuitive form, without the need to specify complex
+ scheduler structures.
+
+1.2.1.3. Goal-Oriented Policy Definition
+
+ QPIM facilitates goal-oriented QoS policy definition. This means
+ that the process of defining QoS policy is focused on the desired
+ effect of policies, as opposed to the means of implementing the
+ policy on network elements.
+
+ QPIM is intended to define a minimal specification of desired network
+ behavior. It is the role of device-specific configuration agents to
+ interpret policy expressed in a standard way and fill in the
+ necessary configuration details that are required for their
+ particular application. The benefit of using QPIM is that it
+ provides a common lingua franca that each of the device- and/or
+ vendor-specific configuration agents can use. This helps ensure a
+ common interpretation of the general policy as well as aid the
+ administrator in specifying a common policy to be implemented across
+ different devices. This is analogous to the fundamental object-
+ oriented paradigm of separating specification from implementation.
+ Using QPIM, traffic conditioning can be specified in a general manner
+ that can help different implementations satisfy a common goal.
+
+ For example, a valid policy may include only a single rule that
+ specifies that bandwidth should be reserved for a given set of
+ traffic flows. The rule does not need to include any of the various
+ other details that may be needed for implementing a scheduler that
+ supports this bandwidth allocation (e.g., the queue length required).
+ It is assumed that a PDP or the PEPs would fill in these details
+ using (for example) their default queue length settings. The policy
+
+
+
+Snir, et al. Standards Track [Page 10]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ writer need only specify the main goal of the policy, making sure
+ that the preferred application receives enough bandwidth to operate
+ adequately.
+
+1.2.2. Policy Domain Model
+
+ An important design goal of QPIM is to provide a means for defining
+ policies that span numerous devices. This goal differentiates QPIM
+ from device-level information models, which are designed for modeling
+ policy that controls a single device, its mechanisms and
+ capabilities.
+
+ This design goal has several ramifications. First, roles [PCIM] are
+ used to define policies across multiple devices. Second, the use of
+ abstract policies frees the policy definition process from having to
+ deal with individual device peculiarities, and leaves interpretation
+ and configuration to be modeled by PDPs or other configuration
+ agents. Third, QPIM allows extensive reuse of all policy building
+ blocks in multiple rules used within different devices.
+
+1.2.2.1. Model QoS Policy in a Device- and Vendor-Independent Manner
+
+ QPIM models QoS policy in a way designed to be independent of any
+ particular device or vendor. This enables networks made up of
+ different devices that have different capabilities to be managed and
+ controlled using a single standard set of policies. Using such a
+ single set of policies is important because otherwise, the policy
+ will itself reflect the differences between different device
+ implementations.
+
+1.2.2.2. Use Roles for Mapping Policy to Network Devices
+
+ The use of roles enables a policy definition to be targeted to the
+ network function of a network element, rather than to the element's
+ type and capabilities. The use of roles for mapping policy to
+ network elements provides an efficient and simple method for compact
+ and abstract policy definition. A given abstract policy may be
+ mapped to a group of network elements without the need to specify
+ configuration for each of those elements based on the capabilities of
+ any one individual element.
+
+ The policy definition is designed to allow aggregating multiple
+ devices within the same role, if desired. For example, if two core
+ network interfaces operate at different rates, one does not have to
+ define two separate policy rules to express the very same abstract
+ policy (e.g., allocating 30% of the interface bandwidth to a given
+
+
+
+
+
+Snir, et al. Standards Track [Page 11]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ preferred set of flows). The use of hierarchical context and
+ relative QoS actions in QPIM addresses this and other related
+ problems.
+
+1.2.2.3. Reusability
+
+ Reusable objects, as defined by [PCIM] and [PCIMe], are the means for
+ sharing policy building blocks, thus allowing central management of
+ global concepts. QPIM provides the ability to reuse all policy
+ building blocks: variables and values, conditions and actions,
+ traffic profiles, and policy groups and policy rules. This provides
+ the required flexibility to manage large sets of policy rules over
+ large policy domains.
+
+ For example, the following rule makes use of centrally defined
+ objects being reused (referenced):
+
+ If <DestinationAddress == FinanceSubNet> then <DSCP =
+ MissionCritical>
+
+ In this rule, the condition refers to an object named FinanceSubNet,
+ which is a value (or possibly a set of values) defined and maintained
+ in a reusable objects container. The QoS action makes use of a value
+ named MissionCritical, which is also a reusable object. The
+ advantage of specifying a policy in this way is its inherent
+ flexibility. Given the above policy, whenever business needs require
+ a change in the subnet definition for the organization, all that's
+ required is to change the reusable value FinanceSubNet centrally.
+ All referencing rules are immediately affected, without the need to
+ modify them individually. Without this capability, the repository
+ that is used to store the rules would have to be searched for all
+ rules that refer to the finance subnet, and then each matching rule's
+ condition would have to be individually updated. This is not only
+ much less efficient, but also is more prone to error.
+
+ For a complete description of reusable objects, refer to [PCIM] and
+ [PCIMe].
+
+1.2.3. Enforceable Policy
+
+ Policy defined by QPIM should be enforceable. This means that a PDP
+ can use QPIM's policy definition in order to make the necessary
+ decisions and enforce the required policy rules. For example, RSVP
+ admission decisions should be made based on the policy definitions
+ specified by QPIM. A PDP should be able to map QPIM policy
+ definitions into PEP configurations, using either standard or
+ proprietary protocols.
+
+
+
+
+Snir, et al. Standards Track [Page 12]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ QPIM is designed to be agnostic of any particular, vendor-dependent
+ technology. However, QPIM's constructs SHOULD always be interpreted
+ so that policy-compliant behavior can be enforced on the network
+ under management. Therefore, there are three fundamental
+ requirements that QPIM must satisfy:
+
+ 1. Policy specified by QPIM must be able to be mapped to actual
+ network elements.
+
+ 2. Policy specified by QPIM must be able to control QoS network
+ functions without making reference to a specific type of device or
+ vendor.
+
+ 3. Policy specified by QPIM must be able to be translated into
+ network element configuration.
+
+ QPIM satisfies requirements #1 and #2 above by using the concept of
+ roles (specifically, the PolicyRoles property, defined in PCIM). By
+ matching roles assigned to policy groups and to network elements, a
+ PDP (or other enforcement agent) can determine what policy should be
+ applied to a given device or devices.
+
+ The use of roles in mapping policy to network elements supports model
+ scalability. QPIM policy can be mapped to large-scale policy domains
+ by assigning a single role to a group of network elements. This can
+ be done even when the policy domain contains heterogeneous devices.
+ So, a small set of policies can be deployed to large networks without
+ having to re-specify the policy for each device separately. This
+ QPIM property is important for QoS policy management applications
+ that strive to ease the task of policy definition for large policy
+ domains.
+
+ Requirement #2 is also satisfied by making QPIM domain-oriented (see
+ [TERMS] for a definition of "domain"). In other words, the target of
+ the policy is a domain, as opposed to a specific device or interface.
+
+ Requirement #3 is satisfied by modeling QoS conditions and actions
+ that are commonly configured on various devices. However, QPIM is
+ extensible to allow modeling of actions that are not included in
+ QPIM.
+
+ It is important to note that different PEPs will have different
+ capabilities and functions, which necessitate different individual
+ configurations even if the different PEPs are controlled by the same
+ policy.
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 13]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+1.2.4. QPIM Covers Both Signaled And Provisioned QoS
+
+ The two predominant standards-based QoS methodologies developed so
+ far are Differentiated Services (DiffServ) and Integrated Services
+ (IntServ). The DiffServ provides a way to enforce policies that
+ apply to a large number of devices in a scalable manner. QPIM
+ provides actions and conditions that control the classification,
+ policing and shaping done within the differentiated service domain
+ boundaries, as well as actions that control the per-hop behavior
+ within the core of the DiffServ network. QPIM does not mandate the
+ use of DiffServ as a policy methodology.
+
+ Integrated services, together with its signaling protocol (RSVP),
+ provides a way for end nodes (and edge nodes) to request QoS from the
+ network. QPIM provides actions that control the reservation of such
+ requests within the network.
+
+ As both methodologies continue to evolve, QPIM does not attempt to
+ provide full coverage of all possible scenarios. Instead, QPIM aims
+ to provide policy control modeling for all major scenarios. QPIM is
+ designed to be extensible to allow for incorporation of control over
+ newly developed QoS mechanisms.
+
+1.2.5. Interoperability for PDPs and Management Applications
+
+ Another design goal of QPIM is to facilitate interoperability among
+ policy systems such as PDPs and policy management applications. QPIM
+ accomplishes this interoperability goal by standardizing the
+ representation of policy. Producers and consumers of QoS policy need
+ only rely on QPIM-based schemata (and resulting data models) to
+ ensure mutual understanding and agreement on the semantics of QoS
+ policy.
+
+ For example, suppose that a QoS policy management application, built
+ by vendor A writes its policies based on the LDAP schema that maps
+ from QPIM to a directory implementation using LDAP. Now assume that
+ a separately built PDP from vendor B also relies on this same LDAP
+ schema derived from QPIM. Even though these are two vendors with two
+ different PDPs, each may read the schema of the other and
+ "understand" it. This is because both the management application and
+ the PDP were architected to comply with the QPIM specification. The
+ same is true with two policy management applications. For example,
+ vendor B's policy application may run a validation tool that computes
+ whether there are conflicts within rules specified by the other
+ vendor's policy management application.
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 14]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ Interoperability of QPIM producers/consumers is by definition at a
+ high level, and does not guarantee that the same policy will result
+ in the same PEP configuration. First, different PEPs will have
+ different capabilities and functions, which necessitate different
+ individual configurations even if the different PEPs are controlled
+ by the same policy. Second, different PDPs will also have different
+ capabilities and functions, and may choose to translate the high-
+ level QPIM policy differently depending on the functionality of the
+ PDP, as well as on the capabilities of the PEPs that are being
+ controlled by the PDP. However, the different configurations should
+ still result in the same network behavior as that specified by the
+ policy rules.
+
+1.3. Modeling Abstract QoS Policies
+
+ This section provides a discussion of QoS policy abstraction and the
+ way QPIM addresses this issue.
+
+ As described above, the main goal of the QPIM is to create an
+ information model that can be used to help bridge part of the
+ conceptual gap between a human policy maker and a network element
+ that is configured to enforce the policy. Clearly this wide gap
+ implies several translation levels, from the abstract to the
+ concrete. At the abstract end are the business QoS policy rules.
+ Once the business rules are known, a network administrator must
+ interpret them as network QoS policy and represent this QoS policy by
+ using QPIM constructs. QPIM facilitates a formal representation of
+ QoS rules, thus providing the first concretization level: formally
+ representing humanly expressed QoS policy.
+
+ When a human business executive defines network policy, it is usually
+ done using informal business terms and language. For example, a
+ human may utter a policy statement that reads:
+
+ "human resources applications should have better QoS than simple
+ web applications"
+
+ This might be translated to a slightly more sophisticated form, such
+ as:
+
+ "traffic generated by our human resources applications should have
+ a higher probability of communicating with its destinations than
+ traffic generated by people browsing the WEB using non-mission-
+ critical applications"
+
+ While this statement clearly defines QoS policy at the business
+ level, it isn't specific enough to be enforceable by network
+ elements. Translation to "network terms and language" is required.
+
+
+
+Snir, et al. Standards Track [Page 15]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ On the other end of the scale, a network element functioning as a
+ PEP, such as a router, can be configured with specific commands that
+ determine the operational parameters of its inner working QoS
+ mechanisms. For example, the (imaginary) command "output-queue-depth
+ = 100" may be an instruction to a network interface card of a router
+ to allow up to 100 packets to be stored before subsequent packets are
+ discarded (not forwarded). On a different device within the same
+ network, the same instruction may take another form, because a
+ different vendor built that device or it has a different set of
+ functions, and hence implementation, even though it is from the same
+ vendor. In addition, a particular PEP may not have the ability to
+ create queues that are longer than, say, 50 packets, which may result
+ in a different instruction implementing the same QoS policy.
+
+ The first example illustrates 'abstract policy', while the second
+ illustrates 'concrete configuration'. Furthermore, the first example
+ illustrates end-to-end policy, which covers the conditioning of
+ application traffic throughout the network. The second example
+ illustrates configuration for a particular PEP or a set thereof.
+ While an end-to-end policy statement can only be enforced by
+ configuration of PEPs in various parts of the network, the
+ information model of policy and that of the mechanisms that a PEP
+ uses to implement that policy are vastly different.
+
+ The translation process from abstract business policy to concrete PEP
+ configuration is roughly expressed as follows:
+
+ 1. Informal business QoS policy is expressed by a human policy maker
+ (e.g., "All executives' WEB requests should be prioritized ahead
+ of other employees' WEB requests")
+
+ 2. A network administrator analyzes the policy domain's topology and
+ determines the roles of particular device interfaces. A role may
+ be assigned to a large group of elements, which will result in
+ mapping a particular policy to a large group of device interfaces.
+
+ 3. The network administrator models the informal policy using QPIM
+ constructs, thus creating a formal representation of the abstract
+ policy. For example, "If a packet's protocol is HTTP and its
+ destination is in the 'EXECUTIVES' user group, then assign IPP 7
+ to the packet header".
+
+ 4. The network administrator assigns roles to the policy groups
+ created in the previous step matching the network elements' roles
+ assigned in step #2 above.
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 16]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ 5. A PDP translates the abstract policy constructs created in step #3
+ into device-specific configuration commands for all devices
+ effected by the new policy (i.e., devices that have interfaces
+ that are assigned a role matching the new policy constructs'
+ roles). In this process, the PDP consults the particular devices'
+ capabilities to determine the appropriate configuration commands
+ implementing the policy.
+
+ 6. For each PEP in the network, the PDP (or an agent of the PDP)
+ issues the appropriate device-specific instructions necessary to
+ enforce the policy.
+
+ QPIM, PCIM and PCIMe are used in step #3 above.
+
+1.4. Rule Hierarchy
+
+ Policy is described by a set of policy rules that may be grouped into
+ subsets [PCIMe]. Policy rules and policy groups can be nested within
+ other policy rules, providing a hierarchical policy definition.
+ Nested rules are also called sub-rules, and we use both terms in this
+ document interchangeably. The aggregation PolicySetComponent
+ (defined in [PCIMe] is used to represent the nesting of a policy rule
+ or group in another policy rule.
+
+ The hierarchical policy rule definition enhances policy readability
+ and reusability. Within the QoS policy information model, hierarchy
+ is used to model context or scope for the sub-rule actions. Within
+ QPIM, bandwidth allocation policy actions and drop threshold actions
+ use this hierarchal context. First we provide a detailed example of
+ the use of hierarchy in bandwidth allocation policies. The
+ differences between flat and hierarchical policy representation are
+ discussed. The use of hierarchy in drop threshold policies is
+ described in a following subsection. Last but not least, the
+ restrictions on the use of rule hierarchies within QPIM are
+ described.
+
+1.4.1. Use of Hierarchy Within Bandwidth Allocation Policies
+
+ Consider the following example where the informal policy reads:
+
+ On any interface on which these rules apply, guarantee at least
+ 30% of the interface bandwidth to UDP flows, and at least 40% of
+ the interface bandwidth to TCP flows.
+
+ The QoS Policy information model follows the Policy Core information
+ model by using roles as a way to specify the set of interfaces on
+ which this policy applies. The policy does not assume that all
+ interfaces are run at the same speed, or have any other property in
+
+
+
+Snir, et al. Standards Track [Page 17]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ common apart from being able to forward packets. Bandwidth is
+ allocated between UDP and TCP flows using percentages of the
+ available interface bandwidth. Assume that we have an available
+ interface bandwidth of 1 Mbits/sec. Then this rule will guarantee
+ 300Kbits/sec to UDP flows. However, if the interface bandwidth was
+ instead only 64kbits/sec, then this rule would correspondingly
+ guarantee 19.2kb/sec.
+
+ This policy is modeled within QPIM using two policy rules of the
+ form:
+
+ If (IP protocol is UDP) THEN (guarantee 30% of available BW) (1)
+ If (IP protocol is TCP) THEN (guarantee 40% of available BW) (2)
+
+ Assume that these two rules are grouped within a PolicySet [PCIMe]
+ carrying the appropriate role combination. A possible implementation
+ of these rules within a PEP would be to use a Weighted-Round-Robin
+ scheduler with 3 queues. The first queue would be used for UDP
+ traffic, the second queue for TCP traffic and the third queue for the
+ rest of the traffic. The weights of the Weighted-Round-Robin
+ scheduler would be 30% for the first queue, 40% for the second queue
+ and 30% for the last queue.
+
+ The actions specifying the bandwidth guarantee implicitly assume that
+ the bandwidth resource being guaranteed is the bandwidth available at
+ the interface level. A PolicyRoleCollection is a class defined in
+ [PCIMe] whose purpose is to identify the set of resources (in this
+ example, interfaces) that are assigned to a particular role. Thus,
+ the type of managed elements aggregated within the
+ PolicyRoleCollection defines the bandwidth resource being controlled.
+ In our example, interfaces are aggregated within the
+ PolicyRoleCollection. Therefore, the rules specify bandwidth
+ allocation to all interfaces that match a given role. Other behavior
+ could be similarly defined by changing what was aggregated within the
+ PolicyRoleCollection.
+
+ Normally, a full specification of the rules would require indicating
+ the direction of the traffic for which bandwidth allocation is being
+ made. Using the direction variable defined in [PCIMe], the rules can
+ be specified in the following form:
+
+ If (direction is out)
+ If (IP protocol is UDP) THEN (guarantee 30% of available BW)
+ If (IP protocol is TCP) THEN (guarantee 40% of available BW)
+
+ where indentation is used to indicate rule nesting. To save space,
+ we omit the direction condition from further discussion.
+
+
+
+
+Snir, et al. Standards Track [Page 18]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ Rule nesting provides the ability to further refine the scope of
+ bandwidth allocation within a given traffic class forwarded via these
+ interfaces. The example below adds two nested rules to refine
+ bandwidth allocation for UDP and TCP applications.
+
+ If (IP protocol is UDP) THEN (guarantee 30% of available BW) (1)
+ If (protocol is TFTP) THEN (guarantee 10% of available BW) (1a)
+ If (protocol is NFS) THEN (guarantee 40% of available BW) (1b)
+ If (IP protocol is TCP) THEN (guarantee 40% of available BW) (2)
+ If (protocol is HTTP) THEN guarantee 20% of available BW) (2a)
+ If (protocol is FTP) THEN (guarantee 30% of available BW) (2b)
+
+ Subrules 1a and 1b specify bandwidth allocation for UDP applications.
+ The total bandwidth resource being partitioned among UDP applications
+ is the bandwidth available for the UDP traffic class (i.e., 30%), not
+ the total bandwidth available at the interface level. Furthermore,
+ TFTP and NFS are guaranteed to get at least 10% and 40% of the total
+ available bandwidth for UDP, while other UDP applications aren't
+ guaranteed to receive anything. Thus, TFTP and NFS are guaranteed to
+ get at least 3% and 12% of the total bandwidth. Similar logic
+ applies to the TCP applications.
+
+ The point of this section will be to show that a hierarchical policy
+ representation enables a finer level of granularity for bandwidth
+ allocation to be specified than is otherwise available using a non-
+ hierarchical policy representation. To see this, let's compare this
+ set of rules with a non-hierarchical (flat) rule representation. In
+ the non-hierarchical representation, the guaranteed bandwidth for
+ TFTP flows is calculated by taking 10% of the bandwidth guaranteed to
+ UDP flows, resulting in 3% of the total interface bandwidth
+ guarantee.
+
+ If (UDP AND TFTP) THEN (guarantee 3% of available BW) (1a)
+ If (UDP AND NFS) THEN (guarantee 12% of available BW) (1b)
+ If (other UDP APPs) THEN (guarantee 15% of available BW) (1c)
+ If (TCP AND HTTP) THEN guarantee 8% of available BW) (2a)
+ If (TCP AND FTP) THEN (guarantee 12% of available BW) (2b)
+ If (other TCP APPs) THEN (guarantee 20% of available BW) (2c)
+
+ Are these two representations identical? No, bandwidth allocation is
+ not the same. For example, within the hierarchical representation,
+ UDP applications are guaranteed 30% of the bandwidth. Suppose a
+ single UDP flow of an application different from NFS or TFTP is
+ running. This application would be guaranteed 30% of the interface
+ bandwidth in the hierarchical representation but only 15% of the
+ interface bandwidth in the flat representation.
+
+
+
+
+
+Snir, et al. Standards Track [Page 19]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ A two stage scheduler is best modeled by a hierarchical
+ representation whereas a flat representation may be realized by a
+ non-hierarchical scheduler.
+
+ A schematic hierarchical Weighted-Round-Robin scheduler
+ implementation that supports the hierarchical rule representation is
+ described below.
+
+ --UDP AND TFTP queue--10%
+ --UDP AND NFS queue--40%-Scheduler-30%--+
+ --Other UDP queue--50% A1 |
+ |
+ --TCP AND HTTP queue--20% |
+ --TCP AND FTP queue--30%-Scheduler-40%--Scheduler--Interface
+ --Other TCP queue--50% A2 | B
+ |
+ ------------Non UDP/TCP traffic-----30%--+
+
+ Scheduler A1 extracts packets from the 3 UDP queues according to the
+ weight specified by the UDP sub-rule policy. Scheduler A2 extracts
+ packets from the 3 TCP queues specified by the TCP sub-rule policy.
+ The second stage scheduler B schedules between UDP, TCP and all other
+ traffic according to the policy specified in the top most rule level.
+
+ Another difference between the flat and hierarchical rule
+ representation is the actual division of bandwidth above the minimal
+ bandwidth guarantee. Suppose two high rate streams are being
+ forwarded via this interface: an HTTP stream and an NFS stream.
+ Suppose that the rate of each flow is far beyond the capacity of the
+ interface. In the flat scheduler implementation, the ratio between
+ the weights is 8:12 (i.e., HTTP:NFS), and therefore HTTP stream would
+ consume 40% of the bandwidth while NFS would consume 60% of the
+ bandwidth. In the hierarchical scheduler implementation the only
+ scheduler that has two queues filled is scheduler B, therefore the
+ ratio between the HTTP (TCP) stream and the NFS (UDP) stream would be
+ 30:40, and therefore the HTTP stream would consume approximately 42%
+ of the interface bandwidth while NFS would consume 58% of the
+ interface bandwidth. In both cases both HTTP and NFS streams got
+ more than the minimal guaranteed bandwidth, but the actual rates
+ forwarded via the interface differ.
+
+ The conclusion is that hierarchical policy representation provides
+ additional structure and context beyond the flat policy
+ representation. Furthermore, policies specifying bandwidth
+ allocation using rule hierarchies should be enforced using
+ hierarchical schedulers where the rule hierarchy level is mapped to
+ the hierarchical scheduler level.
+
+
+
+
+Snir, et al. Standards Track [Page 20]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+1.4.2. Use of Rule Hierarchy to Describe Drop Threshold Policies
+
+ Two major resources govern the per hop behavior in each node. The
+ bandwidth allocation resource governs the forwarding behavior of each
+ traffic class. A scheduler priority and weights are controlled by
+ the bandwidth allocation policies, as well as the (minimal) number of
+ queues needed for traffic separation. A second resource, which is
+ not controlled by bandwidth allocation policies, is the queuing
+ length and drop behavior. For this purpose, queue length and
+ threshold policies are used.
+
+ Rule hierarchy is used to describe the context on which thresholds
+ act. The policy rule's condition describes the traffic class and the
+ rule's actions describe the bandwidth allocation, the forwarding
+ priority and the queue length. If the traffic class contains
+ different drop precedence sub-classes that require different
+ thresholds within the same queue, the sub-rules actions describe
+ these thresholds.
+
+ Below is an example of the use of rule nesting for threshold control
+ purposes. Let's look at the following rules:
+
+ If (protocol is FTP) THEN (guarantee 10% of available BW)
+ (queue length equals 40 packets)
+ (drop technique is random)
+
+ if (src-ip is from net 2.x.x.x) THEN min threshold = 30%
+ max threshold = 70%
+
+ if (src-ip is from net 3.x.x.x) THEN min threshold = 40%
+ max threshold = 90%
+
+ if (all other) THEN min threshold = 20%
+ max threshold = 60%
+
+ The rule describes the bandwidth allocation, the queue length and the
+ drop technique assigned to FTP flows. The sub-rules describe the
+ drop threshold priorities within those FTP flows. FTP packets
+ received from all networks apart from networks 2.x.x.x and 3.x.x.x
+ are randomly dropped when the queue threshold for FTP flows
+ accumulates to 20% of the queue length. Once the queue fills to 60%,
+ all these packets are dropped before queuing. The two other sub
+ rules provide other thresholds for FTP packets coming from the
+ specified two subnets. The Assured Forwarding per hop behavior (AF)
+ is another good example of the use of hierarchy to describe the
+ different drop preferences within a traffic class. This example is
+ provided in a later section.
+
+
+
+
+Snir, et al. Standards Track [Page 21]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+1.4.3. Restrictions of the Use of Hierarchy Within QPIM
+
+ Rule nesting is used within QPIM for two important purposes:
+
+ 1) Enhance clarity, readability and reusability.
+
+ 2) Provide hierarchical context for actions.
+
+ The second point captures the ability to specify context for
+ bandwidth allocation, as well as providing context for drop threshold
+ policies.
+
+ When is a hierarchy level supposed to specify the bandwidth
+ allocation context, when is the hierarchy used for specifying the
+ drop threshold context, and when is it used merely for clarity and
+ reusability? The answer depends entirely on the actions. Bandwidth
+ control actions within a sub-rule specify how the bandwidth allocated
+ to the traffic class determined by the rule's condition clause should
+ be further divided among the sub-rules. Drop threshold actions
+ control the traffic class's queue drop behavior for each of the sub-
+ rules. The bandwidth control actions have an implicit pointer
+ saying: the bandwidth allocation is relative to the bandwidth
+ resources defined by the higher level rule. Drop threshold actions
+ have an implicit pointer saying: the thresholds are taken from the
+ queue resources defined by the higher level rule. Other actions do
+ not have such an implicit pointer, and for these actions hierarchy is
+ used only for reusability and readability purposes.
+
+ Each rule that includes a bandwidth allocation action implies that a
+ queue should be allocated to the traffic class defined by the rule's
+ condition clause. Therefore, once a bandwidth allocation action
+ exists within the actions of a sub-rule, a threshold action within
+ this sub-rule cannot refer to thresholds of the parent rule's queue.
+ Instead, it must refer to the queue of the sub-rule itself.
+ Therefore, in order to have a clear and unambiguous definition,
+ refinement of thresholds and refinements of bandwidth allocations
+ within sub-rules should be avoided. If both refinements are needed
+ for the same rule, threshold refinements and bandwidth refinements
+ rules should each be aggregated to a separate group, and these groups
+ should be aggregated under the policy rule, using the
+ PolicySetComponent aggregation.
+
+
+
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 22]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+1.5. Intended Audiences
+
+ QPIM is intended for several audiences. The following lists some of
+ the intended audiences and their respective uses:
+
+ 1. Developers of QoS policy management applications can use this
+ model as an extensible framework for defining policies to control
+ PEPs and PDPs in an interoperable manner.
+
+ 2. Developers of Policy Decision Point (PDP) systems built to control
+ resource allocation signaled by RSVP requests.
+
+ 3. Developers of Policy Decision Points (PDP) systems built to create
+ QoS configuration for PEPs.
+
+ 4. Builders of large organization data and knowledge bases who decide
+ to combine QoS policy information with other networking policy
+ information, assuming all modeling is based on [PCIM] and [PCIMe].
+
+ 5. Authors of various standards may use constructs introduced in this
+ document to enhance their work. Authors of data models wishing to
+ map a storage specific technology to QPIM must use this document
+ as well.
+
+2. Class Hierarchies
+
+2.1. Inheritance Hierarchy
+
+ QPIM's class and association inheritance hierarchies are rooted in
+ [PCIM] and [PCIMe]. Figures 2 and 3 depict these QPIM inheritance
+ hierarchies, while noting their relationships to [PCIM] and
+ [PCIMe]classes. Note that many other classes used to form QPIM
+ policies, such as SimplePolicyCondition, are defined in [PCIM] and
+ [PCIMe]. Thus, the following figures do NOT represent ALL necessary
+ classes and relationships for defining QPIM policies. Rather, the
+ designer using QPIM should use appropriate classes and relationships
+ from [PCIM] and [PCIMe] in conjunction with those defined below.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 23]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ [ManagedElement] (abstract, PCIM)
+ |
+ +--Policy (abstract, PCIM)
+ | |
+ | +---PolicyAction (abstract, PCIM)
+ | | |
+ | | +---SimplePolicyAction (PCIMe)
+ | | | |
+ | | | +---QoSPolicyRSVPSimpleAction (QPIM)
+ | | |
+ | | +---QoSPolicyDiscardAction (QPIM)
+ | | |
+ | | +---QoSPolicyAdmissionAction (abstract, QPIM)
+ | | | |
+ | | | +---QoSPolicyPoliceAction (QPIM)
+ | | | |
+ | | | +---QoSPolicyShapeAction (QPIM)
+ | | | |
+ | | | +---QoSPolicyRSVPAdmissionAction (QPIM)
+ | | |
+ | | +---QoSPolicyPHBAction (abstract, QPIM)
+ | | |
+ | | +---QoSPolicyBandwidthAction (QPIM)
+ | | |
+ | | +---QoSPolicyCongestionControlAction (QPIM)
+ | |
+ | +---QoSPolicyTrfcProf (abstract, QPIM)
+ | | |
+ | | +---QoSPolicyTokenBucketTrfcProf (QPIM)
+ | | |
+ | | +---QoSPolicyIntServTrfcProf (QPIM)
+ | |
+ | |
+ | +---PolicyVariable (abstract, PCIMe)
+ | | |
+ | | +---PolicyImplicitVariable (abstract, PCIMe)
+ | | |
+ | | +---QoSPolicyRSVPVariable (abstract, QPIM)
+ | | |
+ | | +---QoSPolicyRSVPSourceIPv4Variable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPDestinationIPv4Variable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPSourceIPv6Variable (QPIM)
+ | | |
+
+(continued on the next page)
+
+
+
+
+Snir, et al. Standards Track [Page 24]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+(continued from the previous page)
+
+[ManagedElement] (abstract, PCIM, repeated for convenience)
+ |
+ +--Policy (abstract, PCIM, repeated for convenience)
+ | |
+ | +---PolicyVariable (abstract, PCIMe)
+ | | |
+ | | +---PolicyImplicitVariable (abstract, PCIMe)
+ | | |
+ | | +---QoSPolicyRSVPVariable (abstract, QPIM)
+ | | |
+ | | +---QoSPolicyRSVPDestinationIPv6Variable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPSourcePortVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPDestinationPortVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPIPProtocolVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPIPVersionVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPDCLASSVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPStyleVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPDIntServVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPMessageTypeVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPPreemptionPriorityVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPPreemptionDefPriorityVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPUserVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPApplicationVariable (QPIM)
+ | | |
+ | | +---QoSPolicyRSVPAuthMethodVariable (QPIM)
+ | |
+ | +---PolicyValue (abstract, PCIMe)
+ | | |
+ | | +---QoSPolicyDNValue (QPIM)
+ | | |
+ | | +---QoSPolicyAttributeValue (QPIM)
+
+ Figure 2. The QPIM Class Inheritance Hierarchy
+
+
+
+
+Snir, et al. Standards Track [Page 25]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+2.2. Relationship Hierarchy
+
+ Figure 3 shows the QPIM relationship hierarchy.
+
+ [unrooted] (abstract, PCIM)
+ |
+ +---Dependency (abstract)
+ | |
+ | +--- QoSPolicyTrfcProfInAdmissionAction (QPIM)
+ | |
+ | +--- QoSPolicyConformAction (QPIM)
+ | |
+ | +--- QoSPolicyExceedAction (QPIM)
+ | |
+ | +--- QoSPolicyViolateAction (QPIM)
+ | |
+ | +--- PolicyVariableInSimplePolicyAction
+ | | |
+ | | + QoSPolicyRSVPVariableInRSVPSimplePolicyAction
+
+ Figure 3. The QPIM Association Class Inheritance Hierarchy
+
+3. QoS Actions
+
+ This section describes the QoS actions that are modeled by QPIM. QoS
+ actions are policy enforced network behaviors that are specified for
+ traffic selected by QoS conditions. QoS actions are modeled using
+ the classes PolicyAction (defined in [PCIM]), SimplePolicyAction
+ (defined in [PCIMe]) and several QoS actions defined in this document
+ that are derived from both of these classes, which are described
+ below.
+
+ Note that there is no discussion of PolicyRule, PolicyGroup, or
+ different types of PolicyCondition classes in this document. This is
+ because these classes are fully specified in [PCIM] and [PCIMe].
+
+3.1. Overview
+
+ QoS policy based systems allow the network administrator to specify a
+ set of rules that control both the selection of the flows that need
+ to be provided with a preferred forwarding treatment, as well as
+ specifying the specific set of preferred forwarding behaviors. QPIM
+ provides an information model for specifying such a set of rules.
+
+ QoS policy rules enable controlling environments in which RSVP
+ signaling is used to request different forwarding treatment for
+ different traffic types from the network, as well as environments
+ where no signaling is used, but preferred treatment is desired for
+
+
+
+Snir, et al. Standards Track [Page 26]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ some (but not all) traffic types. QoS policy rules also allow
+ controlling environments where strict QoS guarantees are provided to
+ individual flows, as well as environments where QoS is provided to
+ flow aggregates. QoS actions allow a PDP or a PEP to determine which
+ RSVP requests should be admitted before network resources are
+ allocated. QoS actions allow control of the RSVP signaling content
+ itself, as well as differentiation between priorities of RSVP
+ requests. QoS actions allow controlling the Differentiated Service
+ edge enforcement including policing, shaping and marking, as well as
+ the per-hop behaviors used in the network core. Finally, QoS actions
+ can be used to control mapping of RSVP requests at the edge of a
+ differentiated service cloud into per hop behaviors.
+
+ Four groups of actions are derived from action classes defined in
+ [PCIM] and [PCIMe]. The first QoS action group contains a single
+ action, QoSPolicyRSVPSimpleAction. This action is used for both RSVP
+ signal control and install actions. The second QoS action group
+ determines whether a flow or class of flows should be admitted. This
+ is done by specifying an appropriate traffic profile using the
+ QoSPolicyTrfcProf class and its subclasses. This set of actions also
+ includes QoS admission control actions, which use the
+ QoSPolicyAdmissionAction class and its subclasses. The third group
+ of actions control bandwidth allocation and congestion control
+ differentiations, which together specify the per-hop behavior
+ forwarding treatment. This group of actions includes the
+ QoSPolicyPHBAction class and its subclasses. The fourth QoS action
+ is an unconditional packet discard action, which uses the
+ QoSPolicyDiscardAction class. This action is used either by itself
+ or as a building block of the QoSPolicyPoliceAction.
+
+ Note that some QoS actions are not directly modeled. Instead, they
+ are modeled by using the class SimplePolicyAction with the
+ appropriate associations. For example, the three marking actions
+ (DSCP, IPP and CoS) are modeled by using the SimplePolicyAction
+ class, and associating that class with variables and values of the
+ appropriate type defined in [PCIMe].
+
+3.2. RSVP Policy Actions
+
+ There are three types of decisions a PDP (either remote or within a
+ PEP) can make when it evaluates an RSVP request:
+
+ 1. Admit or reject the request
+ 2. Add or modify the request admission parameters
+ 3. Modify the RSVP signaling content
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 27]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ The COPS for RSVP [RFC2749] specification uses different Decision
+ object types to model each of these decisions. QPIM follows the COPS
+ for RSVP specification and models each decision using a different
+ action class.
+
+ The QoSPolicyRSVPAdmissionAction controls the Decision Command and
+ Decision Flags objects used within COPS for RSVP. The
+ QoSPolicyRSVPAdmissionAction class, with its associated
+ QoSPolicyIntServTrfcProf class, is used to determine whether to
+ accept or reject a given RSVP request by comparing the RSVP request's
+ TSPEC or RSPEC parameters against the traffic profile specified by
+ the QoSPolicyIntServTrfcProf. For a full description of the
+ comparison method, see section 4. Following the COPS for RSVP
+ specification, the admission decision has an option to both accept
+ the request and send a warning to the requester. The
+ QoSPolicyRSVPAdmissionAction can be used to limit the number of
+ admitted reservations as well.
+
+ The class QoSPolicyRSVPSimpleAction, which is derived from the
+ PolicySimpleAction class [PCIMe], can be used to control the two
+ other COPS RSVP decision types. The property qpRSVPActionType
+ designates the instance of the class to be either of type 'REPLACE',
+ 'STATELESS', or both ('REPLACEANDSTATELESS'). For instances carrying
+ a qpRSVPActionType property value of 'REPLACE', the action is
+ interpreted as a COPS Replace Decision, controlling the contents of
+ the RSVP message. For instances carrying a qpRSVPActionType property
+ value of 'STATELESS', the action is interpreted as a COPS Stateless
+ Decision, controlling the admission parameters. If both of these
+ actions are required, this can be done by assigning the value
+ REPLACEANDSTATELESS to the qpRSVPActionType property.
+
+ This class is modeled to represent the COPS for RSVP Replace and
+ Stateless decisions. This similarity allows future use of these COPS
+ decisions to be directly controlled by a QoSPolicySimpleAction. The
+ only required extension might be the definition of a new RSVP
+ variable.
+
+3.2.1. Example: Controlling COPS Stateless Decision
+
+ The QoSPolicyRSVPSimpleAction allows the specification of admission
+ parameters. It allows specification of the preemption priority
+ [RFC3181] of a given RSVP Reservation request. Using the preemption
+ priority value, the PEP can determine the importance of a Reservation
+ compared with already admitted reservations, and if necessary can
+ preempt lower priority reservations to make room for the higher
+ priority one. This class can also be used to control mapping of RSVP
+ requests to a differentiated services domain by setting the
+
+
+
+
+Snir, et al. Standards Track [Page 28]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ QoSPolicyRSVPDCLASSVariable to the required value. This instructs
+ the PEP to mark traffic matching the Session and Sender
+ specifications carried in an RSVP request to a given DSCP value.
+
+3.2.2. Example: Controlling the COPS Replace Decision
+
+ A Policy system should be able to control the information carried in
+ the RSVP messages. The QoSPolicyRSVPSimpleAction allows control of
+ the content of RSVP signaling messages. An RSVP message can carry a
+ preemption policy object [RFC3181] specifying the priority of the
+ reservation request in comparison to other requests. An RSVP message
+ can also carry a policy object for authentication purposes. An RSVP
+ message can carry a DCLASS [DCLASS] object that specifies to the
+ receiver or sender the particular DSCP value that should be set on
+ the data traffic. A COPS for RSVP Replacement Data Decision controls
+ the content of the RSVP message by specifying a set of RSVP objects
+ replacing or removing the existing ones.
+
+3.3. Provisioning Policy Actions
+
+ The differentiated Service Architecture [DIFFSERV] was designed to
+ provide a scalable QoS differentiation without requiring any
+ signaling protocols running between the hosts and the network. The
+ QoS actions modeled in QPIM can be used to control all of the
+ building blocks of the Differentiated Service architecture, including
+ per-hop behaviors, edge classification, and policing and shaping,
+ without a need to specify the datapath mechanisms used by PEP
+ implementations. This provides an abstraction level hiding the
+ unnecessary details and allowing the network administrator to write
+ rules that express the network requirements in a more natural form.
+ In this architecture, as no signaling between the end host and the
+ network occurs before the sender starts sending information, the QoS
+ mechanisms should be set up in advance. This usually means that PEPs
+ need to be provisioned with the set of policy rules in advance.
+
+ Policing and Shaping actions are modeled as subclasses of the QoS
+ admission action. DSCP and CoS marking are modeled by using the
+ SimplePolicyAction ([PCIMe]) class associated with the appropriate
+ variables and values. Bandwidth allocation and congestion control
+ actions are modeled as subclasses of the QpQPolicyPHBAction, which is
+ itself a subclass PolicyAction class ([PCIM])
+
+3.3.1. Admission Actions: Controlling Policers and Shapers
+
+ Admission Actions (QoSPolicyAdmissionAction and its subclasses) are
+ used to police and/or shape traffic.
+
+
+
+
+
+Snir, et al. Standards Track [Page 29]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ Each Admission Action is bound to a traffic profile
+ (QoSPolicyTrfcProf) via the QoSPolicyTrfcProfInAdmissionAction
+ association. The traffic profile is used to meter traffic for
+ purposes of policing or shaping.
+
+ An Admission Action carries a scope property (qpAdmissionScope) that
+ is used to determine whether the action controls individual traffic
+ flows or aggregate traffic classes. The concepts of "flow" and
+ "traffic class" are explained in [DIFFSERV] using the terms
+ 'microflow' and 'traffic stream'. Roughly speaking, a flow is a set
+ of packets carrying an IP header that has the same values for source
+ IP, destination IP, protocol and layer 4 source and destination
+ ports. A traffic class is a set of flows. In QPIM, simple and
+ compound conditions can identify flows and/or traffic classes by
+ using Boolean terms over the values of IP header fields, including
+ the value of the ToS byte.
+
+ Thus, the interpretation of the scope property is as follows: If the
+ value of the scope property is 0 (per-flow), each (micro) flow that
+ can be positively matched with the rule's condition is metered and
+ policed individually. If the value of the scope property is 1 (per-
+ class), all flows matched with the rule's condition are metered as a
+ single aggregate and policed together.
+
+ The following example illustrates the use of the scope property.
+ Using two provisioned policing actions, the following policies can be
+ enforced:
+
+ - Make sure that each HTTP flow will not exceed 64kb/s
+
+ - Make sure that the aggregate rate of all HTTP flows will not
+ exceed 512Kb/s
+
+ Both policies are modeled using the same class QoSPolicyPoliceAction
+ (derived from QoSPolicyAdmissionAction). The first policy has its
+ scope property set to 'flow', while the second policy has its scope
+ property set to 'class'. The two policies are modeled using a rule
+ with two police actions that, in a pseudo-formal definition, looks
+ like the following:
+
+ If (HTTP) Action1=police, Traffic Profile1=64kb/s, Scope1=flow
+ Action2=police, Traffic Profile2=512kb/s, Scope2=class
+
+ The provisioned policing action QoSPolicyPoliceAction has three
+ associations, QoSPolicyConformAction, QoSPolicyExceedAction and
+ QoSPolicyViolateAction.
+
+
+
+
+
+Snir, et al. Standards Track [Page 30]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ To accomplish the desired result stated above, two possible modeling
+ techniques may be used: The two actions can be part of a single
+ policy rule using two PolicyActionInPolicyRule [PCIM] associations.
+ In this case the ExecutionStrategy property of the PolicyRule class
+ [PCIMe] SHOULD be set to "Do All" so that both individual flows and
+ aggregate streams are policed.
+
+ Alternatively, Action1 and Action2 could be aggregated in a
+ CompundPolicyAction instance using the PolicyActionInPolicyAction
+ aggregations [PCIMe]. In this case, in order for both individual
+ flows and aggregate traffic classes to be policed, the
+ ExecutionStrategy property of the CompoundPolicyAction class [PCIMe]
+ SHOULD be set to "Do All".
+
+ The policing action is associated with a three-level token bucket
+ traffic profile carrying rate, burst and excess-burst parameters.
+ Traffic measured by a meter can be classified as conforming traffic
+ when the metered rate is below the rate defined by the traffic
+ profile, as excess traffic when the metered traffic is above the
+ normal burst and below the excess burst size, and violating traffic
+ when rate is above the maximum excess burst.
+
+ The [DIFF-MIB] defines a two-level meter, and provides a means to
+ combine two-level meters into more complex meters. In this document,
+ a three-level traffic profile is defined. This allows construction
+ of both two-level meters as well as providing an easier definition
+ for three-level meters needed for creating AF [AF] provisioning
+ actions.
+
+ A policing action that models three-level policing MUST associate
+ three separate actions with a three-level traffic profile. These
+ actions are a conforming action, an exceeding action and a violating
+ action. A policing action that models two-level policing uses a
+ two-level traffic profile and associates only conforming and
+ exceeding actions. A policing action with a three-level traffic
+ profile that specifies an exceed action but does not specify a
+ violate action implies that the action taken when the traffic is
+ above the maximum excess burst is identical to the action taken when
+ the traffic is above the normal burst. A policer determines whether
+ the profile is being met, while the actions to be performed are
+ determined by the associations QoSPolicyXXXAction.
+
+ Shapers are used to delay some or all of the packets in a traffic
+ stream, in order to bring the stream into compliance with a traffic
+ profile. A shaper usually has a finite-sized buffer, and packets may
+ be discarded if there is not sufficient buffer space to hold the
+ delayed packets. Shaping is controlled by the QoSPolicyShapeAction
+
+
+
+
+Snir, et al. Standards Track [Page 31]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ class. The only required association is a traffic profile that
+ specifies the rate and burst parameters that the outgoing flows
+ should conform with.
+
+3.3.2. Controlling Markers
+
+ Three types of marking control actions are modeled in QPIM:
+ Differentiated Services Code Point (DSCP) assignment, IP Precedence
+ (IPP) assignment and layer-2 Class of Service (CoS) assignment.
+ These assignment actions themselves are modeled by using the
+ SimplePolicyAction class associated with the appropriate variables
+ and values.
+
+ DSCP assignment sets ("marks" or "colors") the DS field of a packet
+ header to a particular DS Code Point (DSCP), adding the marked packet
+ to a particular DS behavior aggregate.
+
+ When used in the basic form, "If <condition> then 'DCSP = ds1'", the
+ assignment action assigns a DSCP value (ds1) to all packets that
+ result in the condition being evaluated to true.
+
+ When used in combination with a policing action, a different
+ assignment action can be issued via each of the 'conform', 'exceed'
+ and 'violate' action associations. This way, one may select a PHB in
+ a PHB group according to the state of a meter.
+
+ The semantics of the DSCP assignment is encapsulated in the pairing
+ of a DSCP variable and a DSCP value within a single
+ SimplePolicyAction instance via the appropriate associations.
+
+ IPP assignment sets the IPP field of a packet header to a particular
+ IPP value (0 through 7). The semantics of the IPP assignment is
+ encapsulated in the pairing of a ToS variable (PolicyIPTosVariable)
+ and a bit string value () (defined in [PCIMe]) within a single
+ SimplePolicyAction instance via the appropriate associations. The
+ bit string value is used in its masked bit string format. The mask
+ indicates the relevant 3 bits of the IPP sub field within the ToS
+ byte, while the bit string indicates the IPP value to be set.
+
+ CoS assignments control the mapping of a per-hop behavior to a
+ layer-2 Class of Service. For example, mapping of a set of DSCP
+ values into a 802.1p user priority value can be specified using a
+ rule with a condition describing the set of DSCP values, and a CoS
+ assignment action that specifies the required mapping to the given
+ user priority value. The semantics of the CoS assignment is
+ encapsulated in the pairing of a CoS variable and a CoS value
+ (integer in the range of 0 through 7) within a single
+ SimplePolicyAction instance via the appropriate associations.
+
+
+
+Snir, et al. Standards Track [Page 32]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+3.3.3. Controlling Edge Policies - Examples
+
+ Assuming that the AF1 behavior aggregate is enforced within a DS
+ domain, policy rules on the boundaries of the network should mark
+ packets to one of the AF1x DSCPs, depending on the conformance of the
+ traffic to a predetermined three-parameter traffic profile. QPIM
+ models such AF1 policing action as defined in Figure 4.
+
+ +-----------------------+ +------------------------------+
+ | QoSPolicyPoliceAction |====| QoSPolicyTokenBucketTrfcProf |
+ | scope = class | | rate = x, bc = y, be = z |
+ +-----------------------+ +------------------------------+
+ * @ #
+ * @ #
+ * @ +--------------------+ +--------------------------+
+ * @ | SimplePolicyAction |---| PolicyIntegerValue -AF13 |
+ * @ +--------------------+ +--------------------------+
+ * @
+ * +--------------------+ +---------------------------+
+ * | SimplePolicyAction |---| PolicyIntegerValue - AF12 |
+ * +--------------------+ +---------------------------+
+ *
+ +--------------------+ +---------------------------+
+ | SimplePolicyAction |---| PolicyIntegerValue - AF11 |
+ +--------------------+ +---------------------------+
+
+ Association and Aggregation Legend:
+
+ **** QoSPolicyConformAction
+ @@@@ QoSPolicyExceedAction
+ #### QoSPolicyViolateAction
+ ==== QoSTrfcProfInAdmissionAction
+ ---- PolicyValueInSimplePolicyAction ([PCIMe])
+ &&&& PolicyVariableInSimplePolicyAction ([PCIMe], not shown)
+
+ Figure 4. AF Policing and Marking
+
+ The AF policing action is composed of a police action, a token bucket
+ traffic profile and three instances of the SimplePolicyAction class.
+ Each of the simple policy action instances models a different marking
+ action. Each SimplePolicyAction uses the aggregation
+ PolicyVariableInSimplePolicyAction to specify that the associated
+ PolicyDSCPVariable is set to the appropriate integer value. This is
+ done using the PolicyValueInSimplePolicyAction aggregation. The
+ three PolicyVariableInSimplePolicyAction aggregations which connect
+ the appropriate SimplePolicyActions with the appropriate DSCP
+
+
+
+
+
+Snir, et al. Standards Track [Page 33]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ Variables, are not shown in this figure for simplicity. AF11 is
+ marked on detecting conforming traffic; AF12 is marked on detecting
+ exceeding traffic, and AF13 on detecting violating traffic.
+
+ The second example, shown in Figure 5, is the simplest policing
+ action. Traffic below a two-parameter traffic profile is unmodified,
+ while traffic exceeding the traffic profile is discarded.
+
+ +-----------------------+ +------------------------------+
+ | QoSPolicyPoliceAction |====| QoSPolicyTokenBucketTrfcProf |
+ | scope = class | | rate = x, bc = y |
+ +-----------------------+ +------------------------------+
+ @
+ @
+ +-------------------------+
+ | QoSPolicyDiscardAction |
+ +-------------------------+
+
+ Association and Aggregation Legend:
+ **** QoSPolicyConformAction (not used)
+ @@@@ QoSPolicyExceedAction
+ #### QoSPolicyViolateAction (not used)
+ ==== QoSTrfcProfInAdmissionAction
+
+ Figure 5. A Simple Policing Action
+
+3.4. Per-Hop Behavior Actions
+
+ A Per-Hop Behavior (PHB) is a description of the externally
+ observable forwarding behavior of a DS node applied to a particular
+ DS behavior aggregate [DIFFSERV]. The approach taken here is that a
+ PHB action specifies both observable forwarding behavior (e.g., loss,
+ delay, jitter) as well as specifying the buffer and bandwidth
+ resources that need to be allocated to each of the behavior
+ aggregates in order to achieve this behavior. That is, a rule with a
+ set of PHB actions can specify that an EF packet must not be delayed
+ more than 20 msec in each hop. The same rule may also specify that
+ EF packets need to be treated with preemptive forwarding (e.g., with
+ priority queuing), and specify the maximum bandwidth for this class,
+ as well as the maximum buffer resources. PHB actions can therefore
+ be used both to represent the final requirements from PHBs and to
+ provide enough detail to be able to map the PHB actions into a set of
+ configuration parameters to configure queues, schedulers, droppers
+ and other mechanisms.
+
+ The QoSPolicyPHBAction abstract class has two subclasses. The
+ QoSPolicyBandwidthAction class is used to control bandwidth, delay
+ and forwarding behavior, while the QoSPolicyCongestionControlAction
+
+
+
+Snir, et al. Standards Track [Page 34]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ class is used to control queue size, thresholds and congestion
+ algorithms. The qpMaxPacketSize property of the QoSPolicyPHBAction
+ class specifies the packet size in bytes, and is needed when
+ translating the bandwidth and congestion control actions into actual
+ implementation configurations. For example, an implementation
+ measuring queue length in bytes will need to use this property to map
+ the qpQueueSize property into the desired queue length in bytes.
+
+3.4.1. Controlling Bandwidth and Delay
+
+ QoSPolicyBandwidthAction allows specifying the minimal bandwidth that
+ should be reserved for a class of traffic. The property
+ qpMinBandwidth can be specified either in Kb/sec or as a percentage
+ of the total available bandwidth. The property qpBandwidthUnits is
+ used to determine whether percentages or fixed values are used.
+
+ The property qpForwardingPriority is used whenever preemptive
+ forwarding is required. A policy rule that defines the EF PHB should
+ indicate a non-zero forwarding priority. The qpForwardingPriority
+ property holds an integer value to enable multiple levels of
+ preemptive forwarding where higher values are used to specify higher
+ priority.
+
+ The property qpMaxBandwidth specifies the maximum bandwidth that
+ should be allocated to a class of traffic. This property may be
+ specified in PHB actions with non-zero forwarding priority in order
+ to guard against starvation of other PHBs.
+
+ The properties qpMaxDelay and qpMaxJitter specify limits on the per-
+ hop delay and jitter in milliseconds for any given packet within a
+ traffic class. Enforcement of the maximum delay and jitter may
+ require use of preemptive forwarding as well as minimum and maximum
+ bandwidth controls. Enforcement of low max delay and jitter values
+ may also require fragmentation and interleave mechanisms over low
+ speed links.
+
+ The Boolean property qpFairness indicates whether flows should have a
+ fair chance to be forwarded without drop or delay. A way to enforce
+ a bandwidth action with qpFairness set to TRUE would be to build a
+ queue per flow for the class of traffic specified in the rule's
+ filter. In this way, interactive flows like terminal access will not
+ be queued behind a bursty flow (like FTP) and therefore have a
+ reasonable response time.
+
+3.4.2. Congestion Control Actions
+
+ The QoSPolicyCongestionControlAction class controls queue length,
+ thresholds and congestion control algorithms.
+
+
+
+Snir, et al. Standards Track [Page 35]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ A PEP should be able to keep in its queues qpQueueSize packets
+ matching the rule's condition. In order to provide a link-speed
+ independent queue size, the qpQueueSize property can also be measured
+ in milliseconds. The time interval specifies the time needed to
+ transmit all packets within the queue if the link speed is dedicated
+ entirely for transmission of packets within this queue. The property
+ qpQueueSizeUnit determines whether queue size is measured in number
+ of packets or in milliseconds. The property qpDropMethod selects
+ either tail-drop, head-drop or random-drop algorithms. The set of
+ maximum and minimum threshold values can be specified as well, using
+ qpDropMinThresholdValue and qpDropMaxThresholdValue properties,
+ either in packets or in percentage of the total available queue size
+ as specified by the qpDropThresholdUnits property.
+
+3.4.3. Using Hierarchical Policies: Examples for PHB Actions
+
+ Hierarchical policy definition is a primary tool in the QoS Policy
+ information model. Rule nesting introduced in [PCIMe] allows
+ specification of hierarchical policies controlling RSVP requests,
+ hierarchical shaping, policing and marking actions, as well as
+ hierarchical schedulers and definition of the differences in PHB
+ groups.
+
+ This example provides a set of rules that specify PHBs enforced
+ within a Differentiated Service domain. The network administrator
+ chose to enforce the EF, AF11 and AF13 and Best Effort PHBs. For
+ simplicity, AF12 is not differentiated. The set of rules takes the
+ form:
+
+ If (EF) then do EF actions
+ If (AF1) then do AF1 actions
+ If (AF11) then do AF11 actions
+ If (AF12) then do AF12 actions
+ If (AF13) then do AF13 actions
+ If (default) then do Default actions.
+
+ EF, AF1, AF11, AF12 and AF13 are conditions that filter traffic
+ according to DSCP values. The AF1 condition matches the entire AF1
+ PHB group including the AF11, AF12 and AF13 DSCP values. The default
+ rule specifies the Best Effort rules. The nesting of the AF1x rules
+ within the AF1 rule specifies that there are further refinements on
+ how AF1x traffic should be treated relative to the entire AF1 PHB
+ group. The set of rules reside in a PolicyGroup with a decision
+ strategy property set to 'FirstMatching'.
+
+ The class instances below specify the set of actions used to describe
+ each of the PHBs. Queue sizes are not specified, but can easily be
+ added to the example.
+
+
+
+Snir, et al. Standards Track [Page 36]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ The actions used to describe the Best Effort PHB are simple. No
+ bandwidth is allocated to Best Effort traffic. The first action
+ specifies that Best Effort traffic class should have fairness.
+
+ QoSPolicyBandwidthAction BE-B:
+ qpFairness: TRUE
+
+ The second action specifies that the congestion algorithm for the
+ Best Effort traffic class should be random, and specifies the
+ thresholds in percentage of the default queue size.
+
+ QoSPolicyCongestionControlAction BE-C:
+ qpDropMethod: random
+ qpDropThresholdUnits %
+ qpDropMinThreshold: 10%
+ qpDropMaxThreshold: 70%
+
+ EF requires preemptive forwarding. The maximum bandwidth is also
+ specified to make sure that the EF class does not starve the other
+ classes. EF PHB uses tail drop as the applications using EF are
+ supposed to be UDP-based and therefore would not benefit from a
+ random dropper.
+
+ QoSPolicyBandwidthAction EF-B:
+ qpForwardingPriority: 1
+ qpBandwidthUnits: %
+ qpMaxBandwidth 50%
+ qpFairness: FALSE
+
+ QoSPolicyCongestionControlAction EF-C:
+ qpDropMethod: tail-drop
+ qpDropThresholdUnits packet
+ qpDropMaxThreshold: 3 packets
+
+ The AF1 actions define the bandwidth allocations for the entire PHB
+ group:
+
+ QoSPolicyBandwidthAction AF1-B:
+ qpBandwidthUnits: %
+ qpMinBandwidth: 30%
+
+ The AF1i actions specifies the differentiating refinement for the
+ AF1x PHBs within the AF1 PHB group. The different threshold values
+ provide the difference in discard probability of the AF1x PHBs within
+ the AF1 PHB group.
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 37]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ QoSPolicyCongestionControlAction AF11-C:
+ qpDropMethod: random
+ qpDropThresholdUnits packet
+ qpDropMinThreshold: 6 packets
+ qpDropMaxThreshold: 16 packets
+
+ QoSPolicyCongestionControlAction AF12-C:
+ qpDropMethod: random
+ qpDropThresholdUnits packet
+ qpDropMinThreshold: 4 packets
+ qpDropMaxThreshold: 13 packets
+
+ QoSPolicyCongestionControlAction AF13-C:
+ qpDropMethod: random
+ qpDropThresholdUnits packet
+ qpDropMinThreshold: 2 packets
+ qpDropMaxThreshold: 10 packets
+
+4. Traffic Profiles
+
+ Meters measure the temporal state of a flow or a set of flows against
+ a traffic profile. In this document, traffic profiles are modeled by
+ the QoSPolicyTrfcProf class. The association QoSPolicyTrfcProf
+ InAdmissionAction binds the traffic profile to the admission action
+ using it. Two traffic profiles are derived from the abstract class
+ QoSPolicyTrfcProf. The first is a Token Bucket provisioning traffic
+ profile carrying rate and burst parameters. The second is an RSVP
+ traffic profile, which enables flows to be compared with RSVP TSPEC
+ and FLOWSPEC parameters.
+
+4.1. Provisioning Traffic Profiles
+
+ Provisioned Admission Actions, including shaping and policing, are
+ specified using a two- or three-parameter token bucket traffic
+ profile. The QoSPolicyTokenBucketTrfcProf class includes the
+ following properties:
+
+ 1. Rate measured in kbits/sec
+ 2. Normal burst measured in bytes
+ 3. Excess burst measured in bytes
+
+ Rate determines the long-term average transmission rate. Traffic
+ that falls under this rate is conforming, as long as the normal burst
+ is not exceeded at any time. Traffic exceeding the normal burst but
+ still below the excess burst is exceeding the traffic profile.
+ Traffic beyond the excess burst is said to be violating the traffic
+ profile.
+
+
+
+
+Snir, et al. Standards Track [Page 38]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ Excess burst size is measured in bytes in addition to the burst size.
+ A zero excess burst size indicates that no excess burst is allowed.
+
+4.2. RSVP traffic profiles
+
+ RSVP admission policy can condition the decision whether to accept or
+ deny an RSVP request based on the traffic specification of the flow
+ (TSPEC) or the amount of QoS resources requested (FLOWSPEC). The
+ admission decision can be based on matching individual RSVP requests
+ against a traffic profile or by matching the aggregated sum of all
+ FLOWSPECs (TSPECs) currently admitted, as determined by the
+ qpAdmissionScope property in an associated
+ QoSPolicyRSVPAdmissionAction.
+
+ The QoSPolicyIntservTrfcProf class models both such traffic profiles.
+ This class has the following properties:
+
+ 1. Token Rate (r) measured in bits/sec
+ 2. Peak Rate (p) measured in bits/sec
+ 3. Bucket Size (b) measured in bytes
+ 4. Min Policed unit (m) measured in bytes
+ 5. Max packet size (M) measured in bytes
+ 6. Resv Rate (R) measured in bits/sec
+ 7. Slack term (s) measured in microseconds
+
+ The first five parameters are the traffic specification parameters
+ used in the Integrated Service architecture ([INTSERV]). These
+ parameters are used to define a sender TSPEC as well as a FLOWSPEC
+ for the Controlled-Load service [CL]. For a definition and full
+ explanation of their meanings, please refer to [RSVP-IS].
+
+ Parameters 6 and 7 are the additional parameters used for
+ specification of the Guaranteed Service FLOWSPEC [GS].
+
+ A partial order is defined between TSPECs (and FLOWSPECs). The TSPEC
+ A is larger than the TSPEC B if and only if rA>rB, pA>pB, bA>bB,
+ mA<mB and MA>MB. A TSPEC (FLOWSPEC) measured against a traffic
+ profile uses the same ordering rule. An RSVP message is accepted
+ only if its TSPEC (FLOWSPEC) is either smaller or equal to the
+ traffic profile. Only parameters specified in the traffic profile
+ are compared.
+
+ The GS FLOWSPEC is compared against the rate R and the slack term s.
+ The term R should not be larger than the traffic profile R parameter,
+ while the FLOWSPEC slack term should not be smaller than that
+ specified in the slack term.
+
+
+
+
+
+Snir, et al. Standards Track [Page 39]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ TSPECs as well as FLOWSPECs can be added. The sum of two TSPECs is
+ computed by summing the rate r, the peak rate p, the bucket size b,
+ and by taking the minimum value of the minimum policed unit m and the
+ maximum value of the maximum packet size M. GS FLOWSPECs are summed
+ by adding the Resv rate and minimizing the slack term s. These rules
+ are used to compute the temporal state of admitted RSVP states
+ matching the traffic class defined by the rule condition. This state
+ is compared with the traffic profile to arrive at an admission
+ decision when the scope of the QoSPolicyRSVPAdmissionAction is set to
+ 'class'.
+
+5. Pre-Defined QoS-Related Variables
+
+ Pre-defined variables are necessary for ensuring interoperability
+ among policy servers and policy management tools from different
+ vendors. The purpose of this section is to define frequently used
+ variables in QoS policy domains.
+
+ Notice that this section only adds to the variable classes as defined
+ in [PCIMe] and reuses the mechanism defined there.
+
+ The QoS policy information model specifies a set of pre-defined
+ variable classes to support a set of fundamental QoS terms that are
+ commonly used to form conditions and actions and are missing from the
+ [PCIMe]. Examples of these include RSVP related variables. All
+ variable classes defined in this document extend the
+ QoSPolicyRSVPVariable class (defined in this document), which itself
+ extends the PolicyImplictVariable class, defined in [PCIMe].
+ Subclasses specify the data type and semantics of the policy
+ variables.
+
+ This document defines the following RSVP variable classes; for
+ details, see their class definitions:
+
+ RSVP related Variables:
+
+ 1. QoSPolicyRSVPSourceIPv4Variable - The source IPv4 address of the
+ RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE
+ and RSVP RESV FILTER_SPEC [RSVP] objects.
+
+ 2. QoSPolicyRSVPDestinationIPv4Variable - The destination port of
+ the RSVP signaled flow, as defined in the RSVP PATH and RESV
+ SESSION [RSVP] objects (for IPv4 traffic).
+
+ 3. QoSPolicyRSVPSourceIPv6Variable - The source IPv6 address of the
+ RSVP signaled flow, as defied in the RSVP PATH SENDER_TEMPLATE
+ and RSVP RESV FILTER_SPEC [RSVP] objects.
+
+
+
+
+Snir, et al. Standards Track [Page 40]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ 4. QoSPolicyRSVPDestinationIPv6Variable - The destination port of
+ the RSVP signaled flow, as defined in the RSVP PATH and RESV
+ SESSION [RSVP] objects (for IPv6 traffic).
+
+ 5. QoSPolicyRSVPSourcePortVariable - The source port of the RSVP
+ signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and
+ RSVP RESV FILTER_SPEC [RSVP] objects.
+
+ 6. QoSPolicyRSVPDestinationPortVariable - The destination port of
+ the RSVP signaled flow, as defined in the RSVP PATH and RESV
+ SESSION [RSVP] objects.
+
+ 7. QoSPolicyRSVPIPProtocolVariable - The IP Protocol of the RSVP
+ signaled flow, as defined in the RSVP PATH and RESV SESSION
+ [RSVP] objects.
+
+ 8. QoSPolicyRSVPIPVersionVariable - The version of the IP addresses
+ carrying the RSVP signaled flow, as defined in the RSVP PATH and
+ RESV SESSION [RSVP] objects.
+
+ 9. QoSPolicyRSVPDCLASSVariable - The DSCP value as defined in the
+ RSVP DCLASS [DCLASS] object.
+
+ 10. QoSPolicyRSVPStyleVariable - The reservation style (FF, SE, WF)
+ as defined in the RSVP RESV message [RSVP].
+
+ 11. QoSPolicyRSVPIntServVariable - The type of Integrated Service
+ (CL, GS, NULL) requested in the RSVP Reservation message, as
+ defined in the FLOWSPEC RSVP Object [RSVP].
+
+ 12. QoSPolicyRSVPMessageTypeVariable - The RSVP message type, either
+ PATH, PATHTEAR, RESV, RESVTEAR, RESVERR, CONF or PATHERR [RSVP].
+
+ 13. QoSPolicyRSVPPreemptionPriorityVariable - The RSVP reservation
+ priority as defined in [RFC3181].
+
+ 14. QoSPolicyRSVPPreemptionDefPriorityVariable - The RSVP preemption
+ reservation defending priority as defined in [RFC3181].
+
+ 15. QoSPolicyRSVPUserVariable - The ID of the user that initiated
+ the flow as defined in the User Locator string in the Identity
+ Policy Object [RFC3182].
+
+ 16. QoSPolicyRSVPApplicationVariable - The ID of the application
+ that generated the flow as defined in the application locator
+ string in the Application policy object [RFC2872].
+
+
+
+
+
+Snir, et al. Standards Track [Page 41]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ 17. QoSPolicyRSVPAuthMethodVariable - The RSVP Authentication type
+ used in the Identity Policy Object [RFC3182].
+
+ Each class restricts the possible value types associated with a
+ specific variable. For example, the QoSPolicyRSVPSourcePortVariable
+ class is used to define the source port of the RSVP signaled flow.
+ The value associated with this variable is of type
+ PolicyIntegerValue.
+
+6. QoS Related Values
+
+ Values are used in the information model as building blocks for the
+ policy conditions and policy actions, as described in [PCIM] and
+ [PCIMe]. This section defines a set of auxiliary values that are
+ used for QoS policies as well as other policy domains.
+
+ All value classes extend the PolicyValue class [PCIMe]. The
+ subclasses specify specific data/value types that are not defined in
+ [PCIMe].
+
+ This document defines the following two subclasses of the PolicyValue
+ class:
+
+ QoSPolicyDNValue This class is used to represent a single or
+ set of Distinguished Name [DNDEF] values,
+ including wildcards. A Distinguished Name
+ is a name that can be used as a key to
+ retrieve an object from a directory
+ service. This value can be used in
+ comparison to reference values carried in
+ RSVP policy objects, as specified in
+ [RFC3182]. This class is defined in
+ Section 8.31.
+
+ QoSPolicyAttributeValue A condition term uses the form "Variable
+ matches Value", and an action term uses the
+ form "set Variable to Value" ([PCIMe]).
+ This class is used to represent a single or
+ set of property values for the "Value" term
+ in either a condition or an action. This
+ value can be used in conjunction with
+ reference values carried in RSVP objects,
+ as specified in [RFC3182]. This class is
+ defined in section 8.12.
+
+ The property name is used to specify which of the properties in the
+ QoSPolicyAttributeValue class instance is being used in the condition
+ or action term. The value of this property or properties will then
+
+
+
+Snir, et al. Standards Track [Page 42]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ be retrieved. In the case of a condition, a match (which is
+ dependent on the property name) will be used to see if the condition
+ is satisfied or not. In the case of an action, the semantics are
+ instead "set the variable to this value".
+
+ For example, suppose the "user" objects in the organization include
+ several properties, among them:
+
+ - First Name
+ - Last Name
+ - Login Name
+ - Department
+ - Title
+
+ A simple condition could be constructed to identify flows by their
+ RSVP user carried policy object. The simple condition: Last Name =
+ "Smith" to identify a user named Bill would be constructed in the
+ following way:
+
+ A SimplePolicyCondition [PCIMe] would aggregate a
+ QoSPolicyRSVPUserVariable [QPIM] object, via the
+ PolicyVariableInSimplePolicyCondition [PCIMe] aggregation.
+
+ The implicit value associated with this condition is created in the
+ following way:
+
+ A QoSPolicyAttributeValue object would be aggregated to the simple
+ condition object via a PolicyValueInSimplePolicyCondition [PCIMe].
+ The QoSPolicyAttributeValue attribute qpAttributeName would be set
+ to "last name" and the qpAttributeValueList would be set to
+ "Smith".
+
+ Another example is a condition that has to do with the user's
+ organizational department. It can be constructed in the exact same
+ way, by changing the QoSPolicyAttributeValue attribute
+ qpAttributeName to "Department" and the qpAttributeValueList would be
+ set to the particular value that is to be matched (e.g.,
+ "engineering" or "customer support"). The logical condition would
+ than be evaluated to true if the user belong to either the
+ engineering department or the customer support.
+
+ Notice that many multiple-attribute objects require the use of the
+ QoSPolicyAttributeValue class to specify exactly which of its
+ attributes should be used in the condition match operation.
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 43]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+7. Class Definitions: Association Hierarchy
+
+ The following sections define associations that are specified by
+ QPIM.
+
+7.1. The Association "QoSPolicyTrfcProfInAdmissionAction"
+
+ This association links a QoSPolicyTrfcProf object (defined in section
+ 8.9), modeling a specific traffic profile, to a
+ QoSPolicyAdmissionAction object (defined in section 8.2). The class
+ definition for this association is as follows:
+
+ NAME QoSPolicyTrfcProfInAdmissionAction
+ DESCRIPTION A class representing the association between a
+ QoS admission action and its traffic profile.
+ DERIVED FROM Dependency (See [PCIM])
+ ABSTRACT FALSE
+ PROPERTIES Antecedent[ref QoSPolicyAdmissionAction [0..n]]
+ Dependent[ref QoSPolicyTrfcProf [1..1]]
+
+7.1.1. The Reference "Antecedent"
+
+ This property is inherited from the Dependency association, defined
+ in [PCIM]. Its type is overridden to become an object reference to a
+ QoSPolicyAdmissionAction object. This represents the "independent"
+ part of the association. The [0..n] cardinality indicates that any
+ number of QoSPolicyAdmissionAction object(s) may use a given
+ QoSPolicyTrfcProf.
+
+7.1.2. The Reference "Dependent"
+
+ This property is inherited from the Dependency association, and is
+ overridden to become an object reference to a QoSPolicyTrfcProf
+ object. This represents a specific traffic profile that is used by
+ any number of QoSPolicyAdmissionAction objects. The [1..1]
+ cardinality means that exactly one object of the QoSPolicyTrfcProf
+ can be used by a given QoSPolicyAddmissionAction.
+
+7.2. The Association "PolicyConformAction"
+
+ This association links a policing action with an object defining an
+ action to be applied to conforming traffic relative to the associated
+ traffic profile. The class definition for this association is as
+ follows:
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 44]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ NAME PolicyConformAction
+ DESCRIPTION A class representing the association between a
+ policing action and the action that should be
+ applied to traffic conforming to an associated
+ traffic profile.
+ DERIVED FROM Dependency (see [PCIM])
+ ABSTRACT FALSE
+ PROPERTIES Antecedent[ref QoSPolicyPoliceAction[0..n]]
+ Dependent[ref PolicyAction [1..1]]
+
+7.2.1. The Reference "Antecedent"
+
+ This property is inherited from the Dependency association. Its type
+ is overridden to become an object reference to a
+ QoSPolicyPoliceAction object. This represents the "independent" part
+ of the association. The [0..n] cardinality indicates that any number
+ of QoSPolicyPoliceAction objects may be given the same action to be
+ executed as the conforming action.
+
+7.2.2. The Reference "Dependent"
+
+ This property is inherited from the Dependency association, and is
+ overridden to become an object reference to a PolicyAction object.
+ This represents a specific policy action that is used by a given
+ QoSPolicyPoliceAction. The [1..1] cardinality means that exactly one
+ policy action can be used as the "conform" action for a
+ QoSPolicyPoliceAction. To execute more than one conforming action,
+ use the PolicyCompoundAction class to model the conforming action.
+
+7.3. The Association "QoSPolicyExceedAction"
+
+ This association links a policing action with an object defining an
+ action to be applied to traffic exceeding the associated traffic
+ profile. The class definition for this association is as follows:
+
+ NAME QoSPolicyExceedAction
+ DESCRIPTION A class representing the association between a
+ policing action and the action that should be
+ applied to traffic exceeding an associated traffic
+ profile.
+ DERIVED FROM Dependency (see [PCIM])
+ ABSTRACT FALSE
+ PROPERTIES Antecedent[ref QoSPolicePoliceAction[0..n]]
+ Dependent[ref PolicyAction [1..1]]
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 45]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+7.3.1. The Reference "Antecedent"
+
+ This property is inherited from the Dependency association. Its type
+ is overridden to become an object reference to a
+ QoSPolicyPoliceAction object. This represents the "independent" part
+ of the association. The [0..n] cardinality indicates that any number
+ of QoSPolicyPoliceAction objects may be given the same action to be
+ executed as the exceeding action.
+
+7.3.2. The Reference "Dependent"
+
+ This property is inherited from the Dependency association, and is
+ overridden to become an object reference to a PolicyAction object.
+ This represents a specific policy action that is used by a given
+ QoSPolicyPoliceAction. The [1..1] cardinality means that a exactly
+ one policy action can be used as the "exceed" action by a
+ QoSPolicyPoliceAction. To execute more than one conforming action,
+ use the PolicyCompoundAction class to model the exceeding action.
+
+7.4. The Association "PolicyViolateAction"
+
+ This association links a policing action with an object defining an
+ action to be applied to traffic violating the associated traffic
+ profile. The class definition for this association is as follows:
+
+ NAME PolicyViolateAction
+ DESCRIPTION A class representing the association between
+ a policing action and the action that should be
+ applied to traffic violating an associated traffic
+ profile.
+ DERIVED FROM Dependency (see [PCIM])
+ ABSTRACT FALSE
+ PROPERTIES Antecedent[ref QoSPolicePoliceAction[0..n]]
+ Dependent[ref PolicyAction [1..1]]
+
+7.4.1. The Reference "Antecedent"
+
+ This property is inherited from the Dependency association. Its type
+ is overridden to become an object reference to a
+ QoSPolicyPoliceAction object. This represents the "independent" part
+ of the association. The [0..n] cardinality indicates that any number
+ of QoSPolicyPoliceAction objects may be given the same action to be
+ executed as the violating action.
+
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 46]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+7.4.2. The Reference "Dependent"
+
+ This property is inherited from the Dependency association, and is
+ overridden to become an object reference to a PolicyAction object.
+ This represents a specific policy action that is used by a given
+ QoSPolicyPoliceAction. The [1..1] cardinality means that exactly one
+ policy action can be used as the "violate" action by a
+ QoSPolicyPoliceAction. To execute more than one violating action,
+ use the PolicyCompoundAction class to model the conforming action.
+
+7.5. The Aggregation "QoSPolicyRSVPVariableInRSVPSimplePolicyAction"
+
+ A simple RSVP policy action is represented as a pair {variable,
+ value}. This aggregation provides the linkage between a
+ QoSPolicyRSVPSimpleAction instance and a single
+ QoSPolicyRSVPVariable. The aggregation
+ PolicyValueInSimplePolicyAction links the QoSPolicyRSVPSimpleAction
+ to a single PolicyValue.
+
+ The class definition for this aggregation is as follows:
+
+ NAME QoSPolicyRSVPVariableInRSVPSimplePolicyAction
+ DERIVED FROM PolicyVariableInSimplePolicyAction
+ ABSTRACT FALSE
+ PROPERTIES GroupComponent[ref QoSPolicyRSVPSimpleAction
+ [0..n]]
+ PartComponent[ref QoSPolicyRSVPVariable [1..1] ]
+
+7.5.1. The Reference "GroupComponent"
+
+ The reference property "GroupComponent" is inherited from
+ PolicyComponent, and overridden to become an object reference to a
+ QoSPolicyRSVPSimpleAction that contains exactly one
+ QoSPolicyRSVPVariable. Note that for any single instance of the
+ aggregation class QoSPolicyRSVPVariableInRSVPSimplePolicyAction, this
+ property is single-valued. The [0..n] cardinality indicates that
+ there may be 0, 1, or more QoSPolicyRSVPSimpleAction objects that
+ contain any given RSVP variable object.
+
+7.5.2. The Reference "PartComponent"
+
+ The reference property "PartComponent" is inherited from
+ PolicyComponent, and overridden to become an object reference to a
+ QoSPolicyRSVPVariable that is defined within the scope of a
+ QoSPolicyRSVPSimpleAction. Note that for any single instance of the
+ association class QoSPolicyRSVPVariableInRSVPSimplePolicyAction, this
+ property (like all reference properties) is single-valued. The
+
+
+
+
+Snir, et al. Standards Track [Page 47]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ [1..1] cardinality indicates that a
+ QoSPolicyRSVPVariableInRSVPSimplePolicyAction must have exactly one
+ RSVP variable defined within its scope in order to be meaningful.
+
+8. Class Definitions: Inheritance Hierarchy
+
+ The following sections define object classes that are specified by
+ QPIM.
+
+8.1. The Class QoSPolicyDiscardAction
+
+ This class is used to specify that packets should be discarded. This
+ is the same as stating that packets should be denied forwarding. The
+ class definition is as follows:
+
+ NAME QoSPolicyDiscardAction
+ DESCRIPTION This action specifies that packets should be
+ discarded.
+ DERIVED FROM PolicyAction (defined in [PCIM])
+ ABSTRACT FALSEFALSE
+ PROPERTIES None
+
+8.2. The Class QoSPolicyAdmissionAction
+
+ This class is the base class for performing admission decisions based
+ on a comparison of a meter measuring the temporal behavior of a flow
+ or a set of flow with a traffic profile. The qpAdmissionScope
+ property controls whether the comparison is done per flow or per
+ class (of flows). Only packets that conform to the traffic profile
+ are admitted for further processing; other packets are discarded.
+ The class definition is as follows:
+
+ NAME QoSPolicyAdmissionAction
+ DESCRIPTION This action controls admission decisions based on
+ comparison of a meter to a traffic profile.
+ DERIVED FROM PolicyAction (defined in [PCIM])
+ ABSTRACT FALSEFALSE
+ PROPERTIES qpAdmissionScope
+
+8.2.1. The Property qpAdmissionScope
+
+ This attribute specifies whether the admission decision is done per
+ flow or per the entire class of flows defined by the rule condition.
+ If the scope is "flow", the actual or requested rate of each flow is
+ compared against the traffic profile. If the scope is set to
+ "class", the aggregate actual or requested rate of all flows matching
+ the rule condition is measured against the traffic profile. The
+ property is defined as follows:
+
+
+
+Snir, et al. Standards Track [Page 48]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ NAME qpAdmissionScope
+ DESCRIPTION This property specifies whether the admission decision
+ is done per flow or per the entire class of flows.
+ SYNTAX Integer
+ VALUE This is an enumerated integer. A value of 0 specifies
+ that admission is done on a per-flow basis, and a value
+ of 1 specifies that admission is done on a per-class
+ basis.
+
+8.3. The Class QoSPolicyPoliceAction
+
+ This is used for defining policing actions (i.e., those actions that
+ restrict traffic based on a comparison with a traffic profile).
+ Using the three associations QoSPolicyConformAction,
+ QoSPolicyExceedAction and QoSPolicyViolateAction, it is possible to
+ specify different actions to take based on whether the traffic is
+ conforming, exceeding, or violating a traffic profile. The traffic
+ profile is specified in a subclass of the QoSPolicyTrfcProf class.
+ The class definition is as follows:
+
+ NAME QoSPolicyPoliceAction
+ DESCRIPTION This action controls the operation of policers. The
+ rate of flows is measured against a traffic profile.
+ The actions that need to be performed on conforming,
+ exceeding and violating traffic are indicated using
+ the conform, exceed and violate action associations.
+ DERIVED FROM QoSPolicyAdmissionAction (defined in this document)
+ ABSTRACT FALSEFALSE
+ PROPERTIES None
+
+8.4. The Class QoSPolicyShapeAction
+
+ This class is used for defining shaping actions. Shapers are used to
+ delay some or all of the packets in a traffic stream in order to
+ bring a particular traffic stream into compliance with a given
+ traffic profile. The traffic profile is specified in a subclass of
+ the QoSPolicyTrfcProf class. The class definition is as follows:
+
+ NAME QoSPolicyShapeAction
+ DESCRIPTION This action indicate that traffic should be shaped to be
+ conforming with a traffic profile.
+ DERIVED FROM QoSPolicyAdmissionAction (defined in this document)
+ ABSTRACT FALSEFALSE
+ PROPERTIES None
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 49]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+8.5. The Class QoSPolicyRSVPAdmissionAction
+
+ This class determines whether to accept or reject a given RSVP
+ request by comparing the RSVP request's TSPEC or RSPEC parameters
+ against the associated traffic profile and/or by enforcing the pre-
+ set maximum sessions limit. The traffic profile is specified in the
+ QoSPolicyIntServTrfcProf class. This class inherits the
+ qpAdmissionScope property from its superclass. This property
+ specifies whether admission should be done on a per-flow or per-class
+ basis. If the traffic profile is not larger than or equal to the
+ requested reservation, or to the sum of the admitted reservation
+ merged with the requested reservation, the result is a deny decision.
+ If no traffic profile is specified, the assumption is that all
+ traffic can be admitted.
+
+ The class definition is as follows:
+
+ NAME QoSPolicyRSVPAdmissionAction
+ DESCRIPTION This action controls the admission of RSVP requests.
+ Depending on the scope, either a single RSVP request or
+ the total admitted RSVP requests matching the conditions
+ are compared against a traffic profile.
+ DERIVED FROM QoSPolicyAdmissionAction (defined in this document)
+ ABSTRACT FALSEFALSE
+ PROPERTIES qpRSVPWarnOnly, qpRSVPMaxSessions
+
+8.5.1. The Property qpRSVPWarnOnly
+
+ This property is applicable when fulfilling ("admitting") an RSVP
+ request would violate the policer (traffic profile) limits or when
+ the maximum number session would be exceeded (or both).
+
+ When this property is set to TRUE, the RSVP request is admitted in
+ spite of the violation, but an RSVP error message carrying a warning
+ is sent to the originator (sender or receiver). When set to FALSE,
+ the request would be denied and an error message would be sent back
+ to the originator. So the meaning of the qpWarnOnly flag is: Based
+ on property's value (TRUE or FALSE), determine whether to admit but
+ warn the originator that the request is in violation or to deny the
+ request altogether (and send back an error).
+
+ Specifically, a PATHERR (in response to a Path message) or a RESVERR
+ (in response of a RESV message) will be sent. This follows the COPS
+ for RSVP send error flag in the Decision Flags object. This property
+ is defined as follows:
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 50]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ NAME qpRSVPWarnOnly
+ SYNTAX Boolean
+ Default FALSE
+ VALUE The value TRUE means that the request should be admitted
+ AND an RSVP warning message should be sent to the
+ originator. The value of FALSE means that the request
+ should be not admitted and an appropriate error message
+ should be sent back to the originator of the request.
+
+8.5.2. The Property qpRSVPMaxSessions
+
+ This attribute is used to limit the total number of RSVP requests
+ admitted for the specified class of traffic. For this property to be
+ meaningful, the qpAdmissionScope property must be set to class. The
+ definition of this property is as follows:
+
+ NAME qpRSVPMaxSessions
+ SYNTAX Integer
+ VALUE Must be greater than 0.
+
+8.6. The Class QoSPolicyPHBAction
+
+ This class is a base class that is used to define the per-hop
+ behavior that is to be assigned to behavior aggregates. It defines a
+ common property, qpMaxPacketSize, for use by its subclasses
+ (QoSPolicyBandwidthAction and QoSPolicyCongestionControlAction). The
+ class definition is as follows:
+
+ NAME QoSPolicyPHBAction
+ DESCRIPTION This action controls the Per-Hop-Behavior provided to
+ behavior aggregates.
+ DERIVED FROM PolicyAction (defined in [PCIM])
+ ABSTRACT TRUE
+ PROPERTIES qpMaxPacketSize
+
+8.6.1. The Property qpMaxPacketSize
+
+ This property specifies the maximum packet size in bytes, of packets
+ in the designated flow. This attribute is used in translation of
+ QPIM attributes to QoS mechanisms used within a PEP. For example,
+ queue length may be measured in bytes, while the minimum number of
+ packets that should be kept in a PEP is defined within QPIM in number
+ of packets. This property is defined as follows:
+
+ NAME qpMaxPacketSize
+ SYNTAX Integer
+ Value Must be greater than 0
+
+
+
+
+Snir, et al. Standards Track [Page 51]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+8.7. The Class QoSPolicyBandwidthAction
+
+ This class is used to control the bandwidth, delay, and forwarding
+ behavior of a PHB. Its class definition is as follows:
+
+ NAME QoSPolicyBandwidthAction
+ DESCRIPTION This action controls the bandwidth, delay, and
+ forwarding characteristics of the PHB.
+ DERIVED FROM QoSPolicyPBHAction (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES qpForwardingPriority, qpBandwidthUnits,
+ qpMinBandwdith, qpMaxBandwidth, qpMaxDelay,
+ qpMaxJitter, qpFairness
+
+8.7.1. The Property qpForwardingPriority
+
+ This property defines the forwarding priority for this set of flows.
+ A non-zero value indicates that preemptive forwarding is required.
+ Higher values represent higher forwarding priority. This property is
+ defined as follows:
+
+ NAME qpForwardingPriority
+ SYNTAX Integer
+ VALUE Must be non-negative. The value 0 means that preemptive
+ forwarding is not required. A positive value indicates
+ the priority that is to be assigned for this (set of)
+ flow(s). Larger values represent higher priorities.
+
+8.7.2. The Property qpBandwidthUnits
+
+ This property defines the units that the properties qpMinBandwidth
+ and qpMaxBandwidth have. Bandwidth can either be defined in bits/sec
+ or as a percentage of the available bandwidth or scheduler resources.
+ This property is defined as follows:
+
+ NAME qpBandwidthUnits
+ SYNTAX Integer
+ VALUE Two values are possible. The value of 0 is used to
+ specify units of bits/sec, while the value of 1 is used
+ to specify units as a percentage of the available
+ bandwidth. If this property indicates that the bandwidth
+ units are percentages, then each of the bandwidth
+ properties expresses a whole-number percentage, and hence
+ its maximum value is 100.
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 52]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+8.7.3. The Property qpMinBandwidth
+
+ This property defines the minimum bandwidth that should be reserved
+ for this class of traffic. Both relative (i.e., a percentage of the
+ bandwidth) and absolute (i.e., bits/second) values can be specified
+ according to the value of the qpBandwidthUnits property. This
+ property is defined as follows:
+
+ NAME qpMinBandwidth
+ SYNTAX Integer
+ VALUE The value must be greater than 0. If the property
+ qpMaxBandwidth is defined, then the value of
+ qpMinBandwidth must be less than or equal to the value of
+ qpMaxBandwidth.
+
+8.7.4. The Property qpMaxBandwidth
+
+ This property defines the maximum bandwidth that should be allocated
+ to this class of traffic. Both relative (i.e., a percentage of the
+ bandwidth)and absolute (i.e., bits/second) values can be specified
+ according to the value of the qpBandwidthUnits property. This
+ property is defined as follows:
+
+ NAME qpMaxBandwidth
+ SYNTAX Integer
+ VALUE The value must be greater than 0. If the property
+ qpMaxBandwidth is defined, then the value of
+ qpMinBandwidth must be less than or equal to the value of
+ qpMaxBandwidth.
+
+8.7.5. The Property qpMaxDelay
+
+ This property defines the maximal per-hop delay that traffic of this
+ class should experience while being forwarded through this hop. The
+ maximum delay is measured in microseconds. This property is defined
+ as follows:
+
+ NAME qpMaxDelay
+ SYNTAX Integer (microseconds)
+ VALUE The value must be greater than 0.
+
+8.7.6. The Property qpMaxJitter
+
+ This property defines the maximal per-hop delay variance that traffic
+ of this class should experience while being forwarded through this
+ hop. The maximum jitter is measured in microseconds. This property
+ is defined as follows:
+
+
+
+
+Snir, et al. Standards Track [Page 53]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ NAME qpMaxJitter
+ SYNTAX Integer (microseconds)
+ VALUE The value must be greater than 0.
+
+8.7.7. The Property qpFairness
+
+ This property defines whether fair queuing is required for this class
+ of traffic. This property is defined as follows:
+
+ NAME qpFairness
+ SYNTAX Boolean
+ VALUE The value of FALSE means that fair queuing is not
+ required for this class of traffic, while the value of
+ TRUE means that fair queuing is required for this class
+ of traffic.
+
+8.8. The Class QoSPolicyCongestionControlAction
+
+ This class is used to control the characteristics of the congestion
+ control algorithm being used. The class definition is as follows:
+
+ NAME QoSPolicyCongestionControlAction
+ DESCRIPTION This action control congestion control characteristics
+ of the PHB.
+ DERIVED FROM QoSPolicyPBHAction (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES qpQueueSizeUnits, qpQueueSize, qpDropMethod,
+ qpDropThresholdUnits, qpDropMinThresholdValue,
+ qpDropMaxThresholdValue
+
+8.8.1. The property qpQueueSizeUnits
+
+ This property specifies the units in which the qpQueueSize attribute
+ is measured. The queue size is measured either in number of packets
+ or in units of time. The time interval specifies the time needed to
+ transmit all packets within the queue if the link speed is dedicated
+ entirely to transmission of packets within this queue. The property
+ definition is:
+
+ NAME qpQueueSizeUnits
+ SYNTAX Integer
+ VALUE This property can have two values. If the value is set
+ to 0, then the unit of measurement is number of packets.
+ If the value is set to 1, then the unit of measurement is
+ milliseconds.
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 54]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+8.8.2. The Property qpQueueSize
+
+ This property specifies the maximum queue size in packets or in
+ milliseconds, depending on the value of the qpQueueSizeUnits (0
+ specifies packets, and 1 specifies milliseconds). This property is
+ defined as follows:
+
+ NAME qpQueueSize
+ SYNTAX Integer
+ VALUE This value must be greater than 0.
+
+8.8.3. The Property qpDropMethod
+
+ This property specifies the congestion control drop algorithm that
+ should be used for this type of traffic. This property is defined as
+ follows:
+
+ NAME qpDropMethod
+ SYNTAX Integer
+ VALUES Three values are currently defined. The value 0
+ specifies a random drop algorithm, the value 1 specifies
+ a tail drop algorithm, and the value 2 specifies a head
+ drop algorithm.
+
+8.8.4. The Property qpDropThresholdUnits
+
+ This property specifies the units in which the two properties
+ qpDropMinThresholdValue and qpDropMaxThresholdValue are measured.
+ Thresholds can be measured either in packets or as a percentage of
+ the available queue sizes. This property is defined as follows:
+
+ NAME qpDropThresholdUnits
+ SYNTAX Integer
+ VALUES Three values are defined. The value 0 defines the units
+ as number of packets, the value 1 defines the units as a
+ percentage of the queue size and the value 2 defines the
+ units in milliseconds. If this property indicates that
+ the threshold units are percentages, then each of the
+ threshold properties expresses a whole-number percentage,
+ and hence its maximum value is 100.
+
+8.8.5. The Property qpDropMinThresholdValue
+
+ This property specifies the minimum number of queuing and buffer
+ resources that should be reserved for this class of flows. The
+ threshold can be specified as either relative (i.e., a percentage) or
+ absolute (i.e., number of packets or millisecond) value according to
+ the value of the qpDropThresholdUnits property. If this property
+
+
+
+Snir, et al. Standards Track [Page 55]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ specifies a value of 5 packets, then enough buffer and queuing
+ resources should be reserved to hold 5 packets before running the
+ specified congestion control drop algorithm. This property is
+ defined as follows:
+
+ NAME qpDropMinThresholdValue
+ SYNTAX Integer
+ VALUE This value must be greater than or equal to 0. If the
+ property qpDropMaxThresholdValue is defined, then the
+ value of the qpDropMinThresholdValue property must be
+ less than or equal to the value of the
+ qpDropMaxThresholdValue property.
+
+8.8.6. The Property qpDropMaxThresholdValue
+
+ This property specifies the maximum number of queuing and buffer
+ resources that should be reserved for this class of flows. The
+ threshold can be specified as either relative (i.e., a percentage) or
+ absolute (i.e., number of packets or milliseconds) value according to
+ the value of the qpDropThresholdUnits property. Congestion Control
+ droppers should not keep more packets than the value specified in
+ this property. Note, however, that some droppers may calculate queue
+ occupancy averages, and therefore the actual maximum queue resources
+ should be larger. This property is defined as follows:
+
+ NAME qpDropMaxThresholdValue
+ SYNTAX Integer
+ VALUE This value must be greater than or equal to 0. If the
+ property qpDropMinThresholdValue is defined, then the
+ value of the qpDropMinThresholdValue property must be
+ less than or equal to the value of the
+ qpDropMaxThresholdValue property.
+
+8.9. Class QoSPolicyTrfcProf
+
+ This is an abstract base class that models a traffic profile.
+ Traffic profiles specify the maximum rate parameters used within
+ admission decisions. The association
+ QoSPolicyTrfcProfInAdmissionAction binds the admission decision to
+ the traffic profile. The class definition is as follows:
+
+ NAME QoSPolicyTrfcProf
+ DERIVED FROM Policy (defined in [PCIM])
+ ABSTRACT TRUE
+ PROPERTIES None
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 56]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+8.10. Class QoSPolicyTokenBucketTrfcProf
+
+ This class models a two- or three-level Token Bucket traffic profile.
+ Additional profiles can be modeled by cascading multiple instances of
+ this class (e.g., by connecting the output of one instance to the
+ input of another instance). This traffic profile carries the policer
+ or shaper rate values to be enforced on a flow or a set of flows.
+ The class definition is as follows:
+
+ NAME QoSPolicyTokenBucketTrfcProf
+ DERIVED FROM QoSPolicyTrfcProf (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES qpTBRate, qpTBNormalBurst, qpTBExcessBurst
+
+8.10.1. The Property qpTBRate
+
+ This is a non-negative integer that defines the token rate in
+ kilobits per second. A rate of zero means that all packets will be
+ out of profile. This property is defined as follows:
+
+ NAME qpTBRate
+ SYNTAX Integer
+ VALUE This value must be greater than to 0
+
+8.10.2. The Property qpTBNormalBurst
+
+ This property is an integer that defines the normal size of a burst
+ measured in bytes. This property is defined as follows:
+
+ NAME qpTBNormalBurst
+ SYNTAX Integer
+ VALUE This value must be greater than to 0
+
+8.10.3. The Property qpTBExcessBurst
+
+ This property is an integer that defines the excess burst size
+ measured in bytes. This property is defined as follows:
+
+ NAME qpTBExcessBurst
+ SYNTAX Integer
+ VALUE This value must be greater than or equal to
+ qpTBNormalBurst
+
+8.11. Class QoSPolicyIntServTrfcProf
+
+ This class represents an IntServ traffic profile. Values of IntServ
+ traffic profiles are compared against Traffic specification (TSPEC)
+ and QoS Reservation (FLOWSPEC) requests carried in RSVP requests.
+
+
+
+Snir, et al. Standards Track [Page 57]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ The class definition is as follows:
+
+ NAME QoSPolicyIntServTrfcProf
+ DERIVED FROM QoSPolicyTrfcProf (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES qpISTokenRate, qpISPeakRate, qpISBucketSize,
+ qpISResvRate, qpISResvSlack, qpISMinPolicedUnit,
+ qpISMaxPktSize
+
+8.11.1. The Property qpISTokenRate
+
+ This property is a non-negative integer that defines the token rate
+ parameter, measured in kilobits per second. This property is defined
+ as follows:
+
+ NAME qpISTokenRate
+ SYNTAX Integer
+ VALUE This value must be greater than or equal to 0
+
+8.11.2. The Property qpISPeakRate
+
+ This property is a non-negative integer that defines the peak rate
+ parameter, measured in kilobits per second. This property is defined
+ as follows:
+
+ NAME qpISPeakRate
+ SYNTAX Integer
+ VALUE This value must be greater than or equal to 0
+
+8.11.3. The Property qpISBucketSize
+
+ This property is a non-negative integer that defines the token bucket
+ size parameter, measured in bytes. This property is defined as
+ follows:
+
+ NAME qpISBucketSize
+ SYNTAX Integer
+ VALUE This value must be greater than or equal to 0
+
+8.11.4. The Property qpISResvRate
+
+ This property is a non-negative integer that defines the reservation
+ rate (R-Spec) in the RSVP guaranteed service reservation. It is
+ measured in kilobits per second. This property is defined as
+ follows:
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 58]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ NAME qpISResvRate
+ SYNTAX Integer
+ VALUE This value must be greater than or equal to 0
+
+8.11.5. The Property qpISResvSlack
+
+ This property is a non-negative integer that defines the RSVP slack
+ term in the RSVP guaranteed service reservation. It is measured in
+ microseconds. This property is defined as follows:
+
+ NAME qpISResvSlack
+ SYNTAX Integer
+ VALUE This value must be greater than or equal to 0
+
+8.11.6. The Property qpISMinPolicedUnit
+
+ This property is a non-negative integer that defines the minimum RSVP
+ policed unit, measured in bytes. This property is defined as
+ follows:
+
+ NAME qpISMinPolicedUnit
+ SYNTAX Integer
+ VALUE This value must be greater than or equal to 0
+
+8.11.7. The Property qpISMaxPktSize
+
+ This property is a positive integer that defines the maximum allowed
+ packet size for RSVP messages, measured in bytes. This property is
+ defined as follows:
+
+ NAME qpISMaxPktSize
+ SYNTAX Integer
+ VALUE This value must be a positive integer, denoting the
+ number of bytes in the largest payload packet of an RSVP
+ signaled flow or class.
+
+8.12. The Class QoSPolicyAttributeValue
+
+ This class can be used for representing an indirection in variable
+ and value references either in a simple condition ("<x> match <y>")
+ or a simple action ("<x> = <y>"). In both cases, <x> and <y> are
+ known as the variable and the value of either the condition or
+ action. The value of the properties qpAttributeName and
+ qpAttributeValueList are used to substitute <x> and <y> in the
+ condition or action respectively.
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 59]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ The substitution is done as follows: The value of the property
+ qpAttributeName is used to substitute <x> and the value of the
+ property qpAttributeValueList is used to substitute <y>.
+
+ Once the substitution is done, the condition can be evaluated and the
+ action can be performed.
+
+ For example, suppose we want to define a condition over a user name
+ of the form "user == 'Smith'", using the QoSPolicyRSVPUserVariable
+ class. The user information in the RSVP message provides a DN. The
+ DN points to a user objects holding many attributes. If the relevant
+ attribute is "last name", we would use the QoSPolicyAttributeValue
+ class with qpAttributeName = "Last Name", qpAttributeValueList =
+ {"Smith"}.
+
+ The class definition is as follows:
+
+ NAME QoSPolicyAttributeValue
+ DERIVED FROM PolicyValue (defined in [PCIMe])
+ ABSTRACT FALSE
+ PROPERTIES qpAttributeName, qpAttributeValueList
+
+8.12.1. The Property qpAttributeName
+
+ This property carries the name of the attribute that is to be used to
+ substitute <x> in a simple condition or simple condition of the forms
+ "<x> match <y>" or "<x> = <y>" respectively. This property is
+ defined as follows:
+
+ NAME qpAttributeName
+ SYNTAX String
+
+8.12.2. The Property qpAttributeValueList
+
+ This property carries a list of values that is to be used to
+ substitute <y> in a simple condition or simple action of the forms
+ "<x> match <y>" or "<x> = <y>" respectively.
+
+ This property is defined as follows:
+
+ NAME qpAttributeValueList
+ SYNTAX String
+
+8.13. The Class "QoSPolicyRSVPVariable"
+
+ This is an abstract class that serves as the base class for all
+ implicit variables that have to do with RSVP conditioning. The class
+ definition is as follows:
+
+
+
+Snir, et al. Standards Track [Page 60]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ NAME QoSPolicyRSVPVariable
+ DESCRIPTION An abstract base class used to build other classes
+ that specify different attributes of an RSVP request
+ DERIVED FROM PolicyImplicitVariable (defined in [PCIMe])
+ ABSTRACT TRUE
+ PROPERTIES None
+
+8.14. The Class "QoSPolicyRSVPSourceIPv4Variable"
+
+ This is a concrete class that contains the source IPv4 address of the
+ RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and
+ RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as
+ follows:
+
+ NAME QoSPolicyRSVPSourceIPv4Variable
+ DESCRIPTION The source IPv4 address of the RSVP signaled flow, as
+ defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV
+ FILTER_SPEC [RSVP] objects.
+
+ ALLOWED VALUE TYPES: PolicyIPv4AddrValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.15. The Class "QoSPolicyRSVPDestinationIPv4Variable"
+
+ This is a concrete class that contains the destination IPv4 address
+ of the RSVP signaled flow, as defined in the RSVP PATH
+ SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. The class
+ definition is as follows:
+
+ NAME QoSPolicyRSVPDestinationIPv4Variable
+ DESCRIPTION The destination IPv4 address of the RSVP signaled
+ flow, as defined in the RSVP PATH and RESV SESSION
+ [RSVP] objects.
+
+ ALLOWED VALUE TYPES: PolicyIPv4AddrValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 61]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+8.16. The Class "QoSPolicyRSVPSourceIPv6Variable"
+
+ This is a concrete class that contains the source IPv6 address of the
+ RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and
+ RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as
+ follows:
+
+ NAME QoSPolicyRSVPSourceIPv6Variable
+ DESCRIPTION The source IPv6 address of the RSVP signaled flow, as
+ defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV
+ FILTER_SPEC [RSVP] objects.
+
+ ALLOWED VALUE TYPES: PolicyIPv6AddrValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.17. The Class "QoSPolicyRSVPDestinationIPv6Variable"
+
+ This is a concrete class that contains the destination IPv6 address
+ of the RSVP signaled flow, as defined in the RSVP PATH
+ SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. The class
+ definition is as follows:
+
+ NAME QoSPolicyRSVPDestinationIPv6Variable
+ DESCRIPTION The destination IPv6 address of the RSVP signaled
+ flow, as defined in the RSVP PATH and RESV SESSION
+ [RSVP] objects.
+
+ ALLOWED VALUE TYPES: PolicyIPv6AddrValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.18. The Class "QoSPolicyRSVPSourcePortVariable"
+
+ This class contains the source port of the RSVP signaled flow, as
+ defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC
+ [RSVP] objects. The class definition is as follows:
+
+ NAME QoSPolicyRSVPSourcePortVariable
+ DESCRIPTION The source port of the RSVP signaled flow, as defined
+ in the RSVP PATH SENDER_TEMPLATE and RSVP RESV
+ FILTER_SPEC [RSVP] objects.
+
+ ALLOWED VALUE TYPES: PolicyIntegerValue (0..65535)
+
+
+
+Snir, et al. Standards Track [Page 62]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.19. The Class "QoSPolicyRSVPDestinationPortVariable"
+
+ This is a concrete class that contains the destination port of the
+ RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and
+ RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as
+ follows:
+
+ NAME QoSPolicyRSVPDestinationPortVariable
+ DESCRIPTION The destination port of the RSVP signaled flow, as
+ defined in the RSVP PATH and RESV SESSION [RSVP]
+ objects.
+
+ ALLOWED VALUE TYPES: PolicyIntegerValue (0..65535)
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.20. The Class "QoSPolicyRSVPIPProtocolVariable"
+
+ This is a concrete class that contains the IP Protocol number of the
+ RSVP signaled flow, as defined in the RSVP PATH and RESV SESSION
+ [RSVP] objects. The class definition is as follows:
+
+ NAME QoSPolicyRSVPIPProtocolVariable
+ DESCRIPTION The IP Protocol number of the RSVP signaled flow, as
+ defined in the RSVP PATH and RESV SESSION [RSVP]
+ objects.
+
+ ALLOWED VALUE TYPES: PolicyIntegerValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.21. The Class "QoSPolicyRSVPIPVersionVariable"
+
+ This is a concrete class that contains the IP Protocol version number
+ of the RSVP signaled flow, as defined in the RSVP PATH and RESV
+ SESSION [RSVP] objects. The well-known version numbers are 4 and 6.
+ This variable allows a policy definition of the type:
+
+ "If IP version = IPv4 then ...".
+
+
+
+
+Snir, et al. Standards Track [Page 63]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ The class definition is as follows:
+
+ NAME QoSPolicyRSVPIPVersionVariable
+ DESCRIPTION The IP version number of the IP Addresses carried the
+ RSVP signaled flow, as defined in the RSVP PATH and
+ RESV SESSION [RSVP] objects.
+
+ ALLOWED VALUE TYPES: PolciIntegerValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.22. The Class "QoSPolicyRSVPDCLASSVariable"
+
+ This is a concrete class that contains the DSCP value as defined in
+ the RSVP DCLASS [DCLASS] object. The class definition is as follows:
+
+ NAME QoSPolicyRSVPDCLASSVariable
+ DESCRIPTION The DSCP value as defined in the RSVP DCLASS [DCLASS]
+ object.
+
+ ALLOWED VALUE TYPES: PolicyIntegerValue,
+ PolicyBitStringValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.23. The Class "QoSPolicyRSVPStyleVariable"
+
+ This is a concrete class that contains the reservation style as
+ defined in the RSVP STYLE object in the RESV message [RSVP]. The
+ class definition is as follows:
+
+ NAME QoSPolicyRSVPStyleVariable
+ DESCRIPTION The reservation style as defined in the RSVP STYLE
+ object in the RESV message [RSVP].
+
+ ALLOWED VALUE TYPES: PolicyBitStringValue,
+ PolicyIntegerValue (Integer has
+ an enumeration of
+ { Fixed-Filter=1,
+ Shared-Explicit=2,
+ Wildcard-Filter=3}
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 64]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.24. The Class "QoSPolicyIntServVariable"
+
+ This is a concrete class that contains the Integrated Service
+ requested in the RSVP Reservation message, as defined in the FLOWSPEC
+ RSVP Object [RSVP]. The class definition is as follows:
+
+ NAME QoSPolicyRSVPIntServVariable
+ DESCRIPTION The integrated Service requested in the RSVP
+ Reservation message, as defined in the FLOWSPEC RSVP
+ Object [RSVP].
+
+ ALLOWED VALUE TYPES: PolicyIntegerValue (An enumerated
+ value of { CL=1 , GS=2, NULL=3}
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.25. The Class "QoSPolicyRSVPMessageTypeVariable"
+
+ This is a concrete class that contains the RSVP message type, as
+ defined in the RSVP message common header [RSVP] object. The class
+ definition is as follows:
+
+ NAME QoSPolicyRSVPMessageTypeVariable
+ DESCRIPTION The RSVP message type, as defined in the RSVP message
+ common header [RSVP] object.
+
+ ALLOWED VALUE TYPES: Integer (An enumerated value of
+ {PATH=1 , PATHTEAR=2, RESV=3,
+ RESVTEAR=4, RESVERR=5, CONF=6,
+ PATHERR=7}
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.26. The Class "QoSPolicyRSVPPreemptionPriorityVariable"
+
+ This is a concrete class that contains the RSVP reservation priority,
+ as defined in [RFC3181] object. The class definition is as follows:
+
+ NAME QoSPolicyRSVPPreemptionPriorityVariable
+ DESCRIPTION The RSVP reservation priority as defined in [RFC3181].
+
+
+
+Snir, et al. Standards Track [Page 65]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ ALLOWED VALUE TYPES: PolicyIntegerValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.27. The Class "QoSPolicyRSVPPreemptionDefPriorityVariable"
+
+ This is a concrete class that contains the RSVP reservation defending
+ priority, as defined in [RFC3181] object. The class definition is as
+ follows:
+
+ NAME QoSPolicyRSVPPreemptionDefPriorityVariable
+ DESCRIPTION The RSVP preemption reservation defending priority as
+ defined in [RFC3181].
+
+ ALLOWED VALUE TYPES: PolicyIntegerValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.28. The Class "QoSPolicyRSVPUserVariable"
+
+ This is a concrete class that contains the ID of the user that
+ initiated the flow as defined in the User Locator string in the
+ Identity Policy Object [RFC3182]. The class definition is as
+ follows:
+
+ NAME QoSPolicyRSVPUserVariable
+ DESCRIPTION The ID of the user that initiated the flow as defined
+ in the User Locator string in the Identity Policy
+ Object [RFC3182].
+
+ ALLOWED VALUE TYPES: QoSPolicyDNValue,
+ PolicyStringValue,
+ QoSPolicyAttributeValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.29. The Class "QoSPolicyRSVPApplicationVariable"
+
+ This is a concrete class that contains the ID of the application that
+ generated the flow as defined in the application locator string in
+ the Application policy object [RFC2872]. The class definition is as
+ follows:
+
+
+
+Snir, et al. Standards Track [Page 66]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ NAME QoSPolicyRSVPApplicationVariable
+ DESCRIPTION The ID of the application that generated the flow as
+ defined in the application locator string in the
+ Application policy object [RFC2872].
+
+ ALLOWED VALUE TYPES: QoSPolicyDNValue,
+ PolicyStringValue,
+ QoSPolicyAttributeValue
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.30. The Class "QoSPolicyRSVPAuthMethodVariable"
+
+ This is a concrete class that contains the type of authentication
+ used in the Identity Policy Object [RFC3182]. The class definition
+ is as follows:
+
+ NAME QoSPolicyRSVPAuthMethodVariable
+ DESCRIPTION The RSVP Authentication type used in the Identity
+ Policy Object [RFC3182].
+
+ ALLOWED VALUE TYPES: PolicyIntegerValue (An enumeration
+ of { NONE=0, PLAIN-TEXT=1,
+ DIGITAL-SIG = 2, KERBEROS_TKT=3,
+ X509_V3_CERT=4, PGP_CERT=5}
+
+ DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
+ ABSTRACT FALSE
+ PROPERTIES None
+
+8.31. The Class QoSPolicyDNValue
+
+ This class is used to represent a single or set of Distinguished Name
+ [DNDEF] values, including wildcards. A Distinguished Name is a name
+ that can be used as a key to retrieve an object from a directory
+ service. This value can be used in comparison to reference values
+ carried in RSVP policy objects, as specified in [RFC3182]. The class
+ definition is as follows:
+
+ NAME QoSPolicyDNValue
+ DERIVED FROM PolicyValue
+ ABSTRACT FALSE
+ PROPERTIES qpDNList
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 67]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+8.31.1. The Property qpDNList
+
+ This attribute provides an unordered list of strings, each
+ representing a Distinguished Name (DN) with wildcards. The format of
+ a DN is defined in [DNDEF]. The asterisk character ("*") is used as
+ wildcard for either a single attribute value or a wildcard for an
+ RDN. The order of RDNs is significant. For example: A qpDNList
+ attribute carrying the following value:
+
+ "CN=*, OU=Sales, O=Widget Inc., *, C=US" matches:
+
+ "CN=J. Smith, OU=Sales, O=Widget Inc, C=US"
+
+ and also matches:
+
+ "CN=J. Smith, OU=Sales, O=Widget Inc, L=CA, C=US".
+
+ The attribute is defined as follows:
+
+ NAME qpDNList
+ SYNTAX List of Distinguished Names implemented as strings, each of
+ which serves as a reference to another object.
+
+8.32. The Class QoSPolicyRSVPSimpleAction
+
+ This action controls the content of RSVP messages and the way RSVP
+ requests are admitted. Depending on the value of its
+ qpRSVPActionType property, this action directly translates into
+ either a COPS Replace Decision or a COPS Stateless Decision, or both
+ as defined in COPS for RSVP. Only variables that are subclasses of
+ the QoSPolicyRSVPVariable are allowed to be associated with this
+ action. The property definition is as follows:
+
+ NAME QoSPolicyRSVPSimpleAction
+ DESCRIPTION This action controls the content of RSVP messages and
+ the way RSVP requests are admitted.
+ DERIVED FROM SimplePolicyAction (defined in [PCIMe])
+ ABSTRACT FALSE
+ PROPERTIES qpRSVPActionType
+
+8.32.1. The Property qpRSVPActionType
+
+ This property is an enumerated integer denoting the type(s) of RSVP
+ action. The value 'REPLACE' denotes a COPS Replace Decision action.
+ The value 'STATELESS' denotes a COPS Stateless Decision action. The
+ value REPLACEANDSTATELESS denotes both decision actions. Refer to
+ [RFC2749] for details.
+
+
+
+
+Snir, et al. Standards Track [Page 68]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ NAME qpRSVPActionType
+ DESCRIPTION This property specifies whether the action type is for
+ COPS Replace, Stateless, or both types of decisions.
+ SYNTAX Integer
+ VALUE This is an enumerated integer. A value of 0 specifies
+ a COPS Replace decision. A value of 1 specifies a COPS
+ Stateless Decision. A value of 2 specifies both COPS
+ Replace and COPS Stateless decisions.
+
+9. Intellectual Property Rights Statement
+
+ The IETF takes no position regarding the validity or scope of any
+ intellectual property or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; neither does it represent that it
+ has made any effort to identify any such rights. Information on the
+ IETF's procedures with respect to rights in standards-track and
+ standards-related documentation can be found in BCP-11.
+
+ Copies of claims of rights made available for publication and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF Secretariat.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights which may cover technology that may be required to practice
+ this standard. Please address the information to the IETF Executive
+ Director.
+
+10. Acknowledgements
+
+ The authors wish to thank the input of the participants of the Policy
+ Framework working group, and especially the combined group of the
+ PCIMe coauthors, Lee Rafalow, Andrea Westerinen, Ritu Chadha and
+ Marcus Brunner. In addition, we'd like to acknowledge the valuable
+ contribution from Ed Ellesson, Joel Halpern and Mircea Pana. Thank
+ you all for your comments, critique, ideas and general contribution.
+
+11. Security Considerations
+
+ The Policy Core Information Model [PCIM] describes the general
+ security considerations related to the general core policy model.
+ The extensions defined in this document do not introduce any
+ additional considerations related to security.
+
+
+
+
+Snir, et al. Standards Track [Page 69]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+12. References
+
+12.1. Normative References
+
+ [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [PCIM] Moore, B., Ellesson, E., Strassner, J. and A. Westerinen,
+ "Policy Core Information Model -- Version 1
+ Specification", RFC 3060, February 2001.
+
+ [PCIMe] Moore, B., Ed., "Policy Core Information Model
+ Extensions", RFC 3460, January 2003.
+
+12.2. Informative References
+
+ [TERMS] Westerinen, A., Schnizlein, J., Strassner, J., Scherling,
+ M., Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry,
+ J. and M. Waldbusser, "Terminology for Policy-based
+ Management", RFC 3198, November 2001.
+
+ [DIFFSERV] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.
+ and W. Weiss, "An Architecture for Differentiated
+ Services", RFC 2475, December 1998.
+
+ [INTSERV] Braden, R., Clark, D. and S. Shenker, "Integrated Services
+ in the Internet Architecture: an Overview", RFC 1633, June
+ 1994.
+
+ [RSVP] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S. and S.
+ Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
+ Functional Specification", RFC 2205, September 1997.
+
+ [RFC2749] Herzog, S., Ed., Boyle, J., Cohen, R., Durham, D., Rajan,
+ R. and A. Sastry, "COPS usage for RSVP", RFC 2749, January
+ 2000.
+
+ [RFC3181] Herzog, S., "Signaled Preemption Priority Policy Element",
+ RFC 3181, October 2001.
+
+ [DIFF-MIB] Baker, F., Chan, K. and A. Smith, "Management Information
+ Base for the Differentiated Services Architecture", RFC
+ 3289, May 2002.
+
+ [AF] Heinanen, J., Baker, F., Weiss, W. and J. Wroclawski,
+ "Assured Forwarding PHB Group", RFC 2597, June 1999.
+
+
+
+
+
+Snir, et al. Standards Track [Page 70]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+ [CL] Wroclawski, J., "Specification of the Controlled-Load
+ Network Element Service", RFC 2211, September 1997.
+
+ [RSVP-IS] Wroclawski, J., "The Use of RSVP with IETF Integrated
+ Services", RFC 2210, September 1997.
+
+ [GS] Shenker, S., Partridge, C. and R. Guerin, "Specification
+ of the Guaranteed Quality of Service", RFC 2212, September
+ 1997.
+
+ [DCLASS] Bernet, Y., "Format of the RSVP DCLASS Object", RFC 2996,
+ November 2000.
+
+ [RFC3182] Yadav, S., Yavatkar, R., Pabbati, R., Ford, P., Moore, T.,
+ Herzog, S. and R. Hess, "Identity Representation for
+ RSVP", RFC 3182, October 2001.
+
+ [RFC2872] Bernet, Y. and R. Pabbati, "Application and Sub
+ Application Identity Policy Element for Use with RSVP",
+ RFC 2872, June 2000.
+
+ [DNDEF] Wahl, M., Kille, S. and T. Howes, "Lightweight Directory
+ Access Protocol (v3): UTF-8 String Representation of
+ Distinguished Names", RFC 2253, December 1997.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 71]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+13. Authors' Addresses
+
+ Yoram Ramberg
+ Cisco Systems
+ 4 Maskit Street
+ Herzliya Pituach, Israel 46766
+
+ Phone: +972-9-970-0081
+ Fax: +972-9-970-0219
+ EMail: yramberg@cisco.com
+
+ Yoram Snir
+ Cisco Systems
+ 300 East Tasman Drive
+ San Jose, CA 95134
+
+ Phone: +1 408-853-4053
+ Fax: +1 408 526-7864
+ EMail: ysnir@cisco.com
+
+ John Strassner
+ Intelliden Corporation
+ 90 South Cascade Avenue
+ Colorado Springs, Colorado 80903
+
+ Phone: +1-719-785-0648
+ Fax: +1-719-785-0644
+ EMail: john.strassner@intelliden.com
+
+ Ron Cohen
+ Ntear LLC
+
+ Phone: +972-8-9402586
+ Fax: +972-9-9717798
+ EMail: ronc@lyciumnetworks.com
+
+ Bob Moore
+ IBM Corporation
+ P. O. Box 12195, BRQA/501/G206
+ 3039 Cornwallis Rd.
+ Research Triangle Park, NC 27709-2195
+
+ Phone: +1 919-254-4436
+ Fax: +1 919-254-6243
+ EMail: remoore@us.ibm.com
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 72]
+
+RFC 3644 Policy QoS Information Model November 2003
+
+
+14. Full Copyright Statement
+
+ Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+ This document and translations of it may be copied and furnished to
+ others, and derivative works that comment on or otherwise explain it
+ or assist in its implementation may be prepared, copied, published
+ and distributed, in whole or in part, without restriction of any
+ kind, provided that the above copyright notice and this paragraph are
+ included on all such copies and derivative works. However, this
+ document itself may not be modified in any way, such as by removing
+ the copyright notice or references to the Internet Society or other
+ Internet organizations, except as needed for the purpose of
+ developing Internet standards in which case the procedures for
+ copyrights defined in the Internet Standards process must be
+ followed, or as required to translate it into languages other than
+ English.
+
+ The limited permissions granted above are perpetual and will not be
+ revoked by the Internet Society or its successors or assignees.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Snir, et al. Standards Track [Page 73]
+