RFC 3483
Framework for Policy Usage Feedback for Common Open Policy Service with Policy Provisioning (COPS-PR)
Framework for Policy Usage Feedback for Common Open Policy Service with Policy Provisioning (COPS-PR) ๐
Okay bestie, this is RFC 3483 ๐ It's from the Network Working Group, filed as Informational (so it's giving "here's some good info," not a standard ๐ซถ), and dated March 2003. The authors are D. Rawlins (WorldCom), A. Kulkarni (Intel), M. Bokaemper (Juniper Networks), and K. Chan (Nortel Networks). Iconic squad ๐ The header doesn't list any Obsoletes or Updates entries.
Status of this Memo โจ
This memo gives information to the Internet community ๐ธ It does not specify an Internet standard of any kind, so no cap ๐ Distribution of this memo is unlimited ๐ฆ
Copyright Notice ๐ง
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract ๐
Okay so the Common Open Policy Services (COPS) Protocol (RFC 2748) defines the capability of reporting information to the Policy Decision Point (PDP) ๐ The report types are success, failure, and accounting of an installed state ๐ฅ This doc focuses on the COPS Report Type of Accounting, plus the framework you need for monitoring and reporting usage feedback for an installed state โจ
Conventions used in this document ๐
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Those are the official vibes, so read them the way [RFC2119] says ๐ซถ
Table of Contents ๐
Glossary........................................................... 2
1 Introduction.................................................... 2
2 Overview........................................................ 3
3 Requirements for Normal Operations.............................. 3
4 Periodic Nature of Policy Usage Feedback........................ 4
4.1 Reporting Intervals......................................... 4
5 Suspension, Resumption and Halting of Usage Monitoring and
Reporting....................................................... 5
6 Solicited Feedback.............................................. 5
7 Usage reports on shared objects................................. 5
8 Context......................................................... 6
9 Delete Request States........................................... 7
10 Failover........................................................ 7
11 Security Considerations......................................... 7
12 References...................................................... 8
12.1 Normative References....................................... 8
12.2 Informative References..................................... 8
13 Authors' Addresses.............................................. 9
14 Full Copyright Statement........................................10
Glossary ๐ง
- COPS - Common Open Policy Service. See [RFC2748].
- COPS-PR - COPS Usage for Policy Provisioning. See [RFC3084].
- PDP - Policy Decision Point. See [RFC2753].
- PEP - Policy Enforcement Point. See [RFC2753].
- PIB - Policy Information Base. The database of policy information.
- PRC - Provisioning Class. A type of policy data.
- PRI - Provisioning Instance. An instance of a PRC.
- QoS - Quality of Service.
1 Introduction โจ
So the PEP reporting policy usage gives the PDP a much richer set of info to make decisions with ๐ง This feedback can change future decisions the PDP makes, plus the policy the PDP installs at the PEP afterward ๐ Like, a PDP making policy for a SIP signaled multimedia session may need to base its decision in part on usage info tied to QoS policy decisions it already installed ๐ The PDP might even coordinate that usage info with other external systems to figure out future policy, like when it coordinates multimedia session QoS and clearinghouse authorizations [SIP-AAA-QOS] ๐
The scope of this doc is the framework for policy usage that the PEP monitors and reports, and that gets collected at the PDP. The charging, rating and billing models, plus any other accounting or statistics gathering events the PDP can detect, are beyond the scope of this framework ๐
2 Overview ๐ฆ
There are three main aspects to define policies for usage feedback:
- which objects are monitored
- the metrics to be monitored and reported for these objects
- when the reports are delivered
In the framework, a selection criteria policy specifies one or more objects that should be monitored (e.g., a dropper or the instances of an IP Filter for all its interfaces) ๐ซง
A usage feedback class is used to specify which metrics get collected for a set of objects. Instances of the specified class carry the usage information when it's reported. The PEP reports the valid combinations of monitored object classes and usage feedback classes as capabilities ๐
Finally, the selection criteria policy and the usage feedback class get bound together in a linkage policy, which also holds the info on when reports are generated. Reports are usually sent periodically, but more restrictions can be placed on when they're generated, like thresholds or a change in the data ๐
3 Requirements for Normal Operations ๐ธ
Per COPS [RFC2748], the PDP specifies the minimum feedback interval in the Accounting Timer object. That object is included in the Client Accept message during connection establishment ๐ค This sets the maximum frequency at which the PEP issues unsolicited accounting type report messages. The whole point of this interval is to pace how many report messages get sent to the PDP. It is not the goal of the interval defined by the ACCT Timer value to provide precision synchronization or timing โฑ๏ธ
The selection, plus the associated usage criteria and intervals for feedback reporting, are defined by the PDP ๐ Feedback policies define the necessary selection and linkages to usage feedback criteria, and the PDP includes them in a Decision message to the PEP ๐ The PEP then periodically reports the usage feedback at intervals defined in the linkage policies. That rate is never more frequent than what's specified in the Accounting Timer object. Heads up though, there are exceptions where reports with feedback are provided before the Accounting Timer interval (see section 6) ๐ The PDP may also solicit usage feedback, which the PEP reports back immediately ๐ฅ Usage information may be cleared upon reporting, and that's specified in the usage policy criteria ๐งน
The PEP monitors and tracks the usage feedback info. The PDP is the collection point for the policy usage feedback info that the PEP clients report within the administrative domain ๐๏ธ The PDP may also collect other accounting event info, but that's outside the scope of this doc ๐
4 Periodic Nature of Policy Usage Feedback ๐
Generally, policy usage feedback is periodic in nature, and the reporting is unsolicited ๐ The unsolicited reports are supplied per the interval the PDP defines. Since they're dictated by timer intervals, they use a deterministic amount of network resources ๐
The PDP tells the PEP the minimal feedback interval during client connection establishment, using the Accounting Timer object ๐ค The PDP may also specify feedback intervals in the specific usage feedback policies. And the unsolicited monitoring and reporting by the PEP may be suspended and resumed whenever the PDP says so ๐ฌ
4.1 Reporting Intervals โญ
Feedback from the PEP to the PDP happens under different conditions. That includes feedback on demand, periodic feedback, or feedback when a defined threshold is reached ๐ฏ
Periodic feedback for a usage policy can be defined two ways: give feedback only if there's a change in value, or give feedback periodically no matter whether the value changed ๐
The periodic interval is defined using the Accounting Object, ACCT Timer value. One interval is equal to the number of seconds in the ACCT Timer value โฐ The PDP may define a specific number of intervals to pass before the PEP provides usage feedback for a specific policy in a report ๐งฎ When the ACCT Timer value is equal to zero, there's no unsolicited usage feedback from the PEP. The PEP still monitors and tracks usage per the PDP policy though, and it reports that when the PDP solicits the feedback ๐ซถ
Reporting may also be based on reaching a defined threshold value in the usage PRC ๐จ
The PDP may solicit usage feedback in the middle of an interval by sending a COPS decision message ๐จ The exact contents of that message are out of the scope of this framework doc. They need to be defined in a document that actually implements usage feedback using this framework ๐
When the PEP gets a solicit decision from the PDP, it provides the requested usage info. If the usage policy says the attribute must be cleared after reporting, the PEP clears it too ๐งผ The PEP should keep the same interval schedule the PDP defined in the Accounting Timer object, which was established at client connection acceptance ๐๏ธ
5 Suspension, Resumption and Halting of Usage Monitoring and Reporting โธ๏ธ
The PDP may tell the PEP to suspend usage feedback report messages, then later tell it to resume reporting feedback โถ๏ธ The PDP may also tell the PEP to suspend monitoring and tracking of usage. That also suppresses the feedback reports until the PDP tells the PEP to resume monitoring (and reporting) ๐ When the PDP suspends monitoring or suspends reporting, it also specifies whether the PEP should give an unsolicited feedback report of the current monitored usage for the affected usage policy ๐ฃ The PDP can suspend and resume monitoring and reporting for specific usage policies, or for all of the usage feedback policies at once ๐
6 Solicited Feedback ๐
Sometimes it's useful for the PDP to control feedback on an on-demand basis instead of a periodic one ๐โโ๏ธ The PDP may solicit feedback from the PEP with a Decision. It can do that at any time during the accounting interval defined by the ACCT Timer โณ The PEP responds immediately and reports the appropriate usage policies. It should keep following the usage feedback interval schedule it established during connection acceptance ๐
7. Usage reports on shared objects ๐
Okay so bestie, some objects in a context's namespace are unique to the PEP's configuration, but other COPS objects can be shared between multiple actual assignments in the PEP. Lowkey iconic, right? ๐
Whenever the PEP builds multiple actual configuration instances from the same COPS objects, each of those assignments can collect its own statistics independently. ๐ The thing is, individual assignments don't have their own COPS object representation, so we need some extra info to uniquely identify the assignment that generates the usage information. For example, if the PEP needs to create multiple usage objects for an IP address, it can use the port number to tell them apart. So the (IP address, port number) combo is now the unique identifier of the object. It's giving main character energy ๐ฆ
The feedback framework lets this info get spread out between a selection criteria PRC and the matching usage feedback PRC. However, both PRCs together always have to contain enough info for the finest granularity of usage collection the PEP supports. ๐ซถ
If all the additional info isn't part of the selection criteria PRC, then all matching assignments get selected to collect usage information. The data needed to tell these assignments apart lives in the usage feedback PRC. ๐ง
Implementations based on the feedback framework should always provide a selection criteria PRC with a complete set of info to select a unique assignment. Underspecified selection criteria PRCs (paired with extended usage feedback PRCs) are optional, though. ๐ธ
8. Context ๐
COPS-PR [RFC3084] lets multiple, independent, disjoint instances of policies be configured on the PEP. Each instance is called a context, and only one context can be active at any given moment. โจ The PDP tells the PEP to switch between contexts using a single decision message.
Usage policy monitoring and recording works kind of like enforcement policy when it comes to context switches. ๐ Usage policy is monitored, recorded and reported while its associated policy information context is active. When the context gets deactivated, a report message containing the usage feedback policies for that context is sent to the PDP. Once a context is inactive, the PEP does not monitor, track or report policy usage for it at all. Bye bye ๐
9. Delete Request States ๐
The PEP MUST send any outstanding usage feedback data that was monitored during the feedback interval to the PDP via an unsolicited report message right before it issues a Delete Request State. โ ๏ธ This is also the case when the PDP is the one that initiates the Delete Request State. ๐
10. Failover ๐
Okay so if the connection between the PEP and PDP gets lost, the PEP keeps tracking usage feedback info for as long as it keeps enforcing its installed (cached) policy. ๐ Once the locally installed policy at the PEP expires, the usage feedback policy data expires too, and it stops being monitored. ๐ญ
When the connection comes back and the PEP is still caching policy, the PDP deterministically tells the PEP that it may resume usage feedback reporting. โจ The PEP reports all cached usage and resumes periodic reporting, making any needed adjustments to the interval schedule as specified in the reconnection acceptance ACCT Timer. ๐ฅ
11. Security Considerations ๐
This document provides a framework for policy usage feedback, using COPS-PR as the transport mechanism. ๐จ Feedback info is sensitive, so it MUST be transported in a secured manner. COPS [RFC2748] and COPS-PR [RFC3084] provide for such secured transport, with mandatory and suggested security mechanisms. ๐ก๏ธ
The usage feedback information itself MUST be secured, with its security requirements specified in the respective documents. ๐ค
12. References ๐
12.1 Normative References
[RFC2119] Bradner, S., "Key words to use in the RFCs", BCP 14,
RFC 2119, March 1997.
[RFC2748] Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R.
and A. Sastry, "The COPS (Common Open Policy Service)
Protocol", RFC 2748, January 2000.
[RFC2753] Yavatkar, R., Pendarakis, D. and R. Guerin, "A
Framework for Policy-based Admission Control", RFC
2753, January 2000.
[RFC3084] Chan, K., Durham, D., Gai, S., Herzog, S., McCloghrie,
K., Reichmeyer, F., Seligson, J., Smith, A. and R.
Yavatkar, "COPS Usage for Policy Provisioning (COPS-
PR)", RFC 3084, March 2001.
12.2 Informative References
[SIP-AAA-QOS] Gross, G., Sinnreich, H. Rawlins D. and T. Havinis,
"QoS and AAA Usage with SIP Based IP Communications",
Work in Progress.
13. Authors' Addresses ๐ฆ
Diana Rawlins
WorldCom
901 International Parkway
Richardson, Texas 75081
Phone: 972-729-4071
EMail: Diana.Rawlins@wcom.com
Amol Kulkarni
JF3-206
2111 NE 25th Ave
Hillsboro, Oregon 97124
Phone: 503-712-1168
EMail: amol.kulkarni@intel.com
Kwok Ho Chan
Nortel Networks, Inc.
600 Technology Park Drive
Billerica, MA 01821 USA
Phone: 978-288-8175
EMail: khchan@nortelnetworks.com
Martin Bokaemper
Juniper Networks
700 Silver Seven Road
Kanata, ON, K2V 1C3, Canada
Phone: 613-591-2735
EMail: mbokaemper@juniper.net
14. Full Copyright Statement ๐
Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement โญ
Funding for the RFC Editor function is currently provided by the Internet Society. ๐
๐ฆ where this page comes from
- ietf: rfc3483 2003-03
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms