RFC 2872
Application and Sub Application Identity Policy Element for Use with RSVP
RFC 2872: Application and Sub Application Identity Policy Element for Use with RSVP ๐
Okay bestie, this is the RFC that explains how to tag RSVP reservation requests with which app is asking for the bandwidth. ๐
RFC 2872 is a Standards Track document from June 2000, written by Y. Bernet and R. Pabbati at Microsoft ๐ซถ. It doesn't list anything it obsoletes or updates. โจ
Status of This Memo ๐
This document is an Internet standards track protocol spec for the Internet community. It's asking for discussion and suggestions for improvements. For the standardization state and status, check the current edition of "Internet Official Protocol Standards" (STD 1). 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 usually carry policy data objects, and those hold policy elements. Policy elements can describe the user and/or the application, and RSVP-aware network elements can use that info to make policy decisions about a traffic flow. This memo is all about policy elements that carry application info. ๐
1. Overview ๐ง
Okay so RSVP-aware network elements can act as policy enforcement points (PEPs) ๐ . They team up with policy decision points (PDPs) to enforce QoS policy. The gist: PEPs pull policy info out of RSVP signaling requests and compare it with what a PDP has stored in a policy database or directory, which might be somewhere remote. Then a policy decision gets made based on that comparison. โจ
One type of policy info says which application made the RSVP signaling request. When app policy info is available, network admins can manage QoS by application type. For example, an admin could set a policy that prioritizes known mission-critical apps over games. Main character energy for the important stuff ๐๐ฎ
This memo describes a structure for a policy element that identifies application traffic flows. The policy element has a bunch of attributes, and one of them is a policy locator. That locator has these hierarchically ordered sub-elements, from top level down:
- identifier that uniquely identifies the application vendor
- identifier of the application
- version number of the application
- sub-application identifier
You can put any number of sub-application identifiers in the policy locator. An example is 'print transaction' ๐จ๏ธ
This memo lays out the structure of the application policy element and suggests keywords for the sub-elements at each level. It does not list specific values for those sub-elements, because enumerating them is beyond the scope of this memo. ๐
2. Simple Application Identity Policy Element Structure ๐
General application identity policy elements are defined in [RFC2752]. These have a P-type of AUTH_APP. After the policy element header comes a list of authentication attributes. ๐ซง
The first authentication attribute has the A-type POLICY_LOCATOR. Its sub-type is ASCII_DN [RFC1779] or UNICODE_DN. The actual attribute data is an X.500 distinguished name (DN), which stands in for a globally unique identifier, the application, the version number, and the sub-application, all in a hierarchy. The POLICY_LOCATOR attribute uses the keywords described in section 2. For more on the POLICY_LOCATOR format, see [RFC2752]. ๐
The second authentication attribute has the A-type CREDENTIAL. Its sub-type is ASCII_ID or UNICODE_ID, and the attribute data is an ASCII or Unicode string with the application name. Here's the 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) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
These keywords are recommended, though you're allowed to use others (MAY):
Key Attribute
--------------
GUID Globally Unique Identifier (optional)
APP Application Name
VER Application Version Number
SAPP Sub Application (optional)
Here are some examples of conformant policy locators ๐
"APP=SAP, VER=1.1, SAPP=Print"
"GUID=http://www.microsoft.com/apps, APP=MyApplication, VER=1.2.3"
Real talk about the rules: the APP, VER and SAPP attributes SHOULD describe the app to a human reader in the most unique and unambiguous way possible. โจ The GUID attribute MAY be used when you need absolute uniqueness, and its contents MUST be an identifier from a globally-unique source (like domain names assigned by the right registration authorities). Also, publishing the chosen identifiers in a suitable format is strongly encouraged ๐ฃ
3. Security Considerations ๐
โ ๏ธ Big warning, bestie: the simple policy element doesn't guarantee that it's actually linked to the application it claims. To get that kind of guarantee, applications would need to be signed. Signed application policy elements might be proposed later. Also, the application policy element usually rides in an RSVP message alongside an encrypted and authenticated user policy element. So the app element only gets trusted if the user policy element is trusted. Security is only as strong as that trust chain ๐ฅบ
All RSVP integrity considerations apply to the message that carries 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. You all ate ๐ฐ
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.
Here's the fine print, and it matters ๐ You can copy and share this document and translations of it, and you can make derivative works that comment on or explain it or help implement it. You can publish and distribute those in whole or in part, with no restriction, as long as the copyright notice and this paragraph stay on all copies and derivative works. But the document itself can't be modified in any way, like removing the copyright notice or the references to the Internet Society or other Internet organizations. The exception is when you're developing Internet standards, in which case the Internet Standards process copyright procedures must be followed, or when you're translating it into a language other than English. These permissions are perpetual and won't be revoked by the Internet Society or its successors or assigns.
This document and the information in it 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. ๐ท
That's the whole spec, bestie! ๐โจ๐
๐ฆ where this page comes from
- ietf: rfc2872 2000-06
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms