One document matched: draft-lefaucheur-rsvp-ipsec-00.txt
TSVWG F. Le Faucheur
Internet-Draft B. Davie
Expires: August 16, 2005 Cisco Systems
P. Bose
Lockheed Martin
C. Christou
M. Christou
Booz Allen Hamilton
February 12, 2005
Aggregate RSVP Reservations for IPsec Tunnels
draft-lefaucheur-rsvp-ipsec-00.txt
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any applicable patent or other IPR claims of
which he or she is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with
RFC 3668.
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.
This Internet-Draft will expire on August 16, 2005.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
[RSVP-IPSEC] defines RSVP extensions for IPSec which permit support
Le Faucheur, et al. Expires August 16, 2005 [Page 1]
Internet-Draft Aggregate Reservations for IPsec February 2005
of reservations for individual IPsec flows, but it does not support
aggregate reservations between the IPSec devices with Diffserv
[DIFFSERV] classification and scheduling. Conversely, [RSVP-AGG]
defines how to aggregate individual RSVP reservations over Aggregate
IP reservations when the aggregation region supports Diffserv, but it
does not address the case where the aggregator and deaggregator use
IPSec. However, there are scenarios requiring aggregate reservations
for IPsec tunnels. This document specifies the incremental RSVP
extensions beyond those defined in [RSVP-IPSEC] and [RSVP-AGG] to
support such reservations.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Overview of Extensions . . . . . . . . . . . . . . . . . . . . 7
3. Object Definition . . . . . . . . . . . . . . . . . . . . . . 9
3.1 SESSION Class . . . . . . . . . . . . . . . . . . . . . . 9
3.2 AGGREGATION-SESSION Class . . . . . . . . . . . . . . . . 9
4. Processing Rules . . . . . . . . . . . . . . . . . . . . . . . 11
4.1 Required Changes . . . . . . . . . . . . . . . . . . . . . 11
4.2 Merging Rules . . . . . . . . . . . . . . . . . . . . . . 12
4.2.1 FF and SE Styles . . . . . . . . . . . . . . . . . . . 13
4.2.2 WF Styles . . . . . . . . . . . . . . . . . . . . . . 13
5. Example Usage in Nested VPNs . . . . . . . . . . . . . . . . . 14
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20
7. Security Considerations . . . . . . . . . . . . . . . . . . . 21
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.1 Normative References . . . . . . . . . . . . . . . . . . . 24
9.2 Informative References . . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 24
Intellectual Property and Copyright Statements . . . . . . . . 27
Le Faucheur, et al. Expires August 16, 2005 [Page 2]
Internet-Draft Aggregate Reservations for IPsec February 2005
1. Introduction
[RSVP-IPSEC] defines RSVP extensions for IPSec which permit support
of reservations for individual IPsec flows, but it does not support
aggregate reservations between the IPSec devices with Diffserv
[DIFFSERV] classification and scheduling. Conversely, [RSVP-AGG]
defines how to aggregate individual RSVP reservations over Aggregate
IP reservations when the aggregation region supports Diffserv, but it
does not address the case where the aggregator and deaggregator use
IPSec. However, there are scenarios requiring aggregate reservations
for IPsec tunnels. This document specifies the incremental RSVP
extensions beyond those defined in [RSVP-IPSEC] and [RSVP-AGG] to
support such reservations.
Let us consider an environment as depicted in Figure 1. Let us
assume that the IPsec-Routers tunnel traffic to each other via IPSec
and that the devices within Cloud-1, Cloud-2 and Cloud-3 want to
establish RSVP reservations with one another transparently over the
IPSec Tunnels. Let us also assume that Cloud-0 supports Diffserv
(and not per-flow classification -except perhaps at the edge for
policing purposes) and that there is a need to reserve resources over
Cloud-0 to achieve the targeted levels of QoS assurance. Then there
is a need to establish aggregate reservations within Cloud-0 for the
IPsec tunnels transiting through Cloud-0. These aggregate
reservations will be used to aggregate the end-to-end RSVP
reservations between Cloud-1/2/3. This document concerns itself with
establishment of such aggregate reservations for IPSec tunnels.
The reader is referred to [SIG-NESTED] for a description of a more
generic nested VPN environment and for discussion and examples of QoS
signaling in that environment.
Le Faucheur, et al. Expires August 16, 2005 [Page 3]
Internet-Draft Aggregate Reservations for IPsec February 2005
I----------I I----------I
I Cloud-1 I I Cloud-2 I
I----------I I----------I
| |
IPSec-Router-1 IPSec-Router-2
/ /
I----------I
I I
I Cloud-0 I
I I
I----------I
/
IPSec-Router-3
|
I----------I
I Cloud-3 I
I----------I
Figure 1: Example Scenario Requiring Aggregate Reservations for IPsec
tunnels
[RSVP-AGG] defines a Session Object containing only the deaggregator
IP address and the DSCP, and defines a Filter Spec Object containing
only the aggregator IP address. Thus, we observe that it is not
possible to convey the IPSec Security Parameter Index (SPI) that is
used for a given IPsec tunnel (unlike with [RSVP-IPSEC]). In turn,
this means that, if [RSVP-AGG] was used to establish aggregate
reservations for IPSec tunnels, it would not be possible for the
(edge) routers within Cloud-0 to classify traffic belonging to the
reservation corresponding to a given IPsec tunnel (say for the
purpose of doing policing on the edge of Cloud-0) . It also means
that it would not be possible (short of multiplying IP addresses) to
setup separate reservations for different IPsec tunnels (using
different SPIs) between the same IPsec encryptor and decryptor (which
may be used if different types of traffic have different security
requirements). Similarly, it would not be possible to set up
separate reservations for traffic going over the IPsec tunnel and for
traffic which is not encrypted (which is a useful scenario if some
traffic has IPSec requirement while the rest doesn't). Moreover, it
would not be possible to setup multiple reservations between a given
pair of IPsec encryptor and decryptor for transport of flows with
different preemptions [RSVP-PREEMP]. These restrictions illustrate
why the RSVP extensions defined in [RSVP-AGG] are not sufficient to
support aggregate reservations for IPSec tunnels.
[RSVP-IPSEC] defines a Session Object containing several fields
including a Virtual Destination Port (VDstPort) which allows support
of a different reservation for each IPSec flow , or even of multiple
reservations for a given IPSec flow. However, (unlike with
Le Faucheur, et al. Expires August 16, 2005 [Page 4]
Internet-Draft Aggregate Reservations for IPsec February 2005
[RSVP-AGG]), the RSVP extensions of [RSVP-IPSEC] do not allow to
include in the information which uniquely defines the reservation
(i.e. the Session and Filter Spec objects) the DSCP of the PHB to be
used for aggregate classification and scheduling of the corresponding
traffic. The extensions of [RSVP-IPSEC] essentially assume a
per-flow classification model. This is why the RSVP extensions
defined in [RSVP-IPSEC] are not sufficient either to support
aggregate reservations for IPsec tunnels.
This document defines incremental RSVP extensions which simply
combine the concepts introduced in [RSVP-IPSEC] and in [RSVP-AGG] so
their benefits can be obtained simultaneously hence allowing
aggregate reservations for IPsec tunnels with Diffserv classification
and scheduling.
These extensions can be used in a number of scenarios. They allow
aggregation of end-to-end RSVP reservations over aggregate
reservations for IPsec tunnels. They also allow multi-level
aggregation for example whereby the end-to-end RSVP reservations are
first aggregated by a router acting as an [RSVP-AGG] aggregator and
then where the [RSVP-AGG] aggregate reservations are in turn
aggregated by the IPsec encryptor into "aggregate reservations for
IPsec tunnels" as specified in this document. They may also be used
to establish an aggregate reservation for an IPsec tunnel between an
IPsec encryptor and an IPsec decryptor for transport of other traffic
than the one corresponding to end to end RSVP reservations (for
example to provide a fixed pipe of Diffserv bandwidth from IPsec
encryptor to IPsec decryptor to carry end-to-end Diffserv traffic).
Another possible example usage is for establishment of an aggregate
reservation end-to-end from an IPsec end-system to another IPsec
end-system.
These extensions allow full support of QoS signaling in Nested VPNs
as discussed in [SIG-NESTED]. Example usage of these extensions in
Nested VPN is described in section 5.
The mechanisms defined in [BW-REDUC] (allowing an existing
reservation to be reduced in allocated bandwidth in lieu of tearing
that reservation down) are applicable to the aggregate reservations
for IPsec tunnels defined in the present document.
[RSVP-TUNNEL] describes a general approach to running RSVP over
various types of tunnels. One of the types of tunnel, referred to as
a "type 2 tunnel", is similar to the tunnels described in this draft,
in that a single, aggregate reservation is made for the tunnel while
many individual flows are carried over that tunnel. However,
[RSVP-TUNNEL] does not address the case where data flows are
encrypted, and thus does not deal with the use of the SPI to identify
Le Faucheur, et al. Expires August 16, 2005 [Page 5]
Internet-Draft Aggregate Reservations for IPsec February 2005
flows and sessions. Nor does it address the use of Diffserv-based
classification and queueing in the core of a network (between tunnel
endpoints), but rather relies on a UDP/IP tunnel header for
classification. Thus we require some additional objects and
procedures, defined in this draft, beyond those of [RSVP-TUNNEL].
Section 2 presents an overview of the RSVP extensions defined in this
document and how those are used. Section 3 provides specification
for the new RSVP objects. The changes to existing RSVP processing
rules are identified in Section 4. Section 5 provides example usages
of aggregate reservations for IPsec tunnels in a Nested VPN
environment. The IANA Considerations and the Security Considerations
are discussed in Section 6 and 7, respectively.
Le Faucheur, et al. Expires August 16, 2005 [Page 6]
Internet-Draft Aggregate Reservations for IPsec February 2005
2. Overview of Extensions
The extensions defined in this document can be seen as simply the
combination of the RSVP extensions defined in [RSVP-IPSEC] and in
[RSVP-AGG].
The basic notion of [RSVP-IPSEC] is to extend RSVP to use the IPSEC
Security Parameter Index (SPI) in place of the UDP/TCP-like ports.
This was achieved via:
o definition of a new FILTER_SPEC object which includes a
Generalized Port Identifier (GPI) field which is used to convey
the SPI
o definition of a new SESSION object which includes a Virtual
Destination Port (VDstPort). The VDstPort effectively allows for
the differentiation of multiple IPSec sessions destined to the
same IP address. (The VDstPort is used in the Session rather than
the SPI because it isn't feasible to force all senders to a
session to use the same SPI - which is needed in situations where
sharing of reservations across multiple senders is required)
One of the key notions of [RSVP-AGG] is that inside the aggregation
region, some RSVP reservation state is maintained per aggregate
reservation, while classification and scheduling state (e.g., DSCPs
used for classifying traffic) is maintained on a more highly
aggregated basis. For example, if Guaranteed Service reservations
are mapped to the EF DSCP throughout the aggregation region, there
may be a reservation for each aggregator/deaggregator pair in each
router, but only the EF DSCP needs to be inspected for classification
of the data traffic at each interior interface, and only a single
queue is used for all EF traffic. Support for this in [RSVP-AGG]
involved:
o definition of a new SESSION object which includes the DSCP
Hence, in order to simultaneously achieve support of per IPSec flow
reservations as well as Diffserv aggregate classification and
scheduling, this document :
o reuses the FILTER_SPEC object defined in [RSVP-IPSEC] and
containing a GPI (which in turn can include the SPI)
o defines a new SESSION object which contains both the VDstPort and
the DSCP
The use of the VDstPort and GPI fields are as specified in
[RSVP-IPSEC]. The use of the DSCP field is as specified in
Le Faucheur, et al. Expires August 16, 2005 [Page 7]
Internet-Draft Aggregate Reservations for IPsec February 2005
[RSVP-AGG].
Where these RSVP extensions are used to perform aggregation of RSVP
reservations over aggregate reservations for IPSec tunnels, the
aggregation and deaggregation functions are as specified in
[RSVP-AGG] unless explicitly spelled out in the following paragraphs.
Like with [RSVP-AGG], it is the Deaggregator which is responsible for
mapping E2E reservations onto Aggregate reservations. In turn, this
means the Deaggregator is responsible for requesting the Aggregator
to initiate establishment of a new aggregate reservation when
necessary and also for conveying to the Aggregator information about
which aggregate reservation a given flow needs to be mapped onto.
Like with [RSVP-AGG], to request establishment of an aggregate
reservation, the Deaggregator sends an E2E PathErr message with an
error code of NEW-AGGREGATE-NEEDED. However, to provide all the
necessary information about the needed aggregate reservation, this
document extends the procedures of [RSVP-AGG] and allow the
Deaggregator to include in the E2E PathErr message a new object
called AGGREGATION-SESSION. This object contains all the information
describing the Session of the needed new aggregate reservation, in
order to convey those to the Aggregator.
This document also extends the procedures of [RSVP-AGG] to allow the
Deaggregator to include the new AGGREGATION-SESSION object in the E2E
Resv message, in order to convey to the Aggregator which aggregate
session to map a given E2E reservation onto.
Le Faucheur, et al. Expires August 16, 2005 [Page 8]
Internet-Draft Aggregate Reservations for IPsec February 2005
3. Object Definition
This document defines two new objects under the SESSION Class and a
new object under a new AGGREGATION SESSION Class.
It reuses the IPv4/GPI FILTER_SPEC, IPv6/GPI FILTER_SPEC, IPv4/GPI
SENDER_TEMPLATE and IPv6/GPI SENDER_TEMPLATE objects defined in
[RSVP-IPSEC].
3.1 SESSION Class
o AGGREGATE-IPv4/GPI SESSION object:
Class = 1
C-Type = To be allocated by IANA
0 7 8 15 16 23 24 31
+-------------+-------------+-------------+-------------+
| IPv4 DestAddress (4 bytes) |
+-------------+-------------+-------------+--+----------+
| Protocol ID | Flags | vDstPort | DSCP |
+-------------+-------------+-------------+--+----------+
0 7 8 15 16 25 26 31
o AGGREGATE-IPv6/GPI SESSION object:
Class = 1
C-Type = To be allocated by IANA
0 7 8 15 16 23 24 31
+-------------+-------------+-------------+-------------+
| |
+ +
| |
+ IPv6 DestAddress (16 bytes) +
| |
+ +
| |
+-------------+-------------+-------------+--+----------+
| Protocol ID | Flags | vDstPort | DSCP |
+-------------+-------------+-------------+--+----------+
0 7 8 15 16 25 26 31
3.2 AGGREGATION-SESSION Class
Le Faucheur, et al. Expires August 16, 2005 [Page 9]
Internet-Draft Aggregate Reservations for IPsec February 2005
o AGGREGATION-SESSION object:
Class = To be allocated by IANA
C-Type = To be allocated by IANA
0 7 8 15 16 25 26 31
+-------------+-------------+-------------+-------------+
| Length (bytes) | Class-Num | C-Type |
+-------------+-------------+-------------+-------------+
| |
// SESSION Object //
| |
+-------------+-------------+-------------+-------------+
The Length, Class-Num and C-Type are those of the Session object
which is included inside the AGGREGATION-SESSION object. For
example, if the AGGREGATION-SESSION object is used to indicate that
the Aggregate Session needed is an AGGREGATE-IPv4/GPI SESSION then
the AGGREGATION-SESSION will be encoded like this:
0 7 8 15 16 25 26 31
+-------------+-------------+-------------+-------------+
| |AGGREGATE/GPI|AGGREGATE/GPI|
| Length (bytes) | Class-Num | C-Type |
+-------------+-------------+-------------+-------------+
| IPv4 DestAddress (4 bytes) |
+-------------+-------------+-------------+--+----------+
| Protocol ID | Flags | vDstPort | DSCP |
+-------------+-------------+-------------+--+----------+
0 7 8 15 16 25 26 31
Le Faucheur, et al. Expires August 16, 2005 [Page 10]
Internet-Draft Aggregate Reservations for IPsec February 2005
4. Processing Rules
This section presents additions to the Processing Rules presented in
[RSVP-PROCESS] and in [RSVP-IPSEC]. These additions are required in
order to properly process the AGGREGATE-IPv4/GPI (resp
AGGREGATE-IPv6/GPI) SESSION object and the IPv4/GPI (resp.
IPv4-6/GPI) FILTER_SPEC object. Values for referenced error codes
can be found in [RSVP]. As with the other RSVP documents, values for
internally reported (API) errors are not defined.
When referring to the new AGGREGATE-IPv4/GPI and AGGREGATE-IPv6/GPI
SESSION objects, IP version will not be included and they will be
referred to simply as AGGREGATE/GPI SESSION, unless a specific
distinction between IPv4 and IPv6 is being made.
Similarly, as per the convention used in [RSVP-IPSEC], when referring
to the objects defined in [RSVP-IPSEC], IP version will not be
included unless a specific distinction between IPv4 and IPv6 is being
made.
4.1 Required Changes
Both RESV and PATH processing will need to be changed to support the
new objects.
The following PATH message processing changes are required:
o When a session is defined using the AGGREGATE/GPI SESSION object,
only the GPI SENDER_TEMPLATE may be used. When this condition is
violated, RSVP end-stations should report a "Conflicting C-Type"
API error to the application and routers should consider this as a
message formatting error.
o For PATH messages that contain the AGGREGATE/GPI SESSION object,
RSVP end-stations must verify that the protocol ID corresponds to
a protocol known to use the AGGREGATE/GPI SESSION object. Values
51 (AH) or 50 (ESP) must be supported by implementations
supporting the described IPSEC extensions. If an unknown protocol
ID is used, then the API on RSVP end-systems should report an "API
Error" to the application. If a router receives such a Path
message with a protocol ID which doesn't correspond to a protocol
known to use the AGGREGATE/GPI SESSION object, the router should
consider this as a message formatting error.
o For PATH messages that contain the AGGREGATE/GPI SESSION object,
the VDstPort value and the DSCP value should be recorded. These
values form part of the recorded state of the session. Only the
DSCP need be passed to traffic control, since the vDstPort is not
Le Faucheur, et al. Expires August 16, 2005 [Page 11]
Internet-Draft Aggregate Reservations for IPsec February 2005
contained in data packets.
The changes to RESV message processing are:
o When a RESV message contains a GPI FILTER_SPEC, the session must
be defined using either the GPI SESSION object (as per
[RSVP-IPSEC]) or the AGGREGATE/GPI SESSION object (as per this
document). Otherwise, this is a message formatting error.
o The GPI contained in the GPI FILTER_SPEC must match the GPI
contained in the SENDER_TEMPLATE. Otherwise, a "No sender
information for this Resv message" error is generated.
o When the GPI FILTER_SPEC is used and the SESSION type is
AGGREGATE/GPI, each node must have a data classifier installed for
the flow:
* If the node needs to perform per-flow classification (for
example to perform per-flow policing on ingress at a trust
boundary) then the node must create a data classifier described
by the 5-tuple: (DestAddress, protocol ID, SrcAddress, GPI,
DSCP). The data classifier will need to look for the four byte
GPI at transport header offset +4 for AH, and at transport
header offset +0 for ESP (see [RSVP-IPSEC], [IPSEC-AG] and
[IPSEC-ESP]).
* If the node only needs to perform Diffserv classification (for
example inside the aggregation domain downstream of the trust
boundary) then the node must rely on the Diffserv data
classifier based on the DSCP only.
4.2 Merging Rules
When using the extensions defined in this draft, RSVP sessions are
defined by the 4-tuple: (DestAddress, protocol Id, vDstPort, DSCP).
Similarly, a sender is defined by the tuple: (SrcAddress, GPI), where
the GPI field will be a four byte representation of a generalized
source port. These extensions have some ramifications depending upon
the reservation style.
We note that, when IPSEC tunnels terminate on routers rather than
extending all the way to end hosts, VDstPorts can be communicated by
Deaggregators to Aggregators via the AGGREGATION-SESSION object
included in the E2E PathErr. This can be used to facilitate various
sharing scenarios as needed (e.g. the Deaggregator can convey the
same VDstPort to different Aggregators which need to share a
reservation; or conversely, the Deaggregator can communicate
Le Faucheur, et al. Expires August 16, 2005 [Page 12]
Internet-Draft Aggregate Reservations for IPsec February 2005
different VDstPorts to different Aggregators which need to have
separate reservations). Policies followed by the Deaggregator to
determine which aggregators need shared or separate reservations are
beyond the scope of this document.
4.2.1 FF and SE Styles
In the FF and SE Styles, the FILTER_SPEC object contains the
(SrcAddress, GPI) pair. This allows the receiver to uniquely
identify senders based on both elements of the pair. When merging
explicit sender descriptors, the senders may only be considered
identical when both elements are identical.
4.2.2 WF Styles
As with [RSVP-IPSEC], WF style is not well supported with these
extensions. Because there are no FILTER_SPEC objects for a WF
reservation, any data packets with the session's destination IP
address, protocol ID and DSCP will match the reservation (even if it
is not carried inside the relevant IPsec tunnels because the SPI is
not signaled and cannot be used for data classification). This
limitation is considered acceptable because of the expectation that
WF reservations will not be often used in this environment.
Le Faucheur, et al. Expires August 16, 2005 [Page 13]
Internet-Draft Aggregate Reservations for IPsec February 2005
5. Example Usage in Nested VPNs
Let us consider the example environment presented in [SIG-NESTED] and
reproduced below in Figure 2. Let us assume that all the VPN routers
(referred to as "VPN1", "VPN2" and so on) use IPSec among each other
as the tunneling technology for support of VPNs . It is assumed that
the 6 enclaves attached to the VPN routers VPN1 to VPN6 effectively
belong to the same VPN and can communicate with each other.
Similarly, interface domain 1 and interface domain 2, respectively
attached to VPN routers VPN7 and VPN8, effectively belong to the same
VPN and can communicate with each other.
/ \
( +--+ +--+ enclave ) ,---------.
.----------. \ |H2+---+R2| / ,-' `
+--+ +--+`--.\ +--+ ++-+ / / +--+ +--+
|H1+---+R1| \`. | ,' / |R3+---+H3|
+--+ +-++ ) '--. +----++ _.-' ( ++-+ +--+
| / _.`---|VPN2||''-. \ |
enclave +----+-i.--'' +----++ `----.\ +----+ enclave
--------|VPN1|' | ``|VPN3| ,
,+----+ | +----+------'
,' --+-------+----------+------------------+---`.
,' ++-+ `.
,' |R7+--------+ `.
/ interface +--+ | \
domain 1 +-+--+ \
_.--------|VPN7|--------.
,-----'' +--+-+ `------. .
`-. ,-' | `-. .-'
`-: inner domain +-++ `.'
( |R9| )
.'. ++-+ ;-.
.' `-. | ,-' `-.
' `------. +-+--+ _.-----' `
interface `---------|VPN8|-------''
domain 2 +-+--+ /
\ | +--+ /
`. +----------+R8| ,'
`. ++-+ ,'
`. --+------------------+-----------+------+-- ,'
,-----+----+ | +----+------.
,' |VPN6|. | _.|VPN4| `
+----+.`----. +----+ _.--'' ,+----+
| \ `--=.-|VPN5|---:' / |
+--+ ++-+ : ,-'' +----+ `--. ; ++-+ +--+
|H6+---+R6| | ,' | `.| |R4+---+H4|
+--+ +--+ ;/ +--+ ++-+ : +--+ +--+
Le Faucheur, et al. Expires August 16, 2005 [Page 14]
Internet-Draft Aggregate Reservations for IPsec February 2005
// |H5+---+R5| \
enclave ,'( +--+ +--+ `. enclave
`. ,' \ enclave / '-. ,
`-------' \ / `-------'
Figure 2: Reservations in a Nested VPN
For clarity we will only consider a subset of the traffic flows and
will only consider:
o the flows from the VPN1 enclave to the VPN5 enclave (e.g. flows
from Host H1 to Host H5)
o the flows from the VPN2 enclave to the VPN5 enclave (e.g. flows
from Host H2 to Host H5)
Let us assume that:
o there is one security association between VPN1 and VPN5 (SPI1)
o there are two security associations between VPN2 and VPN5 (SPI2
and SPI3)
o the reservations from VPN1 enclave to VPN5 enclave have a
preemption P1
o the reservations from VPN2 enclave to VPN5 have a preemption of
either P1 or P2
o the reservations are either Voice (which needs to be treated in
the aggregation region using the EF PHB) or Video (which needs to
be treated in the aggregation region using the AF41 PHB)
o there is one security association between VPN7and VPN8 (SPI4)
Then, the following RSVP reservations may be established from VPN1 to
VPN5 for aggregation of the lower level RSVP reservations:
1. Reservation for aggregation of Voice reservations from VPN1
enclave to VPN5 enclave, requiring use of SPI1 and preemption P1:
* AGGREGATE-IPv4/GPI SESSION=VPN5/V1/EF
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN1/SPI1
* POLICY_DATA (PREEMPTION_PRI)=P1
Le Faucheur, et al. Expires August 16, 2005 [Page 15]
Internet-Draft Aggregate Reservations for IPsec February 2005
2. Reservation for aggregation of Video reservations from VPN1
enclave to VPN5 enclave, requiring use of SPI1 and preemption P1:
* AGGREGATE-IPv4/GPI SESSION=VPN5/V2/AF41
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN1/SPI1
* POLICY_DATA (PREEMPTION_PRI)=P1
where V1 and V2 are arbitrary VDstPort values picked by VPN5 within
the range set aside for dynamic allocation (see section 6).
The following RSVP reservations may be established from VPN2 to VPN5
for aggregation of the lower level RSVP reservations:
1. Reservation for aggregation of Voice reservations from VPN2
enclave to VPN5 enclave, requiring use of SPI2 and preemption P1:
* AGGREGATE-IPv4/GPI SESSION=VPN5/V3/EF
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN2/SPI2
* POLICY_DATA (PREEMPTION_PRI)=P1
2. Reservation for aggregation of Video reservations from VPN2
enclave to VPN5 enclave, requiring use of SPI2 and preemption P1:
* AGGREGATE-IPv4/GPI SESSION=VPN5/V4/AF41
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN2/SPI2
* POLICY_DATA (PREEMPTION_PRI)=P1
3. Reservation for aggregation of Voice reservations from VPN2
enclave to VPN5 enclave, requiring use of SPI2 and preemption P2:
* AGGREGATE-IPv4/GPI SESSION=VPN5/V5/EF
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN2/SPI2
Le Faucheur, et al. Expires August 16, 2005 [Page 16]
Internet-Draft Aggregate Reservations for IPsec February 2005
* POLICY_DATA (PREEMPTION_PRI)=P2
4. Reservation for aggregation of Video reservations from VPN2
enclave to VPN5 enclave, requiring use of SPI2 and preemption P2:
* AGGREGATE-IPv4/GPI SESSION=VPN5/V6/AF41
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN2/SPI2
* POLICY_DATA (PREEMPTION_PRI)=P2
5. Reservation for aggregation of Voice reservations from VPN2
enclave to VPN5 enclave, requiring use of SPI3 and preemption P1:
* AGGREGATE-IPv4/GPI SESSION=VPN5/V7/EF
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN2/SPI3
* POLICY_DATA (PREEMPTION_PRI)=P1
6. Reservation for aggregation of Video reservations from VPN2
enclave to VPN5 enclave, requiring use of SPI3 and preemption P1:
* AGGREGATE-IPv4/GPI SESSION=VPN5/V8/AF41
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN2/SPI3
* POLICY_DATA (PREEMPTION_PRI)=P1
7. Reservation for aggregation of Voice reservations from VPN2
enclave to VPN5 enclave, requiring use of SPI3 and preemption P2:
* AGGREGATE-IPv4/GPI SESSION=VPN5/V9/EF
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN2/SPI3
* POLICY_DATA (PREEMPTION_PRI)=P2
8. Reservation for aggregation of Video reservations from VPN2
enclave to VPN5 enclave, requiring use of SPI3 and preemption P2:
Le Faucheur, et al. Expires August 16, 2005 [Page 17]
Internet-Draft Aggregate Reservations for IPsec February 2005
* AGGREGATE-IPv4/GPI SESSION=VPN5/V10/AF41
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN2/SPI3
* POLICY_DATA (PREEMPTION_PRI)=P2
where V3 to V10 are arbitrary VDstPort values picked by VPN5 within
the range set aside for dynamic allocation (see section 6).
The following RSVP reservations may be established from VPN7 to VPN8
for aggregation of the lower level RSVP reservations (i.e. the
reservations from VPN1 to VPN5 and from VPN2 to VPN5):
1. Reservation for aggregation of Voice reservations from interface
domain 1 to interface domain 2, requiring use of SPI4 and
preemption P1:
* AGGREGATE-IPv4/GPI SESSION=VPN8/V1/EF
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN7/SPI4
* POLICY_DATA (PREEMPTION_PRI)=P1
2. Reservation for aggregation of Video reservations from interface
domain 1 to interface domain 2, requiring use of SPI4 and
preemption P1:
* AGGREGATE-IPv4/GPI SESSION=VPN8/V2/AF41
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN7/SPI4
* POLICY_DATA (PREEMPTION_PRI)=P1
3. Reservation for aggregation of Voice reservations from interface
domain 1 to interface domain 2, requiring use of SPI4 and
preemption P2:
* AGGREGATE-IPv4/GPI SESSION=VPN8/V3/EF
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN7/SPI4
Le Faucheur, et al. Expires August 16, 2005 [Page 18]
Internet-Draft Aggregate Reservations for IPsec February 2005
* POLICY_DATA (PREEMPTION_PRI)=P2
4. Reservation for aggregation of Video reservations from interface
domain 1 to interface domain 2, requiring use of SPI4 and
preemption P2:
* AGGREGATE-IPv4/GPI SESSION=VPN8/V4/AF41
* STYLE=FF or SE
* IPv4/GPI FILTER_SPEC=VPN7/SPI4
* POLICY_DATA (PREEMPTION_PRI)=P2
where V1 to V4 are arbitrary VDstPort values picked by VPN8 within
the range set aside for dynamic allocation (see section 6).
Le Faucheur, et al. Expires August 16, 2005 [Page 19]
Internet-Draft Aggregate Reservations for IPsec February 2005
6. IANA Considerations
This document requests that IANA allocates two new C-Types under the
Class 1 for the two new RSVP objects defined in section 3.1.
This document requests that IANA allocates a new Class-Num and a new
C-Type for the two new RSVP object defined in section 3.2.
This document defines in section 3.1 a "Virtual Destination Port
(VDstPort)" field of 8 bits within the new Session objects defined in
this document. The range of possible vDstPort values is broken down
into sections, in a fashion similar to the VDstPort range of
[RSVP-IPSEC] (but not identical since the VDstPort field of
[RSVP-IPSEC] has 16 bits):
0 Illegal Value
1 - 63 Assigned by IANA
64 - 255 Dynamic
IANA is requested to create and maintain this new name space. The
IANA guidelines for assignments for this field are as follows: o
values in the range 1-63 are to be assigned according to the "XXX"
policy defined in [IANA-CONS].
Note to RFC Editor: in the process assigning numbers and building
IANA registries prior to publication, this section will have served
its purpose. It may therefore be removed upon publication as an RFC.
Le Faucheur, et al. Expires August 16, 2005 [Page 20]
Internet-Draft Aggregate Reservations for IPsec February 2005
7. Security Considerations
The mechanisms defined in [RSVP-CRYPTO] and [RSVP-CRYPTO2] can be
used to provide hop-by-hop integrity and authentication of RSVP
messages related to the aggregate reservations discussed in this
document.
The same considerations stated in [RSVP-IPSEC] and [SIG-NESTED] apply
to the extensions described in this document.
An additional data element, namely the DSCP is expressed in the
session object. The DSCP value of an associated flow should
correspond to the DSCP value in the session object. The requirements
of a router to aggregate a flow using DSCP are further described in
[RSVP-AGG] and [SIG-NESTED]. Protection against traffic analysis
attacks based on DSCP is outside the scope of the extensions in this
document. If an IPSec router uses a different IP address outside its
enclave from the one it uses within its enclave, the objects defined
or extended in this document should contain the external IP address
of the IPSec router. Example usage in Section 5 also depicts the
same preemption priority level being maintained through a nested
path. The policy preemption element may literally be the same as
used within the innermost VPN enclave or a different value as agreed
at VPN boundaries. The marking and remarking of priority levels
across administrative and VPN boundaries is beyond the scope of this
document. Protection against traffic analysis attacks based on
preemption is outside the scope of the extensions in this document.
Security concerns of message integrity, node and user authentication
are implicitly met by the security association that exists between
the IPSec/VPN routers.
Changes in SPI values for a given IPsec tunnel will affect associated
aggregate RSVP reservations. Changes will happen whenever that IPsec
tunnel changes its Security Association. Such changes will occur
when a tunnel is re-keyed (i.e. to use a new key). Re-keying
intervals are typically set based on traffic levels, key size, threat
environment,and crypto algorithm in use. When an SPI change occurs
it will, in most cases, be necessary to update (send) the
corresponding SENDER_TEMPLATEs and FILTER_SPECs. Implementations of
this specification need to take the possibility of changes of SPI
into account to ensure proper reservation behavior.
For those applications that do need to deal with changes of SPIs, the
impact of sending new PATH and RESV messages corresponding to
aggregate reservations will vary based on the reservation style being
used. Builders of such applications may want to select reservation
style based on interaction with SPI changes. The least impact of an
SPI change will be to WF style reservations. For such reservations,
Le Faucheur, et al. Expires August 16, 2005 [Page 21]
Internet-Draft Aggregate Reservations for IPsec February 2005
a new SENDER_TEMPLATE will need to be sent, but no new RESV is
required. For SE style reservations, both a new SENDER_TEMPLATE and
a new RESV will need to be sent. This will result in changes to
state, but should not affect data packet delivery or actual resource
allocation in any way. The FF style will be impacted the most. Like
with SE, both PATH and RESV messages will need to be sent. But,
since FF style reservations result in sender receiving its own
resource allocation, resources will be allocated twice for a period
of time. Or, even worse, there won't be enough resources to support
the new flow without first freeing the old flow.
A way around this FF/SPI-change problem does exist. Applications
that want FF style reservations (in other words that want separate
reservations) can use multiple SE reservations. Each Aggregator
would have a separate SESSION definition thanks to a different
VDstPort value. This is facilitated by the ability of the
Deaggregator to distribute different VDstPorts to each Aggregator
(through the AGGREGATION-SESSION object in the E2E PathErr as
discussed above). When it came time to switch SPIs, a shared
reservation could be made for the new SPI while the old SPI was still
active. Once the new SPI was in use, the old reservation could be
torn down. This will provide uninterrupted service over the
aggregate reservations for IPsec tunnels.
Le Faucheur, et al. Expires August 16, 2005 [Page 22]
Internet-Draft Aggregate Reservations for IPsec February 2005
8. Acknowledgments
This document borrows heavily from [RSVP-IPSEC] and [RSVP-AGG].
Also, we thank Fred Baker, Roger Levesque, Carol Iturralde, Daniel
Voce and Anil Agarwal for their input into the content of this
document.
Le Faucheur, et al. Expires August 16, 2005 [Page 23]
Internet-Draft Aggregate Reservations for IPsec February 2005
9. References
9.1 Normative References
[RSVP-IPSEC] "RSVP Extensions for IPSEC Data Flows", Berger et al,
RFC2207
[RSVP-AGG] "Aggregation of RSVP for IPv4 and IPv6 Reservations",
Baker et al, RFC3175
[SIG-NESTED] "QoS Signaling in a Nested Virtual Private Network",
Baker et al, draft-baker-tsvwg-vpn-signaled-preemption-02.txt
[RSVP-PROCESS] "Resource ReSerVation Protocol (RSVP) -- Version 1
Message Processing Rules", Braden et al, RFC2209
[IPSEC-AH] "IP Authentication Header", Kent et al, RFC2402
[IPSEC-ESP] "IP Encapsulating Security Payload (ESP)", Kent et al,
RFC2406
[RSVP-CRYPTO] "RSVP Cryptographic Authentication", Baker et al,
RFC2747
[RSVP-CRYPTO2] "RSVP Cryptographic Authentication", Braden et al,
RFC3097
9.2 Informative References
[BW-REDUC] "A Resource Reservation Extension for the Reduction of
Bandwidth of a Reservation Flow", Polk et al,
draft-polk-tsvwg-rsvp-bw-reduction-00.txt
[RSVP-TUNNEL] "RSVP Operation Over IP Tunnels", Terzis et al., RFC
2746, January 2000.
Le Faucheur, et al. Expires August 16, 2005 [Page 24]
Internet-Draft Aggregate Reservations for IPsec February 2005
Authors' Addresses
Francois Le Faucheur
Cisco Systems
Greenside - 400 Avenue de Roumanille
Sophia Antipolis, 06410
France
Phone: +33-4-97-23-26-19
Fax: +33-4-97-23-26-26
Email: flefauch@cisco.com
Bruce Davie
Cisco Systems
1414 Massachusetts Ave.
Boxborough, MA 01719
USA
Phone:
Fax:
Email: bdavie@cisco.com
Pratik Bose
Lockheed Martin
22300 Comsat Drive Clarksburg, MD 20814 USA
Phone: +1 301 428 4215
Fax: +1 301 428 5147
Email: pratik.bose@lmco. com
Chris Christou
Booz Allen Hamilton
8283 Greensboro Drive
McLean, VA 22102,
USA
Phone:
Fax:
Email: christou_chris@bah.com
Le Faucheur, et al. Expires August 16, 2005 [Page 25]
Internet-Draft Aggregate Reservations for IPsec February 2005
Mike Davenport
Booz Allen Hamilton
8283 Greensboro Drive McLean, VA 22102
USA
Phone:
Fax:
Email: davenport_michael@bah.com
Le Faucheur, et al. Expires August 16, 2005 [Page 26]
Internet-Draft Aggregate Reservations for IPsec February 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM 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.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Le Faucheur, et al. Expires August 16, 2005 [Page 27]
| PAFTECH AB 2003-2026 | 2026-04-22 09:25:04 |