RFC 3483

Framework for Policy Usage Feedback for Common Open Policy Service with Policy Provisioning (COPS-PR)

๐Ÿ“… published March 2003, from ietf

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 (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
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