< draft-ietf-rap-rsvp-ext-05.txt   draft-ietf-rap-rsvp-ext-06.txt >
Internet Draft Shai Herzog Internet Draft Shai Herzog
Expiration: October 1999 IPHighway Expiration: October 1999 IPHighway
File: draft-ietf-rap-rsvp-ext-05.txt File: draft-ietf-rap-rsvp-ext-06.txt
Updates RFC 2205 Updates RFC 2205
RSVP Extensions for Policy Control RSVP Extensions for Policy Control
April 2, 1999 April 8, 1999
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 2, line 5 skipping to change at page 2, line 5
extension to the RSVP functional specifications [RSVP] extension to the RSVP functional specifications [RSVP]
These extensions include the standard format of POLICY_DATA objects, These extensions include the standard format of POLICY_DATA objects,
and a description of RSVP's handling of policy events. and a description of RSVP's handling of policy events.
This document does not advocate particular policy control This document does not advocate particular policy control
mechanisms; mechanisms;
however, a Router/Server Policy Protocol description for these however, a Router/Server Policy Protocol description for these
extensions can be found in [RAP, COPS, COPS-RSVP]. extensions can be found in [RAP, COPS, COPS-RSVP].
Internet Draft RSVP Extensions for Policy Control 2-Apr-99 Internet Draft RSVP Extensions for Policy Control 8-Apr-99
Table of Contents Table of Contents
Abstract.............................................................1 Abstract.............................................................1
Table of Contents....................................................2 Table of Contents....................................................2
1 Introduction.......................................................3 1 Introduction.......................................................3
2 Policy Data Objects................................................3 2 A Simple Scenario..................................................3
2.1 Base Format.....................................................4 3 Policy Data Objects................................................4
2.2 Options.........................................................4 3.1 Base Format.....................................................4
2.3 Policy Elements.................................................6 3.2 Options.........................................................5
2.4 Purging Policy State............................................7 3.3 Policy Elements.................................................7
3 Processing Rules...................................................7 3.4 Purging Policy State............................................7
3.1 Basic Signaling.................................................7 4 Processing Rules...................................................8
3.2 Default Handling................................................7 4.1 Basic Signaling.................................................8
3.3 Error Signaling.................................................8 4.2 Default Handling for PIN nodes..................................8
4 IANA Considerations................................................9 4.3 Error Signaling.................................................8
5 Security Considerations............................................9 5 IANA Considerations................................................9
6 References........................................................10 6 Security Considerations............................................9
7 Acknowledgments...................................................10 7 References........................................................10
8 Author Information................................................10 8 Acknowledgments...................................................10
Appendix A: Policy Error Codes......................................11 9 Author Information................................................10
Internet Draft RSVP Extensions for Policy Control 2-Apr-99 Appendix A : Policy Error Codes.....................................11
Appendix B : INTEGRITY computation for POLICY_DATA objects..........12
Internet Draft RSVP Extensions for Policy Control 8-Apr-99
1 Introduction 1 Introduction
RSVP, by definition, discriminates between users, by providing some RSVP, by definition, discriminates between users, by providing some
users with better service at the expense of others. Therefore, it is users with better service at the expense of others. Therefore, it is
reasonable to expect that RSVP be accompanied by mechanisms for reasonable to expect that RSVP be accompanied by mechanisms for
controlling and enforcing access and usage policies. Ver. 1 of the controlling and enforcing access and usage policies. Ver. 1 of the
RSVP Functional Specifications [RSVP] left a placeholder for policy RSVP Functional Specifications [RSVP] left a placeholder for policy
support in the form of POLICY_DATA object. support in the form of POLICY_DATA object.
skipping to change at page 3, line 27 skipping to change at page 3, line 27
availability. In this document we describe a set of extensions to availability. In this document we describe a set of extensions to
RSVP for supporting policy based admission control as well. The RSVP for supporting policy based admission control as well. The
scope of this document is limited to these extensions and does not scope of this document is limited to these extensions and does not
advocate specific architectures for policy based controls. advocate specific architectures for policy based controls.
For the purpose of this document we do not differentiate between For the purpose of this document we do not differentiate between
Policy Decision Point (PDP) and Local Decision Point (LDPs) as Policy Decision Point (PDP) and Local Decision Point (LDPs) as
described in [RAP]. The term PDP should be assumed to include LDP as described in [RAP]. The term PDP should be assumed to include LDP as
well. well.
2 Policy Data Objects 2 A Simple Scenario
It is generally assumed that policy enforcement (at least in its
initial stages) is likely to concentrate on border nodes between
autonomous systems.
Figure 1 illustrates a simple autonomous domain with two boundary
nodes (A, C) which represent PEPs controlled by PDPs. A core node
(B) represents an RSVP capable policy ignorant node (PIN) with
capabilities limited to default policy handling (Section 4.2).
PDP1 PDP2
| |
| |
+---+ +---+ +---+
| A +---------+ B +---------+ C |
+---+ +---+ +---+
PEP2 PIN PEP2
Figure 1: Autonomous Domain scenario
Here, policy objects transmitted across the domain traverse an
intermediate PIN node (B) that is allowed to process RSVP message
but considered non-trusted for handling policy information.
This document describes processing rules for both PEP as well as PIN
nodes.
Internet Draft RSVP Extensions for Policy Control 8-Apr-99
3 Policy Data Objects
POLICY_DATA objects are carried by RSVP messages and contain policy POLICY_DATA objects are carried by RSVP messages and contain policy
information. All policy-capable nodes (at any location in the information. All policy-capable nodes (at any location in the
network) can generate, modify, or remove policy objects, even when network) can generate, modify, or remove policy objects, even when
senders or receivers do not provide, and may not even be aware of senders or receivers do not provide, and may not even be aware of
policy data objects. policy data objects.
The exchange of POLICY_DATA objects between policy-capable nodes The exchange of POLICY_DATA objects between policy-capable nodes
along the data path, supports the generation of consistent end-to- along the data path, supports the generation of consistent end-to-
end policies. Furthermore, such policies can be successfully end policies. Furthermore, such policies can be successfully
deployed across multiple administrative domains when border nodes deployed across multiple administrative domains when border nodes
manipulate and translate POLICY_DATA objects according to manipulate and translate POLICY_DATA objects according to
established sets of bilateral agreements. established sets of bilateral agreements.
The following extends section A.13 in [RSVP]. The following extends section A.13 in [RSVP].
Internet Draft RSVP Extensions for Policy Control 2-Apr-99 3.1 Base Format
2.1 Base Format
POLICY_DATA class=14 POLICY_DATA class=14
o Type 1 POLICY_DATA object: Class=14, C-Type=1 o Type 1 POLICY_DATA object: Class=14, C-Type=1
+-------------+-------------+-------------+-------------+ +-------------+-------------+-------------+-------------+
| Length | POLICY_DATA | 1 | | Length | POLICY_DATA | 1 |
+---------------------------+-------------+-------------+ +---------------------------+-------------+-------------+
| Data Offset | 0 (reserved) | | Data Offset | 0 (reserved) |
+---------------------------+-------------+-------------+ +---------------------------+-------------+-------------+
skipping to change at page 4, line 39 skipping to change at page 4, line 56
The offset in bytes of the data portion (from the first The offset in bytes of the data portion (from the first
byte of the object header). byte of the object header).
Reserved: 16 bits Reserved: 16 bits
Always 0. Always 0.
Option List: Variable length Option List: Variable length
The list of options and their usage is defined in Section The list of options and their usage is defined in Section
2.2. 3.2.
Policy Element List: Variable length Internet Draft RSVP Extensions for Policy Control 8-Apr-99
Policy Element List: Variable length
The contents of policy elements is opaque to RSVP. See more The contents of policy elements is opaque to RSVP. See more
details in Section 2.3. details in Section 3.3.
2.2 Options 3.2 Options
This section describes a set of options that may appear in This section describes a set of options that may appear in
POLICY_DATA objects. All policy options appear as RSVP objects but POLICY_DATA objects. All policy options appear as RSVP objects but
their semantic is modified when used as policy data options. their semantic is modified when used as policy data options.
FILTER_SPEC object (list) or SCOPE object FILTER_SPEC object (list) or SCOPE object
These objects describe the set of senders associated with the These objects describe the set of senders associated with the
POLICY_DATA object. If none is provided, the policy information is POLICY_DATA object. If none is provided, the policy information is
assumed to be associated with all the flows of the session. These assumed to be associated with all the flows of the session. These
two types of objects are mutually exclusive, and cannot be mixed. two types of objects are mutually exclusive, and cannot be mixed.
Internet Draft RSVP Extensions for Policy Control 2-Apr-99
In Packed FF Resv messages, this FILTER_SPEC option provides In Packed FF Resv messages, this FILTER_SPEC option provides
association between a reserved flow and its POLICY_DATA objects. association between a reserved flow and its POLICY_DATA objects.
In WF or SE styles, this option preserves the original In WF or SE styles, this option preserves the original
flow/POLICY_DATA association as formed by PDPs, even across RSVP flow/POLICY_DATA association as formed by PDPs, even across RSVP
capable PIN nodes. Such preservation is required since PIN nodes may capable PINs. Such preservation is required since PIN nodes may
change the list of reserved flows on a per-hop basis, irrespective change the list of reserved flows on a per-hop basis, irrespective
of legitimate Edge-to-Edge PDP policy considerations. of legitimate Edge-to-Edge PDP policy considerations.
Last, the SCOPE object should be used to prevent "policy loops" in a Last, the SCOPE object should be used to prevent "policy loops" in a
manner similar to the one described in [RSVP], Section 3.4. When PIN manner similar to the one described in [RSVP], Section 3.4. When PIN
nodes are part of a WF reservation path, the RSVP SCOPE object is nodes are part of a WF reservation path, the RSVP SCOPE object is
unable to prevent policy loops and the separate policy SCOPE object unable to prevent policy loops and the separate policy SCOPE object
is required. is required.
Note: using the SCOPE option may have significant impact on scaling Note: using the SCOPE option may have significant impact on scaling
skipping to change at page 5, line 39 skipping to change at page 6, line 5
border nodes, peer policy nodes may be several RSVP hops away from border nodes, peer policy nodes may be several RSVP hops away from
each other and the originating RSVP_HOP is the basis for the each other and the originating RSVP_HOP is the basis for the
mechanism that allows them to recognize each other and communicate mechanism that allows them to recognize each other and communicate
safely and directly. safely and directly.
If no RSVP_HOP object is present, the policy data is implicitly If no RSVP_HOP object is present, the policy data is implicitly
assumed to have been constructed by the RSVP_HOP indicated in the assumed to have been constructed by the RSVP_HOP indicated in the
RSVP message itself (i.e., the neighboring RSVP node is policy- RSVP message itself (i.e., the neighboring RSVP node is policy-
capable). capable).
Internet Draft RSVP Extensions for Policy Control 8-Apr-99
Destination RSVP_HOP Destination RSVP_HOP
A second RSVP_HOP object may follow the originating RSVP_HOP object. A second RSVP_HOP object may follow the originating RSVP_HOP object.
This second RSVP_HOP identifies the destination policy node. This is This second RSVP_HOP identifies the destination policy node. This is
used to ensure the POLICY_DATA object is delivered to targeted used to ensure the POLICY_DATA object is delivered to targeted
policy nodes. It may be used to emulate unicast delivery in policy nodes. It may be used to emulate unicast delivery in
multicast Path messages. It may also help prevent using a policy multicast Path messages. It may also help prevent using a policy
object in other parts of the network (replay attack). object in other parts of the network (replay attack).
On the receiving side, a policy node should ignore any POLICY_DATA On the receiving side, a policy node should ignore any POLICY_DATA
that includes a destination RSVP_HOP that doesn't match its own IP that includes a destination RSVP_HOP that doesn't match its own IP
address. address.
INTEGRITY Object INTEGRITY Object
The INTEGRITY object provides guarantees that the object was not Figure 1 (Section 2) provides an example where POLICY_DATA objects
compromised. It follows the rules from [MD5], and is calculated over are transmitted between boundary nodes while traversing non-secure
PIN nodes. In this scenario, the RSVP integrity mechanism becomes
ineffective since it places policy trust with intermediate PIN nodes
(which are trusted to perform RSVP signaling but not to perform
policy decisions or manipulations).
Internet Draft RSVP Extensions for Policy Control 2-Apr-99 The INTEGRITY object option inside POLICY_DATA object creates direct
secure communications between non-neighboring PEPs (and their
controlling PDPs) without involving PIN nodes.
the POLICY_DATA object, the SESSION object, and the message type This option can be used at the discretion of PDPs, and is computed
field (byte, padded with zero to 32 bit) as if they formed one in a manner described in Appendix B.
continuous in-order message. This concatenation is designed to
prevent copy and replay attacks of POLICY_DATA objects from other
sessions, flows, message types or even other network locations.
Policy Refresh TIME_VALUES (PRT) Policy Refresh TIME_VALUES (PRT)
The Policy Refresh TIME_VALUES (PRT) option is used to slow policy The Policy Refresh TIME_VALUES (PRT) option is used to slow policy
refresh frequency for policies that have looser timing constraints refresh frequency for policies that have looser timing constraints
relative to RSVP. If the PRT option is present, policy refreshes can relative to RSVP. If the PRT option is present, policy refreshes can
be withheld as long as at least one refresh is sent before the be withheld as long as at least one refresh is sent before the
policy refresh timer expires. A minimal value for PRT is R; lower policy refresh timer expires. A minimal value for PRT is R; lower
values are assumed to be R (neither error nor warning should be values are assumed to be R (neither error nor warning should be
triggered). triggered).
skipping to change at page 6, line 36 skipping to change at page 7, line 5
Section 3.7 assuming the refresh period for PRT POLICY DATA is R' Section 3.7 assuming the refresh period for PRT POLICY DATA is R'
computed as R'=N*R. In effect, both the refresh and the state computed as R'=N*R. In effect, both the refresh and the state
cleanup are slowed by a factor of N). cleanup are slowed by a factor of N).
The refresh multiplier applies to no-change periodic refreshes only The refresh multiplier applies to no-change periodic refreshes only
(rather than updates). For example, a policy being refreshed at time (rather than updates). For example, a policy being refreshed at time
T, T+N, T+2N,... may encounter a route change detected at T+X. In T, T+N, T+2N,... may encounter a route change detected at T+X. In
this case, the event would force an immediate policy update and this case, the event would force an immediate policy update and
would reset refresh times to T+X, T+X+N, T+X+2N,... would reset refresh times to T+X, T+X+N, T+X+2N,...
Internet Draft RSVP Extensions for Policy Control 8-Apr-99
When network nodes restart, RSVP messages between PRT policy When network nodes restart, RSVP messages between PRT policy
refreshes may be rejected since they arrive without necessary refreshes may be rejected since they arrive without necessary
POLICY_DATA objects. This error situation would clear with the next POLICY_DATA objects. This error situation would clear with the next
periodic policy refresh or with a policy update triggered by ResvErr periodic policy refresh or with a policy update triggered by ResvErr
or PathErr messages. or PathErr messages.
This option is especially useful to combine strong (high overhead) This option is especially useful to combine strong (high overhead)
and weak (low overhead) authentication certificates as policy data. and weak (low overhead) authentication certificates as policy data.
In such schemes the weak certificate can support admitting a In such schemes the weak certificate can support admitting a
reservation only for a limited time, after which the strong reservation only for a limited time, after which the strong
certificate is required. certificate is required.
This approach may reduce the overhead of POLICY_DATA processing. This approach may reduce the overhead of POLICY_DATA processing.
Strong certificates could be transmitted less frequently, while weak Strong certificates could be transmitted less frequently, while weak
certificates are included in every RSVP refresh. certificates are included in every RSVP refresh.
2.3 Policy Elements 3.3 Policy Elements
The content of policy elements is opaque to RSVP; their internal The content of policy elements is opaque to RSVP; their internal
format is understood by policy peers e.g. an RSVP Local Decision format is understood by policy peers e.g. an RSVP Local Decision
Point (LDP) or a Policy Decision Point (PDP) [RAP]. A registry of Point (LDP) or a Policy Decision Point (PDP) [RAP]. A registry of
Internet Draft RSVP Extensions for Policy Control 2-Apr-99
policy element codepoints and their meaning is maintained by [IANA- policy element codepoints and their meaning is maintained by [IANA-
CONSIDERATIONS] (also see Section 4). CONSIDERATIONS] (also see Section 5).
Policy Elements have the following format: Policy Elements have the following format:
+-------------+-------------+-------------+-------------+ +-------------+-------------+-------------+-------------+
| Length | P-Type | | Length | P-Type |
+---------------------------+---------------------------+ +---------------------------+---------------------------+
| | | |
// Policy information (Opaque to RSVP) // // Policy information (Opaque to RSVP) //
| | | |
+-------------------------------------------------------+ +-------------------------------------------------------+
2.4 Purging Policy State 3.4 Purging Policy State
Policy state expires in the granularity of Policy Elements Policy state expires in the granularity of Policy Elements
(POLICY_DATA objects are mere containers and do not expire as such). (POLICY_DATA objects are mere containers and do not expire as such).
Policy elements expire in the exact manner and time as the RSVP Policy elements expire in the exact manner and time as the RSVP
state received in the same message (see [RSVP] Section 3.7). PRT state received in the same message (see [RSVP] Section 3.7). PRT
controlled state expires N times slower (see Section 2.2). controlled state expires N times slower (see Section 3.2).
Only one policy element of a certain P-Type can be active at any Only one policy element of a certain P-Type can be active at any
given time. Therefore, policy elements are instantaneously replaced given time. Therefore, policy elements are instantaneously replaced
when another policy element of the same P-Type is received from the when another policy element of the same P-Type is received from the
same PDP (previous or next policy RSVP_HOP). An empty policy element same PDP (previous or next policy RSVP_HOP). An empty policy element
of a certain P-Type is used to delete (rather than a replace) all of a certain P-Type is used to delete (rather than a replace) all
policy state of the same P-Type. policy state of the same P-Type.
3 Processing Rules Internet Draft RSVP Extensions for Policy Control 8-Apr-99
4 Processing Rules
These sections describe the minimal required policy processing rules These sections describe the minimal required policy processing rules
for RSVP. for RSVP.
3.1 Basic Signaling 4.1 Basic Signaling
This draft mandates enforcing policy control for Path, Resv, This draft mandates enforcing policy control for Path, Resv,
PathErr, and ResvErr messages only. PathTear and ResvTear are PathErr, and ResvErr messages only. PathTear and ResvTear are
assumed not to require policy control based on two main assumed not to require policy control based on two main
presumptions. First, that Integrity verification [MD5] guarantee presumptions. First, that Integrity verification [MD5] guarantee
that the Tear is received from the same node that sent the installed that the Tear is received from the same node that sent the installed
reservation, and second, that it is functionally equivalent to that reservation, and second, that it is functionally equivalent to that
node holding-off refreshes for this reservation. node holding-off refreshes for this reservation.
3.2 Default Handling 4.2 Default Handling for PIN nodes
It is generally assumed that policy enforcement (at least in its
initial stages) is likely to concentrate on border nodes between
autonomous systems. Consequently, policy objects transmitted at one
edge of an autonomous cloud may traverse intermediate policy
ignorant RSVP nodes (PINs). A PIN is required at a minimum to
Internet Draft RSVP Extensions for Policy Control 2-Apr-99 Figure 1 illustrates an example of where policy data objects
traverse PIN nodes in transit from one PEP to another.
forward the received POLICY_DATA objects in the appropriate outgoing A PIN node is required at a minimum to forward the received
messages according to the following rules: POLICY_DATA objects in the appropriate outgoing messages according
to the following rules:
o POLICY_DATA objects are to be forwarded as is, without any o POLICY_DATA objects are to be forwarded as is, without any
modifications. modifications.
o Multicast merging (splitting) nodes: o Multicast merging (splitting) nodes:
In the upstream direction: In the upstream direction:
When multiple POLICY_DATA objects arrive from downstream, the When multiple POLICY_DATA objects arrive from downstream, the
RSVP node should concatenate all of them (as a list of the RSVP node should concatenate all of them (as a list of the
skipping to change at page 8, line 33 skipping to change at page 8, line 54
When a single incoming POLICY_DATA object arrives from When a single incoming POLICY_DATA object arrives from
upstream, it should be forwarded (copied) to all downstream upstream, it should be forwarded (copied) to all downstream
branches of the multicast tree. branches of the multicast tree.
The same rules apply to unrecognized policies (sub-objects) within The same rules apply to unrecognized policies (sub-objects) within
the POLICY_DATA object. However, since this can only occur in a the POLICY_DATA object. However, since this can only occur in a
policy-capable node, it is the responsibility of the PDP and not policy-capable node, it is the responsibility of the PDP and not
RSVP. RSVP.
3.3 Error Signaling 4.3 Error Signaling
Policy errors are reported by either ResvErr or PathErr messages Policy errors are reported by either ResvErr or PathErr messages
with a policy failure error code in the ERROR_SPEC object. Policy with a policy failure error code in the ERROR_SPEC object. Policy
error message must include a POLICY_DATA object; the object contains error message must include a POLICY_DATA object; the object contains
Internet Draft RSVP Extensions for Policy Control 8-Apr-99
details of the error type and reason in a P-Type specific format details of the error type and reason in a P-Type specific format
(See Section 2.3). (See Section 3.3).
If a multicast reservation fails due to policy reasons, RSVP should If a multicast reservation fails due to policy reasons, RSVP should
not attempt to discover which reservation caused the failure (as it not attempt to discover which reservation caused the failure (as it
would do for Blockade State). Instead, it should attempt to deliver would do for Blockade State). Instead, it should attempt to deliver
the policy ResvErr to ALL downstream hops, and have the PDP (or LDP) the policy ResvErr to ALL downstream hops, and have the PDP (or LDP)
decide where messages should be sent. This mechanism allows the PDP decide where messages should be sent. This mechanism allows the PDP
to limit the error distribution by deciding which "culprit" next- to limit the error distribution by deciding which "culprit" next-
hops should be informed. It also allows the PDP to prevent further hops should be informed. It also allows the PDP to prevent further
distribution of ResvErr or PathErr messages by performing local distribution of ResvErr or PathErr messages by performing local
repair (e.g. substituting the failed POLICY_DATA object with a repair (e.g. substituting the failed POLICY_DATA object with a
different one). different one).
Error codes are described in Appendix A. Error codes are described in Appendix Appendix A.
Internet Draft RSVP Extensions for Policy Control 2-Apr-99
4 IANA Considerations 5 IANA Considerations
RSVP Policy Elements (P-Types) RSVP Policy Elements (P-Types)
Following the policies outlined in [IANA-CONSIDERATIONS],numbers 0- Following the policies outlined in [IANA-CONSIDERATIONS],numbers 0-
49151 are allocated as standard policy elements by IETF Consensus 49151 are allocated as standard policy elements by IETF Consensus
action, numbers in the range 49152-53247 are allocated as vendor action, numbers in the range 49152-53247 are allocated as vendor
specific (one per vendor) by First Come First Serve, and numbers specific (one per vendor) by First Come First Serve, and numbers
53248-65535 are reserved for private use and are not assigned by 53248-65535 are reserved for private use and are not assigned by
IANA. IANA.
5 Security Considerations 6 Security Considerations
This draft describes the use of POLICY_DATA objects to carry policy- This draft describes the use of POLICY_DATA objects to carry policy-
related information between RSVP nodes. Two security mechanisms can related information between RSVP nodes. Two security mechanisms can
be optionally used to ensure the integrity of the carried be optionally used to ensure the integrity of the carried
information. The first mechanism relies on RSVP integrity [MD5] to information. The first mechanism relies on RSVP integrity [MD5] to
provide a chain of trust when all RSVP nodes are policy capable. The provide a chain of trust when all RSVP nodes are policy capable. The
second mechanism relies on the INTEGRITY object within the second mechanism relies on the INTEGRITY object within the
POLICY_DATA object to guarantee integrity between non-neighboring POLICY_DATA object to guarantee integrity between non-neighboring
RSVP PEPs (see Section 2.2). RSVP PEPs (see Sections 2 and 3.2).
Internet Draft RSVP Extensions for Policy Control 2-Apr-99 Internet Draft RSVP Extensions for Policy Control 8-Apr-99
6 References 7 References
[RAP] Yavatkar, R., et al., "A Framework for Policy Based Admission [RAP] Yavatkar, R., et al., "A Framework for Policy Based Admission
Control",IETF <draft-ietf-rap-framework-02.txt>, Jan., 1999. Control",IETF <draft-ietf-rap-framework-02.txt>, Jan., 1999.
[COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Raja,n R., [COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Raja,n R.,
Sastry, A., "The COPS (Common Open Policy Service) Protocol", Sastry, A., "The COPS (Common Open Policy Service) Protocol",
IETF <draft-ietf-rap-cops-05.txt>, Jan. 1999. IETF <draft-ietf-rap-cops-05.txt>, Jan. 1999.
[COPS-RSVP] Boyle, J., Cohen, R., Durham, D., Herzog, S., Raja,n R., [COPS-RSVP] Boyle, J., Cohen, R., Durham, D., Herzog, S., Raja,n R.,
Sastry, A., "COPS Usage for RSVP", IETF <draft-ietf-rap-cops- Sastry, A., "COPS Usage for RSVP", IETF <draft-ietf-rap-cops-
rsvp-04.txt>, Feb. 1999. rsvp-04.txt>, Feb. 1999.
[RSVP] Braden, R. ed., "Resource ReSerVation Protocol (RSVP) - [RSVP] Braden, R. ed., "Resource ReSerVation Protocol (RSVP) -
Functional Specification.", IETF RFC 2205, Proposed Standard, Functional Specification.", IETF RFC 2205, Proposed Standard,
Sep. 1997. Sep. 1997.
[MD5] Baker, F., Lindell B., Talwar, M. "RSVP Cryptographic [MD5] Baker, F., Lindell B., Talwar, M. "RSVP Cryptographic
Authentication" Internet-Draft, <draft-ietf-rsvp-md5-07.txt>, Authentication" Internet-Draft, <draft-ietf-rsvp-md5-08.txt>,
Nov. 1998. Feb. 1999.
[IANA-CONSIDERATIONS] Alvestrand, H. and T. Narten, "Guidelines for [IANA-CONSIDERATIONS] Alvestrand, H. and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", RFC 2434, Writing an IANA Considerations Section in RFCs", RFC 2434,
October 1998. October 1998.
7 Acknowledgments 8 Acknowledgments
This document incorporates inputs from Lou Berger, Bob Braden, This document incorporates inputs from Lou Berger, Bob Braden,
Deborah Estrin, Roch Guerin, Timothy O'Malley, Dimitrios Pendarakis, Deborah Estrin, Roch Guerin, Timothy O'Malley, Dimitrios Pendarakis,
Raju Rajan, Scott Shenker, Andrew Smith, Raj Yavatkar, and many Raju Rajan, Scott Shenker, Andrew Smith, Raj Yavatkar, and many
others. others.
8 Author Information 9 Author Information
Shai Herzog, IPHighway Shai Herzog, IPHighway
Parker Plaza, Suite 1500 Parker Plaza, 16th Floor
400 Kelby St. 400 Kelby St.
Fort-Lee, NJ 07024 Fort-Lee, NJ 07024
(201) 585-0800 (201) 585-0800
herzog@iphighway.com herzog@iphighway.com
Internet Draft RSVP Extensions for Policy Control 2-Apr-99 Internet Draft RSVP Extensions for Policy Control 8-Apr-99
Appendix A: Policy Error Codes Appendix A : Policy Error Codes
This Appendix extends the list of error codes described in Appendix This Appendix extends the list of error codes described in Appendix
B of [RSVP]. B of [RSVP].
Note that Policy Element specific errors are reported as described Note that Policy Element specific errors are reported as described
in Section 3.3 and cannot be reported through RSVP (using this in Section 4.3 and cannot be reported through RSVP (using this
mechanism). However, this mechanism provides a simple, less secure mechanism). However, this mechanism provides a simple, less secure
mechanism for reporting generic policy errors. Most likely the two mechanism for reporting generic policy errors. Most likely the two
would be used in concert such that a generic error code is provided would be used in concert such that a generic error code is provided
by RSVP, while Policy Element specific errors are encapsulated in a by RSVP, while Policy Element specific errors are encapsulated in a
return POLICY_DATA object (as in Section 3.3). return POLICY_DATA object (as in Section 4.3).
ERROR_SPEC class = 6 ERROR_SPEC class = 6
Error Code = 02: Policy Control failure Error Code = 02: Policy Control failure
Error Value: 16 bit Error Value: 16 bit
0 = ERR_INFO : Information reporting 0 = ERR_INFO : Information reporting
1 = ERR_WARN : Warning 1 = ERR_WARN : Warning
2 = ERR_UNKNOWN : Reason unknown 2 = ERR_UNKNOWN : Reason unknown
skipping to change at line 484 skipping to change at page 12, line 4
14= ERR_PD_MISS : Mandatory PE Missing (Empty PE is in the PD 14= ERR_PD_MISS : Mandatory PE Missing (Empty PE is in the PD
object) object)
15= ERR_NO_RSC : PEP Out of resources to handle policies. 15= ERR_NO_RSC : PEP Out of resources to handle policies.
16= ERR_RSVP : PDP encountered bad RSVP objects or syntax 16= ERR_RSVP : PDP encountered bad RSVP objects or syntax
17= ERR_SERVICE : Service type was rejected 17= ERR_SERVICE : Service type was rejected
18= ERR_STYLE : Reservation Style was rejected 18= ERR_STYLE : Reservation Style was rejected
19= ERR_FL_SPEC : FlowSpec was rejected (too large) 19= ERR_FL_SPEC : FlowSpec was rejected (too large)
Values between 2^15 and 2^16-1 can be used for site and/or vendor Values between 2^15 and 2^16-1 can be used for site and/or vendor
error values. error values.
Internet Draft RSVP Extensions for Policy Control 8-Apr-99
Appendix B : INTEGRITY computation for POLICY_DATA objects
Computation of the INTEGRITY option is based on the rules set forth in
[MD5], with the following modifications:
Section 4.1:
Rather than computing digest for an RSVP message, a digest is
computed for a POLICY_DATA object in the following manner:
(1) The INTEGRITY object is inserted in the appropriate place in
the POLICY_DATA object, and its location in the message is
remembered for later use.
(2) The PDP, at its discretion, and based on destination PEP/PDP
or other criteria, selects an Authentication Key and the hash
algorithm to be used.
(3) A copy of RSVP SESSION object is temporarily appended to the
end of the PD object (for the computation purposes only,
without changing the length of the POLICY_DATA object). The
flags field of the SESSION object is set to 0. This
concatenation is considered as the message for which a digest
is to be computed.
(4) The rest of the steps in Section 4.1 ((4)..(9)) remain
unchanged when computed over the concatenated message.
Note: When the computation is complete, the SESSION object is
ignored and is not part of the POLICY_DATA object.
Other Provisions:
The processing of a received POLICY_DATA object as well as a challenge-
response INTEGRITY object inside a POLICY_DATA object is performed in
the manner described in [MD5]. This processing is subject to the
modified computation algorithm as described in the beginning of this
appendix (for Section 4.1 of [MD5]).
 End of changes. 46 change blocks. 
77 lines changed or deleted 109 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/