Internet Draft Diana Rawlins Expiration: May 2001 WorldCom File: draft-ietf-rap-acct-fr-pib-00.txt Amol Kulkarni Intel Kwok Ho Chan Nortel Networks Dinesh Dutt Cisco Framework of COPS-PR Policy Information Base for Accounting Usage Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. 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 [RFC-2119]. Abstract Currently there are no policy classes defined for the PEP to convey provisioned policy usage feedback to the PDP. The purpose of this document is to define the accounting framework PIB that specifies the policy classes common for COPS accounting type reports. The basic operation and objects for reporting usage information are defined in [COPS]. A specific clientSI accounting type object named REPORT is defined in [COPS-PR]. This document further describes operational behavior that is implied in [COPS] and [COPS-PR.] Rawlins et al. Expires May 2001 [Page 1] Internet Draft ACCT-FR-PIB November 2000 Table Of Contents 1 Introduction.....................................................3 2 General Concepts.................................................3 2.1 Overview.......................................................3 2.2 Normal Operation...............................................3 2.3 Failover.......................................................4 2.4 Context........................................................4 2.5 Delete Request States..........................................4 2.6 Periodic nature of report accounting...........................5 3 Definition of Accounting Type Report Policy......................5 4 Summary of the Accounting Framework Policy Information Base......6 4.1 SPPI ACCESS clause Report......................................6 4.2 Textual Conventions Counts.....................................7 4.3 Accounting Type Report Group and PRCs..........................7 4.3.1 The Accounting Type Report Device Table......................7 4.3.2 The Accounting Type Report Resume Table......................7 4.3.3 The Accounting Type Report Linkage Table.....................7 4.3.4 The Filter Usage Table.......................................7 5 The Accounting Framework PIB Module..............................8 6 Security Considerations.........................................14 7 Acknowledgements................................................14 8 Authors' Addresses..............................................14 9 References......................................................15 Rawlins et al. Expires May 2001 [Page 2] Internet Draft ACCT-FR-PIB November 2000 1 Introduction Policy usage reported by the PEP makes a richer set of information available to the PDP for decision-making. This report accounting information can influence future decisions made by the PDP and the resulting policy installed by the PDP at the PEP. For example, A PDP determining policy for a SIP signaled multimedia session may need to base the decision in part on usage information related to previously installed QoS policy decisions. Further, the PDP may coordinate this usage information with other external systems to determine the future policy such as the case with the PDP coordinating multimedia session QoS and clearinghouse authorizations [SIP-AAA-QOS] The scope of this document is to describe the policy class framework for policy usage monitored and reported by the PEP and collected at the PDP. The charging and billing models as well as other accounting events detectable by the PDP are beyond the scope of this framework. 2 General Concepts 2.1 Overview There are two aspects to defining policies for an accounting type report ū the "who" aspect and the "what" aspect. The "who" is referred to generically as the selection criteria policy class. The "what" is referred to generically as the usage policy class. The usage policy and selection policy are associated with one another. The usage criteria policy class defines what is monitored, recorded and reported by the PEP. The selection criteria policy class specifies the conditions for the monitoring and recording of the associated usage policy. For example, a usage policy may be defined to provide counts of packets received. The selection criteria policy may identify the filter on which to base the packet counts. A third policy associates, or links, the selection and usage policies. This is the accounting type report linkage policy. 2.2 Normal Operation The PDP specifies the minimum accounting interval in the Accounting Timer object that is included in the Client Accept message during connection establishment. This specifies the frequency with which the PEP issues unsolicited accounting type reports. The PEP notifies the PDP of the maximum reporting interval as well as the selection criteria policy classes and usage policy classes it supports during the initial request for configuration data. The PDP responds to the initial request for configuration with a DECISION that installs policies. The PDP may also specify maximum reporting intervals. The PEP monitors and records the usage per the Rawlins et al. Expires May 2001 [Page 3] Internet Draft ACCT-FR-PIB November 2000 selection criteria defined by the PDP. Periodically the PEP reports the usage with an accounting type REPORT. The interval of the reporting may be defined for the policy instance as long as the interval does not conflict with the intervals specified in the Client Accept or device reporting limitations. While it is not anticipated, if the volume of the usage policy instances for an accounting type report exceeds the maximum message size, multiple report messages containing the usage policy instances are constructed and issued to the PDP for that accounting interval. The Report-Type Object has a new parameter, Continuation Flag. This 4-bit element is set to 0x1 to indicate additional report messages are immediately following and contain information related to the current report. The last accounting type report message in the series for this particular accounting interval clears the Continuation Flag. The PDP is the collection point for the usage information monitored and reported by the PEP clients within the administrative domain. The PDP may also collect other accounting event information that is outside the scope of this document. 2.3 Failover In the event the connection is lost between the PEP and PDP, the PEP continues to track usage information as long as it continues to operate with the installed policy. When the locally installed policy at the PEP expires, the usage policy data also expires. Upon successful reconnection where the PEP is still caching policy, the PDP indicates to the PEP that the PEP may resume sending of the accounting type report messages. The PDP does this deterministically. It issues an unsolicited decision containing the frwkAtRptResumeIndicator set to resume reporting. The PDP is aware of the request state Handle(s) and the supported PRCs either through the state synchronization mechanism or because the PDP considers itself synchronized with the PEP upon reconnection. 2.4 Context The monitoring and recording of usage policies is subject to context switches in a manner similar to enforcement policy. The usage policy is monitored, recorded and reported while the associated PIB instance is active. The PEP should retain existing accounting data during inactive contexts and resume it's monitoring and reporting when the PIB instance becomes active again. 2.5 Delete Request States The PEP may send any outstanding accounting data monitored during the interval to the PDP via an unsolicited report immediately prior to issuing a Delete Request State if the time interval since the Rawlins et al. Expires May 2001 [Page 4] Internet Draft ACCT-FR-PIB November 2000 last report is not less than the interval defined by the Accounting Timer. This is also the case when the PDP initiates the Delete Request State with a decision request delete state. 2.6 Periodic nature of report accounting The PDP informs the PEP of the minimal accounting interval it supports in the Accounting Timer object during client connection establishment. The PEP notifies the PDP of its maximum accounting interval capability during the initial configuration request. The PDP may specify accounting intervals in the specific accounting policies per the PEP's indicated capabilities. Generally the accounting policy is periodic in nature and the reporting is unsolicited. The unsolicited reports are supplied within the interval decided by the PDP. Note that periodic unsolicited reports (as dictated by timer intervals) use a deterministic amount of network resources. There may be instances where the nature of the accounting policy for a given client type or accounting PIB module is such that it is useful for the PDP to control when it receives the feedback. The PDP may therefore have the capability to solicit the accounting report. 3 Definition of Accounting Type Report Policy There are three basic types of policy used to define what the PEP is to monitor, record and report. These are the selection criteria policy, the usage policy and the accounting type report linkage policy. The selection criteria policy is installed by the PDP. It defines the conditions used by the PEP to monitor and record a usage policy. Generally, the selection criterion is an existing PRC such as the frwkIPFilterTable. This PRC is useful for specifying conditions on which to base usage ū i.e. count the number of packets received for this filter. The filter (source address, destination address, etc.) in this case defines the conditions. In the case of the accounting framework PIB, the frwkIPFilterTable is the only PRC used to base selection on. The usage policy defines what attributes are monitored and recorded by the PEP. These policies have an ACCESS clause of Report. Generally, the usage policies specify counts related to a specific action such as a packet being dropped. The accounting framework PIB defines one usage policy class, frwkAtRptFilterStats. It counts packets and bytes as well as records the timestamp when the last packet was received. Usage PRCs may be generic, collecting basic statistics, or specific to a particular usage. The PDP decides which PRC(s) best suit(s) its requirements. The PEP may support only one usage PRC, in which case all statistics are gathered using instances of that PRC. Alternatively, the PEP may support multiple usage PRCs. The PDP then decides which PRC to associate with a particular Rawlins et al. Expires May 2001 [Page 5] Internet Draft ACCT-FR-PIB November 2000 selection criterion. Multiple selection criteria may be associated with multiple instances of a single PRC. The accounting type report linkage permits the same selection criteria instance to be re-used for various usage policies. For example, the same IP Filter selection criteria could be the basis of different usage policies such as packet count, drop count, and remark count. The accounting type report linkage references the selection criteria instance as well as defines the policy class of the usage PRC. As noted above, the selection criteria policy may be used for enforcement policies as well as usage policies. This is the case with the frwkIPFilterTable. ------------------- ----------------- ----------------- | | | | | | | Select Criteria | |Linkage Instance| |Usage Instance | | | |-instance ID | |- instance ID | | -instance ID |<--|-PRID of select |-->|- PRID of Linkage| | -conditionsą | |-PRC of usage | |- countsą | | | | | | | ------------------- ---------------- ----------------- Figure 1 Figure 1 illustrates the relationship between a selection criteria, linkage and usage policies. The PDP is not aware of the instance identifier of the usage policy when installing the selection criteria and accounting type report linkage policies. The usage policy is enabled on the PEP by the accounting type report linkage and the PEP designates the instance identifier. The usage policy class always contains an attribute of type Prid. This attribute contains the value of the accounting type report linkage PRID [COPS-PR] installed by the PDP. The Prid type is a textual convention for an object identifier that is the PRC of the table used for the selection criteria and where the last sub- identifier is an instance ID of the accounting type report linkage. 4 Summary of the Accounting Framework Policy Information Base 4.1 SPPI ACCESS clause Report The selection criteria and linkage policy classes follow the definitions specified by [SPPI.] This structure specifies well- defined policy classes and their instances residing in a common, virtual repository [FR-PIB.] The additional PIB-ACCESS clause attribute of "report" denotes the usage policy class reported by the PEP. Rawlins et al. Expires May 2001 [Page 6] Internet Draft ACCT-FR-PIB November 2000 4.2 Textual Conventions Counts The usage policy attributes are often defined in the terms of counts. This type is a non-negative value that is incremented. This value is to "stick" at the maximum value if the maximum value is reached before the reporting interval. It is reset to the value zero after the usage is reported to the PDP and continues the incremental operation. A textual convention defining the counts is defined in the Accounting Framework PIB. 4.3 Accounting Type Report Group and PRCs It is useful to define reporting intervals and restart characteristics as well as the common usage and selection criteria polices. These policy classes are common to account type reporting for various technologies and apply to ALL SUBJECT-CATEGORIES. The policy classes belong to a new group, Accounting Type Report Group. The policy classes in the Accounting Type Report Group are: 1) Accounting Type Report Device Intervals Table 2) Accounting Type Report Linkage Table 3) Accounting Type Filter Statistics Usage Table 4.3.1 The Accounting Type Report Device Table This table contains exactly one row. It defines the maximum reporting interval in seconds that the PEP can support. 4.3.2 The Accounting Type Report Resume Table This table contains one row. It indicates that the PDP, to which a PEP having cached usage policy has reconnected, is ready to receive the accounting type report messages from the PEP. 4.3.3 The Accounting Type Report Linkage Table This table links the selection criteria instance with the usage instance. It specifies the PRID of the selection criteria and the PRC of the usage instance. This table permits the reuse of a selection criteria instance for multiple usage policies. The linkage table also permits the definition of a maximum reporting interval to use when issuing the accounting type reports for the usage instance. The interval is not to conflict with the maximum interval for the device defined in the Accounting Type Report Device Table. 4.3.4 The Filter Usage Table This table describes the packet counts, byte counts, last timestamp when a packet was received and the PRID of the associated Accounting Rawlins et al. Expires May 2001 [Page 7] Internet Draft ACCT-FR-PIB November 2000 Type Report Linkage instance. The count and timestamp information is monitored and recorded by the PEP and supplied to the PDP with the accounting type report message within the maximum interval specified. 5 The Accounting Framework PIB Module ACCOUNTING-FRAMEWORK-PIB PIB-DEFINITIONS ::= BEGIN IMPORTS ExtUTCTime, Unsigned32, Unsigned64, IpAddress, Integer32, MODULE-IDENTITY, OBJECT-TYPE FROM COPS-PR-SPPI TruthValue, TEXTUAL-CONVENTION FROM SNMPv2-TC PolicyInstanceId, PolicyReferenceId FROM COPS-PR-SPPI-TC; RoleCombination FROM POLICY-DEVICE-AUX-MIB; acctPolFrameworkPib MODULE-IDENTITY SUBJECT-CATEGORIES { all } LAST-UPDATED "200011171000Z" ORGANIZATION "IETF RAP WG" CONTACT-INFO " Diana Rawlins WorldCom 901 International Parkway Richardson, TX 75081 Phone: 972 729 1044 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 " DESCRIPTION "The PIB module containing the base set of policy rule classes that are required for support of all accounting and reporting policies" Rawlins et al. Expires May 2001 [Page 8] Internet Draft ACCT-FR-PIB November 2000 ::= { tbd } -- -- The accounting type report group -- frwkAtRptGroupClasses OBJECT IDENTIFIER ::= { acctPolFrameworkPib 2 } -- -- Textual Conventions -- Count ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A count represents a value used by attributes that record policy usage. A count is of value zero or greater and is incremented according to defined policy usage. When the maximum value is reached, the value sticks. The value is reset to zero upon reporting the value to the PDP." SYNTAX Unsigned64 ( 0..18446744073709551615) -- -- The accounting type report device characteristics -- frwkAtRptDevTable OBJECT-TYPE SYNTAX SEQUENCE OF FrwkAtRptDevEntry PIB-ACCESS notify STATUS current DESCRIPTION "This class contains a single PRI that specifies the common reporting characteristics for the device." ::= { frwkAtRptGroupClasses 1} frwkAtRptDevEntry OBJECT-TYPE SYNTAX FrwkAtRptDevEntry STATUS current DESCRIPTION "An instance of this class specifies the max interval supported by the PEP." ::= { frwkAtRptDevTable 1} FrwkAtRptDevEntry ::= SEQUENCE { frwkAtRptDevPrid InstanceId, frwkAtRptDevMax Unsigned32 } frwkAtRptDevPrid OBJECT-TYPE SYNTAX InstanceID Rawlins et al. Expires May 2001 [Page 9] Internet Draft ACCT-FR-PIB November 2000 STATUS current DESCRIPTION " An arbitrary integer index that uniquely identifies an instance of the frwkAtRptDevTable class." ::= { frwkAtRptDevEntry 1} frwkAtRptDevMax OBJECT-TYPE SYNTAX Unsigned32 STATUS current DESCRIPTION "The maximum reporting interval in seconds between accounting type reporting messages issued by the PEP. " ::= { frwkAtRptDevEntry 2 } -- -- resume reporting indicator -- frwkAtRptResumeTable OBJECT-TYPE SYNTAX SEQUENCE OF FrwkAtRptResumeEntry PIB-ACCESS install STATUS current DESCRIPTION "This class contains a single PRI that indicates that the PEP is to resume the sending of accounting type reports." ::= { frwkAtRptGroupClasses 2} frwkAtRptResumeEntry OBJECT-TYPE SYNTAX FrwkAtRptResumeEntry STATUS current DESCRIPTION "An instance of this class can indicate when to resume sending accounting type reports by the PEP." ::= { frwkAtRptResumeTable 1} FrwkAtRptResumeEntry ::= SEQUENCE { frwkAtRptResumePrid InstanceId, frwkAtRptResumeIndicator INTEGER } frwkAtRptDevPrid OBJECT-TYPE SYNTAX InstanceID STATUS current DESCRIPTION " An arbitrary integer index that uniquely identifies an Rawlins et al. Expires May 2001 [Page 10] Internet Draft ACCT-FR-PIB November 2000 instance of the frwkAtRptResumeTable class." ::= { frwkAtRptResumeEntry 1} frwkAtRptResumeIndicator OBJECT-TYPE SYNTAX INTEGER { NO_REPORTS(0), SEND_REPORTS(1) } STATUS current DESCRIPTION "The value indicates if the PEP is to send cached usage policies via accounting type report messages. The enumeration values are: (0) DonĘt send accounting type report messages (1) Resume accounting type report messages. Send cached usage policies now " ::= { frwkAtRptResumeEntry 2 } -- -- The Accounting Type Report Linkage Table -- frwkAtRptLinkTable OBJECT-TYPE SYNTAX SEQUENCE OF FrwkAtRptLinkEntry PIB-ACCESS notify STATUS current DESCRIPTION "This class associates the selection criteria with the usage policy. It also permit the defining of the max interval used for reporting the usage instance." ::= { frwkAtRptGroupClasses 3} frwkAtRptLinkEntry OBJECT-TYPE SYNTAX FrwkAtRptLinkEntry STATUS current DESCRIPTION "This class associates the selection criteria with the usage policy. It also permit the defining of the max interval used for reporting the usage instance." PIB-INDEX {frwkAtRptLinkId} UNIQUENESS { frwkAtRptLinkId, frwkAtRptLinkSel, frwkAtRptLinkUsage } ::= {frwkAtRptLinkTable 1} FrwkAtRptLinkEntry ::= SEQUENCE { frwkAtRptLinkId InstanceID, Rawlins et al. Expires May 2001 [Page 11] Internet Draft ACCT-FR-PIB November 2000 frwkAtRptLinkSel Prid, frwkAtRptLinkUsage OBJECT IDENTIFIER, frwkAtRptLinkInterval Integer32 } frwkAtRptLinkId OBJECT-TYPE SYNTAX InstanceID STATUS current DESCRIPTION " An arbitrary integer index that uniquely identifies an instance of the frwkAtRptLinkTable class." ::= { frwkAtRptLinkEntry 1} frwkAtRptLinkSel OBJECT-TYPE SYNTAX Prid STATUS current DESCRIPTION "The PRID of the selection criteria instance that defines the conditions to use by the PEP for monitoring the usage." ::= { frwkAtRptLinkEntry 2} frwkAtRptLinkUsage OBJECT-TYPE SYNTAX OBJECT IDENTIFIER STATUS current DESCRIPTION "The PRC of the usage policy class that the PEP uses to monitor,record and report." ::= { frwkAtRptLinkEntry 3} frwkAtRptInterval OBJECT-TYPE SYNTAX Integer32 STATUS current DESCRIPTION "Maximum interval in seconds between issuing accounting type reports of this policy instance." ::= { frwkAtRptLinkEntry 4} -- -- The filter statistics usage -- frwkAtRptFilterStatsUsageTable OBJECT-TYPE SYNTAX SEQUENCE OF FrwkAtRptFilterStatsUsageEntry PIB-ACCESS report STATUS current DESCRIPTION "This class defines the usage attributes that the PEP is to monitor, record and report. It contains the Rawlins et al. Expires May 2001 [Page 12] Internet Draft ACCT-FR-PIB November 2000 of the PRID of the linkage instance associating the selection criteria instance with the usage instance." ::= { frwkAtRptGroupClasses 4} frwkAtRptFilterStatsUsageEntry OBJECT-TYPE SYNTAX FrwkAtRptFilterStatsUsageEntry STATUS current DESCRIPTION "Defines the attributes the PEP is to monitor, record and report." PIB-INDEX {frwkAtRptFilterStatsUsageId} UNIQUENESS { frwkAtRptFilterStatsUsagePRID } ::= {frwkAtRptFilterStatsUsageTable 1} FrwkAtRptFilterStatsUsageEntry ::= SEQUENCE { frwkAtRptFilterStatsUsageId InstanceID, frwkAtRptFilterStatsUsagePRID Prid, frwkAtRptFilterStatsUsagePacketCount Counts, frwkAtRptFilterStatsUsageByteCount Counts, fwkAtRptFilterStatsUsageTimeStamp ExtUTCTime } frwkAtRptFilterStatsUsageId OBJECT-TYPE SYNTAX InstanceId STATUS current DESCRIPTION "Arbitrary integer index that uniquely identifies an instance of the class." ::= { frwkAtRptFilterStatsUsageEntry 1 } frwkAtRptFilterStatsUsagePRID OBJECT-TYPE SYNTAX Prid STATUS current DESCRIPTION "The PRID of the selection criteria policy instance used to base this usage policy instance upon. The PRID is composed of the PRC of the selection criteria Instance and the last sub-identifier is that value Of the selection criteria policy instance." ::= { frwkAtRptFilterStatsUsageEntry 2 } frwkAtRptFilterStatsUsagePacketCount OBJECT-TYPE SYNTAX Unsigned32 STATUS current DESCRIPTION "The count of packets matching the specified filter during the reporting interval." Rawlins et al. Expires May 2001 [Page 13] Internet Draft ACCT-FR-PIB November 2000 ::= {frwkAtRptFilterStatsUsageEntry 3} frwkAtRptFilterStatsUsageByteCount OBJECT-TYPE SYNTAX Unsigned64 STATUS current DESCRIPTION "The byte count of packets matching the specified filter during the reporting interval." ::= { frwkAtRptFilterStatsUsageEntry 4} frwkAtRptFilterStatsSelectTimeStamp OBJECT-TYPE SYNTAX ExtUTCTime STATUS current DESCRIPTION "The last timestamp when a packet was received." ::= { frwkAtRptFilterStatsSelectEntry 5} END 6 Security Considerations The accounting information is sensitive and requires that authorized messaging occur between the PEP and the PDP. This protection can be accomplished with IPSEC between the PEP and the PDP or using the security mechanisms described in the base COPS protocol. 7 Acknowledgements The authors would like to thank Dave Durham and Russell Fenger of Intel and John K. Gallant of WorldCom for their contribution to this document. 8 Authors' Addresses Diana Rawlins WorldCom 901 International Parkway Richardson, Texas 75081 Phone: 972-729-1044 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 Rawlins et al. Expires May 2001 [Page 14] Internet Draft ACCT-FR-PIB November 2000 Nortel Networks, Inc. 600 Technology Park Drive Billerica, MA 01821 USA Phone: 978-288-8175 Email: khchan@nortelnetworks.com Dinesh G Dutt Cisco Systems, Inc. 170 Tasman Dr. San Jose, CA 95134-1706 Phone: 408-527-0955 Email: ddutt@cisco.com 9 References [COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R., and A. Sastry, "The COPS (Common Open Policy Service) Protocol" RFC 2748, January 2000. [COPS-PR] K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie, F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, "COPS Usage for Policy Provisioning," draft-ietf-rap-cops-pr-02.txt, March 2000. [SPPI] K. McCloghrie, et.al., "Structure of Policy Provisioning Information," draft-ietf-rap-sppi-00.txt, march 2000. [FR-PIB] M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn, A. Smith, F. Reichmeyer "Framework Policy Information Base", Internet Draft , March 2000 [DSPIB] M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Han, A. Smith, F. Reichmeyer, "Differentiated Services Quality of Service Policy Information Base", Internet Draft, March 2000 [SIP-AAA-QOS] Gross, G.,Sinnreich, H. Rawlins D., Havinis, T. " QoS and AAA Usage with SIP Based IP Communications" draft-gross-sipaq- 00.txt, November 2000. Rawlins et al. Expires May 2001 [Page 15]