draft-ietf-dime-qos-attributes-15.txt | rfc5777.txt | |||
---|---|---|---|---|
Diameter Maintenance and J. Korhonen | Internet Engineering Task Force (IETF) J. Korhonen | |||
Extensions (DIME) H. Tschofenig | Request for Comments: 5777 H. Tschofenig | |||
Internet-Draft Nokia Siemens Networks | Category: Standards Track Nokia Siemens Networks | |||
Intended status: Standards Track M. Arumaithurai | ISSN: 2070-1721 M. Arumaithurai | |||
Expires: June 21, 2010 University of Goettingen | University of Goettingen | |||
M. Jones, Ed. | M. Jones, Ed. | |||
A. Lior | A. Lior | |||
Bridgewater Systems | Bridgewater Systems | |||
December 18, 2009 | February 2010 | |||
Traffic Classification and Quality of Service Attributes for Diameter | Traffic Classification and Quality of Service (QoS) | |||
draft-ietf-dime-qos-attributes-15.txt | Attributes for Diameter | |||
Abstract | Abstract | |||
This document defines a number of Diameter attribute-value pairs | This document defines a number of Diameter attribute-value pairs | |||
(AVP) for traffic classification with actions for filtering and | (AVPs) for traffic classification with actions for filtering and | |||
Quality of Service (QoS) treatment. These AVPs can be used in | Quality of Service (QoS) treatment. These AVPs can be used in | |||
existing and future Diameter applications where permitted by the | existing and future Diameter applications where permitted by the | |||
Augmented Backus-Naur Form (ABNF) specification of the respective | Augmented Backus-Naur Form (ABNF) specification of the respective | |||
Diameter command extension policy. | Diameter command extension policy. | |||
Status of this Memo | Status of This Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | ||||
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 | This is an Internet Standards Track document. | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | ||||
The list of Internet-Draft Shadow Directories can be accessed at | This document is a product of the Internet Engineering Task Force | |||
http://www.ietf.org/shadow.html. | (IETF). It represents the consensus of the IETF community. It has | |||
received public review and has been approved for publication by the | ||||
Internet Engineering Steering Group (IESG). Further information on | ||||
Internet Standards is available in Section 2 of RFC 5741. | ||||
This Internet-Draft will expire on June 21, 2010. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
http://www.rfc-editor.org/info/rfc5777. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2009 IETF Trust and the persons identified as the | ||||
Copyright (c) 2010 IETF Trust and the persons identified as the | ||||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the BSD License. | described in the Simplified BSD License. | |||
This document may contain material from IETF Documents or IETF | This document may contain material from IETF Documents or IETF | |||
Contributions published or made publicly available before November | Contributions published or made publicly available before November | |||
10, 2008. The person(s) controlling the copyright in some of this | 10, 2008. The person(s) controlling the copyright in some of this | |||
material may not have granted the IETF Trust the right to allow | material may not have granted the IETF Trust the right to allow | |||
modifications of such material outside the IETF Standards Process. | modifications of such material outside the IETF Standards Process. | |||
Without obtaining an adequate license from the person(s) controlling | Without obtaining an adequate license from the person(s) controlling | |||
the copyright in such materials, this document may not be modified | the copyright in such materials, this document may not be modified | |||
outside the IETF Standards Process, and derivative works of it may | outside the IETF Standards Process, and derivative works of it may | |||
not be created outside the IETF Standards Process, except to format | not be created outside the IETF Standards Process, except to format | |||
it for publication as an RFC or to translate it into languages other | it for publication as an RFC or to translate it into languages other | |||
than English. | than English. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 1. Introduction ....................................................3 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 2. Terminology .....................................................4 | |||
3. Rule Sets and Rules . . . . . . . . . . . . . . . . . . . . . 6 | 3. Rule Sets and Rules .............................................4 | |||
3.1. QoS-Resources AVP . . . . . . . . . . . . . . . . . . . . 6 | 3.1. QoS-Resources AVP ..........................................5 | |||
3.2. Filter-Rule AVP . . . . . . . . . . . . . . . . . . . . . 6 | 3.2. Filter-Rule AVP ............................................5 | |||
3.3. Filter-Rule-Precedence AVP . . . . . . . . . . . . . . . . 7 | 3.3. Filter-Rule-Precedence AVP .................................6 | |||
4. Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 4. Conditions ......................................................6 | |||
4.1. Traffic Classifiers . . . . . . . . . . . . . . . . . . . 8 | 4.1. Traffic Classifiers ........................................6 | |||
4.1.1. Classifier AVP . . . . . . . . . . . . . . . . . . . . 10 | 4.1.1. Classifier AVP ......................................8 | |||
4.1.2. Classifier-ID AVP . . . . . . . . . . . . . . . . . . 10 | 4.1.2. Classifier-ID AVP ...................................9 | |||
4.1.3. Protocol AVP . . . . . . . . . . . . . . . . . . . . . 10 | 4.1.3. Protocol AVP ........................................9 | |||
4.1.4. Direction AVP . . . . . . . . . . . . . . . . . . . . 10 | 4.1.4. Direction AVP .......................................9 | |||
4.1.5. From-Spec AVP . . . . . . . . . . . . . . . . . . . . 11 | 4.1.5. From-Spec AVP .......................................9 | |||
4.1.6. To-Spec AVP . . . . . . . . . . . . . . . . . . . . . 12 | 4.1.6. To-Spec AVP ........................................10 | |||
4.1.7. Source and Destination AVPs . . . . . . . . . . . . . 13 | 4.1.7. Source and Destination AVPs ........................11 | |||
4.1.8. Header Option AVPs . . . . . . . . . . . . . . . . . . 17 | 4.1.8. Header Option AVPs .................................15 | |||
4.2. Time Of Day AVPs . . . . . . . . . . . . . . . . . . . . . 23 | 4.2. Time Of Day AVPs ..........................................22 | |||
4.2.1. Time-Of-Day-Condition AVP . . . . . . . . . . . . . . 24 | 4.2.1. Time-Of-Day-Condition AVP ..........................22 | |||
4.2.2. Time-Of-Day-Start AVP . . . . . . . . . . . . . . . . 24 | 4.2.2. Time-Of-Day-Start AVP ..............................23 | |||
4.2.3. Time-Of-Day-End AVP . . . . . . . . . . . . . . . . . 24 | 4.2.3. Time-Of-Day-End AVP ................................23 | |||
4.2.4. Day-Of-Week-Mask AVP . . . . . . . . . . . . . . . . . 24 | 4.2.4. Day-Of-Week-Mask AVP ...............................23 | |||
4.2.5. Day-Of-Month-Mask AVP . . . . . . . . . . . . . . . . 25 | 4.2.5. Day-Of-Month-Mask AVP ..............................24 | |||
4.2.6. Month-Of-Year-Mask AVP . . . . . . . . . . . . . . . . 25 | 4.2.6. Month-Of-Year-Mask AVP .............................24 | |||
4.2.7. Absolute-Start-Time AVP . . . . . . . . . . . . . . . 26 | 4.2.7. Absolute-Start-Time AVP ............................25 | |||
4.2.8. Absolute-Start-Fractional-Seconds AVP . . . . . . . . 26 | 4.2.8. Absolute-Start-Fractional-Seconds AVP ..............25 | |||
4.2.9. Absolute-End-Time AVP . . . . . . . . . . . . . . . . 26 | 4.2.9. Absolute-End-Time AVP ..............................25 | |||
4.2.10. Absolute-End-Fractional-Seconds AVP . . . . . . . . . 26 | 4.2.10. Absolute-End-Fractional-Seconds AVP ...............25 | |||
4.2.11. Timezone-Flag AVP . . . . . . . . . . . . . . . . . . 26 | 4.2.11. Timezone-Flag AVP .................................25 | |||
4.2.12. Timezone-Offset AVP . . . . . . . . . . . . . . . . . 27 | 4.2.12. Timezone-Offset AVP ...............................26 | |||
5. Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | 5. Actions ........................................................26 | |||
5.1. Treatment-Action AVP . . . . . . . . . . . . . . . . . . . 27 | 5.1. Treatment-Action AVP ......................................26 | |||
5.2. QoS-Profile-Id AVP . . . . . . . . . . . . . . . . . . . . 28 | 5.2. QoS-Profile-Id AVP ........................................27 | |||
5.3. QoS-Profile-Template AVP . . . . . . . . . . . . . . . . . 28 | 5.3. QoS-Profile-Template AVP ..................................27 | |||
5.4. QoS-Semantics . . . . . . . . . . . . . . . . . . . . . . 29 | 5.4. QoS-Semantics .............................................28 | |||
5.5. QoS-Parameters AVP . . . . . . . . . . . . . . . . . . . . 30 | 5.5. QoS-Parameters AVP ........................................29 | |||
5.6. Excess-Treatment AVP . . . . . . . . . . . . . . . . . . . 31 | 5.6. Excess-Treatment AVP ......................................29 | |||
6. QoS Capability Indication . . . . . . . . . . . . . . . . . . 31 | 6. QoS Capability Indication ......................................29 | |||
7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 | 7. Examples .......................................................30 | |||
7.1. Diameter EAP with QoS Information . . . . . . . . . . . . 32 | 7.1. Diameter EAP with QoS Information .........................30 | |||
7.2. Diameter NASREQ with QoS Information . . . . . . . . . . . 33 | 7.2. Diameter NASREQ with QoS Information ......................32 | |||
7.3. QoS Authorization . . . . . . . . . . . . . . . . . . . . 34 | 7.3. QoS Authorization .........................................33 | |||
7.4. Diameter Server Initiated Re-authorization of QoS . . . . 34 | 7.4. Diameter Server Initiated Re-Authorization of QoS .........33 | |||
7.5. Diameter Credit Control with QoS Information . . . . . . . 35 | 7.5. Diameter Credit Control (CC) with QoS Information .........34 | |||
7.6. Classifier Examples . . . . . . . . . . . . . . . . . . . 36 | 7.6. Classifier Examples .......................................35 | |||
7.7. QoS Parameter Examples . . . . . . . . . . . . . . . . . . 38 | 7.7. QoS Parameter Examples ....................................37 | |||
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 38 | 8. Acknowledgments ................................................37 | |||
9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 38 | 9. Contributors ...................................................37 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 | 10. IANA Considerations ...........................................38 | |||
11. Security Considerations . . . . . . . . . . . . . . . . . . . 41 | 10.1. AVP Codes ................................................38 | |||
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41 | 10.2. QoS-Semantics IANA Registry ..............................39 | |||
12.1. Normative References . . . . . . . . . . . . . . . . . . . 41 | 10.3. Action ...................................................40 | |||
12.2. Informative References . . . . . . . . . . . . . . . . . . 42 | 11. Security Considerations .......................................40 | |||
Appendix A. MAC and EUI64 Address Mask Usage Considerations . . . 43 | 12. References ....................................................40 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 43 | 12.1. Normative References .....................................40 | |||
12.2. Informative References ...................................41 | ||||
Appendix A. MAC and EUI64 Address Mask Usage Considerations ......42 | ||||
1. Introduction | 1. Introduction | |||
This document defines a number of Diameter attribute-value pairs | This document defines a number of Diameter attribute-value pairs | |||
(AVP) for traffic classification with actions for filtering and | (AVPs) for traffic classification with actions for filtering and | |||
Quality of Service (QoS) treatment. These AVPs can be used in | Quality of Service (QoS) treatment. These AVPs can be used in | |||
existing and future Diameter applications where permitted by the | existing and future Diameter applications where permitted by the | |||
Augmented Backus-Naur Form (ABNF) specification of the respective | Augmented Backus-Naur Form (ABNF) specification of the respective | |||
Diameter command extension policy. | Diameter command extension policy. | |||
The work on Quality of Service treatment and filtering via Diameter | The work on Quality of Service treatment and filtering via Diameter | |||
dates back to the Base protocol described in RFC 3588 [RFC3588]. The | dates back to the base protocol described in RFC 3588 [RFC3588]. The | |||
filtering and QoS functionality was provided by the IPFilterRule AVP | filtering and QoS functionality was provided by the IPFilterRule AVP | |||
and the QoSFilterRule AVP. Both AVPs relied on syntax based on the | and the QoSFilterRule AVP. Both AVPs relied on syntax based on the | |||
FreeBSD ipfw tool for traffic classification. The functionality of | FreeBSD ipfw tool for traffic classification. The functionality of | |||
the QoSFilterRule AVP was underspecified in RFC 3588 [RFC3588] and | the QoSFilterRule AVP was underspecified in RFC 3588 [RFC3588] and | |||
was later updated by RFC 4005 [RFC4005]. | was later updated by RFC 4005 [RFC4005]. | |||
As part of the work on updating RFC 3588, the functionality of the | As part of the work on updating RFC 3588, the functionality of the | |||
IPFilterRule and the QoSFilterRule was revised by the functionality | IPFilterRule and the QoSFilterRule was revised by the functionality | |||
offered by this document with the goals of a uniform and extensible | offered by this document with the goals of a uniform and extensible | |||
traffic classification mechanism in a native Diameter syntax (instead | traffic classification mechanism in a native Diameter syntax (instead | |||
of the free text previously used). Additionally an extensible set of | of the free text previously used). Additionally, an extensible set | |||
actions is provided that offers the ability for filtering and for QoS | of actions is provided that offers the ability for filtering and for | |||
treatment, whereby the QoS functionality was extended to meet the | QoS treatment, whereby the QoS functionality was extended to meet the | |||
needs of today's networking environments. | needs of today's networking environments. | |||
The QoS-Resources AVP represents a complete rule set with each rule | The QoS-Resources AVP represents a complete rule set with each rule | |||
represented by a Filter-Rule AVP. Each rule consists of information | represented by a Filter-Rule AVP. Each rule consists of information | |||
for handling conflict resolution, a conditions part and the | for handling conflict resolution, a conditions part and the | |||
corresponding actions to be performed if the conditions are | corresponding actions to be performed if the conditions are | |||
satisfied. The AVPs responsible for expressing a condition are | satisfied. The AVPs responsible for expressing a condition are | |||
defined in Section 4. The capability to match all or a subset of the | 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 | data traffic is provided. This includes the ability to match on | |||
Ethernet specific attributes which was not possible with the QoS- | Ethernet specific attributes, which was not possible with the QoS- | |||
Filter-Rule AVP. Service differentiation may be based on Ethernet | Filter-Rule AVP. Service differentiation may be based on Ethernet | |||
priority bits, a single layer of VLAN-IDs or stacked VLAN-IDs, LLC | priority bits, a single layer of VLAN-IDs or stacked VLAN-IDs, | |||
attributes, MAC addresses or any combination thereof. The header | Logical Link Control (LLC) attributes, MAC addresses, or any | |||
fields used for Ethernet classification are defined in the IEEE802 | combination thereof. The header fields used for Ethernet | |||
series of specifications: [IEEE802.2], [IEEE802.1ad], [IEEE802.1Q] | classification are defined in the IEEE802 series of specifications: | |||
and [IEEE802.1D]. Additionally, time-based conditions can be | [IEEE802.2], [IEEE802.1ad], [IEEE802.1Q], and [IEEE802.1D]. | |||
expressed based on the functionality offered by the attributes in | Additionally, time-based conditions can be expressed based on the | |||
Section 4.2. | functionality offered by the attributes in Section 4.2. | |||
The action part of a rule contains the type of traffic treatment and | The action part of a rule contains the type of traffic treatment and | |||
further description regarding QoS related actions. | further description regarding QoS-related actions. | |||
The QoS policy rules are defined as Diameter encoded Attribute Value | The QoS policy rules are defined as Diameter encoded attribute-value | |||
Pairs (AVPs) described using a modified version of the Augmented | pairs (AVPs) described using a modified version of the Augmented | |||
Backus-Naur Form (ABNF), see [RFC3588]. The AVP datatypes are also | Backus-Naur Form (ABNF) (see [RFC3588]). The AVP datatypes are also | |||
taken from [RFC3588]. | taken from [RFC3588]. | |||
2. Terminology | 2. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
3. Rule Sets and Rules | 3. Rule Sets and Rules | |||
As mentioned in the introduction the top-level element is the QoS- | As mentioned in the introduction, the top-level element is the QoS- | |||
Resources AVP that encapsulates one or more Filter-Rule AVPs. | Resources AVP that encapsulates one or more Filter-Rule AVPs. | |||
3.1. QoS-Resources AVP | 3.1. QoS-Resources AVP | |||
The QoS-Resources AVP (AVP Code TBD) is of type Grouped and contains | The QoS-Resources AVP (AVP Code 508) is of type Grouped and contains | |||
a list of filter policy rules. | a list of filter policy rules. | |||
QoS-Resources ::= < AVP Header: XXX > | QoS-Resources ::= < AVP Header: 508 > | |||
1*{ Filter-Rule } | 1*{ Filter-Rule } | |||
* [ AVP ] | * [ AVP ] | |||
3.2. Filter-Rule AVP | 3.2. Filter-Rule AVP | |||
The Filter-Rule AVP (AVP Code TBD) is of type Grouped and defines a | The Filter-Rule AVP (AVP Code 509) is of type Grouped and defines a | |||
specific condition and action combination. | specific condition and action combination. | |||
Filter-Rule ::= < AVP Header: XXX > | Filter-Rule ::= < AVP Header: 509 > | |||
[ Filter-Rule-Precedence ] | [ Filter-Rule-Precedence ] | |||
; Condition part of a Rule | ; Condition part of a Rule | |||
; ------------------------ | ; ------------------------ | |||
[ Classifier ] | [ Classifier ] | |||
* [ Time-Of-Day-Condition ] | * [ Time-Of-Day-Condition ] | |||
; Action and Meta-Data | ; Action and Meta-Data | |||
; -------------------- | ; -------------------- | |||
skipping to change at page 7, line 32 | skipping to change at page 5, line 46 | |||
[ QoS-Semantics ] | [ QoS-Semantics ] | |||
[ QoS-Profile-Template ] | [ QoS-Profile-Template ] | |||
[ QoS-Parameters ] | [ QoS-Parameters ] | |||
[ Excess-Treatment ] | [ Excess-Treatment ] | |||
; Extension Point | ; Extension Point | |||
; --------------- | ; --------------- | |||
* [ AVP ] | * [ AVP ] | |||
If the QoS-Profile-Template AVP is not included in the Filter-Rule | 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 | 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 | 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 | 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 | defined in [RFC5624]). Note that the content of the QoS-Parameters | |||
are defined in the respective specification defining the QoS | are defined in the respective specification defining the QoS | |||
parameters. When the Vendor-Id AVP is set to 0 (for IETF) and the | 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-Profile-Id AVP is set to zero (0), then the AVPs included in the | |||
QoS-Parameters AVP are the AVPs defined in [RFC5624]. | QoS-Parameters AVP are the AVPs defined in [RFC5624]. | |||
3.3. Filter-Rule-Precedence AVP | 3.3. Filter-Rule-Precedence AVP | |||
The Filter-Rule-Precedence AVP (AVP Code TBD) is of type Unsigned32 | The Filter-Rule-Precedence AVP (AVP Code 510) is of type Unsigned32 | |||
and specifies the execution order of the rules expressed in the QoS- | and specifies the execution order of the rules expressed in the QoS- | |||
Resources AVP. The lower the numerical value of Filter-Rule- | Resources AVP. The lower the numerical value of Filter-Rule- | |||
Precedence AVP, the higher the rule precedence. Rules with equal | Precedence AVP, the higher the rule precedence. Rules with equal | |||
precedence MAY be executed in parallel if supported by the Resource | precedence MAY be executed in parallel if supported by the Resource | |||
Management Function. If the Filter-Rule-Precedence AVP is absent | Management Function. If the Filter-Rule-Precedence AVP is absent | |||
from the Filter-Rule AVP, the rules SHOULD be executed in the order | from the Filter-Rule AVP, the rules SHOULD be executed in the order | |||
in which they appear in the QoS-Resources AVP. | in which they appear in the QoS-Resources AVP. | |||
4. Conditions | 4. Conditions | |||
skipping to change at page 8, line 26 | skipping to change at page 6, line 39 | |||
When the Time-Of-Day-Condition AVP and Classifier AVP are present in | When the Time-Of-Day-Condition AVP and Classifier AVP are present in | |||
the same Filter-Rule AVP, both the time of day and packet | the same Filter-Rule AVP, both the time of day and packet | |||
classification conditions MUST match for the traffic treatment action | classification conditions MUST match for the traffic treatment action | |||
to be applied. | to be applied. | |||
4.1. Traffic Classifiers | 4.1. Traffic Classifiers | |||
Classifiers are used in many applications to specify how to select a | Classifiers are used in many applications to specify how to select a | |||
subset of data packets for subsequent treatment as indicated in the | 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 | action part of a rule. For example, in a QoS application, if a | |||
matches a classifier then that packet will be treated in accordance | packet matches a classifier then that packet will be treated in | |||
with a QoS specification associated with that classifier. Figure 1 | accordance with a QoS specification associated with that classifier. | |||
shows a typical deployment. | Figure 1 shows a typical deployment. | |||
+-----------+ | +-----------+ | |||
+-----------+| | +-----------+| | |||
+--------+ +-------------+ +------------+|| | +--------+ +-------------+ +------------+|| | |||
| | IN | | | ||| | | | IN | | | ||| | |||
| +--------->| +------------->| ||| | | +--------->| +------------->| ||| | |||
|Managed | | Classifying | | Unmanaged ||| | |Managed | | Classifying | | Unmanaged ||| | |||
|Terminal| OUT | Entity | | Terminal ||| | |Terminal| OUT | Entity | | Terminal ||| | |||
| |<---------+ |<-------------+ ||+ | | |<---------+ |<-------------+ ||+ | |||
| | | | | |+ | | | | | | |+ | |||
skipping to change at page 9, line 6 | skipping to change at page 7, line 27 | |||
| | | | |||
+------+------+ | +------+------+ | |||
| | | | | | |||
| AAA | | | AAA | | |||
| | | | | | |||
+-------------+ | +-------------+ | |||
Figure 1: Example of a Classifier Architecture | Figure 1: Example of a Classifier Architecture | |||
The managed terminal, the terminal for which the classifiers are | The managed terminal, the terminal for which the classifiers are | |||
being specified is located on the left of the Classifying Entity. | being specified, is located on the left of the Classifying Entity. | |||
The unmanaged terminals, the terminals that receive packets from the | The unmanaged terminals, the terminals that receive packets from the | |||
Managed terminal or send packets to the managed terminal are located | managed terminal or send packets to the managed terminal, are located | |||
to the right side of the Classifying Entity. | to the right side of the Classifying Entity. | |||
The Classifying Entity is responsible for classifying packets that | The Classifying Entity is responsible for classifying packets that | |||
are incoming (IN) from the Managed Terminal or packets outgoing (OUT) | are incoming (IN) from the managed terminal or packets outgoing (OUT) | |||
to the Managed Terminal. | to the managed terminal. | |||
A Classifier consists of a group of attributes that specify how to | A classifier consists of a group of attributes that specify how to | |||
match a packet. Each set of attributes expresses values about | match a packet. Each set of attributes expresses values about | |||
aspects of the packet - typically the packet header. Different | aspects of the packet -- typically the packet header. Different | |||
protocols therefore would use different attributes. | protocols therefore would use different attributes. | |||
In general a Classifier consists of the following: | In general, a classifier consists of the following: | |||
Identifier: | Identifier: | |||
The identifier uniquely identifies this classifier and may be used | The identifier uniquely identifies this classifier and may be used | |||
to reference the classifier from another structure. | to reference the classifier from another structure. | |||
From: | From: | |||
Specifies the rule for matching the protocol specific source | Specifies the rule for matching the protocol-specific source | |||
address(es) part of the packet. | address(es) part of the packet. | |||
To: | To: | |||
Specifies the rule for matching the protocol specific destination | Specifies the rule for matching the protocol-specific destination | |||
address(es) part of the packet. | address(es) part of the packet. | |||
Protocol: | Protocol: | |||
Specifies the matching protocol of the packet. | Specifies the matching protocol of the packet. | |||
Direction: | Direction: | |||
Specifies whether the classifier is to apply to packets flowing | Specifies whether the classifier is to apply to packets flowing | |||
from the Managed Terminal (IN) or to packets flowing to the | from the managed terminal (IN) or to packets flowing to the | |||
Managed Terminal (OUT), or packets flowing in both direction. | managed terminal (OUT) or to packets flowing in both directions. | |||
Options: | Options: | |||
Attributes or properties associated with each protocol or layer, | Attributes or properties associated with each protocol or layer, | |||
or various values specific to the header of the protocol or layer. | or various values specific to the header of the protocol or layer. | |||
Options allow matching on those values. | Options allow matching on those values. | |||
Each protocol type will have a specific set of attributes that can be | Each protocol type will have a specific set of attributes that can be | |||
used to specify a classifier for that protocol. These attributes | used to specify a classifier for that protocol. These attributes | |||
will be grouped under a grouped AVP called a Classifier AVP. | will be grouped under a grouped AVP called a Classifier AVP. | |||
4.1.1. Classifier AVP | 4.1.1. Classifier AVP | |||
The Classifier AVP (AVP Code TBD) is a grouped AVP that consists of a | The Classifier AVP (AVP Code 511) is a grouped AVP that consists of a | |||
set of attributes that specify how to match a packet. | set of attributes that specify how to match a packet. | |||
Classifier ::= < AVP Header: XXX > | Classifier ::= < AVP Header: 511 > | |||
{ Classifier-ID } | { Classifier-ID } | |||
[ Protocol ] | [ Protocol ] | |||
[ Direction ] | [ Direction ] | |||
* [ From-Spec ] | * [ From-Spec ] | |||
* [ To-Spec ] | * [ To-Spec ] | |||
* [ Diffserv-Code-Point ] | * [ Diffserv-Code-Point ] | |||
[ Fragmentation-Flag ] | [ Fragmentation-Flag ] | |||
* [ IP-Option ] | * [ IP-Option ] | |||
* [ TCP-Option ] | * [ TCP-Option ] | |||
[ TCP-Flags ] | [ TCP-Flags ] | |||
* [ ICMP-Type ] | * [ ICMP-Type ] | |||
* [ ETH-Option ] | * [ ETH-Option ] | |||
* [ AVP ] | * [ AVP ] | |||
4.1.2. Classifier-ID AVP | 4.1.2. Classifier-ID AVP | |||
The Classifier-ID AVP (AVP Code TBD) is of type OctetString and | The Classifier-ID AVP (AVP Code 512) is of type OctetString and | |||
uniquely identifies the classifier. Each application will define the | uniquely identifies the classifier. Each application will define the | |||
uniqueness scope of this identifier, e.g. unique per terminal or | uniqueness scope of this identifier, e.g., unique per terminal or | |||
globally unique. Exactly one Classifier-ID AVP MUST be contained | globally unique. Exactly one Classifier-ID AVP MUST be contained | |||
within a Classifier AVP. | within a Classifier AVP. | |||
4.1.3. Protocol AVP | 4.1.3. Protocol AVP | |||
The Protocol AVP (AVP Code TBD) is of type Enumerated and specifies | The Protocol AVP (AVP Code 513) is of type Enumerated and specifies | |||
the protocol being matched. The attributes included in the | the protocol being matched. The attributes included in the | |||
Classifier AVP MUST be consistent with the value of the Protocol AVP. | Classifier AVP MUST be consistent with the value of the Protocol AVP. | |||
Exactly zero or one Protocol AVP may be contained within a Classifier | Exactly zero or one Protocol AVP may be contained within a Classifier | |||
AVP. If the Protocol AVP is omitted from the Classifier, then | AVP. If the Protocol AVP is omitted from the classifier, then | |||
comparison of the protocol of the packet is irrelevant. The values | comparison of the protocol of the packet is irrelevant. The values | |||
for this AVP are managed by IANA under the Protocol Numbers registry | for this AVP are managed by IANA under the Protocol Numbers registry | |||
as defined in [RFC2780]. | as defined in [RFC2780]. | |||
4.1.4. Direction AVP | 4.1.4. Direction AVP | |||
The Direction AVP (AVP Code TBD) is of type Enumerated and specifies | The Direction AVP (AVP Code 514) is of type Enumerated and specifies | |||
in which direction to apply the Classifier. The values of the | in which direction to apply the classifier. The values of the | |||
enumeration are: "IN","OUT","BOTH". In the "IN" and "BOTH" | enumeration are "IN","OUT","BOTH". In the "IN" and "BOTH" | |||
directions, the From-Spec refers to the address of the Managed | directions, the From-Spec refers to the address of the managed | |||
Terminal and the To-Spec refers to the unmanaged terminal. In the | terminal and the To-Spec refers to the unmanaged terminal. In the | |||
"OUT" direction, the From-Spec refers to the Unmanaged Terminal | "OUT" direction, the From-Spec refers to the unmanaged terminal | |||
whereas the To-Spec refers to the Managed Terminal. If the Direction | whereas the To-Spec refers to the managed terminal. If the Direction | |||
AVP is omitted, the Classifier matches packets flowing in both | AVP is omitted, the classifier matches packets flowing in both | |||
directions. | directions. | |||
Value | Name and Semantic | Value | Name and Semantic | |||
------+-------------------------------------------------- | ------+-------------------------------------------------- | |||
0 | IN - The classifier applies to flows from the | 0 | IN - The classifier applies to flows from the | |||
| Managed Terminal. | | managed terminal. | |||
1 | OUT - The classifier applies to flows to the | 1 | OUT - The classifier applies to flows to the | |||
| Managed Terminal. | | managed terminal. | |||
2 | BOTH - The classifier applies to flows both to | 2 | BOTH - The classifier applies to flows both to | |||
| and from the Managed Terminal. | | and from the managed terminal. | |||
4.1.5. From-Spec AVP | 4.1.5. From-Spec AVP | |||
The From-Spec AVP (AVP Code TBD) is a grouped AVP that specifies the | The From-Spec AVP (AVP Code 515) is a grouped AVP that specifies the | |||
Source Specification used to match the packet. Zero or more of these | Source Specification used to match the packet. Zero or more of these | |||
AVPs may appear in the Classifier. If this AVP is absent from the | AVPs may appear in the classifier. If this AVP is absent from the | |||
Classifier then all packets are matched regardless of the source | classifier, then all packets are matched regardless of the source | |||
address. If more than one instance of this AVP appears in the | address. If more than one instance of this AVP appears in the | |||
Classifier then the source of the packet can match any From-Spec AVP. | classifier, then the source of the packet can match any From-Spec | |||
The contents of this AVP are protocol specific. | AVP. The contents of this AVP are protocol specific. | |||
If one instance (or multiple instances) of the IP address AVP (IP- | If one instance (or multiple instances) of the IP address AVP (IP- | |||
Address, IP-Address-Range, IP-Address-Mask, Use-Assigned-Address) | Address, IP-Address-Range, IP-Address-Mask, Use-Assigned-Address) | |||
appear in the From-Spec AVP then the source IP address of the packet | appears in the From-Spec AVP, then the source IP address of the | |||
MUST match one of the addresses represented by these AVPs. | packet MUST match one of the addresses represented by these AVPs. | |||
If more that one instance of the layer 2 address AVPs (MAC-Address, | If more than one instance of the layer 2 address AVPs (MAC-Address, | |||
MAC-Address-Mask, EUI64-Address, EUI64-Address-Mask) appears in the | MAC-Address-Mask, EUI64-Address, EUI64-Address-Mask) appears in the | |||
From-Spec then the the source layer 2 address of the packet MUST | From-Spec, then the source layer 2 address of the packet MUST match | |||
match one of the addresses represented in these AVPs. | one of the addresses represented in these AVPs. | |||
If more that one instance of the port AVPs (Port, Port-Range) appears | If more than one instance of the port AVPs (Port, Port-Range) appears | |||
in the From-Spec AVP then the source port number MUST match one of | in the From-Spec AVP, then the source port number MUST match one of | |||
the port numbers represented in these AVPs. | the port numbers represented in these AVPs. | |||
If the IP address, MAC address and port AVPs appear in the same From- | If the IP address, MAC address, and port AVPs appear in the same | |||
Spec AVP then the source packet MUST match all the specifications, | From-Spec AVP, then the source packet MUST match all the | |||
i.e. match the IP address AND MAC address AND port number. | specifications, i.e., match the IP address AND MAC address AND port | |||
number. | ||||
From-Spec ::= < AVP Header: XXX > | From-Spec ::= < AVP Header: 515 > | |||
* [ IP-Address ] | * [ IP-Address ] | |||
* [ IP-Address-Range ] | * [ IP-Address-Range ] | |||
* [ IP-Address-Mask ] | * [ IP-Address-Mask ] | |||
* [ MAC-Address ] | * [ MAC-Address ] | |||
* [ MAC-Address-Mask] | * [ MAC-Address-Mask] | |||
* [ EUI64-Address ] | * [ EUI64-Address ] | |||
* [ EUI64-Address-Mask] | * [ EUI64-Address-Mask] | |||
* [ Port ] | * [ Port ] | |||
* [ Port-Range ] | * [ Port-Range ] | |||
[ Negated ] | [ Negated ] | |||
[ Use-Assigned-Address ] | [ Use-Assigned-Address ] | |||
* [ AVP ] | * [ AVP ] | |||
4.1.6. To-Spec AVP | 4.1.6. To-Spec AVP | |||
The To-Spec AVP (AVP Code TBD) is a grouped AVP that specifies the | The To-Spec AVP (AVP Code 516) is a grouped AVP that specifies the | |||
Destination Specification used to match the packet. Zero or more of | Destination Specification used to match the packet. Zero or more of | |||
these AVPs may appear in the Classifier. If this AVP is absent from | these AVPs may appear in the classifier. If this AVP is absent from | |||
the Classifier then all packets are matched regardless of the | the classifier, then all packets are matched regardless of the | |||
destination address. If more than one instance of this AVP appears | destination address. If more than one instance of this AVP appears | |||
in the Classifier then the destination of the packet can match any | in the classifier, then the destination of the packet can match any | |||
To-Spec AVP. The contents of this AVP are protocol specific. | To-Spec AVP. The contents of this AVP are protocol specific. | |||
If one instance (or multiple instances) of the IP address AVP (IP- | If one instance (or multiple instances) of the IP address AVP (IP- | |||
Address, IP-Address-Range, IP-Address-Mask, Use-Assigned-Address) | Address, IP-Address-Range, IP-Address-Mask, Use-Assigned-Address) | |||
appear in the To-Spec AVP then the destination IP address of the | appears in the To-Spec AVP, then the destination IP address of the | |||
packet MUST match one of the addresses represented by these AVPs. | packet MUST match one of the addresses represented by these AVPs. | |||
If more that one instance of the layer 2 address AVPs (MAC-Address, | If more than one instance of the layer 2 address AVPs (MAC-Address, | |||
MAC-Address-Mask, EUI64-Address, EUI64-Address-Mask) appears in the | MAC-Address-Mask, EUI64-Address, EUI64-Address-Mask) appears in the | |||
To-Spec then the the destination layer 2 address of the packet MUST | To-Spec, then the destination layer 2 address of the packet MUST | |||
match one of the addresses represented in these AVPs. | match one of the addresses represented in these AVPs. | |||
If more that one instance of the port AVPs (Port, Port-Range) appears | If more than one instance of the port AVPs (Port, Port-Range) appears | |||
in the To-Spec AVP then the destination port number MUST match one of | in the To-Spec AVP, then the destination port number MUST match one | |||
the port numbers represented in these AVPs. | of the port numbers represented in these AVPs. | |||
If the IP address, MAC address and port AVPs appear in the same To- | If the IP address, MAC address, and port AVPs appear in the same To- | |||
Spec AVP then the destination packet MUST match all the | Spec AVP, then the destination packet MUST match all the | |||
specifications, i.e. match the IP address AND MAC address AND port | specifications, i.e., match the IP address AND MAC address AND port | |||
number. | number. | |||
To-Spec ::= < AVP Header: XXX > | To-Spec ::= < AVP Header: 516 > | |||
* [ IP-Address ] | * [ IP-Address ] | |||
* [ IP-Address-Range ] | * [ IP-Address-Range ] | |||
* [ IP-Address-Mask ] | * [ IP-Address-Mask ] | |||
* [ MAC-Address ] | * [ MAC-Address ] | |||
* [ MAC-Address-Mask] | * [ MAC-Address-Mask] | |||
* [ EUI64-Address ] | * [ EUI64-Address ] | |||
* [ EUI64-Address-Mask] | * [ EUI64-Address-Mask] | |||
* [ Port ] | * [ Port ] | |||
* [ Port-Range ] | * [ Port-Range ] | |||
[ Negated ] | [ Negated ] | |||
[ Use-Assigned-Address ] | [ Use-Assigned-Address ] | |||
* [ AVP ] | * [ AVP ] | |||
4.1.7. Source and Destination AVPs | 4.1.7. Source and Destination AVPs | |||
For packet classification the contents of the From-Spec and To-Spec | For packet classification, the contents of the From-Spec and To-Spec | |||
can contain the AVPs listed in the subsections below. | can contain the AVPs listed in the subsections below. | |||
4.1.7.1. Negated AVP | 4.1.7.1. Negated AVP | |||
The Negated AVP (AVP Code TBD) of type Enumerated containing the | The Negated AVP (AVP Code 517) is of type Enumerated containing the | |||
values of True or False. Exactly zero or one of these AVPs may | values of True or False. Exactly zero or one of these AVPs may | |||
appear in the From-Spec or To-Spec AVP. | appear in the From-Spec or To-Spec AVP. | |||
When set to True the meaning of the match is inverted. Addresses | When set to True, the meaning of the match is inverted and the | |||
other than those in the To-Spec and From-Spec are to be matched | classifier will match addresses other than those specified by the | |||
instead. When set to False, or when the AVP is not included then the | From-Spec or To-Spec AVP. When set to False, or when the Negated AVP | |||
address specified To-Spec and From-Spec AVP are to be matched. | is not present, the classifier will match the addresses specified by | |||
the From-Spec or To-Spec AVP. | ||||
Note that the negation does not impact the port comparisons. | Note that the negation does not impact the port comparisons. | |||
Value | Name | Value | Name | |||
------+-------- | ------+-------- | |||
0 | False | 0 | False | |||
1 | True | 1 | True | |||
4.1.7.2. IP-Address AVP | 4.1.7.2. IP-Address AVP | |||
The IP-Address AVP (AVP Code TBD) is of type Address and specifies a | The IP-Address AVP (AVP Code 518) is of type Address and specifies a | |||
single IP address (IPv4 or IPv6) address to match. | single IP address (IPv4 or IPv6) to match. | |||
4.1.7.3. IP-Address-Range AVP | 4.1.7.3. IP-Address-Range AVP | |||
The IP-Address-Range AVP (AVP Code TBD) is of type Grouped and | The IP-Address-Range AVP (AVP Code 519) is of type Grouped and | |||
specifies an inclusive IP address range. | specifies an inclusive IP address range. | |||
IP-Address-Range ::= < AVP Header: XXX > | IP-Address-Range ::= < AVP Header: 519 > | |||
[ IP-Address-Start ] | [ IP-Address-Start ] | |||
[ IP-Address-End ] | [ IP-Address-End ] | |||
* [ AVP ] | * [ AVP ] | |||
If the IP-Address-Start AVP is not included then the address range | If the IP-Address-Start AVP is not included, then the address range | |||
starts from the first valid IP address up to and including the | starts from the first valid IP address up to and including the | |||
specified IP-Address-End address. | specified IP-Address-End address. | |||
If the IP-Address-End AVP is not included then the address range | If the IP-Address-End AVP is not included, then the address range | |||
starts at the address specified by the IP-Address-Start AVP and | starts at the address specified by the IP-Address-Start AVP and | |||
includes all the remaining valid IP addresses. | includes all the remaining valid IP addresses. | |||
For the IP-Address-Range AVP to be valid, the IP-Address-Start AVP | For the IP-Address-Range AVP to be valid, the IP-Address-Start AVP | |||
MUST contain a value that is less than that of the IP-Address-End | MUST contain a value that is less than that of the IP-Address-End | |||
AVP. | AVP. | |||
4.1.7.4. IP-Address-Start AVP | 4.1.7.4. IP-Address-Start AVP | |||
The IP-Address-Start AVP (AVP Code TBD) is of type Address and | The IP-Address-Start AVP (AVP Code 520) is of type Address and | |||
specifies the first IP address (IPv4 or IPv6) address of an IP | specifies the first IP address (IPv4 or IPv6) of an IP address range. | |||
address range. | ||||
4.1.7.5. IP-Address-End AVP | 4.1.7.5. IP-Address-End AVP | |||
The IP-Address-End AVP (AVP Code TBD) is of type Address and | The IP-Address-End AVP (AVP Code 521) is of type Address and | |||
specifies the last IP address (IPv4 or IPv6) address of an address | specifies the last IP address (IPv4 or IPv6) of an address range. | |||
range. | ||||
4.1.7.6. IP-Address-Mask AVP | 4.1.7.6. IP-Address-Mask AVP | |||
The IP-Address-Mask AVP (AVP Code TBD) is of type Grouped and | The IP-Address-Mask AVP (AVP Code 522) is of type Grouped and | |||
specifies an IP address range using a base IP address and the bit- | specifies an IP address range using a base IP address and the bit- | |||
width of the mask. For example, a range expressed as 192.0.2.0/24 | width of the mask. For example, a range expressed as 192.0.2.0/24 | |||
will match all IP addresses from 192.0.2.0 up to and including | will match all IP addresses from 192.0.2.0 up to and including | |||
192.0.2.255. The bit-width MUST be valid for the type of IP address. | 192.0.2.255. The bit-width MUST be valid for the type of IP address. | |||
IP-Address-Mask ::= < AVP Header: XXX > | IP-Address-Mask ::= < AVP Header: 522 > | |||
{ IP-Address } | { IP-Address } | |||
{ IP-Bit-Mask-Width } | { IP-Bit-Mask-Width } | |||
* [ AVP ] | * [ AVP ] | |||
4.1.7.7. IP-Mask-Bit-Mask-Width AVP | 4.1.7.7. IP-Mask-Bit-Mask-Width AVP | |||
The IP-Bit-Mask-Width AVP (AVP Code TBD) is of type Unsigned32. The | The IP-Bit-Mask-Width AVP (AVP Code 523) is of type Unsigned32. The | |||
value specifies the width of an IP address bit-mask. | value specifies the width of an IP address bit mask. | |||
4.1.7.8. MAC-Address AVP | 4.1.7.8. MAC-Address AVP | |||
The MAC-Address AVP (AVP Code TBD) is of type OctetString and | The MAC-Address AVP (AVP Code 524) is of type OctetString and | |||
specifies a single layer 2 address in MAC-48 format. The value is a | specifies a single layer 2 address in MAC-48 format. The value is a | |||
6 octets encoding of the address as it would appear in the frame | 6-octet encoding of the address as it would appear in the frame | |||
header. | header. | |||
4.1.7.9. MAC-Address-Mask AVP | 4.1.7.9. MAC-Address-Mask AVP | |||
The MAC-Address-Mask AVP (AVP Code TBD) is of type Grouped and | The MAC-Address-Mask AVP (AVP Code 525) is of type Grouped and | |||
specifies a set of MAC addresses using a bit mask to indicate the | specifies a set of MAC addresses using a bit mask to indicate the | |||
bits of the MAC addresses which must fit to the specified MAC address | bits of the MAC addresses that must fit to the specified MAC address | |||
attribute. For example, a MAC-Address-Mask with the MAC-Address as | attribute. For example, a MAC-Address-Mask with the MAC-Address as | |||
00-10-A4-23-00-00 and with a MAC-Address-Mask-Pattern of FF-FF-FF-FF- | 00-10-A4-23-00-00 and with a MAC-Address-Mask-Pattern of FF-FF-FF-FF- | |||
00-00 will match all MAC addresses from 00-10-A4-23-00-00 up to and | 00-00 will match all MAC addresses from 00-10-A4-23-00-00 up to and | |||
including 00-10-A4-23-FF-FF. | including 00-10-A4-23-FF-FF. | |||
Appendix A describes the considerations that should be given to the | Appendix A describes the considerations that should be given to the | |||
use of MAC address masks in constructing Classifiers. | use of MAC address masks in constructing classifiers. | |||
MAC-Address-Mask ::= < AVP Header: XXX > | MAC-Address-Mask ::= < AVP Header: 525 > | |||
{ MAC-Address } | { MAC-Address } | |||
{ MAC-Address-Mask-Pattern } | { MAC-Address-Mask-Pattern } | |||
* [ AVP ] | * [ AVP ] | |||
4.1.7.10. MAC-Address-Mask-Pattern AVP | 4.1.7.10. MAC-Address-Mask-Pattern AVP | |||
The MAC-Address-Mask-Pattern AVP (AVP Code TBD) is of type | The MAC-Address-Mask-Pattern AVP (AVP Code 526) is of type | |||
OctetString. The value is a 6 octets specifying the bit positions of | OctetString. The value is 6 octets specifying the bit positions of a | |||
a MAC address, that are taken for matching. | MAC address that are taken for matching. | |||
4.1.7.11. EUI64-Address AVP | 4.1.7.11. EUI64-Address AVP | |||
The EUI64-Address AVP (AVP Code TBD) is of type OctetString and | The EUI64-Address AVP (AVP Code 527) is of type OctetString and | |||
specifies a single layer 2 address in EUI-64 format. The value is a | specifies a single layer 2 address in EUI-64 format. The value is an | |||
8 octets encoding of the address as it would appear in the frame | 8-octet encoding of the address as it would appear in the frame | |||
header. | header. | |||
4.1.7.12. EUI64-Address-Mask AVP | 4.1.7.12. EUI64-Address-Mask AVP | |||
The EUI64-Address-Mask AVP (AVP Code TBD) is of type Grouped and | The EUI64-Address-Mask AVP (AVP Code 528) is of type Grouped and | |||
specifies a set of EUI64 addresses using a bit mask to indicate the | specifies a set of EUI64 addresses using a bit mask to indicate the | |||
bits of the EUI64 addresses which must fit to the specified EUI64 | bits of the EUI64 addresses that must fit to the specified EUI64 | |||
address attribute. For example, a EUI64-Address-Mask with the EUI64- | address attribute. For example, a EUI64-Address-Mask with the EUI64- | |||
Address as 00-10-A4-FF-FE-23-00-00 and with a EUI64-Address-Mask- | Address as 00-10-A4-FF-FE-23-00-00 and with a EUI64-Address-Mask- | |||
Pattern of FF-FF-FF-FF-FF-FF-00-00 will match all EUI64 addresses | Pattern of FF-FF-FF-FF-FF-FF-00-00 will match all EUI64 addresses | |||
from 00-10-A4-FF-FE-23-00-00 up to and including 00-10-A4-FF-FE-23- | from 00-10-A4-FF-FE-23-00-00 up to and including 00-10-A4-FF-FE-23- | |||
FF-FF. | FF-FF. | |||
Appendix A describes the considerations that should be given to the | Appendix A describes the considerations that should be given to the | |||
use of EUI64 address masks in constructing Classifiers. | use of EUI64 address masks in constructing classifiers. | |||
EUI64-Address-Mask ::= < AVP Header: XXX > | EUI64-Address-Mask ::= < AVP Header: 528 > | |||
{ EUI64-Address } | { EUI64-Address } | |||
{ EUI64-Address-Mask-Pattern } | { EUI64-Address-Mask-Pattern } | |||
* [ AVP ] | * [ AVP ] | |||
4.1.7.13. EUI64-Address-Mask-Pattern AVP | 4.1.7.13. EUI64-Address-Mask-Pattern AVP | |||
The EUI64-Address-Mask-Pattern AVP (AVP Code TBD) is of type | The EUI64-Address-Mask-Pattern AVP (AVP Code 529) is of type | |||
OctetString. The value is a 8 octets specifying the bit positions of | OctetString. The value is 8 octets specifying the bit positions of a | |||
a EUI64 address, that are taken for matching. | EUI64 address that are taken for matching. | |||
4.1.7.14. Port AVP | 4.1.7.14. Port AVP | |||
The Port AVP (AVP Code TBD) is of type Integer32 in the range of 0 to | The Port AVP (AVP Code 530) is of type Integer32 in the range of 0 to | |||
65535 and specifies port numbers to match. The type of port is | 65535 and specifies port numbers to match. The type of port is | |||
indicated by the value of the Protocol AVP, i.e. if Procotol AVP | indicated by the value of the Protocol AVP; i.e., if Protocol AVP | |||
value is 6 (TCP) then the Port AVP represents a TCP port. | value is 6 (TCP), then the Port AVP represents a TCP port. | |||
4.1.7.15. Port-Range AVP | 4.1.7.15. Port-Range AVP | |||
The Port-Range AVP (AVP Code TBD) is of type Grouped and specifies an | The Port-Range AVP (AVP Code 531) is of type Grouped and specifies an | |||
inclusive range of ports. The type of the ports is indicated by the | inclusive range of ports. The type of the ports is indicated by the | |||
value of the Protocol AVP, i.e. if Procotol AVP value is 6 (TCP) then | value of the Protocol AVP; i.e., if Protocol AVP value is 6 (TCP), | |||
the Port-Range AVP represents an inclusive range of TCP ports. | then the Port-Range AVP represents an inclusive range of TCP ports. | |||
Port-Range ::= < AVP Header: XXX > | Port-Range ::= < AVP Header: 531 > | |||
[ Port-Start ] | [ Port-Start ] | |||
[ Port-End ] | [ Port-End ] | |||
* [ AVP ] | * [ AVP ] | |||
If the Port-Start AVP is omitted then port 0 is assumed. If the | If the Port-Start AVP is omitted, then port 0 is assumed. If the | |||
Port-End AVP is omitted then port 65535 is assumed. | Port-End AVP is omitted, then port 65535 is assumed. | |||
4.1.7.16. Port-Start AVP | 4.1.7.16. Port-Start AVP | |||
The Port-Start AVP (AVP Code TBD) is of type Integer32 and specifies | The Port-Start AVP (AVP Code 532) is of type Integer32 and specifies | |||
the first port number of an IP port range. | the first port number of an IP port range. | |||
4.1.7.17. Port-End AVP | 4.1.7.17. Port-End AVP | |||
The Port-End AVP (AVP Code TBD) is of type Integer32 and specifies | The Port-End AVP (AVP Code 533) is of type Integer32 and specifies | |||
the last port number of an IP port range. | the last port number of an IP port range. | |||
4.1.7.18. Use-Assigned-Address AVP | 4.1.7.18. Use-Assigned-Address AVP | |||
In some scenarios, the AAA does not know the IP address assigned to | In some scenarios, the AAA does not know the IP address assigned to | |||
the Managed Terminal at the time that the Classifier is sent to the | the managed terminal at the time that the classifier is sent to the | |||
Classifying Entity. The Use-Assigned-Address AVP (AVP Code TBD) is | Classifying Entity. The Use-Assigned-Address AVP (AVP Code 534) is | |||
of type Enumerated containing the values of True or False. When | of type Enumerated containing the values of True or False. When | |||
present and set to True, it represents the IP address assigned to the | present and set to True, it represents the IP address assigned to the | |||
Managed Terminal. | managed terminal. | |||
Value | Name | Value | Name | |||
------+-------- | ------+-------- | |||
0 | False | 0 | False | |||
1 | True | 1 | True | |||
4.1.8. Header Option AVPs | 4.1.8. Header Option AVPs | |||
The Classifier AVP may contain one or more of the following AVPs to | The Classifier AVP may contain one or more of the following AVPs to | |||
match on the various possible IP, TCP or ICMP header options. | match on the various possible IP, TCP, or ICMP header options. | |||
4.1.8.1. Diffserv-Code-Point AVP | 4.1.8.1. Diffserv-Code-Point AVP | |||
The Diffserv-Code-Point AVP (AVP Code TBD) is of type Enumerated and | The Diffserv-Code-Point AVP (AVP Code 535) is of type Enumerated and | |||
specifies the Differentiated Services Field Codepoints to match in | specifies the Differentiated Services Field Codepoints to match in | |||
the IP header. The values are managed by IANA under the | the IP header. The values are managed by IANA under the | |||
Differentiated Services Field Codepoints registry as defined in | Differentiated Services Field Codepoints registry as defined in | |||
[RFC2474]. | [RFC2474]. | |||
4.1.8.2. Fragmentation-Flag AVP | 4.1.8.2. Fragmentation-Flag AVP | |||
The Fragmentation-Flag AVP (AVP Code TBD) is of type Enumerated and | The Fragmentation-Flag AVP (AVP Code 536) is of type Enumerated and | |||
specifies the packet fragmentation flags to match in the IP header. | specifies the packet fragmentation flags to match in the IP header. | |||
Value | Name and Semantic | Value | Name and Semantic | |||
------+------------------------------------------------------------ | ------+------------------------------------------------------------ | |||
0 | Don't Fragment (DF) | 0 | Don't Fragment (DF) | |||
1 | More Fragments (MF) | 1 | More Fragments (MF) | |||
4.1.8.3. IP-Option AVP | 4.1.8.3. IP-Option AVP | |||
The IP-Option AVP (AVP Code TBD) is of type Grouped and specifies an | The IP-Option AVP (AVP Code 537) is of type Grouped and specifies an | |||
IP header option that must be matched. | IP header option that must be matched. | |||
IP-Option ::= < AVP Header: XXX > | IP-Option ::= < AVP Header: 537 > | |||
{ IP-Option-Type } | { IP-Option-Type } | |||
* [ IP-Option-Value ] | * [ IP-Option-Value ] | |||
[ Negated ] | [ Negated ] | |||
* [ AVP ] | * [ AVP ] | |||
If one or more IP-Option-Value AVPs are present, one of the values | If one or more IP-Option-Value AVPs are present, one of the values | |||
MUST match the value in the IP header option. If the IP-Option-Value | MUST match the value in the IP header option. If the IP-Option-Value | |||
AVP is absent, the option type MUST be present in the IP header but | AVP is absent, the option type MUST be present in the IP header but | |||
the value is wild carded. | the value is wild carded. | |||
The Negated AVP is used in conjunction with the IP-Option-Value AVPs | The Negated AVP is used in conjunction with the IP-Option-Value AVPs | |||
to specify IP header options which do not match specific values. The | to specify IP header options that do not match specific values. The | |||
Negated AVP is used without the IP-Option-Value AVP to specify IP | Negated AVP is used without the IP-Option-Value AVP to specify IP | |||
headers which do not contain the option type. | headers that do not contain the option type. | |||
4.1.8.4. IP-Option-Type AVP | 4.1.8.4. IP-Option-Type AVP | |||
The IP-Option-Type AVP (AVP Code TBD) is of type Enumerated and the | The IP-Option-Type AVP (AVP Code 538) is of type Enumerated and the | |||
values are managed by IANA under the IP Option Numbers registry as | values are managed by IANA under the IP Option Numbers registry as | |||
defined in [RFC2780]. | defined in [RFC2780]. | |||
4.1.8.5. IP-Option-Value AVP | 4.1.8.5. IP-Option-Value AVP | |||
The IP-Option-Value AVP (AVP Code TBD) is of type OctetString and | The IP-Option-Value AVP (AVP Code 539) is of type OctetString and | |||
contains the option value that must be matched. | contains the option value that must be matched. | |||
4.1.8.6. TCP-Option AVP | 4.1.8.6. TCP-Option AVP | |||
The TCP-Option AVP (AVP Code TBD) is of type Grouped and specifies a | The TCP-Option AVP (AVP Code 540) is of type Grouped and specifies a | |||
TCP header option that must be matched. | TCP header option that must be matched. | |||
TCP-Option ::= < AVP Header: XXX > | TCP-Option ::= < AVP Header: 540 > | |||
{ TCP-Option-Type } | { TCP-Option-Type } | |||
* [ TCP-Option-Value ] | * [ TCP-Option-Value ] | |||
[ Negated ] | [ Negated ] | |||
* [ AVP ] | * [ AVP ] | |||
If one or more TCP-Option-Value AVPs are present, one of the values | If one or more TCP-Option-Value AVPs are present, one of the values | |||
MUST match the value in the TCP header option. If the TCP-Option- | MUST match the value in the TCP header option. If the TCP-Option- | |||
Value AVP is absent, the option type MUST be present in the TCP | Value AVP is absent, the option type MUST be present in the TCP | |||
header but the value is wild carded. | header but the value is wild carded. | |||
The Negated AVP is used in conjunction which the TCP-Option-Value | The Negated AVP is used in conjunction that the TCP-Option-Value AVPs | |||
AVPs to specify TCP header options which do not match specific | to specify TCP header options that do not match specific values. The | |||
values. The Negated AVP is used without the TCP-Option-Value AVP to | Negated AVP is used without the TCP-Option-Value AVP to specify TCP | |||
specify TCP headers which do not contain the option type. | headers that do not contain the option type. | |||
4.1.8.7. TCP-Option-Type AVP | 4.1.8.7. TCP-Option-Type AVP | |||
The TCP-Option-Type AVP (AVP Code TBD) is of type Enumerated and the | The TCP-Option-Type AVP (AVP Code 541) is of type Enumerated and the | |||
values are managed by IANA under the TCP Option Numbers registry as | values are managed by IANA under the TCP Option Numbers registry as | |||
defined in [RFC2780]. | defined in [RFC2780]. | |||
4.1.8.8. TCP-Option-Value AVP | 4.1.8.8. TCP-Option-Value AVP | |||
The TCP-Option-Value AVP (AVP Code TBD) is of type OctetString and | The TCP-Option-Value AVP (AVP Code 542) is of type OctetString and | |||
contains the option value that must be matched. | contains the option value that must be matched. | |||
4.1.8.9. TCP-Flags AVP | 4.1.8.9. TCP-Flags AVP | |||
The TCP-Flags AVP (AVP Code TBD) is of type Grouped and specifies a | The TCP-Flags AVP (AVP Code 543) is of type Grouped and specifies a | |||
set of TCP control flags that must be matched. | set of TCP control flags that must be matched. | |||
TCP-Flags ::= < AVP Header: XXX > | TCP-Flags ::= < AVP Header: 543 > | |||
{ TCP-Flag-Type } | { TCP-Flag-Type } | |||
[ Negated ] | [ Negated ] | |||
* [ AVP ] | * [ AVP ] | |||
If the Negated AVP is not present or present but set to False, the | If the Negated AVP is not present or present but set to False, the | |||
TCP-Flag-Type AVP specifies which flags MUST be set. If the Negated | TCP-Flag-Type AVP specifies which flags MUST be set. If the Negated | |||
AVP is set to True, the TCP-Flag-Type AVP specifies which flags MUST | AVP is set to True, the TCP-Flag-Type AVP specifies which flags MUST | |||
be cleared. | be cleared. | |||
4.1.8.10. TCP-Flag-Type AVP | 4.1.8.10. TCP-Flag-Type AVP | |||
The TCP-Flag-Type AVP (AVP Code TBD) is of type Unsigned32 and | The TCP-Flag-Type AVP (AVP Code 544) is of type Unsigned32 and | |||
specifies the TCP control flag types that must be matched. The first | specifies the TCP control flag types that must be matched. The first | |||
16 bits match the TCP header format defined in [RFC3168] and the | 16 bits match the TCP header format defined in [RFC3168], and the | |||
subsequent 16 bits are unused. Within the first 16 bits, bits 0 to 3 | subsequent 16 bits are unused. Within the first 16 bits, bits 0 to 3 | |||
are unused and bits 4 to 15 are managed by IANA under the TCP Header | are unused and bits 4 to 15 are managed by IANA under the TCP Header | |||
Flag registry as defined in [RFC3168]. | Flag registry as defined in [RFC3168]. | |||
4.1.8.11. ICMP-Type | 4.1.8.11. ICMP-Type | |||
The ICMP-Type AVP (AVP Code TBD) is of type Grouped and specifies a | The ICMP-Type AVP (AVP Code 545) is of type Grouped and specifies an | |||
ICMP message type that must be matched. | ICMP message type that must be matched. | |||
ICMP-Type ::= < AVP Header: XXX > | ICMP-Type ::= < AVP Header: 545 > | |||
{ ICMP-Type-Number } | { ICMP-Type-Number } | |||
* [ ICMP-Code ] | * [ ICMP-Code ] | |||
[ Negated ] | [ Negated ] | |||
* [ AVP ] | * [ AVP ] | |||
If the ICMP-Code AVP is present, the value MUST match that in the | If the ICMP-Code AVP is present, the value MUST match that in the | |||
ICMP header. If the ICMP-Code AVP is absent, the ICMP type MUST be | ICMP header. If the ICMP-Code AVP is absent, the ICMP type MUST be | |||
present in the ICMP header but the code is wild carded. | present in the ICMP header but the code is wild carded. | |||
The Negated AVP is used in conjunction with the ICMP-Code AVPs to | The Negated AVP is used in conjunction with the ICMP-Code AVPs to | |||
specify ICMP codes that do not match specific values. The Negated | specify ICMP codes that do not match specific values. The Negated | |||
AVP is used without the ICMP-Code AVP to specify ICMP headers which | AVP is used without the ICMP-Code AVP to specify ICMP headers that do | |||
do not contain the ICMP type. As such, the Negated AVP feature | not contain the ICMP type. As such, the Negated AVP feature applies | |||
applies to ICMP-Code AVP if the ICMP-Code AVP is present. If the | to ICMP-Code AVP if the ICMP-Code AVP is present. If the ICMP-Code | |||
ICMP-Code AVP is absent, the Negated AVP feature applies to the ICMP- | AVP is absent, the Negated AVP feature applies to the ICMP-Type- | |||
Type-Number. | Number. | |||
4.1.8.12. ICMP-Type-Number AVP | 4.1.8.12. ICMP-Type-Number AVP | |||
The ICMP-Type-Number AVP (AVP Code TBD) is of type Enumerated and the | The ICMP-Type-Number AVP (AVP Code 546) is of type Enumerated and the | |||
values are managed by IANA under the ICMP Type Numbers registry as | values are managed by IANA under the ICMP Type Numbers registry as | |||
defined in [RFC2780]. | defined in [RFC2780]. | |||
4.1.8.13. ICMP-Code AVP | 4.1.8.13. ICMP-Code AVP | |||
The ICMP-Code AVP (AVP Code TBD) is of type Enumerated and the values | The ICMP-Code AVP (AVP Code 547) is of type Enumerated and the values | |||
are managed by IANA under the ICMP Type Numbers registry as defined | are managed by IANA under the ICMP Type Numbers registry as defined | |||
in [RFC2780]. | in [RFC2780]. | |||
4.1.8.14. ETH-Option AVP | 4.1.8.14. ETH-Option AVP | |||
The ETH-Option AVP (AVP Code TBD) is of type Grouped and specifies | The ETH-Option AVP (AVP Code 548) is of type Grouped and specifies | |||
Ethernet specific attributes. | Ethernet specific attributes. | |||
ETH-Option ::= < AVP Header: XXX > | ETH-Option ::= < AVP Header: 548 > | |||
{ ETH-Proto-Type } | { ETH-Proto-Type } | |||
* [ VLAN-ID-Range ] | * [ VLAN-ID-Range ] | |||
* [ User-Priority-Range ] | * [ User-Priority-Range ] | |||
* [ AVP ] | * [ AVP ] | |||
4.1.8.15. ETH-Proto-Type AVP | 4.1.8.15. ETH-Proto-Type AVP | |||
The Eth-Proto-Type AVP (AVP Code TBD) is of type Grouped and | The Eth-Proto-Type AVP (AVP Code 549) is of type Grouped and | |||
specifies the encapsulated protocol type. ETH-Ether-Type and ETH-SAP | specifies the encapsulated protocol type. ETH-Ether-Type and ETH-SAP | |||
are mutually exclusive. | are mutually exclusive. | |||
ETH-Proto-Type ::= < AVP Header: XXX > | ETH-Proto-Type ::= < AVP Header: 549 > | |||
* [ ETH-Ether-Type ] | * [ ETH-Ether-Type ] | |||
* [ ETH-SAP ] | * [ ETH-SAP ] | |||
* [ AVP ] | * [ AVP ] | |||
4.1.8.16. ETH-Ether-Type AVP | 4.1.8.16. ETH-Ether-Type AVP | |||
The ETH-Ether-Type AVP (AVP Code TBD) is of type OctetString. The | The ETH-Ether-Type AVP (AVP Code 550) is of type OctetString. The | |||
value is a double octet that contains the value of the Ethertype | value is a double octet that contains the value of the Ethertype | |||
field in the packet to match. This AVP MAY be present in the case of | field in the packet to match. This AVP MAY be present in the case of | |||
DIX or if SNAP is present at 802.2 but the ETH-SAP AVP MUST NOT be | Digital, Intel, and Xerox (DIX) or if the Subnetwork Access Protocol | |||
present in this case. | (SNAP) is present at 802.2, but the ETH-SAP AVP MUST NOT be present | |||
in this case. | ||||
4.1.8.17. ETH-SAP AVP | 4.1.8.17. ETH-SAP AVP | |||
The ETH-SAP AVP (AVP Code TBD) is of type OctetString. The value is | The ETH-SAP AVP (AVP Code 551) is of type OctetString. The value is | |||
a double octet representing the 802.2 SAP as specified in | a double octet representing the 802.2 SAP as specified in | |||
[IEEE802.2]. The first octet contains the DSAP and the second the | [IEEE802.2]. The first octet contains the Destination Service Access | |||
SSAP. | Point (DSAP) and the second the Source Service Access Point (SSAP). | |||
4.1.8.18. VLAN-ID-Range AVP | 4.1.8.18. VLAN-ID-Range AVP | |||
The VLAN-ID-Range AVP (AVP Code TBD) is of type Grouped and specifies | The VLAN-ID-Range AVP (AVP Code 552) is of type Grouped and specifies | |||
the VLAN range to match. VLAN identities are either specified by a | the VLAN range to match. VLAN identities are specified either by a | |||
single VLAN-ID according to [IEEE802.1Q] or by a combination of | single VLAN-ID according to [IEEE802.1Q] or by a combination of | |||
Customer and Service VLAN-IDs according to [IEEE802.1ad]. | Customer and Service VLAN-IDs according to [IEEE802.1ad]. | |||
The single VLAN-ID is represented by the C-VID-Start and C-VID-End | The single VLAN-ID is represented by the C-VID-Start and C-VID-End | |||
AVPs and the S-VID-Start and S-VID-End AVPs SHALL be ommitted in this | AVPs, and the S-VID-Start and S-VID-End AVPs SHALL be omitted in this | |||
case. If the VLAN-ID-Range AVP is omitted from the Classifier, then | case. If the VLAN-ID-Range AVP is omitted from the classifier, then | |||
comparison of the VLAN identity of the packet is irrelevant. | comparison of the VLAN identity of the packet is irrelevant. | |||
VLAN-ID-Range ::= < AVP Header: XXX > | VLAN-ID-Range ::= < AVP Header: 552 > | |||
[ S-VID-Start ] | [ S-VID-Start ] | |||
[ S-VID-End ] | [ S-VID-End ] | |||
[ C-VID-Start ] | [ C-VID-Start ] | |||
[ C-VID-End ] | [ C-VID-End ] | |||
* [ AVP ] | * [ AVP ] | |||
The following is the list of possible combinations of the S-VID-Start | The following is the list of possible combinations of the S-VID-Start | |||
and S-VID-End AVPs and their inference: | and S-VID-End AVPs and their inference: | |||
o If S-VID-Start AVP is present but the S-VID-End AVP is absent, the | o If S-VID-Start AVP is present but the S-VID-End AVP is absent, the | |||
skipping to change at page 21, line 45 | skipping to change at page 20, line 30 | |||
[ C-VID-Start ] | [ C-VID-Start ] | |||
[ C-VID-End ] | [ C-VID-End ] | |||
* [ AVP ] | * [ AVP ] | |||
The following is the list of possible combinations of the S-VID-Start | The following is the list of possible combinations of the S-VID-Start | |||
and S-VID-End AVPs and their inference: | and S-VID-End AVPs and their inference: | |||
o If S-VID-Start AVP is present but the S-VID-End AVP is absent, the | o If S-VID-Start AVP is present but the S-VID-End AVP is absent, the | |||
S-VID-Start AVP value MUST equal the value of the IEEE 802.1ad | S-VID-Start AVP value MUST equal the value of the IEEE 802.1ad | |||
S-VID bits specified in [IEEE802.1ad] for a successful match. | S-VID bits specified in [IEEE802.1ad] for a successful match. | |||
o If S-VID-Start AVP is absent but the S-VID-End AVP is present, the | o If S-VID-Start AVP is absent but the S-VID-End AVP is present, the | |||
S-VID-End AVP value MUST equal the value of the IEEE 802.1ad S-VID | S-VID-End AVP value MUST equal the value of the IEEE 802.1ad S-VID | |||
bits for a successful match. | bits for a successful match. | |||
o If both S-VID-Start and S-VID-End AVPs are present and their | o If both S-VID-Start and S-VID-End AVPs are present and their | |||
values are equal, the S-VID-Start AVP value MUST equal the value | values are equal, the S-VID-Start AVP value MUST equal the value | |||
of the IEEE 802.1ad S-VID bits for a successful match. | of the IEEE 802.1ad S-VID bits for a successful match. | |||
o If both S-VID-Start and S-VID-End AVPs are present and the value | o If both S-VID-Start and S-VID-End AVPs are present and the value | |||
of S-VID-End AVP is greater than the value of the S-VID-Start AVP, | of S-VID-End AVP is greater than the value of the S-VID-Start AVP, | |||
the value of the IEEE 802.1ad S-VID bits MUST be greater than or | the value of the IEEE 802.1ad S-VID bits MUST be greater than or | |||
equal to the S-VID- Start AVP value and less than or equal to the | equal to the S-VID-Start AVP value and less than or equal to the | |||
S-VID-End AVP value for a successful match. If the S-VID-Start | S-VID-End AVP value for a successful match. If the S-VID-Start | |||
and S-VID-End AVPs are specified, then Ethernet packets without | and S-VID-End AVPs are specified, then Ethernet packets without | |||
IEEE 802.1ad encapsulation MUST NOT match this Classifier. | IEEE 802.1ad encapsulation MUST NOT match this classifier. | |||
o If the S-VID-Start and S-VID-End AVPs are omitted, then existence | o If the S-VID-Start and S-VID-End AVPs are omitted, then existence | |||
of IEEE802.1ad encapsulation or comparison of the IEEE 802.1ad | of IEEE802.1ad encapsulation or comparison of the IEEE 802.1ad | |||
S-VID bits is irrelevant for this Classifier. | S-VID bits is irrelevant for this classifier. | |||
The following is the list of possible combinations of the C-VID-Start | The following is the list of possible combinations of the C-VID-Start | |||
and C-VID-End AVPs and their inference: | and C-VID-End AVPs and their inference: | |||
o If C-VID-Start AVP is present but the C-VID-End AVP is absent, the | o If C-VID-Start AVP is present but the C-VID-End AVP is absent, the | |||
C-VID-Start AVP value MUST equal the value of the IEEE 802.1ad | C-VID-Start AVP value MUST equal the value of the IEEE 802.1ad | |||
C-VID bits specified in [IEEE802.1ad] or the IEEE 802.1Q VLAN-ID | C-VID bits specified in [IEEE802.1ad] or the IEEE 802.1Q VLAN-ID | |||
bits specified in [IEEE802.1Q] for a successful match. | bits specified in [IEEE802.1Q] for a successful match. | |||
o If C-VID-Start AVP is absent but the C-VID-End AVP is present, the | o If C-VID-Start AVP is absent but the C-VID-End AVP is present, the | |||
C-VID-End AVP value MUST equal the value of the IEEE 802.1ad C-VID | C-VID-End AVP value MUST equal the value of the IEEE 802.1ad C-VID | |||
bits or the IEEE 802.1Q VLAN-ID bits for a successful match. | bits or the IEEE 802.1Q VLAN-ID bits for a successful match. | |||
o If both C-VID-Start and C-VID-End AVPs are present and their | o If both C-VID-Start and C-VID-End AVPs are present and their | |||
values are equal, the C-VID-Start AVP value MUST equal the value | values are equal, the C-VID-Start AVP value MUST equal the value | |||
of the IEEE 802.1ad C-VID bits or the IEEE 802.1Q VLAN-ID bits for | of the IEEE 802.1ad C-VID bits or the IEEE 802.1Q VLAN-ID bits for | |||
a successful match. | a successful match. | |||
o If both C-VID-Start and C-VID-End AVPs are present and the value | o If both C-VID-Start and C-VID-End AVPs are present and the value | |||
of C-VID-End AVP is greater than the value of the C-VID-Start AVP, | of C-VID-End AVP is greater than the value of the C-VID-Start AVP, | |||
the value of the IEEE 802.1ad C-VID bits or the IEEE 802.1Q | the value of the IEEE 802.1ad C-VID bits or the IEEE 802.1Q | |||
VLAN-ID bits MUST be greater than or equal to the C-VID-Start AVP | VLAN-ID bits MUST be greater than or equal to the C-VID-Start AVP | |||
value and less than or equal to the C-VID-End AVP value for a | value and less than or equal to the C-VID-End AVP value for a | |||
successful match. If the C-VID-Start and C-VID-End AVPs are | successful match. If the C-VID-Start and C-VID-End AVPs are | |||
specified, then Ethernet packets without IEEE 802.1ad or IEEE | specified, then Ethernet packets without IEEE 802.1ad or IEEE | |||
802.1Q encapsulation MUST NOT match this Classifier. | 802.1Q encapsulation MUST NOT match this classifier. | |||
o If the C-VID-Start and C-VID-End AVPs are omitted, the comparison | o If the C-VID-Start and C-VID-End AVPs are omitted, the comparison | |||
of the IEEE 802.1ad C-VID bits or IEEE 802.1Q VLAN-ID bits for | of the IEEE 802.1ad C-VID bits or IEEE 802.1Q VLAN-ID bits for | |||
this Classifier is irrelevant. | this classifier is irrelevant. | |||
4.1.8.19. S-VID-Start AVP | 4.1.8.19. S-VID-Start AVP | |||
The S-VID-Start AVP (AVP Code TBD) is of type Unsigned32. The value | The S-VID-Start AVP (AVP Code 553) is of type Unsigned32. The value | |||
MUST be in the range from 0 to 4095. The value of this AVP specifies | MUST be in the range from 0 to 4095. The value of this AVP specifies | |||
the start value of the range of S-VID VLAN-IDs to be matched. | the start value of the range of S-VID VLAN-IDs to be matched. | |||
4.1.8.20. S-VID-End AVP | 4.1.8.20. S-VID-End AVP | |||
The S-VID-End AVP (AVP Code TBD) is of type Unsigned32. The value | The S-VID-End AVP (AVP Code 554) is of type Unsigned32. The value | |||
MUST be in the range from 0 to 4095. The value of this AVP specifies | MUST be in the range from 0 to 4095. The value of this AVP specifies | |||
the end value of the range of S-VID VLAN-IDs to be matched. | the end value of the range of S-VID VLAN-IDs to be matched. | |||
4.1.8.21. C-VID-Start AVP | 4.1.8.21. C-VID-Start AVP | |||
The C-VID-Start AVP (AVP Code TBD) is of type Unsigned32. The value | The C-VID-Start AVP (AVP Code 555) is of type Unsigned32. The value | |||
MUST be in the range from 0 to 4095. The value of this AVP specifies | MUST be in the range from 0 to 4095. The value of this AVP specifies | |||
the start value of the range of C-VID VLAN-IDs to be matched. | the start value of the range of C-VID VLAN-IDs to be matched. | |||
4.1.8.22. C-VID-End AVP | 4.1.8.22. C-VID-End AVP | |||
The C-VID-End AVP (AVP Code TBD) is of type Unsigned32. The value | The C-VID-End AVP (AVP Code 556) is of type Unsigned32. The value | |||
MUST be in the range from 0 to 4095. The value of this AVP specifies | MUST be in the range from 0 to 4095. The value of this AVP specifies | |||
the end value of the range of C-VID VLAN-IDs to be matched. | the end value of the range of C-VID VLAN-IDs to be matched. | |||
4.1.8.23. User-Priority-Range AVP | 4.1.8.23. User-Priority-Range AVP | |||
The User-Priority-Range AVP (AVP Code TBD) is of type Grouped and | The User-Priority-Range AVP (AVP Code 557) is of type Grouped and | |||
specifies an inclusive range to match the user_priority parameter | specifies an inclusive range to match the user_priority parameter | |||
specified in [IEEE802.1D]. An Ethernet packet containing the | specified in [IEEE802.1D]. An Ethernet packet containing the | |||
user_priority parameter matches this Classifier if the value is | user_priority parameter matches this classifier if the value is | |||
greater than or equal to Low-User-Priority and less than or equal to | greater than or equal to Low-User-Priority and less than or equal to | |||
High-User-Priority. If this AVP is omitted, then comparison of the | High-User-Priority. If this AVP is omitted, then comparison of the | |||
IEEE 802.1D user_priority parameter for this Classifier is | IEEE 802.1D user_priority parameter for this classifier is | |||
irrelevant. | irrelevant. | |||
User-Priority-Range ::= < AVP Header: XXX > | User-Priority-Range ::= < AVP Header: 557 > | |||
* [ Low-User-Priority ] | * [ Low-User-Priority ] | |||
* [ High-User-Priority ] | * [ High-User-Priority ] | |||
* [ AVP ] | * [ AVP ] | |||
4.1.8.24. Low-User-Priority AVP | 4.1.8.24. Low-User-Priority AVP | |||
The Low-User-Priority AVP (AVP Code TBD) is of type Unsigned32. The | The Low-User-Priority AVP (AVP Code 558) is of type Unsigned32. The | |||
value MUST be in the range from 0 to 7. | value MUST be in the range from 0 to 7. | |||
4.1.8.25. High-User-Priority AVP | 4.1.8.25. High-User-Priority AVP | |||
The High-User-Priority AVP (AVP Code TBD) is of type Unsigned32. The | The High-User-Priority AVP (AVP Code 559) is of type Unsigned32. The | |||
value MUST be in the range from 0 to 7. | value MUST be in the range from 0 to 7. | |||
4.2. Time Of Day AVPs | 4.2. Time Of Day AVPs | |||
In many QoS applications, the QoS specification applied to the | In many QoS applications, the QoS specification applied to the | |||
traffic flow is conditional upon the time of day when the flow was | traffic flow is conditional upon the time of day when the flow was | |||
observed. The following sections define AVPs that can be used to | observed. The following sections define AVPs that can be used to | |||
express one or more time windows which determine when a traffic | express one or more time windows that determine when a traffic | |||
treatment action is applicable to a traffic flow. | treatment action is applicable to a traffic flow. | |||
4.2.1. Time-Of-Day-Condition AVP | 4.2.1. Time-Of-Day-Condition AVP | |||
The Time-Of-Day-Condition AVP (AVP Code TBD) is of type Grouped and | The Time-Of-Day-Condition AVP (AVP Code 560) is of type Grouped and | |||
specifies one or more time windows. | specifies one or more time windows. | |||
Time-Of-Day-Condition ::= < AVP Header: XXX > | Time-Of-Day-Condition ::= < AVP Header: 560 > | |||
[ Time-Of-Day-Start ] | [ Time-Of-Day-Start ] | |||
[ Time-Of-Day-End ] | [ Time-Of-Day-End ] | |||
[ Day-Of-Week-Mask ] | [ Day-Of-Week-Mask ] | |||
[ Day-Of-Month-Mask ] | [ Day-Of-Month-Mask ] | |||
[ Month-Of-Year-Mask ] | [ Month-Of-Year-Mask ] | |||
[ Absolute-Start-Time ] | [ Absolute-Start-Time ] | |||
[ Absolute-End-Time ] | [ Absolute-End-Time ] | |||
[ Timezone-Flag ] | [ Timezone-Flag ] | |||
* [ AVP ] | * [ AVP ] | |||
For example, a time window for 9am to 5pm (local time) from Monday to | For example, a time window for 9 a.m. to 5 p.m. (local time) from | |||
Friday would be expressed as: | Monday to Friday would be expressed as: | |||
Time-Of-Day-Condition = { | Time-Of-Day-Condition = { | |||
Time-Of-Day-Start = 32400; | Time-Of-Day-Start = 32400; | |||
Time-Of-Day-End = 61200; | Time-Of-Day-End = 61200; | |||
Day-Of-Week-Mask = | Day-Of-Week-Mask = | |||
( MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY ); | ( MONDAY | TUESDAY | WEDNESDAY | THURSDAY | FRIDAY ); | |||
Timezone-Flag = LOCAL; | Timezone-Flag = LOCAL; | |||
} | } | |||
4.2.2. Time-Of-Day-Start AVP | 4.2.2. Time-Of-Day-Start AVP | |||
The Time-Of-Day-Start AVP (AVP Code TBD) is of type Unsigned32. The | The Time-Of-Day-Start AVP (AVP Code 561) is of type Unsigned32. The | |||
value MUST be in the range from 0 to 86400. The value of this AVP | value MUST be in the range from 0 to 86400. The value of this AVP | |||
specifies the start of an inclusive time window expressed as the | specifies the start of an inclusive time window expressed as the | |||
offset in seconds from midnight. If this AVP is absent from the | offset in seconds from midnight. If this AVP is absent from the | |||
Time-Of-Day-Condition AVP, the time window starts at midnight. | Time-Of-Day-Condition AVP, the time window starts at midnight. | |||
4.2.3. Time-Of-Day-End AVP | 4.2.3. Time-Of-Day-End AVP | |||
The Time-Of-Day-End AVP (AVP Code TBD) is of type Unsigned32. The | The Time-Of-Day-End AVP (AVP Code 562) is of type Unsigned32. The | |||
value MUST be in the range from 1 to 86400. The value of this AVP | value MUST be in the range from 1 to 86400. The value of this AVP | |||
specifies the end of an inclusive time window expressed as the offset | specifies the end of an inclusive time window expressed as the offset | |||
in seconds from midnight. If this AVP is absent from the Time-Of- | in seconds from midnight. If this AVP is absent from the Time-Of- | |||
Day-Condition AVP, the time window ends one second before midnight. | Day-Condition AVP, the time window ends one second before midnight. | |||
4.2.4. Day-Of-Week-Mask AVP | 4.2.4. Day-Of-Week-Mask AVP | |||
The Day-Of-Week-Mask AVP (AVP Code TBD) is of type Unsigned32. The | The Day-Of-Week-Mask AVP (AVP Code 563) is of type Unsigned32. The | |||
value is a bitmask which specifies the day of the week for the time | value is a bit mask that specifies the day of the week for the time | |||
window to match. This document specifies the following bits: | window to match. This document specifies the following bits: | |||
Bit | Name | Bit | Name | |||
------+------------ | ------+------------ | |||
0 | SUNDAY | 0 | SUNDAY | |||
1 | MONDAY | 1 | MONDAY | |||
2 | TUESDAY | 2 | TUESDAY | |||
3 | WEDNESDAY | 3 | WEDNESDAY | |||
4 | THURSDAY | 4 | THURSDAY | |||
5 | FRIDAY | 5 | FRIDAY | |||
6 | SATURDAY | 6 | SATURDAY | |||
The bit MUST be set for the time window to match on the corresponding | The bit MUST be set for the time window to match on the corresponding | |||
day of the week. Bit 0 is the least significant bit and unused bits | day of the week. Bit 0 is the least significant bit and unused bits | |||
MUST be cleared. If this AVP is absent from the Time-Of-Day- | MUST be cleared. If this AVP is absent from the Time-Of-Day- | |||
Condition AVP, the time windows match on all days of the week. | Condition AVP, the time windows match on all days of the week. | |||
4.2.5. Day-Of-Month-Mask AVP | 4.2.5. Day-Of-Month-Mask AVP | |||
The Day-Of-Month AVP (AVP Code TBD) is of type Unsigned32. The value | The Day-Of-Month AVP (AVP Code 564) is of type Unsigned32. The value | |||
MUST be in the range from 0 to 2147483647. The value is a bitmask | MUST be in the range from 0 to 2147483647. The value is a bit mask | |||
which specifies the days of the month where bit 0 represents the | that specifies the days of the month where bit 0 represents the first | |||
first day of the month through to bit 30 which represents the last | day of the month through to bit 30, which represents the last day of | |||
day of the month. The bit MUST be set for the time window to match | the month. The bit MUST be set for the time window to match on the | |||
on the corresponding day of the month. Bit 0 is the least | corresponding day of the month. Bit 0 is the least significant bit | |||
significant bit and unused bits MUST be cleared. If this AVP is | and unused bits MUST be cleared. If this AVP is absent from the | |||
absent from the Time-Of-Day-Condition AVP, the time windows match on | Time-Of-Day-Condition AVP, the time windows match on all days of the | |||
all days of the month. | month. | |||
4.2.6. Month-Of-Year-Mask AVP | 4.2.6. Month-Of-Year-Mask AVP | |||
The Month-Of-Year-Mask AVP (AVP Code TBD) is of type Unsigned32. The | The Month-Of-Year-Mask AVP (AVP Code 565) is of type Unsigned32. The | |||
value is a bitmask which specifies the months of the year for the | value is a bit mask that specifies the months of the year for the | |||
time window to match. This document specifies the following bits: | time window to match. This document specifies the following bits: | |||
Bit | Name | Bit | Name | |||
------+----------- | ------+----------- | |||
0 | JANUARY | 0 | JANUARY | |||
1 | FEBRUARY | 1 | FEBRUARY | |||
2 | MARCH | 2 | MARCH | |||
3 | APRIL | 3 | APRIL | |||
4 | MAY | 4 | MAY | |||
5 | JUNE | 5 | JUNE | |||
skipping to change at page 26, line 13 | skipping to change at page 25, line 12 | |||
10 | NOVEMBER | 10 | NOVEMBER | |||
11 | DECEMBER | 11 | DECEMBER | |||
The bit MUST be set for the time window to match on the corresponding | The bit MUST be set for the time window to match on the corresponding | |||
month of the year. Bit 0 is the least significant bit and unused | month of the year. Bit 0 is the least significant bit and unused | |||
bits MUST be cleared. If this AVP is absent from the Time-Of-Day- | bits MUST be cleared. If this AVP is absent from the Time-Of-Day- | |||
Condition AVP, the time windows match during all months of the year. | Condition AVP, the time windows match during all months of the year. | |||
4.2.7. Absolute-Start-Time AVP | 4.2.7. Absolute-Start-Time AVP | |||
The Absolute-Start-Time AVP (AVP Code TBD) is of type Time. The | The Absolute-Start-Time AVP (AVP Code 566) is of type Time. The | |||
value of this AVP specifies the time in seconds since January 1, | value of this AVP specifies the time in seconds since January 1, | |||
1900, 00:00 UTC when the time window starts. If this AVP is absent | 1900, 00:00 UTC when the time window starts. If this AVP is absent | |||
from the Time-Of-Day-Condition AVP, the time window starts on January | from the Time-Of-Day-Condition AVP, the time window starts on January | |||
1, 1900, 00:00 UTC. | 1, 1900, 00:00 UTC. | |||
4.2.8. Absolute-Start-Fractional-Seconds AVP | 4.2.8. Absolute-Start-Fractional-Seconds AVP | |||
The Absolute-Start-Fractional-Seconds AVP (AVP Code TBD) is of type | The Absolute-Start-Fractional-Seconds AVP (AVP Code 567) is of type | |||
Unsigned32. The value specifies the fractional seconds that are | Unsigned32. The value specifies the fractional seconds that are | |||
added to Absolute-Start-Time value in order to deterimine when the | added to Absolute-Start-Time value in order to determine when the | |||
time window starts. If this AVP is absent from the Time-Of-Day- | time window starts. If this AVP is absent from the Time-Of-Day- | |||
Condition AVP then the fractional seconds are assumed to be zero. | Condition AVP, then the fractional seconds are assumed to be zero. | |||
4.2.9. Absolute-End-Time AVP | 4.2.9. Absolute-End-Time AVP | |||
The Time-Of-Day-End AVP (AVP Code TBD) is of type Time. The value of | The Time-Of-Day-End AVP (AVP Code 568) is of type Time. The value of | |||
this AVP specifies the time in seconds since January 1, 1900, 00:00 | this AVP specifies the time in seconds since January 1, 1900, 00:00 | |||
UTC when the time window ends. If this AVP is absent from the Time- | UTC when the time window ends. If this AVP is absent from the Time- | |||
Of-Day-Condition AVP, the time window is open-ended. | Of-Day-Condition AVP, then the time window is open-ended. | |||
4.2.10. Absolute-End-Fractional-Seconds AVP | 4.2.10. Absolute-End-Fractional-Seconds AVP | |||
The Absolute-End-Fractional-Seconds AVP (AVP Code TBD) is of type | The Absolute-End-Fractional-Seconds AVP (AVP Code 569) is of type | |||
Unsigned32. The value specifies the fractional seconds that are | Unsigned32. The value specifies the fractional seconds that are | |||
added to Absolute-End-Time value in order to deterimine when the time | added to Absolute-End-Time value in order to determine when the time | |||
window ends. If this AVP is absent from the Time-Of-Day-Condition | window ends. If this AVP is absent from the Time-Of-Day-Condition | |||
AVP then the fractional seconds are assumed to be zero. | AVP, then the fractional seconds are assumed to be zero. | |||
4.2.11. Timezone-Flag AVP | 4.2.11. Timezone-Flag AVP | |||
The Timezone-Flag AVP (AVP Code TBD) is of type Enumerated and | The Timezone-Flag AVP (AVP Code 570) is of type Enumerated and | |||
indicates whether the time windows are specified in UTC, local time | indicates whether the time windows are specified in UTC, local time, | |||
at the managed terminal or as an offset from UTC. If this AVP is | at the managed terminal or as an offset from UTC. If this AVP is | |||
absent from the Time-Of-Day-Condition AVP, the time windows are in | absent from the Time-Of-Day-Condition AVP, then the time windows are | |||
UTC. | in UTC. | |||
This document defines the following values: | This document defines the following values: | |||
Value | Name and Semantic | Value | Name and Semantic | |||
------+-------------------------------------------------- | ------+-------------------------------------------------- | |||
0 | UTC - The time windows are expressed in UTC. | 0 | UTC - The time windows are expressed in UTC. | |||
1 | LOCAL - The time windows are expressed in local | 1 | LOCAL - The time windows are expressed in local | |||
| time at the Managed Terminal. | | time at the managed terminal. | |||
2 | OFFSET - The time windows are expressed as an | 2 | OFFSET - The time windows are expressed as an | |||
| offset from UTC (see Timezone-Offset AVP). | | offset from UTC (see Timezone-Offset AVP). | |||
4.2.12. Timezone-Offset AVP | 4.2.12. Timezone-Offset AVP | |||
The Timezone-Offset AVP (AVP Code TBD) is of type Integer32. The | The Timezone-Offset AVP (AVP Code 571) is of type Integer32. The | |||
value of this AVP MUST be in the range from -43200 to 43200. It | 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 | 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- | 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 | Mask, and Month-Of-Year-Mask AVPs. This AVP MUST be present if the | |||
Timezone-Flag AVP is set to OFFSET. | Timezone-Flag AVP is set to OFFSET. | |||
5. Actions | 5. Actions | |||
This section defines the actions associated with a rule. | This section defines the actions associated with a rule. | |||
5.1. Treatment-Action AVP | 5.1. Treatment-Action AVP | |||
The Treatment-Action AVP (AVP Code TBD) is of type Enumerated and | The Treatment-Action AVP (AVP Code 572) is of type Enumerated and | |||
lists the actions that are associated with the condition part of a | lists the actions that are associated with the condition part of a | |||
rule. The following actions are defined in this document: | rule. The following actions are defined in this document: | |||
0: drop | 0: drop | |||
1: shape | 1: shape | |||
2: mark | 2: mark | |||
3: permit | 3: permit | |||
drop: | drop: | |||
This action indicates that the respective traffic MUST be dropped. | This action indicates that the respective traffic MUST be dropped. | |||
shape: | shape: | |||
[RFC2475] describes shaping as "the process of delaying packets | [RFC2475] describes shaping as "the process of delaying packets | |||
within a traffic stream to cause it to conform to some defined | within a traffic stream to cause it to conform to some defined | |||
traffic profile". When the action is set to 'shape', the QoS- | traffic profile". When the action is set to 'shape', the QoS- | |||
Parameters AVP SHALL contain QoS information AVPS, such as the | Parameters AVP SHALL contain QoS information AVPs, such as the | |||
TMOD-1 and Bandwidth AVPs [RFC5624], that indicate how to shape | TMOD-1 and Bandwidth AVPs [RFC5624], that indicate how to shape | |||
the traffic described by the condition part of the rule. | the traffic described by the condition part of the rule. | |||
mark: | mark: | |||
[RFC2475] describes marking as "the process of setting the DS | [RFC2475] describes marking as "the process of setting the DS | |||
codepoint in a packet based on defined rules". When the action is | codepoint in a packet based on defined rules". When the action is | |||
set to 'mark', the QoS-Parameters AVP SHALL contain QoS | set to 'mark', the QoS-Parameters AVP SHALL contain QoS | |||
information AVPS, such as the PHB-Class AVP [RFC5624], that | information AVPs, such as the PHB-Class AVP [RFC5624], that | |||
indicate the DiffServ marking to be applied to the traffic | indicate the Diffserv marking to be applied to the traffic | |||
described by the condition part of the rule. | described by the condition part of the rule. | |||
permit: | permit: | |||
The 'permit' action is the counterpart to the 'drop' action used | The 'permit' action is the counterpart to the 'drop' action used | |||
to allow traffic that matches the conditions part of a rule to | to allow traffic that matches the condition part of a rule to | |||
bypass. | bypass. | |||
[RFC2475] also describes an action called "policing" as "the process | [RFC2475] also describes an action called 'policing' as "the process | |||
of discarding packets (by a dropper) within a traffic stream in | of discarding packets (by a dropper) within a traffic stream in | |||
accordance with the state of a corresponding meter enforcing a | accordance with the state of a corresponding meter enforcing a | |||
traffic profile". This behavior in modeled in the Filter-Rule | traffic profile". This behavior is modeled in the Filter-Rule | |||
through the inclusion of the Excess-Treatment AVP containing a | through the inclusion of the Excess-Treatment AVP containing a | |||
Treatment-Action AVP set to "drop". | Treatment-Action AVP set to 'drop'. | |||
Further action values can be registered, as described in | Further action values can be registered, as described in | |||
Section 10.3. | Section 10.3. | |||
5.2. QoS-Profile-Id AVP | 5.2. QoS-Profile-Id AVP | |||
The QoS-Profile-Id AVP (AVP Code TBD) is of type Unsigned32 and | The QoS-Profile-Id AVP (AVP Code 573) is of type Unsigned32 and | |||
contains a QoS profile template identifier. An initial QoS profile | contains a QoS profile template identifier. An initial QoS profile | |||
template is defined with value of 0 and can be found in [RFC5624]. | 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 | The registry for the QoS profile templates is created with the same | |||
document. | document. | |||
5.3. QoS-Profile-Template AVP | 5.3. QoS-Profile-Template AVP | |||
The QoS-Profile-Template AVP (AVP Code TBD) is of type Grouped and | The QoS-Profile-Template AVP (AVP Code 574) is of type Grouped and | |||
defines the namespace of the QoS profile (indicated in the Vendor-ID | defines the namespace of the QoS profile (indicated in the Vendor-ID | |||
AVP) followed by the specific value for the profile. | AVP) followed by the specific value for the profile. | |||
The Vendor-Id AVP contains a 32 bit IANA Private Enterprise Number | The Vendor-Id AVP contains a 32-bit IANA Private Enterprise Number | |||
(PEN) and the QoS-Profile-Id AVP contains the template identifier | (PEN), and the QoS-Profile-Id AVP contains the template identifier | |||
assigned by the vendor. The vendor identifier of zero (0) is used | assigned by the vendor. The vendor identifier of zero (0) is used | |||
for the IETF. | for the IETF. | |||
QoS-Profile-Template ::= < AVP Header: XXX > | QoS-Profile-Template ::= < AVP Header: 574 > | |||
{ Vendor-Id } | { Vendor-Id } | |||
{ QoS-Profile-Id } | { QoS-Profile-Id } | |||
* [ AVP ] | * [ AVP ] | |||
5.4. QoS-Semantics | 5.4. QoS-Semantics | |||
The QoS-Semantics AVP (AVP Code TBD) is of type Enumerated and | The QoS-Semantics AVP (AVP Code 575) is of type Enumerated and | |||
provides the semantics for the QoS-Profile-Template and QoS- | provides the semantics for the QoS-Profile-Template and QoS- | |||
Parameters AVPs in the Filter-Rule AVP. | Parameters AVPs in the Filter-Rule AVP. | |||
This document defines the following values: | This document defines the following values: | |||
(0): QoS-Desired | (0): QoS-Desired | |||
(1): QoS-Available | (1): QoS-Available | |||
(2): QoS-Delivered | (2): QoS-Delivered | |||
(3): Minimum-QoS | (3): Minimum-QoS | |||
(4): QoS-Authorized | (4): QoS-Authorized | |||
The semantic of the QoS parameters depend on the information provided | The semantics of the QoS parameters depend on the information | |||
in the list above. The semantics of the different values are as | provided in the list above. The semantics of the different values | |||
follows: | are as follows: | |||
Object Type Direction Semantic | Object Type Direction Semantic | |||
--------------------------------------------------------------------- | --------------------------------------------------------------------- | |||
QoS-Desired C->S Client requests authorization of the | QoS-Desired C->S Client requests authorization of the | |||
indicated QoS. | indicated QoS. | |||
QoS-Desired C<-S NA | QoS-Desired C<-S NA | |||
QoS-Available C->S Admission Control at client indicates | QoS-Available C->S Admission Control at client indicates | |||
that this QoS is available. (note 1) | that this QoS is available. (note 1) | |||
QoS-Available C<-S Admission Control at server indicates | QoS-Available C<-S Admission Control at server indicates | |||
that this QoS is available. (note 2) | that this QoS is available. (note 2) | |||
skipping to change at page 30, line 43 | skipping to change at page 29, line 17 | |||
(1) QoS-Available in this direction indicates to the server that | (1) QoS-Available in this direction indicates to the server that | |||
any QoS-Authorized or Minimum-QoS must be less than this | any QoS-Authorized or Minimum-QoS must be less than this | |||
indicated QoS. | indicated QoS. | |||
(2) QoS-Available in this direction is only useful when the AAA | (2) QoS-Available in this direction is only useful when the AAA | |||
server performs admission control and knows about the resources | server performs admission control and knows about the resources | |||
in the network. | in the network. | |||
5.5. QoS-Parameters AVP | 5.5. QoS-Parameters AVP | |||
The QoS-Parameters AVP (AVP Code TBD) is of type grouped and contains | The QoS-Parameters AVP (AVP Code 576) is of type Grouped and contains | |||
Quality of Service parameters. These parameters are defined in | Quality of Service parameters. These parameters are defined in | |||
separate documents and depend on the indicated QoS profile template | separate documents and depend on the indicated QoS profile template | |||
of the QoS-Profile-Template AVP. For an initial QoS parameter | of the QoS-Profile-Template AVP. For an initial QoS parameter | |||
specification see [RFC5624]. | specification, see [RFC5624]. | |||
QoS-Parameters ::= < AVP Header: XXX > | QoS-Parameters ::= < AVP Header: 576 > | |||
* [ AVP ] | * [ AVP ] | |||
5.6. Excess-Treatment AVP | 5.6. Excess-Treatment AVP | |||
The Excess-Treatment AVP (AVP Code TBD) is of type grouped and | The Excess-Treatment AVP (AVP Code 577) is of type Grouped and | |||
indicates how out-of-profile traffic, i.e. traffic not covered by the | indicates how out-of-profile traffic, i.e., traffic not covered by | |||
original QoS-Profile-Template and QoS-Parameters AVPs, is treated. | the original QoS-Profile-Template and QoS-Parameters AVPs, is | |||
The additional Treatment-Action, QoS-Profile-Template and QoS- | treated. The additional Treatment-Action, QoS-Profile-Template, and | |||
Parameters AVPs carried inside the Excess-Treatment AVP provide | QoS-Parameters AVPs carried inside the Excess-Treatment AVP provide | |||
information about the QoS treatment of the excess traffic. In case | information about the QoS treatment of the excess traffic. In case | |||
the Excess-Treatment AVP is absent then the treatment of the out-of- | 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 | profile traffic is left to the discretion of the node performing QoS | |||
treatment. | treatment. | |||
Excess-Treatment ::= < AVP Header: XXX > | Excess-Treatment ::= < AVP Header: 577 > | |||
{ Treatment-Action } | { Treatment-Action } | |||
[ QoS-Profile-Template ] | [ QoS-Profile-Template ] | |||
[ QoS-Parameters ] | [ QoS-Parameters ] | |||
* [ AVP ] | * [ AVP ] | |||
6. QoS Capability Indication | 6. QoS Capability Indication | |||
The QoS-Capability AVP (AVP Code TBD) is of type Grouped and contains | The QoS-Capability AVP (AVP Code 578) is of type Grouped and contains | |||
a list of supported Quality of Service profile templates (and | a list of supported Quality of Service profile templates (and | |||
therefore the support of the respective parameter AVPs). | therefore the support of the respective parameter AVPs). | |||
The QoS-Capability AVP may be used for a simple announcement of the | The QoS-Capability AVP may be used for a simple announcement of the | |||
QoS capabilities and QoS profiles supported by a peer. It may also | QoS capabilities and QoS profiles supported by a peer. It may also | |||
be used to negotiate a mutually supported set of QoS capabilities and | be used to negotiate a mutually supported set of QoS capabilities and | |||
QoS profiles between two peers. In such a case, handling of failed | QoS profiles between two peers. In such a case, handling of failed | |||
negotiations is application and/or deployment specific. | negotiations is application and/or deployment specific. | |||
QoS-Capability ::= < AVP Header: XXX > | QoS-Capability ::= < AVP Header: 578 > | |||
1*{ QoS-Profile-Template } | 1*{ QoS-Profile-Template } | |||
* [ AVP ] | * [ AVP ] | |||
The QoS-Profile-Template AVP is defined in Section 5.3. | The QoS-Profile-Template AVP is defined in Section 5.3. | |||
7. Examples | 7. Examples | |||
This section shows a number of signaling flows where QoS negotiation | This section shows a number of signaling flows where QoS negotiation | |||
and authorization is part of the conventional NASREQ, EAP or Credit | and authorization are part of the conventional NASREQ, EAP, or Credit | |||
Control applications message exchanges. The signalling flows for the | Control applications message exchanges. The signaling flows for the | |||
Diameter QoS Application are described in | Diameter QoS Application are described in [DIAMETER-QOS]. | |||
[I-D.ietf-dime-diameter-qos]. | ||||
7.1. Diameter EAP with QoS Information | 7.1. Diameter EAP with QoS Information | |||
Figure 2 shows a simple signaling flow where a NAS (Diameter Client) | Figure 2 shows a simple signaling flow where a Network Access Server | |||
announces its QoS awareness and capabilities included into the DER | (NAS) (Diameter Client) announces its QoS awareness and capabilities | |||
message and as part of the access authentication procedure. Upon | included into the DER message and as part of the access | |||
completion of the EAP exchange, the Diameter Server provides a pre- | authentication procedure. Upon completion of the EAP exchange, the | |||
provisioned QoS profile with the QoS-Semantics in the Filter-Rule AVP | Diameter server provides a pre-provisioned QoS profile with the QoS- | |||
set to "QoS-Authorized", to the NAS in the final DEA message. | Semantics in the Filter-Rule AVP set to 'QoS-Authorized', to the NAS | |||
in the final Diameter-EAP-Answer (DEA) message. | ||||
End Diameter Diameter | End Diameter Diameter | |||
Host Client Server | Host Client Server | |||
| | | | | | | | |||
| (initiate EAP) | | | | (initiate EAP) | | | |||
|<----------------------------->| | | |<----------------------------->| | | |||
| | Diameter-EAP-Request | | | | Diameter-EAP-Request | | |||
| | EAP-Payload(EAP Start) | | | | EAP-Payload(EAP Start) | | |||
| | QoS-Capability | | | | QoS-Capability | | |||
| |------------------------------->| | | |------------------------------->| | |||
skipping to change at page 32, line 51 | skipping to change at page 31, line 42 | |||
| | Result-Code=DIAMETER_SUCCESS | | | | Result-Code=DIAMETER_SUCCESS | | |||
| | EAP-Payload(EAP Success) | | | | EAP-Payload(EAP Success) | | |||
| | (authorization AVPs) | | | | (authorization AVPs) | | |||
| | QoS-Resources(QoS-Authorized) | | | | QoS-Resources(QoS-Authorized) | | |||
| |<-------------------------------| | | |<-------------------------------| | |||
| | | | | | | | |||
| EAP Success | | | | EAP Success | | | |||
|<------------------------------| | | |<------------------------------| | | |||
| | | | | | | | |||
Figure 2: Example of a Diameter EAP enhanced with QoS Information | Figure 2: Example of a Diameter EAP Enhanced with QoS Information | |||
7.2. Diameter NASREQ with QoS Information | 7.2. Diameter NASREQ with QoS Information | |||
Figure 3 shows a similar pre-provisioned QoS signaling as in Figure 2 | Figure 3 shows a similar pre-provisioned QoS signaling as in Figure 2 | |||
but using the NASREQ application instead of EAP application. | but using the NASREQ application instead of EAP application. | |||
End Diameter | End Diameter | |||
Host NAS Server | Host NAS Server | |||
| | | | | | | | |||
| Start Network | | | | Start Network | | | |||
skipping to change at page 33, line 50 | skipping to change at page 32, line 50 | |||
| | AA-Answer| | | | AA-Answer| | |||
| | Result-Code=DIAMETER_SUCCESS| | | | Result-Code=DIAMETER_SUCCESS| | |||
| | (authorization AVPs)| | | | (authorization AVPs)| | |||
| | QoS-Resources(QoS-Authorized)| | | | QoS-Resources(QoS-Authorized)| | |||
| |<-----------------------------+ | | |<-----------------------------+ | |||
| | | | | | | | |||
| Success | | | | Success | | | |||
|<-----------------+ | | |<-----------------+ | | |||
| | | | | | | | |||
Figure 3: Example of a Diameter NASREQ enhanced with QoS Information | Figure 3: Example of a Diameter NASREQ Enhanced with QoS Information | |||
7.3. QoS Authorization | 7.3. QoS Authorization | |||
Figure 4 shows an example of authorization only QoS signaling as part | Figure 4 shows an example of authorization-only QoS signaling as part | |||
of the NASREQ message exchange. The NAS provides the Diameter server | of the NASREQ message exchange. The NAS provides the Diameter server | |||
with the "QoS-Desired" QoS-Semantics AVP included in the QoS- | with the "QoS-Desired" QoS-Semantics AVP included in the QoS- | |||
Resources AVP. The Diameter server then either authorizes the | Resources AVP. The Diameter server then either authorizes the | |||
indicated QoS or rejects the request and informs the NAS about the | indicated QoS or rejects the request and informs the NAS about the | |||
result. In this scenario the NAS does not need to include the QoS- | result. In this scenario, the NAS does not need to include the QoS- | |||
Capability AVP in the AAR message as the QoS-Resources AVP implicitly | Capability AVP in the AAR message as the QoS-Resources AVP implicitly | |||
does the same and also the NAS is authorizing a specific QoS profile, | does the same and also the NAS is authorizing a specific QoS profile, | |||
not a pre-provisioned one. | not a pre-provisioned one. | |||
End Diameter | End Diameter | |||
Host NAS Server | Host NAS Server | |||
| | | | | | | | |||
| | | | | | | | |||
| QoS Request | | | | QoS Request | | | |||
+----------------->| | | +----------------->| | | |||
skipping to change at page 34, line 42 | skipping to change at page 33, line 42 | |||
| | QoS-Resources(QoS-Authorized)| | | | QoS-Resources(QoS-Authorized)| | |||
| |<-----------------------------+ | | |<-----------------------------+ | |||
| Accept | | | | Accept | | | |||
|<-----------------+ | | |<-----------------+ | | |||
| | | | | | | | |||
| | | | | | | | |||
| | | | | | | | |||
Figure 4: Example of an Authorization-Only Message Flow | Figure 4: Example of an Authorization-Only Message Flow | |||
7.4. Diameter Server Initiated Re-authorization of QoS | 7.4. Diameter Server Initiated Re-Authorization of QoS | |||
Figure 5 shows a message exchange for a Diameter server initiated QoS | Figure 5 shows a message exchange for a Diameter server-initiated QoS | |||
re-authorization procedure. The Diameter server sends the NAS a RAR | re-authorization procedure. The Diameter server sends the NAS a Re- | |||
message requesting re-authorization for an existing session and the | Auth Request (RAR) message requesting re-authorization for an | |||
NAS acknowledges it with a RAA message. The NAS is aware of its | existing session and the NAS acknowledges it with a RAA message. The | |||
existing QoS profile and information for the ongoing session that the | NAS is aware of its existing QoS profile and information for the | |||
Diameter server requested for re-authorization. Thus, the NAS must | ongoing session that the Diameter server requested for re- | |||
initiate re-authorization of the existing QoS profile. The re- | authorization. Thus, the NAS must initiate re-authorization of the | |||
authorization procedure is the same as in Figure 4. | existing QoS profile. The re-authorization procedure is the same as | |||
in Figure 4. | ||||
End Diameter | End Diameter | |||
Host NAS Server | Host NAS Server | |||
| | | | | | | | |||
| | | | | | | | |||
: : : | : : : | |||
: <<<Initial Message Exchanges>>> : | : <<<Initial Message Exchanges>>> : | |||
: : : | : : : | |||
| | | | | | | | |||
| | RA-Request | | | | RA-Request | | |||
skipping to change at page 35, line 34 | skipping to change at page 34, line 37 | |||
| |QoS-Resources(QoS-Desired) | | | |QoS-Resources(QoS-Desired) | | |||
| +----------------------------->| | | +----------------------------->| | |||
| | | | | | | | |||
| | AA-Answer| | | | AA-Answer| | |||
| | Result-Code=DIAMETER_SUCCESS| | | | Result-Code=DIAMETER_SUCCESS| | |||
| | (authorization AVPs)| | | | (authorization AVPs)| | |||
| | QoS-Resources(QoS-Authorized)| | | | QoS-Resources(QoS-Authorized)| | |||
| |<-----------------------------+ | | |<-----------------------------+ | |||
| | | | | | | | |||
Figure 5: Example of a Server-initiated Re-Authorization Procedure | Figure 5: Example of a Server-Initiated Re-Authorization Procedure | |||
7.5. Diameter Credit Control with QoS Information | 7.5. Diameter Credit Control (CC) with QoS Information | |||
In this example, the CC client includes a QoS authorization request | In this example, the CC client includes a QoS authorization request | |||
(QoS-Semantics=QoS-Desired) in the initial Credit Control | (QoS-Semantics=QoS-Desired) in the initial Credit Control Request | |||
Request(CCR). The CC server responds with a Credit Control Answer | (CCR). The CC server responds with a Credit Control Answer (CCA), | |||
(CCA) which includes the granted resources with an authorized QoS | which includes the granted resources with an authorized QoS | |||
definition (QoS-Semantics=QoS-Authorized) and the CC client proceeds | definition (QoS-Semantics=QoS-Authorized) and the CC client proceeds | |||
to deliver service with the specified QoS. | to deliver service with the specified QoS. | |||
At the end of service, the CC client reports the units used and the | At the end of service, the CC client reports the units used and the | |||
QoS level at which those units were delivered (QoS-Semantics=QoS- | QoS level at which those units were delivered (QoS-Semantics=QoS- | |||
Delivered). The end of service could occur because the credit | Delivered). The end of service could occur because the credit | |||
resources granted to the user were exhausted or the service was been | resources granted to the user were exhausted or the service was been | |||
successfully delivered or the service was terminated, e.g. because | successfully delivered or the service was terminated, e.g., because | |||
the Service Element could not deliver the service at the authorized | the Service Element could not deliver the service at the authorized | |||
QoS level. | QoS level. | |||
Service Element | Service Element | |||
End User (CC Client) CC Server | End User (CC Client) CC Server | |||
| | | | | | | | |||
|(1) Service Request | | | |(1) Service Request | | | |||
|-------------------->| | | |-------------------->| | | |||
| |(2) CCR (Initial, | | | |(2) CCR (Initial, | | |||
| | QoS-Resources(QoS-Desired)) | | | | QoS-Resources(QoS-Desired)) | | |||
| |--------------------------------->| | | |--------------------------------->| | |||
| |(3) CCA (Granted-Units, | | | |(3) CCA (Granted-Units, | | |||
| | QoS-Resources(QoS-Authorized))| | | | QoS-Resources(QoS-Authorized))| | |||
| |<---------------------------------| | | |<---------------------------------| | |||
|(4) Service Delivery | | | |(4) Service Delivery | | | |||
|<------------------->| | | |<------------------->| | | |||
| | | | | | | | |||
|(5) End of Service | | | |(5) End of Service | | | |||
|-------------------->| | | |-------------------->| | | |||
| |(6) CCR (Termination, Used-Units,| | | |(6) CCR (Termination, Used-Units, | | |||
| | QoS-Rsources(QoS-Delivered)) | | | | QoS-Resources(QoS-Delivered)) | | |||
| |--------------------------------->| | | |--------------------------------->| | |||
| |(7) CCA | | | |(7) CCA | | |||
| |<---------------------------------| | | |<---------------------------------| | |||
Figure 6: Example for a Diameter Credit Control with QoS Information | Figure 6: Example of a Diameter Credit Control with QoS Information | |||
7.6. Classifier Examples | 7.6. Classifier Examples | |||
Example: Classify all packets from hosts on subnet 192.0.2.0/24 to | Example: Classify all packets from hosts on subnet 192.0.2.0/24 to | |||
ports 80, 8090 or 443 on web servers 192.0.2.123, 192.0.2.124, | ports 80, 8090 or 443 on web servers 192.0.2.123, 192.0.2.124, | |||
192.0.2.125. | 192.0.2.125. | |||
Classifier = { | Classifier = { | |||
Classifier-Id = "web_svr_example"; | Classifier-Id = "web_svr_example"; | |||
Protocol = TCP; | Protocol = TCP; | |||
skipping to change at page 37, line 25 | skipping to change at page 36, line 25 | |||
To-Spec = { | To-Spec = { | |||
IP-Address = 192.0.2.123; | IP-Address = 192.0.2.123; | |||
IP-Address = 192.0.2.124; | IP-Address = 192.0.2.124; | |||
IP-Address = 192.0.2.125; | IP-Address = 192.0.2.125; | |||
Port = 80; | Port = 80; | |||
Port = 8080; | Port = 8080; | |||
Port = 443; | Port = 443; | |||
} | } | |||
} | } | |||
Example: Any SIP signalling traffic from a device with a MAC address | Example: Any SIP signaling traffic from a device with a MAC address | |||
of 01:23:45:67:89:ab to servers with IP addresses in the range | of 01:23:45:67:89:ab to servers with IP addresses in the range | |||
192.0.2.90 to 192.0.2.190. | 192.0.2.90 to 192.0.2.190. | |||
Classifier = { | Classifier = { | |||
Classifier-Id = "web_svr_example"; | Classifier-Id = "web_svr_example"; | |||
Protocol = UDP; | Protocol = UDP; | |||
Direction = OUT; | Direction = OUT; | |||
From-Spec = { | From-Spec = { | |||
MAC-Address = 01:23:45:67:89:ab; | MAC-Address = 01:23:45:67:89:ab; | |||
} | } | |||
skipping to change at page 38, line 7 | skipping to change at page 37, line 7 | |||
Port = 3478; | Port = 3478; | |||
Port-Range = { | Port-Range = { | |||
Port-Start = 16348; | Port-Start = 16348; | |||
Port-End = 32768; | Port-End = 32768; | |||
} | } | |||
} | } | |||
} | } | |||
7.7. QoS Parameter Examples | 7.7. QoS Parameter Examples | |||
The following high level description aims to illustrate the | The following high-level description aims to illustrate the | |||
interworking between the Diameter QoS AVPs defined in this document | interworking between the Diameter QoS AVPs defined in this document | |||
and the QoS parameters defined in [RFC5624]. | and the QoS parameters defined in [RFC5624]. | |||
Consider the following example where a rule should be installed that | Consider the following example where a rule should be installed that | |||
limits traffic to 1 Mbit/sec and where out-of-profile traffic shall | limits traffic to 1 Mbit/s and where out-of-profile traffic shall be | |||
be dropped.The Classifers are ignored in this example. | dropped. The Classifiers are ignored in this example. | |||
This would require the Treatment-Action AVP to be set to 'shape' and | This would require the Treatment-Action AVP to be set to 'shape' and | |||
the QoS-Parameters AVP carries the Bandwidth AVP indicating the 1 | the QoS-Parameters AVP carries the Bandwidth AVP indicating the 1 | |||
Mbit/sec limit. The Treatment-Action carried inside the Excess- | Mbit/s limit. The Treatment-Action carried inside the Excess- | |||
Treatment AVP would be set to 'drop'. | Treatment AVP would be set to 'drop'. | |||
In a second, more complex scenario, we consider traffic marking with | In a second, more complex scenario, we consider traffic marking with | |||
DiffServ. In-profile traffic (of 5 Mbits/sec in our example) shall | Diffserv. In-profile traffic (of 5 Mbit/s in our example) shall be | |||
be associated with a particular PHB-Class "X". Out-of-profile | associated with a particular PHB-Class "X". Out-of-profile traffic | |||
traffic shall belong to a different PHB-Class, in our example "Y". | shall belong to a different PHB-Class, in our example "Y". | |||
This configuration would require the Treatment-Action AVP to be set | This configuration would require the Treatment-Action AVP to be set | |||
to 'mark'. The QoS-Parameters AVPs for the traffic conforming of the | 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 | profile contains two AVPs, namely, the TMOD-1 AVP and the PHB-Class | |||
AVP. The TMOD-1 AVP describes the traffic characteristics, namely 5 | 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 | Mbit/s, and the PHB-Class AVP is set to class "X". Then, the Excess- | |||
Excess-Treatment AVP has to be included with the Treatment-Action AVP | Treatment AVP has to be included with the Treatment-Action AVP set to | |||
set to 'mark' and the QoS-Parameters AVP to carry another PHB-Class | 'mark' and the QoS-Parameters AVP to carry another PHB-Class AVP | |||
AVP indicating PHB-Class AVP setting to class "Y". | indicating PHB-Class AVP setting to class "Y". | |||
8. Acknowledgments | 8. Acknowledgments | |||
We would like to thank Victor Fajardo, Tseno Tsenov, Robert Hancock, | We would like to thank Victor Fajardo, Tseno Tsenov, Robert Hancock, | |||
Jukka Manner, Cornelia Kappler, Xiaoming Fu, Frank Alfano, Tolga | Jukka Manner, Cornelia Kappler, Xiaoming Fu, Frank Alfano, Tolga | |||
Asveren, Mike Montemurro, Glen Zorn, Avri Doria, Dong Sun, Tina Tsou, | Asveren, Mike Montemurro, Glen Zorn, Avri Doria, Dong Sun, Tina Tsou, | |||
Pete McCann, Georgios Karagiannis, Elwyn Davies, Max Riegel, Yong Li | Pete McCann, Georgios Karagiannis, Elwyn Davies, Max Riegel, Yong Li, | |||
and Eric Gray for their comments. We thank Victor Fajardo for his | and Eric Gray for their comments. We thank Victor Fajardo for his | |||
job as PROTO document shepherd. Finally, we would like to thank Lars | job as PROTO document shepherd. Finally, we would like to thank Lars | |||
Eggert, Magnus Westerlund, Adrian Farrel, Lisa Dusseault, Ralph | Eggert, Magnus Westerlund, Adrian Farrel, Lisa Dusseault, Ralph | |||
Droms, and Eric Gray for their feedback during the IESG review phase. | Droms, and Eric Gray for their feedback during the IESG review phase. | |||
9. Contributors | 9. Contributors | |||
Max Riegel contributed the VLAN sections. | Max Riegel contributed the VLAN sections. | |||
10. IANA Considerations | 10. IANA Considerations | |||
10.1. AVP Codes | 10.1. AVP Codes | |||
IANA is requested to allocate codes from the "AVP Codes" registry | IANA has allocated codes from the "AVP Codes" registry under | |||
under Authentication, Authorization, and Accounting (AAA) Parameters | Authentication, Authorization, and Accounting (AAA) Parameters for | |||
for the following AVPs that are defined in this document. | the following AVPs that are defined in this document. | |||
+-------------------------------------------------------------------+ | +-------------------------------------------------------------------+ | |||
| AVP Section | | | AVP Section | | |||
| Attribute Name Code Defined Data Type | | | Attribute Name Code Defined Data Type | | |||
+-------------------------------------------------------------------+ | +-------------------------------------------------------------------+ | |||
|QoS-Resources TBD 3.1 Grouped | | |QoS-Resources 508 3.1 Grouped | | |||
|Filter-Rule TBD 3.2 Grouped | | |Filter-Rule 509 3.2 Grouped | | |||
|Filter-Rule-Precedence TBD 3.3 Unsigned32 | | |Filter-Rule-Precedence 510 3.3 Unsigned32 | | |||
|Classifier TBD 4.1.1 Grouped | | |Classifier 511 4.1.1 Grouped | | |||
|Classifier-ID TBD 4.1.2 OctetString | | |Classifier-ID 512 4.1.2 OctetString | | |||
|Protocol TBD 4.1.3 Enumerated | | |Protocol 513 4.1.3 Enumerated | | |||
|Direction TBD 4.1.4 Enumerated | | |Direction 514 4.1.4 Enumerated | | |||
|From-Spec TBD 4.1.5 Grouped | | |From-Spec 515 4.1.5 Grouped | | |||
|To-Spec TBD 4.1.6 Grouped | | |To-Spec 516 4.1.6 Grouped | | |||
|Negated TBD 4.1.7.1 Enumerated | | |Negated 517 4.1.7.1 Enumerated | | |||
|IP-Address TBD 4.1.7.2 Address | | |IP-Address 518 4.1.7.2 Address | | |||
|IP-Address-Range TBD 4.1.7.3 Grouped | | |IP-Address-Range 519 4.1.7.3 Grouped | | |||
|IP-Address-Start TBD 4.1.7.4 Address | | |IP-Address-Start 520 4.1.7.4 Address | | |||
|IP-Address-End TBD 4.1.7.5 Address | | |IP-Address-End 521 4.1.7.5 Address | | |||
|IP-Address-Mask TBD 4.1.7.6 Grouped | | |IP-Address-Mask 522 4.1.7.6 Grouped | | |||
|IP-Mask-Bit-Mask-Width TBD 4.1.7.7 Unsigned32 | | |IP-Mask-Bit-Mask-Width 523 4.1.7.7 Unsigned32 | | |||
|MAC-Address TBD 4.1.7.8 OctetString | | |MAC-Address 524 4.1.7.8 OctetString | | |||
|MAC-Address-Mask TBD 4.1.7.9 Grouped | | |MAC-Address-Mask 525 4.1.7.9 Grouped | | |||
|MAC-Address-Mask-Pattern TBD 4.1.7.10 OctetString | | |MAC-Address-Mask-Pattern 526 4.1.7.10 OctetString | | |||
|EUI64-Address TBD 4.1.7.11 OctetString | | |EUI64-Address 527 4.1.7.11 OctetString | | |||
|EUI64-Address-Mask TBD 4.1.7.12 Grouped | | |EUI64-Address-Mask 528 4.1.7.12 Grouped | | |||
|EUI64-Address-Mask-Pattern TBD 4.1.7.13 OctetString | | |EUI64-Address-Mask-Pattern 529 4.1.7.13 OctetString | | |||
|Port TBD 4.1.7.14 Integer32 | | |Port 530 4.1.7.14 Integer32 | | |||
|Port-Range TBD 4.1.7.15 Grouped | | |Port-Range 531 4.1.7.15 Grouped | | |||
|Port-Start TBD 4.1.7.16 Integer32 | | |Port-Start 532 4.1.7.16 Integer32 | | |||
|Port-End TBD 4.1.7.17 Integer32 | | |Port-End 533 4.1.7.17 Integer32 | | |||
|Use-Assigned-Address TBD 4.1.7.18 Enumerated | | |Use-Assigned-Address 534 4.1.7.18 Enumerated | | |||
|Diffserv-Code-Point TBD 4.1.8.1 Enumerated | | |Diffserv-Code-Point 535 4.1.8.1 Enumerated | | |||
|Fragmentation-Flag TBD 4.1.8.2 Enumerated | | |Fragmentation-Flag 536 4.1.8.2 Enumerated | | |||
|IP-Option TBD 4.1.8.3 Grouped | | |IP-Option 537 4.1.8.3 Grouped | | |||
|IP-Option-Type TBD 4.1.8.4 Enumerated | | |IP-Option-Type 538 4.1.8.4 Enumerated | | |||
|IP-Option-Value TBD 4.1.8.5 OctetString | | |IP-Option-Value 539 4.1.8.5 OctetString | | |||
|TCP-Option TBD 4.1.8.6 Grouped | | |TCP-Option 540 4.1.8.6 Grouped | | |||
|TCP-Option-Type TBD 4.1.8.7 Enumerated | | |TCP-Option-Type 541 4.1.8.7 Enumerated | | |||
|TCP-Option-Value TBD 4.1.8.8 OctetString | | |TCP-Option-Value 542 4.1.8.8 OctetString | | |||
|TCP-Flags TBD 4.1.8.9 Grouped | | |TCP-Flags 543 4.1.8.9 Grouped | | |||
|TCP-Flag-Type TBD 4.1.8.10 Unsigned32 | | |TCP-Flag-Type 544 4.1.8.10 Unsigned32 | | |||
|ICMP-Type TBD 4.1.8.11 Grouped | | |ICMP-Type 545 4.1.8.11 Grouped | | |||
|ICMP-Type-Number TBD 4.1.8.12 Enumerated | | |ICMP-Type-Number 546 4.1.8.12 Enumerated | | |||
|ICMP-Code TBD 4.1.8.13 Enumerated | | |ICMP-Code 547 4.1.8.13 Enumerated | | |||
|ETH-Option TBD 4.1.8.14 Grouped | | |ETH-Option 548 4.1.8.14 Grouped | | |||
|ETH-Proto-Type TBD 4.1.8.15 Grouped | | |ETH-Proto-Type 549 4.1.8.15 Grouped | | |||
|ETH-Ether-Type TBD 4.1.8.16 OctetString | | |ETH-Ether-Type 550 4.1.8.16 OctetString | | |||
|ETH-SAP TBD 4.1.8.17 OctetString | | |ETH-SAP 551 4.1.8.17 OctetString | | |||
|VLAN-ID-Range TBD 4.1.8.18 Grouped | | |VLAN-ID-Range 552 4.1.8.18 Grouped | | |||
|S-VID-Start TBD 4.1.8.19 Unsigned32 | | |S-VID-Start 553 4.1.8.19 Unsigned32 | | |||
|S-VID-End TBD 4.1.8.20 Unsigned32 | | |S-VID-End 554 4.1.8.20 Unsigned32 | | |||
|C-VID-Start TBD 4.1.8.21 Unsigned32 | | |C-VID-Start 555 4.1.8.21 Unsigned32 | | |||
|C-VID-End TBD 4.1.8.22 Unsigned32 | | |C-VID-End 556 4.1.8.22 Unsigned32 | | |||
|User-Priority-Range TBD 4.1.8.23 Grouped | | |User-Priority-Range 557 4.1.8.23 Grouped | | |||
|Low-User-Priority TBD 4.1.8.24 Unsigned32 | | |Low-User-Priority 558 4.1.8.24 Unsigned32 | | |||
|High-User-Priority TBD 4.1.8.25 Unsigned32 | | |High-User-Priority 559 4.1.8.25 Unsigned32 | | |||
|Time-Of-Day-Condition TBD 4.2.1 Grouped | | |Time-Of-Day-Condition 560 4.2.1 Grouped | | |||
|Time-Of-Day-Start TBD 4.2.2 Unsigned32 | | |Time-Of-Day-Start 561 4.2.2 Unsigned32 | | |||
|Time-Of-Day-End TBD 4.2.3 Unsigned32 | | |Time-Of-Day-End 562 4.2.3 Unsigned32 | | |||
|Day-Of-Week-Mask TBD 4.2.4 Unsigned32 | | |Day-Of-Week-Mask 563 4.2.4 Unsigned32 | | |||
|Day-Of-Month-Mask TBD 4.2.5 Unsigned32 | | |Day-Of-Month-Mask 564 4.2.5 Unsigned32 | | |||
|Month-Of-Year-Mask TBD 4.2.6 Unsigned32 | | |Month-Of-Year-Mask 565 4.2.6 Unsigned32 | | |||
|Absolute-Start-Time TBD 4.2.7 Time | | |Absolute-Start-Time 566 4.2.7 Time | | |||
|Absolute-Start-Fractional-Seconds TBD 4.2.8 Unsigned32 | | |Absolute-Start-Fractional-Seconds 567 4.2.8 Unsigned32 | | |||
|Absolute-End-Time TBD 4.2.9 Time | | |Absolute-End-Time 568 4.2.9 Time | | |||
|Absolute-End-Fractional-Seconds TBD 4.2.10 Unsigned32 | | |Absolute-End-Fractional-Seconds 569 4.2.10 Unsigned32 | | |||
|Timezone-Flag TBD 4.2.11 Enumerated | | |Timezone-Flag 570 4.2.11 Enumerated | | |||
|Timezone-Offset TBD 4.2.12 Integer32 | | |Timezone-Offset 571 4.2.12 Integer32 | | |||
|Treatment-Action TBD 5.1 Grouped | | |Treatment-Action 572 5.1 Grouped | | |||
|QoS-Profile-Id TBD 5.2 Unsigned32 | | |QoS-Profile-Id 573 5.2 Unsigned32 | | |||
|QoS-Profile-Template TBD 5.3 Grouped | | |QoS-Profile-Template 574 5.3 Grouped | | |||
|QoS-Semantics TBD 5.4 Enumerated | | |QoS-Semantics 575 5.4 Enumerated | | |||
|QoS-Parameters TBD 5.5 Grouped | | |QoS-Parameters 576 5.5 Grouped | | |||
|Excess-Treatment TBD 5.6 Grouped | | |Excess-Treatment 577 5.6 Grouped | | |||
|QoS-Capability TBD 6 Grouped | | |QoS-Capability 578 6 Grouped | | |||
+-------------------------------------------------------------------+ | +-------------------------------------------------------------------+ | |||
10.2. QoS-Semantics IANA Registry | 10.2. QoS-Semantics IANA Registry | |||
IANA is also requested to allocate a new registry under | IANA has allocated a new registry under Authentication, | |||
Authentication, Authorization, and Accounting (AAA) Parameters for | Authorization, and Accounting (AAA) Parameters for the QoS-Semantics | |||
the QoS-Semantics AVP. The following values are allocated by this | AVP. The following values are allocated by this specification: | |||
specification: | ||||
(0): QoS-Desired | (0): QoS-Desired | |||
(1): QoS-Available | (1): QoS-Available | |||
(2): QoS-Delivered | (2): QoS-Delivered | |||
(3): Minimum-QoS | (3): Minimum-QoS | |||
(4): QoS-Authorized | (4): QoS-Authorized | |||
The definition of new values is subject to the Specification Required | The definition of new values is subject to the Specification Required | |||
policy [RFC5226]. | policy [RFC5226]. | |||
10.3. Action | 10.3. Action | |||
IANA is also requested to allocate a new registry under | IANA has allocated a new registry under Authentication, | |||
Authentication, Authorization, and Accounting (AAA) Parameters for | Authorization, and Accounting (AAA) Parameters for the Treatment- | |||
the Treatment-Action AVP. The following values are allocated by this | Action AVP. The following values are allocated by this | |||
specification: | specification: | |||
0: drop | 0: drop | |||
1: shape | 1: shape | |||
2: mark | 2: mark | |||
3: permit | 3: permit | |||
The definition of new values is subject to the Specification Required | The definition of new values is subject to the Specification Required | |||
policy [RFC5226]. | policy [RFC5226]. | |||
11. Security Considerations | 11. Security Considerations | |||
This document describes the extension of Diameter for conveying | This document describes the extension of Diameter for conveying | |||
Quality of Service information. The security considerations of the | Quality of Service information. The security considerations of the | |||
Diameter protocol itself have been discussed in RFC 3588 [RFC3588]. | Diameter protocol itself have been discussed in RFC 3588 [RFC3588]. | |||
Use of the AVPs defined in this document MUST take into consideration | Use of the AVPs defined in this document MUST take into consideration | |||
the security issues and requirements of the Diameter Base protocol. | the security issues and requirements of the Diameter base protocol. | |||
12. References | 12. References | |||
12.1. Normative References | 12.1. Normative References | |||
[IEEE802.1D] | [IEEE802.1D] IEEE, "IEEE Standard for Local and metropolitan area | |||
IEEE, "IEEE Standard for Local and metropolitan area | networks, Media Access Control (MAC) Bridges", 2004. | |||
networks, Media Access Control (MAC) Bridges", 2004. | ||||
[IEEE802.1Q] | [IEEE802.1Q] IEEE, "IEEE Standard for Local and metropolitan area | |||
IEEE, "IEEE Standard for Local and metropolitan area | networks, Virtual Bridged Local Area Networks", 2005. | |||
networks, Virtual Bridged Local Area Networks", 2005. | ||||
[IEEE802.1ad] | [IEEE802.1ad] IEEE, "IEEE Standard for Local and metropolitan area | |||
IEEE, "IEEE Standard for Local and metropolitan area | networks, Virtual Bridged Local Area Networks, | |||
networks, Virtual Bridged Local Area Networks, Amendment | Amendment 4: Provider Bridges", 2005. | |||
4: Provider Bridges", 2005. | ||||
[IEEE802.2] | [IEEE802.2] IEEE, "IEEE Standard for Information technology, | |||
IEEE, "IEEE Standard for Information technology, | Telecommunications and information exchange between | |||
Telecommunications and information exchange between | systems, Local and metropolitan area networks, | |||
systems, Local and metropolitan area networks, Specific | Specific requirements, Part 2: Logical Link Control", | |||
requirements, Part 2: Logical Link Control", 1998. | 1998. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | |||
"Definition of the Differentiated Services Field (DS | "Definition of the Differentiated Services Field (DS | |||
Field) in the IPv4 and IPv6 Headers", RFC 2474, | Field) in the IPv4 and IPv6 Headers", RFC 2474, | |||
December 1998. | December 1998. | |||
[RFC2780] Bradner, S. and V. Paxson, "IANA Allocation Guidelines For | [RFC2780] Bradner, S. and V. Paxson, "IANA Allocation | |||
Values In the Internet Protocol and Related Headers", | Guidelines For Values In the Internet Protocol and | |||
BCP 37, RFC 2780, March 2000. | Related Headers", BCP 37, RFC 2780, March 2000. | |||
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition | [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The | |||
of Explicit Congestion Notification (ECN) to IP", | Addition of Explicit Congestion Notification (ECN) to | |||
RFC 3168, September 2001. | IP", RFC 3168, September 2001. | |||
[RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. | [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and | |||
Arkko, "Diameter Base Protocol", RFC 3588, September 2003. | J. Arkko, "Diameter Base Protocol", RFC 3588, | |||
September 2003. | ||||
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing | |||
IANA Considerations Section in RFCs", BCP 26, RFC 5226, | an IANA Considerations Section in RFCs", BCP 26, | |||
May 2008. | RFC 5226, May 2008. | |||
12.2. Informative References | 12.2. Informative References | |||
[I-D.ietf-dime-diameter-qos] | [DIAMETER-QOS] Sun, D., Ed., McCann, P., Tschofenig, H., Tsou, T., | |||
Sun, D., McCann, P., Tschofenig, H., ZOU), T., Doria, A., | Doria, A., and G. Zorn, Ed., "Diameter Quality of | |||
and G. Zorn, "Diameter Quality of Service Application", | Service Application", Work in Progress, October 2009. | |||
draft-ietf-dime-diameter-qos-13 (work in progress), | ||||
October 2009. | ||||
[RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., | [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, | |||
and W. Weiss, "An Architecture for Differentiated | Z., and W. Weiss, "An Architecture for Differentiated | |||
Services", RFC 2475, December 1998. | Services", RFC 2475, December 1998. | |||
[RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, | [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, | |||
"Diameter Network Access Server Application", RFC 4005, | "Diameter Network Access Server Application", | |||
August 2005. | RFC 4005, August 2005. | |||
[RFC5624] Korhonen, J., Tschofenig, H., and E. Davies, "Quality of | [RFC5624] Korhonen, J., Tschofenig, H., and E. Davies, "Quality | |||
Service Parameters for Usage with Diameter", RFC 5624, | of Service Parameters for Usage with Diameter", | |||
August 2009. | RFC 5624, August 2009. | |||
Appendix A. MAC and EUI64 Address Mask Usage Considerations | Appendix A. MAC and EUI64 Address Mask Usage Considerations | |||
The MAC and EUI64 address bit masks are generally used in classifying | The MAC and EUI64 address bit masks are generally used in classifying | |||
devices according to OUI and/or address blocks specific to the OUI | devices according to Organizationally Unique Identifier (OUI) and/or | |||
assignee. The bit masks are not intended to introduce a structure | address blocks specific to the OUI assignee. The bit masks are not | |||
into the MAC or EUI64 address space that was not intended by the | intended to introduce a structure into the MAC or EUI64 address space | |||
IEEE. | that was not intended by the IEEE. | |||
The MAC address bit mask should be defined as a contiguous series of | 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, | "N" set bits followed by a contiguous series of "48 - N" clear bits, | |||
e.g. the MAC address bit mask of 0xFF00FF000000 would not be valid. | e.g., the MAC address bit mask of 0xFF00FF000000 would not be valid. | |||
Similarly the EUI64 address bit mask should be defined as a | Similarly, the EUI64 address bit mask should be defined as a | |||
contiguous series of "N" set bits followed by a contiguous series of | contiguous series of "N" set bits followed by a contiguous series of | |||
"64 - N" clear bits. | "64 - N" clear bits. | |||
It should also be noted that some OUIs are assigned for use in | It should also be noted that some OUIs are assigned for use in | |||
applications that require number space management at the organization | applications that require number space management at the organization | |||
level (e.g. - LLC/SNAP encoding), and are not commonly used for MAC | level (e.g., LLC/SNAP encoding), and are not commonly used for MAC | |||
addresses. | addresses. | |||
Authors' Addresses | Authors' Addresses | |||
Jouni Korhonen | Jouni Korhonen | |||
Nokia Siemens Networks | Nokia Siemens Networks | |||
Linnoitustie 6 | Linnoitustie 6 | |||
Espoo 02600 | Espoo 02600 | |||
Finland | Finland | |||
Email: jouni.korhonen@nsn.com | EMail: jouni.korhonen@nsn.com | |||
Hannes Tschofenig | Hannes Tschofenig | |||
Nokia Siemens Networks | Nokia Siemens Networks | |||
Linnoitustie 6 | Linnoitustie 6 | |||
Espoo 02600 | Espoo 02600 | |||
Finland | Finland | |||
Phone: +358 (50) 4871445 | Phone: +358 (50) 4871445 | |||
Email: Hannes.Tschofenig@gmx.net | EMail: Hannes.Tschofenig@gmx.net | |||
URI: http://www.tschofenig.priv.at | URI: http://www.tschofenig.priv.at | |||
Mayutan Arumaithurai | Mayutan Arumaithurai | |||
University of Goettingen | University of Goettingen | |||
Email: mayutan.arumaithurai@gmail.com | EMail: mayutan.arumaithurai@gmail.com | |||
Mark Jones (editor) | Mark Jones (editor) | |||
Bridgewater Systems | Bridgewater Systems | |||
303 Terry Fox Drive, Suite 500 | 303 Terry Fox Drive, Suite 500 | |||
Ottawa, Ontario K2K 3J1 | Ottawa, Ontario K2K 3J1 | |||
Canada | Canada | |||
Phone: +1 613-591-6655 | Phone: +1 613-591-6655 | |||
Email: mark.jones@bridgewatersystems.com | EMail: mark.jones@bridgewatersystems.com | |||
Avi Lior | Avi Lior | |||
Bridgewater Systems | Bridgewater Systems | |||
303 Terry Fox Drive, Suite 500 | 303 Terry Fox Drive, Suite 500 | |||
Ottawa, Ontario K2K 3J1 | Ottawa, Ontario K2K 3J1 | |||
Canada | Canada | |||
Phone: +1 613-591-6655 | Phone: +1 613-591-6655 | |||
Email: avi@bridgewatersystems.com | EMail: avi@bridgewatersystems.com | |||
End of changes. 248 change blocks. | ||||
539 lines changed or deleted | 538 lines changed or added | |||
This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |