RFC 2872 PROPOSED STANDARD RSVP · QOS · POLICY

RSVP application policy: Application and Sub Application Identity Policy Element for Use with RSVP

How an RSVP request can name the application behind it, so network policy can treat a mission-critical program differently from a game.

On rfc-editor.org ↗
PUBLISHED
June 2000
AUTHORS
Y. Bernet, R. Pabbati
STREAM
IETF
P-TYPE
AUTH_APP
FIRST ATTRIBUTE
POLICY_LOCATOR (ASCII_DN or UNICODE_DN)
SECOND ATTRIBUTE
CREDENTIAL (ASCII_ID or UNICODE_ID)
RECOMMENDED KEYWORDS
GUID, APP, VER, SAPP
DOI
10.17487/RFC2872

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                        Y. Bernet
Request for Comments: 2872                                  R. Pabbati
Category: Standards Track                                    Microsoft
                                                             June 2000


      Application and Sub Application Identity Policy Element for
                             Use with RSVP

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

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].

Abstract

   RSVP [RFC 2205] signaling messages typically include policy data
   objects, which in turn contain policy elements. Policy elements may
   describe user and/or application information, which may be used by
   RSVP aware network elements to apply appropriate policy decisions to
   a traffic flow. This memo details the usage of policy elements that
   provide application information.

1. Overview

   RSVP aware network elements may act as policy enforcement points
   (PEPs). These work together with policy decision points (PDPs) to
   enforce QoS policy. Briefly, PEPs extract policy information from
   RSVP signaling requests and compare the information against
   information stored by a PDP in a (possibly remotely located) policy
   database or directory. A policy decision is made based on the results
   of the comparison.

   One type of policy information describes the application on behalf of
   which an RSVP signaling request is generated. When application policy
   information is available, network administrators are able to manage
   QoS based on application type. So, for example, a network
   administrator may establish a policy that prioritizes known mission-
   critical applications over games.

   This memo describes a structure for a policy element that can be used
   to identify application traffic flows. The policy element includes a
   number of attributes, one of which is a policy locator. This policy
   locator includes the following hierarchically ordered sub-elements
   (in descending levels of hierarchy):

      1. identifier that uniquely identifies the application vendor
      2. identifier of the application
      3. version number of the application
      4. sub-application identifier

   An arbitrary number of sub-application identifiers may be included in
   the policy locator. An example of such an identifier is 'print
   transaction'.

   This memo specifies the structure of the application policy element
   and proposes keywords for the sub-elements at each level of the
   hierarchy. It does not enumerate specific values for the sub-
   elements: such an enumeration is beyond the scope of this memo.

2. Simple Application Identity Policy Element Structure

   General application identity policy elements are defined in
   [RFC2752]. These are policy elements with a P-type of AUTH_APP.
   Following the policy element header is a list of authentication
   attributes.

   The first authentication attribute is of the A-type POLICY_LOCATOR.
   The sub-type of the POLICY_LOCATOR attribute is of type ASCII_DN
   [RFC1779] or UNICODE_DN. The actual attribute data is formatted as an
   X.500 distinguished name (DN), representing a globally unique
   identifier, the application, version number and sub-application in a
   hierarchical structure. The POLICY_LOCATOR attribute contains
   keywords as described in section 2. For further details on the format
   of the POLICY_LOCATOR attribute, see [RFC2752].

   The second authentication attribute is of the A-type CREDENTIAL. The
   sub-type of the CREDENTIAL attribute is of type ASCII_ID or
   UNICODE_ID. The actual attribute data is an ASCII or Unicode string
   representing the application name. This structure is illustrated in
   the following diagram:

               0              1               2               3
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    PE Length (8)              |   P-type = AUTH_APP           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Attribute Length           |   A-type =    |  Sub-type =   |
      |                               | POLICY_LOCATOR|   ASCII_DN    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Application policy locator attribute data in X.500 DN format  |
      |                         (see below)                           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Attribute Length           |   A-type =    |  Sub-type =   |
      |                               |   CREDENTIAL  |   ASCII_ID    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                 Application name as ASCII string              |
      |                         (e.g. SAP.EXE)                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The following keywords are recommended although others MAY be used:

   Key  Attribute
   --------------
   GUID Globally Unique Identifier (optional)
   APP  Application Name
   VER  Application Version Number
   SAPP Sub Application (optional)

   The following are examples of conformant policy locators:

   "APP=SAP, VER=1.1, SAPP=Print"

   "GUID=http://www.microsoft.com/apps, APP=MyApplication, VER=1.2.3"

   The APP, VER and SAPP attributes SHOULD describe the application to a
   human reader in as unique and unambiguous a way as possible. The GUID
   attribute MAY be used when absolute uniqueness of application
   identification is required and its contents MUST be an identifier
   from a globally-unique source (e.g. domain names as assigned by the
   corresponding registration authorities). Note that publication of the
   chosen identifiers in a suitable format is strongly encouraged.

3. Security Considerations

   The proposed simple policy element does not guarantee that element is
   indeed associated with the application it claims to be associated
   with. In order to provide such guarantees, it is necessary to sign
   applications. Signed application policy elements may be proposed at a
   future date. Note that, typically, the application policy element
   will be included in an RSVP message with an encrypted and
   authenticated user policy element. A level of security is provided by
   trusting the application policy element only if the user policy
   element is trusted.

   All RSVP integrity considerations apply to the message containing the
   application policy element.

4. References

   [RFC2205] Braden, R., Zhang, L., Berson, L., Herzog, S. and S. Jamin,
             "Resource Reservation Protocol (RSVP) - Version 1
             Functional Specification", RFC 2205, September 1997.

   [RFC1779] Kille, S., "A String Representation of Distinguished
             Names", RFC 1779, March 1995.

   [RFC2752] Yadav, S., Yavatkar, R., Pabbati, R,. Ford, P., Moore, T.
             and S. Herzog, "Identity Representation for RSVP", RFC
             2752, January 2000.

   [ASCII]   Coded Character Set -- 7-Bit American Standard Code for
             Information Interchange, ANSI X3.4-1986.

   [UNICODE] The Unicode Consortium, "The Unicode Standard, Version
             2.0", Addison-Wesley, Reading, MA, 1996.

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

5.  Acknowledgments

   Thanks to Tim Moore, Shai Mohaban, Andrew Smith, Ulrich Homann and
   other contributors to the IETF's RAP WG for their input.

6. Authors' Addresses

   Yoram Bernet
   Microsoft
   One Microsoft Way
   Redmond, WA 98052

   Phone: (425) 936-9568
   EMail: yoramb@microsoft.com


   Ramesh Pabbati
   One Microsoft Way
   Redmond, WA 98052

   EMail: rameshpa@microsoft.com

7.  Full Copyright Statement

   Copyright (C) The Internet Society (2000).  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.

AI ELI5

On this page
PROBLEMNetwork devices that apply quality-of-service policy to RSVP requests have no standard way to learn which application a reservation is being made for.
MECHANISMAn AUTH_APP policy element carries a POLICY_LOCATOR attribute (an X.500 distinguished name built from keywords such as APP, VER and SAPP) plus a CREDENTIAL attribute holding the application name.
THE CATCHAdministrators can write policy by application type, but the element is only a claim: it is not signed, so it is trusted only as far as the accompanying user policy element is.

§1Why Name the Application

RSVP signaling messages (RFC 2205) typically carry policy data objects, and these contain policy elements. Some policy elements describe the user or the application, and RSVP-aware network elements can use that information when deciding how to treat a traffic flow.

RFC 2872 details the use of policy elements that provide application information. Its example is a network administrator who sets a policy that prioritizes known mission-critical applications over games.

Imagine a school bus driver who lets the fire drill team on first. To do that, the driver needs to know who is who. This RFC is the name tag for programs.

§2Enforcement Points and the Locator Hierarchy

RSVP-aware network elements may act as policy enforcement points (PEPs). A PEP extracts policy information from RSVP signaling requests and compares it with information stored by a policy decision point (PDP) in a possibly remote policy database or directory. The decision is made from the result of that comparison.

The application is described by a policy locator with hierarchically ordered sub-elements, from the top down: an identifier of the application vendor, an identifier of the application, the application version number, and a sub-application identifier. Any number of sub-application identifiers may appear; the RFC's example is print transaction.

The memo specifies the structure and proposes keywords for each level. It does not list specific values for them, which it calls beyond its scope.

The locator is like a full address: country, city, street, house. It starts with who made the program and gets more specific, down to one small job inside it.

POLICY LOCATOR SUB-ELEMENTS, TOP TO BOTTOM (RFC 2872)
  • Application policy locator
    • Vendor identifier
      • Application identifier
        • Version number

§3The Policy Element Structure

General application identity policy elements are defined in RFC 2752. They have a P-type of AUTH_APP, and the policy element header is followed by a list of authentication attributes.

The first attribute has A-type POLICY_LOCATOR. Its sub-type is ASCII_DN (see RFC 1779) or UNICODE_DN, and its data is an X.500 distinguished name that represents a globally unique identifier, the application, the version number and the sub-application in a hierarchy.

The second attribute has A-type CREDENTIAL. Its sub-type is ASCII_ID or UNICODE_ID, and its data is the application name as a string (the RFC's example is SAP.EXE). The diagram in the RFC shows a PE Length field, the P-type, and then an Attribute Length, A-type and Sub-type for each of the two attributes.

The tag has two lines. One line is the long, careful address of the program. The other is its everyday file name, like a nickname.

§4Locator Keywords and Examples

The RFC recommends four keywords, although others MAY be used: GUID (globally unique identifier, optional), APP (application name), VER (application version number) and SAPP (sub application, optional).

APP, VER and SAPP SHOULD describe the application to a human reader in as unique and unambiguous a way as possible. GUID MAY be used when absolute uniqueness is required, and its contents MUST be an identifier from a globally unique source, such as domain names assigned by the registration authorities. Publishing the chosen identifiers in a suitable format is strongly encouraged.

The tag uses short labels: APP for the program, VER for its version, SAPP for a small job inside it, and GUID when you must be sure no one else has the same name.

RECOMMENDED LOCATOR KEYWORDS
  • GUIDGlobally Unique Identifier — Optional.
  • APPApplication Name — Describes the application to a human reader.
  • VERApplication Version Number — Version of the application.
  • SAPPSub Application — Optional.
EXAMPLE POLICY LOCATORS (RFC 2872)
Conformant policy locators
"APP=SAP, VER=1.1, SAPP=Print"

"GUID=http://www.microsoft.com/apps, APP=MyApplication, VER=1.2.3"

§5Security Considerations

The simple policy element does not guarantee that it really belongs to the application it names. Providing that guarantee would require signed applications, and signed application policy elements may be proposed at a future date.

The application policy element will typically travel in an RSVP message with an encrypted and authenticated user policy element, so a level of security comes from trusting the application element only if the user element is trusted. All RSVP integrity considerations apply to the message containing it.

Anyone can write any name on a name tag. So the network only believes the tag when it already trusts the person wearing it.

§6References