--- 1/draft-ietf-dime-qos-attributes-14.txt 2009-12-18 20:12:33.000000000 +0100 +++ 2/draft-ietf-dime-qos-attributes-15.txt 2009-12-18 20:12:33.000000000 +0100 @@ -1,257 +1,278 @@ Diameter Maintenance and J. Korhonen Extensions (DIME) H. Tschofenig Internet-Draft Nokia Siemens Networks Intended status: Standards Track M. Arumaithurai -Expires: April 26, 2010 University of Goettingen +Expires: June 21, 2010 University of Goettingen M. Jones, Ed. A. Lior Bridgewater Systems - October 23, 2009 + December 18, 2009 - Quality of Service Attributes for Diameter - draft-ietf-dime-qos-attributes-14.txt + Traffic Classification and Quality of Service Attributes for Diameter + draft-ietf-dime-qos-attributes-15.txt + +Abstract + + This document defines a number of Diameter attribute-value pairs + (AVP) for traffic classification with actions for filtering and + Quality of Service (QoS) treatment. These AVPs can be used in + existing and future Diameter applications where permitted by the + Augmented Backus-Naur Form (ABNF) specification of the respective + Diameter command extension policy. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the - provisions of BCP 78 and BCP 79. This document may contain material - from IETF Documents or IETF Contributions published or made publicly - available before November 10, 2008. The person(s) controlling the - copyright in some of this material may not have granted the IETF - Trust the right to allow modifications of such material outside the - IETF Standards Process. Without obtaining an adequate license from - the person(s) controlling the copyright in such materials, this - document may not be modified outside the IETF Standards Process, and - derivative works of it may not be created outside the IETF Standards - Process, except to format it for publication as an RFC or to - translate it into languages other than English. + provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. - This Internet-Draft will expire on April 26, 2010. + This Internet-Draft will expire on June 21, 2010. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal - Provisions Relating to IETF Documents in effect on the date of - publication of this document (http://trustee.ietf.org/license-info). - Please review these documents carefully, as they describe your rights - and restrictions with respect to this document. - -Abstract + Provisions Relating to IETF Documents + (http://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. Code Components extracted from this document must + include Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the BSD License. - This document defines a number of Diameter Quality of Service (QoS) - related attribute-value pairs (AVP) that can be used in existing and - future Diameter applications where permitted by the Augmented Backus- - Naur Form (ABNF) specification of the command. + This document may contain material from IETF Documents or IETF + Contributions published or made publicly available before November + 10, 2008. The person(s) controlling the copyright in some of this + material may not have granted the IETF Trust the right to allow + modifications of such material outside the IETF Standards Process. + Without obtaining an adequate license from the person(s) controlling + the copyright in such materials, this document may not be modified + outside the IETF Standards Process, and derivative works of it may + not be created outside the IETF Standards Process, except to format + it for publication as an RFC or to translate it into languages other + than English. Table of Contents - 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 - 3. Rule Sets and Rules . . . . . . . . . . . . . . . . . . . . . 5 - 3.1. QoS-Resources AVP . . . . . . . . . . . . . . . . . . . . 5 - 3.2. QoS-Rule AVP . . . . . . . . . . . . . . . . . . . . . . . 5 - 3.3. QoS-Rule-Precedence AVP . . . . . . . . . . . . . . . . . 6 - 4. Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 6 - 4.1. Traffic Classifiers . . . . . . . . . . . . . . . . . . . 6 - 4.1.1. Classifier AVP . . . . . . . . . . . . . . . . . . . . 8 - 4.1.2. Classifier-ID AVP . . . . . . . . . . . . . . . . . . 9 - 4.1.3. Protocol AVP . . . . . . . . . . . . . . . . . . . . . 9 - 4.1.4. Direction AVP . . . . . . . . . . . . . . . . . . . . 9 - 4.1.5. From-Spec AVP . . . . . . . . . . . . . . . . . . . . 9 - 4.1.6. To-Spec AVP . . . . . . . . . . . . . . . . . . . . . 10 - 4.1.7. Source and Destination AVPs . . . . . . . . . . . . . 11 - 4.1.8. Header Option AVPs . . . . . . . . . . . . . . . . . . 15 - 4.2. Time Of Day AVPs . . . . . . . . . . . . . . . . . . . . . 22 - 4.2.1. Time-Of-Day-Condition AVP . . . . . . . . . . . . . . 22 - 4.2.2. Time-Of-Day-Start AVP . . . . . . . . . . . . . . . . 23 - 4.2.3. Time-Of-Day-End AVP . . . . . . . . . . . . . . . . . 23 - 4.2.4. Day-Of-Week-Mask AVP . . . . . . . . . . . . . . . . . 23 - 4.2.5. Day-Of-Month-Mask AVP . . . . . . . . . . . . . . . . 23 - 4.2.6. Month-Of-Year-Mask AVP . . . . . . . . . . . . . . . . 24 - 4.2.7. Absolute-Start-Time AVP . . . . . . . . . . . . . . . 24 - 4.2.8. Absolute-Start-Fractional-Seconds AVP . . . . . . . . 24 - 4.2.9. Absolute-End-Time AVP . . . . . . . . . . . . . . . . 24 - 4.2.10. Absolute-End-Fractional-Seconds AVP . . . . . . . . . 25 - 4.2.11. Timezone-Flag AVP . . . . . . . . . . . . . . . . . . 25 - 4.2.12. Timezone-Offset AVP . . . . . . . . . . . . . . . . . 25 - - 5. Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 - 5.1. QoS-Action AVP . . . . . . . . . . . . . . . . . . . . . . 25 - 5.2. QoS-Profile-Id AVP . . . . . . . . . . . . . . . . . . . . 26 - 5.3. QoS-Profile-Template AVP . . . . . . . . . . . . . . . . . 27 - 5.4. QoS-Semantics . . . . . . . . . . . . . . . . . . . . . . 27 - 5.5. QoS-Parameters AVP . . . . . . . . . . . . . . . . . . . . 28 - 5.6. Excess-Treatment AVP . . . . . . . . . . . . . . . . . . . 29 - 6. QoS Capability Indication . . . . . . . . . . . . . . . . . . 29 - 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 - 7.1. Diameter EAP with QoS Information . . . . . . . . . . . . 30 - 7.2. Diameter NASREQ with QoS Information . . . . . . . . . . . 31 - 7.3. QoS Authorization . . . . . . . . . . . . . . . . . . . . 32 - 7.4. Diameter Server Initiated Re-authorization of QoS . . . . 32 - 7.5. Diameter Credit Control with QoS Information . . . . . . . 33 - 7.6. Classifier Examples . . . . . . . . . . . . . . . . . . . 34 - 7.7. QoS Examples . . . . . . . . . . . . . . . . . . . . . . . 36 - 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 36 - 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 36 - 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 - 11. Security Considerations . . . . . . . . . . . . . . . . . . . 39 - 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39 - 12.1. Normative References . . . . . . . . . . . . . . . . . . . 39 - 12.2. Informative References . . . . . . . . . . . . . . . . . . 40 - Appendix A. MAC and EUI64 Address Mask Usage Considerations . . . 41 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 41 + 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 + 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 + 3. Rule Sets and Rules . . . . . . . . . . . . . . . . . . . . . 6 + 3.1. QoS-Resources AVP . . . . . . . . . . . . . . . . . . . . 6 + 3.2. Filter-Rule AVP . . . . . . . . . . . . . . . . . . . . . 6 + 3.3. Filter-Rule-Precedence AVP . . . . . . . . . . . . . . . . 7 + 4. Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 8 + 4.1. Traffic Classifiers . . . . . . . . . . . . . . . . . . . 8 + 4.1.1. Classifier AVP . . . . . . . . . . . . . . . . . . . . 10 + 4.1.2. Classifier-ID AVP . . . . . . . . . . . . . . . . . . 10 + 4.1.3. Protocol AVP . . . . . . . . . . . . . . . . . . . . . 10 + 4.1.4. Direction AVP . . . . . . . . . . . . . . . . . . . . 10 + 4.1.5. From-Spec AVP . . . . . . . . . . . . . . . . . . . . 11 + 4.1.6. To-Spec AVP . . . . . . . . . . . . . . . . . . . . . 12 + 4.1.7. Source and Destination AVPs . . . . . . . . . . . . . 13 + 4.1.8. Header Option AVPs . . . . . . . . . . . . . . . . . . 17 + 4.2. Time Of Day AVPs . . . . . . . . . . . . . . . . . . . . . 23 + 4.2.1. Time-Of-Day-Condition AVP . . . . . . . . . . . . . . 24 + 4.2.2. Time-Of-Day-Start AVP . . . . . . . . . . . . . . . . 24 + 4.2.3. Time-Of-Day-End AVP . . . . . . . . . . . . . . . . . 24 + 4.2.4. Day-Of-Week-Mask AVP . . . . . . . . . . . . . . . . . 24 + 4.2.5. Day-Of-Month-Mask AVP . . . . . . . . . . . . . . . . 25 + 4.2.6. Month-Of-Year-Mask AVP . . . . . . . . . . . . . . . . 25 + 4.2.7. Absolute-Start-Time AVP . . . . . . . . . . . . . . . 26 + 4.2.8. Absolute-Start-Fractional-Seconds AVP . . . . . . . . 26 + 4.2.9. Absolute-End-Time AVP . . . . . . . . . . . . . . . . 26 + 4.2.10. Absolute-End-Fractional-Seconds AVP . . . . . . . . . 26 + 4.2.11. Timezone-Flag AVP . . . . . . . . . . . . . . . . . . 26 + 4.2.12. Timezone-Offset AVP . . . . . . . . . . . . . . . . . 27 + 5. Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 + 5.1. Treatment-Action AVP . . . . . . . . . . . . . . . . . . . 27 + 5.2. QoS-Profile-Id AVP . . . . . . . . . . . . . . . . . . . . 28 + 5.3. QoS-Profile-Template AVP . . . . . . . . . . . . . . . . . 28 + 5.4. QoS-Semantics . . . . . . . . . . . . . . . . . . . . . . 29 + 5.5. QoS-Parameters AVP . . . . . . . . . . . . . . . . . . . . 30 + 5.6. Excess-Treatment AVP . . . . . . . . . . . . . . . . . . . 31 + 6. QoS Capability Indication . . . . . . . . . . . . . . . . . . 31 + 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 + 7.1. Diameter EAP with QoS Information . . . . . . . . . . . . 32 + 7.2. Diameter NASREQ with QoS Information . . . . . . . . . . . 33 + 7.3. QoS Authorization . . . . . . . . . . . . . . . . . . . . 34 + 7.4. Diameter Server Initiated Re-authorization of QoS . . . . 34 + 7.5. Diameter Credit Control with QoS Information . . . . . . . 35 + 7.6. Classifier Examples . . . . . . . . . . . . . . . . . . . 36 + 7.7. QoS Parameter Examples . . . . . . . . . . . . . . . . . . 38 + 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 38 + 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 38 + 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 + 11. Security Considerations . . . . . . . . . . . . . . . . . . . 41 + 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41 + 12.1. Normative References . . . . . . . . . . . . . . . . . . . 41 + 12.2. Informative References . . . . . . . . . . . . . . . . . . 42 + Appendix A. MAC and EUI64 Address Mask Usage Considerations . . . 43 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 43 1. Introduction - This document defines a number of Diameter Quality of Service (QoS) - related AVPs that can be used in existing and future Diameter - applications where permitted by the ABNF of a command. The - IPFilterRule AVP, defined in RFC 3588 [RFC3588], and the QoS-Filter- - Rule AVP, defined in RFC 4005 [RFC4005], provide basic support for - classification and QoS already. The classification rule syntax is a - modified subset of FreeBSD ipfw packet filter implementation. The - QoS functionality provided by the IPFilterRule AVP was updated by the - QoS-Filter-Rule AVP. The QoS-Rule AVP offers an extended way of - expressing classification and QoS capabilities. + This document defines a number of Diameter attribute-value pairs + (AVP) for traffic classification with actions for filtering and + Quality of Service (QoS) treatment. These AVPs can be used in + existing and future Diameter applications where permitted by the + Augmented Backus-Naur Form (ABNF) specification of the respective + Diameter command extension policy. + + The work on Quality of Service treatment and filtering via Diameter + dates back to the Base protocol described in RFC 3588 [RFC3588]. The + filtering and QoS functionality was provided by the IPFilterRule AVP + and the QoSFilterRule AVP. Both AVPs relied on syntax based on the + FreeBSD ipfw tool for traffic classification. The functionality of + the QoSFilterRule AVP was underspecified in RFC 3588 [RFC3588] and + was later updated by RFC 4005 [RFC4005]. + + As part of the work on updating RFC 3588, the functionality of the + IPFilterRule and the QoSFilterRule was revised by the functionality + offered by this document with the goals of a uniform and extensible + traffic classification mechanism in a native Diameter syntax (instead + of the free text previously used). Additionally an extensible set of + actions is provided that offers the ability for filtering and for QoS + treatment, whereby the QoS functionality was extended to meet the + needs of today's networking environments. The QoS-Resources AVP represents a complete rule set with each rule - represented by a QoS-Rule AVP. Each rule consists of a conditions - part and the corresponding actions to be performed if the conditions - are satisfied. The AVPs responsible for expressing a condition are + represented by a Filter-Rule AVP. Each rule consists of information + for handling conflict resolution, a conditions part and the + corresponding actions to be performed if the conditions are + satisfied. The AVPs responsible for expressing a condition are defined in Section 4. The capability to match all or a subset of the data traffic is provided. This includes the ability to match on Ethernet specific attributes which was not possible with the QoS- Filter-Rule AVP. Service differentiation may be based on Ethernet priority bits, a single layer of VLAN-IDs or stacked VLAN-IDs, LLC attributes, MAC addresses or any combination thereof. The header fields used for Ethernet classification are defined in the IEEE802 series of specifications: [IEEE802.2], [IEEE802.1ad], [IEEE802.1Q] and [IEEE802.1D]. Additionally, time-based conditions can be expressed based on the functionality offered by the attributes in Section 4.2. - The action part of a rule contains information for handling conflict - resolution, such as a priority value for each individual rule within - a rule set, and further description regarding QoS related actions. + The action part of a rule contains the type of traffic treatment and + further description regarding QoS related actions. The QoS policy rules are defined as Diameter encoded Attribute Value Pairs (AVPs) described using a modified version of the Augmented Backus-Naur Form (ABNF), see [RFC3588]. The AVP datatypes are also taken from [RFC3588]. 2. Terminology 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 RFC 2119 [RFC2119]. 3. Rule Sets and Rules As mentioned in the introduction the top-level element is the QoS- - Resources AVP that encapsulates one or more QoS-Rule AVPs. + Resources AVP that encapsulates one or more Filter-Rule AVPs. 3.1. QoS-Resources AVP The QoS-Resources AVP (AVP Code TBD) is of type Grouped and contains - a list of QoS policy rules. + a list of filter policy rules. QoS-Resources ::= < AVP Header: XXX > - 1*{ QoS-Rule } + 1*{ Filter-Rule } * [ AVP ] -3.2. QoS-Rule AVP +3.2. Filter-Rule AVP - The QoS-Rule AVP (AVP Code TBD) is of type Grouped and defines a + The Filter-Rule AVP (AVP Code TBD) is of type Grouped and defines a specific condition and action combination. - QoS-Rule ::= < AVP Header: XXX > - [ QoS-Rule-Precedence ] + Filter-Rule ::= < AVP Header: XXX > + [ Filter-Rule-Precedence ] ; Condition part of a Rule ; ------------------------ [ Classifier ] * [ Time-Of-Day-Condition ] ; Action and Meta-Data ; -------------------- - [ QoS-Action ] + [ Treatment-Action ] ; Info about QoS related Actions ; ------------------------------ [ QoS-Semantics ] [ QoS-Profile-Template ] [ QoS-Parameters ] [ Excess-Treatment ] ; Extension Point ; --------------- * [ AVP ] - If the QoS-Profile-Template AVP is not included in the Qos-Rule AVP - then the default setting is assumed, namely a setting of the - Vendor-Id AVP to 0 (for IETF) and the QoS-Profile-Id AVP to zero (0) - (for the profile defined in [I-D.ietf-dime-qos-parameters]). Note - that the content of the QoS-Parameters are defined in the respective - specification defining the QoS parameters. When the Vendor-Id AVP is - set to 0 (for IETF) and the QoS-Profile-Id AVP is set to zero (0) - then the AVPs included in the QoS-Parameters AVP are the AVPs defined - in [I-D.ietf-dime-qos-parameters]. + If the QoS-Profile-Template AVP is not included in the Filter-Rule + AVP and the Treatment-Action AVP is set to 'shape' or 'mark" then the + default setting is assumed, namely a setting of the Vendor-Id AVP to + 0 (for IETF) and the QoS-Profile-Id AVP to zero (0) (for the profile + defined in [RFC5624]). Note that the content of the QoS-Parameters + are defined in the respective specification defining the QoS + parameters. When the Vendor-Id AVP is set to 0 (for IETF) and the + QoS-Profile-Id AVP is set to zero (0) then the AVPs included in the + QoS-Parameters AVP are the AVPs defined in [RFC5624]. -3.3. QoS-Rule-Precedence AVP +3.3. Filter-Rule-Precedence AVP - The QoS-Rule-Precedence AVP (AVP Code TBD) is of type Unsigned32 and - specifies the execution order of the rules expressed in the QoS- - Resources AVP. The lower the numerical value of QoS-Rule-Precedence - AVP, the higher the rule precedence. Rules with equal precedence MAY - be executed in parallel if supported by the Resource Management - Function. If the QoS-Rule-Precedence AVP is absent from the QoS-Rule - AVP, the rules SHOULD be executed in the order in which they appear - in the QoS-Resources AVP. + The Filter-Rule-Precedence AVP (AVP Code TBD) is of type Unsigned32 + and specifies the execution order of the rules expressed in the QoS- + Resources AVP. The lower the numerical value of Filter-Rule- + Precedence AVP, the higher the rule precedence. Rules with equal + precedence MAY be executed in parallel if supported by the Resource + Management Function. If the Filter-Rule-Precedence AVP is absent + from the Filter-Rule AVP, the rules SHOULD be executed in the order + in which they appear in the QoS-Resources AVP. 4. Conditions This section describes the condition part of a rule. Two condition types are introduced by this document: packet classification conditions represented by the Classifier AVP and time of day conditions represented by the Time-Of-Day-Condition AVP. If more than one instance of the Time-Of-Day-Condition AVP is present - in the QoS-Rule AVP, the current time at QoS rule evaluation MUST be + in the Filter-Rule AVP, the current time at rule evaluation MUST be within at least one of the time windows specified in one of the Time- Of-Day-Condition AVPs. When the Time-Of-Day-Condition AVP and Classifier AVP are present in - the same QoS-Rule AVP, both the time of day and packet classification - conditions MUST match for the QoS specification action to be applied. + the same Filter-Rule AVP, both the time of day and packet + classification conditions MUST match for the traffic treatment action + to be applied. 4.1. Traffic Classifiers Classifiers are used in many applications to specify how to select a subset of data packets for subsequent treatment as indicated in the action part of a rule. For example in a QoS application, if a packet matches a classifier then that packet will be treated in accordance with a QoS specification associated with that classifier. Figure 1 shows a typical deployment. @@ -961,22 +983,22 @@ 4.1.8.25. High-User-Priority AVP The High-User-Priority AVP (AVP Code TBD) is of type Unsigned32. The value MUST be in the range from 0 to 7. 4.2. Time Of Day AVPs In many QoS applications, the QoS specification applied to the traffic flow is conditional upon the time of day when the flow was observed. The following sections define AVPs that can be used to - express one or more time windows which determine when a QoS - specification is applicable to a traffic flow. + express one or more time windows which determine when a traffic + treatment action is applicable to a traffic flow. 4.2.1. Time-Of-Day-Condition AVP The Time-Of-Day-Condition AVP (AVP Code TBD) is of type Grouped and specifies one or more time windows. Time-Of-Day-Condition ::= < AVP Header: XXX > [ Time-Of-Day-Start ] [ Time-Of-Day-End ] [ Day-Of-Week-Mask ] @@ -1126,73 +1148,78 @@ The Timezone-Offset AVP (AVP Code TBD) is of type Integer32. The value of this AVP MUST be in the range from -43200 to 43200. It specifies the offset in seconds from UTC that was used to express Time-Of-Day-Start, Time-Of-Day-End, Day-Of-Week-Mask, Day-Of-Month- Mask and Month-Of-Year-Mask AVPs. This AVP MUST be present if the Timezone-Flag AVP is set to OFFSET. 5. Actions - This section defines the actions associated with a rule. This - document only defines QoS specific actions but further actions can be - specified as extensions. + This section defines the actions associated with a rule. -5.1. QoS-Action AVP +5.1. Treatment-Action AVP - The QoS-Action AVP (AVP Code TBD) is of type Enumerated and lists the - actions that are associated with the condition part of a rule. The - following actions are defined in this document: + The Treatment-Action AVP (AVP Code TBD) is of type Enumerated and + lists the actions that are associated with the condition part of a + rule. The following actions are defined in this document: 0: drop 1: shape 2: mark + 3: permit drop: - All traffic that is met by the condition part of a rule MUST be - dropped. + This action indicates that the respective traffic MUST be dropped. shape: [RFC2475] describes shaping as "the process of delaying packets within a traffic stream to cause it to conform to some defined traffic profile". When the action is set to 'shape', the QoS- - Parameters AVP SHALL contain QoS information AVPS that indicate - how to shape the traffic described by the condition part of the - rule. + Parameters AVP SHALL contain QoS information AVPS, such as the + TMOD-1 and Bandwidth AVPs [RFC5624], that indicate how to shape + the traffic described by the condition part of the rule. mark: [RFC2475] describes marking as "the process of setting the DS codepoint in a packet based on defined rules". When the action is set to 'mark', the QoS-Parameters AVP SHALL contain QoS - information AVPS that indicate the DiffServ marking to be applied - to the traffic described by the condition part of the rule. + information AVPS, such as the PHB-Class AVP [RFC5624], that + indicate the DiffServ marking to be applied to the traffic + described by the condition part of the rule. + + permit: + + The 'permit' action is the counterpart to the 'drop' action used + to allow traffic that matches the conditions part of a rule to + bypass. [RFC2475] also describes an action called "policing" as "the process of discarding packets (by a dropper) within a traffic stream in accordance with the state of a corresponding meter enforcing a - traffic profile". This behavior in modeled in the QoS-Rule through - the inclusion of the Excess-Treatment AVP containing a QoS-Action AVP - set to "drop". + traffic profile". This behavior in modeled in the Filter-Rule + through the inclusion of the Excess-Treatment AVP containing a + Treatment-Action AVP set to "drop". Further action values can be registered, as described in Section 10.3. 5.2. QoS-Profile-Id AVP The QoS-Profile-Id AVP (AVP Code TBD) is of type Unsigned32 and contains a QoS profile template identifier. An initial QoS profile - template is defined with value of 0 and can be found in - [I-D.ietf-dime-qos-parameters]. The registry for the QoS profile - templates is created with the same document. + template is defined with value of 0 and can be found in [RFC5624]. + The registry for the QoS profile templates is created with the same + document. 5.3. QoS-Profile-Template AVP The QoS-Profile-Template AVP (AVP Code TBD) is of type Grouped and defines the namespace of the QoS profile (indicated in the Vendor-ID AVP) followed by the specific value for the profile. The Vendor-Id AVP contains a 32 bit IANA Private Enterprise Number (PEN) and the QoS-Profile-Id AVP contains the template identifier assigned by the vendor. The vendor identifier of zero (0) is used @@ -1200,21 +1227,21 @@ QoS-Profile-Template ::= < AVP Header: XXX > { Vendor-Id } { QoS-Profile-Id } * [ AVP ] 5.4. QoS-Semantics The QoS-Semantics AVP (AVP Code TBD) is of type Enumerated and provides the semantics for the QoS-Profile-Template and QoS- - Parameters AVPs in the QoS-Rule AVP. + Parameters AVPs in the Filter-Rule AVP. This document defines the following values: (0): QoS-Desired (1): QoS-Available (2): QoS-Delivered (3): Minimum-QoS (4): QoS-Authorized The semantic of the QoS parameters depend on the information provided @@ -1256,39 +1283,39 @@ (2) QoS-Available in this direction is only useful when the AAA server performs admission control and knows about the resources in the network. 5.5. QoS-Parameters AVP The QoS-Parameters AVP (AVP Code TBD) is of type grouped and contains Quality of Service parameters. These parameters are defined in separate documents and depend on the indicated QoS profile template of the QoS-Profile-Template AVP. For an initial QoS parameter - specification see [I-D.ietf-dime-qos-parameters]. + specification see [RFC5624]. QoS-Parameters ::= < AVP Header: XXX > * [ AVP ] 5.6. Excess-Treatment AVP The Excess-Treatment AVP (AVP Code TBD) is of type grouped and indicates how out-of-profile traffic, i.e. traffic not covered by the original QoS-Profile-Template and QoS-Parameters AVPs, is treated. - The additional QoS-Action, QoS-Profile-Template and QoS-Parameters - AVPs carried inside the Excess-Treatment AVP provide information - about the QoS treatment of the excess traffic. In case the Excess- - Treatment AVP is absent then the treatment of the out-of-profile - traffic is left to the discretion of the node performing QoS + The additional Treatment-Action, QoS-Profile-Template and QoS- + Parameters AVPs carried inside the Excess-Treatment AVP provide + information about the QoS treatment of the excess traffic. In case + the Excess-Treatment AVP is absent then the treatment of the out-of- + profile traffic is left to the discretion of the node performing QoS treatment. Excess-Treatment ::= < AVP Header: XXX > - { QoS-Action } + { Treatment-Action } [ QoS-Profile-Template ] [ QoS-Parameters ] * [ AVP ] 6. QoS Capability Indication The QoS-Capability AVP (AVP Code TBD) is of type Grouped and contains a list of supported Quality of Service profile templates (and therefore the support of the respective parameter AVPs). @@ -1311,21 +1338,21 @@ Control applications message exchanges. The signalling flows for the Diameter QoS Application are described in [I-D.ietf-dime-diameter-qos]. 7.1. Diameter EAP with QoS Information Figure 2 shows a simple signaling flow where a NAS (Diameter Client) announces its QoS awareness and capabilities included into the DER message and as part of the access authentication procedure. Upon completion of the EAP exchange, the Diameter Server provides a pre- - provisioned QoS profile with the QoS-Semantics in the QoS-Rule AVP + provisioned QoS profile with the QoS-Semantics in the Filter-Rule AVP set to "QoS-Authorized", to the NAS in the final DEA message. End Diameter Diameter Host Client Server | | | | (initiate EAP) | | |<----------------------------->| | | | Diameter-EAP-Request | | | EAP-Payload(EAP Start) | | | QoS-Capability | @@ -1571,63 +1598,66 @@ } Port = 5060; Port = 3478; Port-Range = { Port-Start = 16348; Port-End = 32768; } } } -7.7. QoS Examples +7.7. QoS Parameter Examples The following high level description aims to illustrate the interworking between the Diameter QoS AVPs defined in this document - and the QoS parameters defined in [I-D.ietf-dime-qos-parameters]. + and the QoS parameters defined in [RFC5624]. Consider the following example where a rule should be installed that limits traffic to 1 Mbit/sec and where out-of-profile traffic shall be dropped.The Classifers are ignored in this example. - This would require the QoS-Action AVP to be set to 'shape' and the - QoS-Parameters AVP carries the Bandwidth AVP indicating the 1 Mbit/ - sec limit. The QoS-Action carried inside the Excess-Treatment AVP - would be set to 'drop'. + This would require the Treatment-Action AVP to be set to 'shape' and + the QoS-Parameters AVP carries the Bandwidth AVP indicating the 1 + Mbit/sec limit. The Treatment-Action carried inside the Excess- + Treatment AVP would be set to 'drop'. In a second, more complex scenario, we consider traffic marking with DiffServ. In-profile traffic (of 5 Mbits/sec in our example) shall be associated with a particular PHB-Class "X". Out-of-profile traffic shall belong to a different PHB-Class, in our example "Y". - This configuration would require the QoS-Action AVP to be set to - 'mark'. The QoS-Parameters AVPs for the traffic conforming of the + This configuration would require the Treatment-Action AVP to be set + to 'mark'. The QoS-Parameters AVPs for the traffic conforming of the profile contains two AVPs, namely the TMOD-1 AVP and the PHB-Class AVP. The TMOD-1 AVP describes the traffic characteristics, namely 5 Mbit/sec, and the PHB-Class AVP is set to class "X". Then, the - Excess-Treatment AVP has to be included with the QoS-Action AVP set - to 'mark' and the QoS-Parameters AVP to carry another PHB-Class AVP - indicating PHB-Class AVP setting to class "Y". + Excess-Treatment AVP has to be included with the Treatment-Action AVP + set to 'mark' and the QoS-Parameters AVP to carry another PHB-Class + AVP indicating PHB-Class AVP setting to class "Y". 8. Acknowledgments We would like to thank Victor Fajardo, Tseno Tsenov, Robert Hancock, Jukka Manner, Cornelia Kappler, Xiaoming Fu, Frank Alfano, Tolga Asveren, Mike Montemurro, Glen Zorn, Avri Doria, Dong Sun, Tina Tsou, Pete McCann, Georgios Karagiannis, Elwyn Davies, Max Riegel, Yong Li and Eric Gray for their comments. We thank Victor Fajardo for his - job as PROTO document shepherd. + job as PROTO document shepherd. Finally, we would like to thank Lars + Eggert, Magnus Westerlund, Adrian Farrel, Lisa Dusseault, Ralph + Droms, and Eric Gray for their feedback during the IESG review phase. 9. Contributors Max Riegel contributed the VLAN sections. 10. IANA Considerations + 10.1. AVP Codes IANA is requested to allocate codes from the "AVP Codes" registry under Authentication, Authorization, and Accounting (AAA) Parameters for the following AVPs that are defined in this document. +-------------------------------------------------------------------+ | AVP Section | | Attribute Name Code Defined Data Type | +-------------------------------------------------------------------+ @@ -1625,22 +1655,22 @@ IANA is requested to allocate codes from the "AVP Codes" registry under Authentication, Authorization, and Accounting (AAA) Parameters for the following AVPs that are defined in this document. +-------------------------------------------------------------------+ | AVP Section | | Attribute Name Code Defined Data Type | +-------------------------------------------------------------------+ |QoS-Resources TBD 3.1 Grouped | - |QoS-Rule TBD 3.2 Grouped | - |QoS-Rule-Precedence TBD 3.3 Unsigned32 | + |Filter-Rule TBD 3.2 Grouped | + |Filter-Rule-Precedence TBD 3.3 Unsigned32 | |Classifier TBD 4.1.1 Grouped | |Classifier-ID TBD 4.1.2 OctetString | |Protocol TBD 4.1.3 Enumerated | |Direction TBD 4.1.4 Enumerated | |From-Spec TBD 4.1.5 Grouped | |To-Spec TBD 4.1.6 Grouped | |Negated TBD 4.1.7.1 Enumerated | |IP-Address TBD 4.1.7.2 Address | |IP-Address-Range TBD 4.1.7.3 Grouped | |IP-Address-Start TBD 4.1.7.4 Address | @@ -1688,21 +1718,21 @@ |Time-Of-Day-End TBD 4.2.3 Unsigned32 | |Day-Of-Week-Mask TBD 4.2.4 Unsigned32 | |Day-Of-Month-Mask TBD 4.2.5 Unsigned32 | |Month-Of-Year-Mask TBD 4.2.6 Unsigned32 | |Absolute-Start-Time TBD 4.2.7 Time | |Absolute-Start-Fractional-Seconds TBD 4.2.8 Unsigned32 | |Absolute-End-Time TBD 4.2.9 Time | |Absolute-End-Fractional-Seconds TBD 4.2.10 Unsigned32 | |Timezone-Flag TBD 4.2.11 Enumerated | |Timezone-Offset TBD 4.2.12 Integer32 | - |QoS-Action TBD 5.1 Grouped | + |Treatment-Action TBD 5.1 Grouped | |QoS-Profile-Id TBD 5.2 Unsigned32 | |QoS-Profile-Template TBD 5.3 Grouped | |QoS-Semantics TBD 5.4 Enumerated | |QoS-Parameters TBD 5.5 Grouped | |Excess-Treatment TBD 5.6 Grouped | |QoS-Capability TBD 6 Grouped | +-------------------------------------------------------------------+ 10.2. QoS-Semantics IANA Registry @@ -1717,26 +1747,27 @@ (3): Minimum-QoS (4): QoS-Authorized The definition of new values is subject to the Specification Required policy [RFC5226]. 10.3. Action IANA is also requested to allocate a new registry under Authentication, Authorization, and Accounting (AAA) Parameters for - the QoS-Action AVP. The following values are allocated by this + the Treatment-Action AVP. The following values are allocated by this specification: 0: drop 1: shape 2: mark + 3: permit The definition of new values is subject to the Specification Required policy [RFC5226]. 11. Security Considerations This document describes the extension of Diameter for conveying Quality of Service information. The security considerations of the Diameter protocol itself have been discussed in RFC 3588 [RFC3588]. Use of the AVPs defined in this document MUST take into consideration @@ -1786,37 +1817,35 @@ [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. 12.2. Informative References [I-D.ietf-dime-diameter-qos] Sun, D., McCann, P., Tschofenig, H., ZOU), T., Doria, A., and G. Zorn, "Diameter Quality of Service Application", - draft-ietf-dime-diameter-qos-12 (work in progress), + draft-ietf-dime-diameter-qos-13 (work in progress), October 2009. - [I-D.ietf-dime-qos-parameters] - Korhonen, J., Tschofenig, H., and E. Davies, "Quality of - Service Parameters for Usage with Diameter", - draft-ietf-dime-qos-parameters-11 (work in progress), - May 2009. - [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, December 1998. [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, "Diameter Network Access Server Application", RFC 4005, August 2005. + [RFC5624] Korhonen, J., Tschofenig, H., and E. Davies, "Quality of + Service Parameters for Usage with Diameter", RFC 5624, + August 2009. + Appendix A. MAC and EUI64 Address Mask Usage Considerations The MAC and EUI64 address bit masks are generally used in classifying devices according to OUI and/or address blocks specific to the OUI assignee. The bit masks are not intended to introduce a structure into the MAC or EUI64 address space that was not intended by the IEEE. The MAC address bit mask should be defined as a contiguous series of "N" set bits followed by a contiguous series of "48 - N" clear bits,