[tsvwg] RSVP Proxy Approaches - Migrating from Proxy RSVP to e2e RSVP

Francois Le Faucheur <flefauch@cisco.com> Thu, 08 October 2009 15:32 UTC

Return-Path: <flefauch@cisco.com>
X-Original-To: tsvwg@core3.amsl.com
Delivered-To: tsvwg@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8D59128C136 for <tsvwg@core3.amsl.com>; Thu, 8 Oct 2009 08:32:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.974
X-Spam-Level:
X-Spam-Status: No, score=-9.974 tagged_above=-999 required=5 tests=[AWL=0.625, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Y+p3axWOVC+W for <tsvwg@core3.amsl.com>; Thu, 8 Oct 2009 08:32:33 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id 82BCA3A693E for <tsvwg@ietf.org>; Thu, 8 Oct 2009 08:32:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=flefauch@cisco.com; l=9082; q=dns/txt; s=amsiport01001; t=1255016055; x=1256225655; h=from:sender:reply-to:subject:date:message-id:to:cc: mime-version:content-transfer-encoding:content-id: content-description:resent-date:resent-from:resent-sender: resent-to:resent-cc:resent-message-id:in-reply-to: references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:list-owner:list-archive; z=From:=20Francois=20Le=20Faucheur=20<flefauch@cisco.com> |Subject:=20RSVP=20Proxy=20Approaches=20-=20Migrating=20f rom=20Proxy=20RSVP=20to=20e2e=20RSVP|Date:=20Thu,=208=20O ct=202009=2017:34:11=20+0200|Message-Id:=20<AA86E0DB-A7E8 -415C-A5FE-B16A88E3B066@cisco.com>|To:=20tsvwg=20list=20I ETF=20<tsvwg@ietf.org>|Cc:=20Le=20Faucheur=20Francois=20< flefauch@cisco.com>,=0D=0A=20=20=20=20=20=20=20=20Cullen =20Jennings=20<fluffy@cisco.com>,=0D=0A=20=20=20=20=20=20 =20=20Magnus=20Westerlund=20<magnus.westerlund@ericsson.c om>,=0D=0A=20=20=20=20=20=20=20=20draft-ietf-tsvwg-rsvp-p roxy-proto@tools.ietf.org,=0D=0A=20=20=20=20=20=20=20=20d raft-ietf-tsvwg-rsvp-proxy-approaches@tools.ietf.org |Mime-Version:=201.0=20(Apple=20Message=20framework=20v10 76)|Content-Transfer-Encoding:=20quoted-printable; bh=KbCYUaWki3XejivGdq5IqaK1D63IaD6hQHvu+Fk90Dk=; b=rpdVJLVspmSuhtdabLSzLkwyO3Pq3Ap9QP8mWtOQh796rZrUxzMPXIwH /ToHMd0/FPEKZcwjvx4pOCaUxDrbsNpolu2UbsD+eaJPoM/T9yLbsm58I UNnpJywa0Xhp2EIKtmKdLlJAkjsEQnohlie7bYU9NKsV0vAd46DMbwjSk 4=;
Authentication-Results: ams-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-AV: E=Sophos;i="4.44,526,1249257600"; d="scan'208";a="51296428"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-1.cisco.com with ESMTP; 08 Oct 2009 15:34:13 +0000
Received: from ams-flefauch-8716.cisco.com (ams-flefauch-8716.cisco.com [10.55.161.199]) by ams-core-1.cisco.com (8.13.8/8.14.3) with ESMTP id n98FYCMZ001248; Thu, 8 Oct 2009 15:34:12 GMT
Content-Transfer-Encoding: quoted-printable
From: Francois Le Faucheur <flefauch@cisco.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"; delsp="yes"
Message-Id: <AA86E0DB-A7E8-415C-A5FE-B16A88E3B066@cisco.com>
Date: Thu, 08 Oct 2009 17:34:11 +0200
To: tsvwg list IETF <tsvwg@ietf.org>
Mime-Version: 1.0 (Apple Message framework v1076)
X-Mailer: Apple Mail (2.1076)
Cc: Magnus Westerlund <magnus.westerlund@ericsson.com>, draft-ietf-tsvwg-rsvp-proxy-proto@tools.ietf.org, draft-ietf-tsvwg-rsvp-proxy-approaches@tools.ietf.org
Subject: [tsvwg] RSVP Proxy Approaches - Migrating from Proxy RSVP to e2e RSVP
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tsvwg>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Oct 2009 15:32:34 -0000

Hello,

Several IESG members brought up a valid concern about the fact that  
once RSVP proxy is deployed, it may be difficult to migrate back to an  
end-to-end RSVP model. In response to this:

* With respect to the "Path-Triggered Receiver Proxy" approach:
===============================================

We propose to include a discussion of two mechanisms that can  
facilitate dynamic migration from a Proxy mode to an e2e RSVP mode:
	* Dynamic Discovery: in addition to generating a Resv (that triggers  
reservation upstream of the Proxy towards the sender), the Receiver  
Proxy can forward the Path message downstream towards the receiver. If  
no Resv is received by the Proxy, then it continues operating as a  
Proxy. If a Resv is received, then the Proxy converts this into an end- 
to-end reservation.
	* Sender-influenced Proxy Bypass: this is similar to the NSIS Proxy  
flag mechanisms. Except we would propose that the Proxy decision (to  
proxy or not proxy) be based on information conveyed inside an RSVP  
Policy Element.

You'll find at the bottom of this message proposed text for a  
potential additional section discussing this topic of interaction  
between proxy and end point (eg to go in proxy-approaches as a new  
section 4.1.1).


With respect to "Application-Triggered Proxies":
==================================

We feel it is reasonable to assume that applications that would  
control an RSVP Proxy (e.g. a SIP Call Agent) would be aware of a  
number of endpoint capabilities including whether it is RSVP-capable  
or not. In the first place, the application has to be aware about  
which endpoint can be best "served" by which RSVP Proxy anyways when  
using Proxies. The application may also consider the QoS preconditions  
and QoS mechanisms signaled by an endpoint as per RFC 3312/4032 and  
RFC5432. The information about endpoint RSVP capability can then be  
used by the application to decide whether to trigger Proxy behavior or  
not, for a given endpoint.


With respect to "Inspection-Triggered Sender Proxies":
========================================

Those devices inspect signaling and/or control traffic associated with  
a flow in order to trigger reservation establishment. When operating  
off signaling traffic, the Proxy may be able to detect from the  
signaling that the endpoint is capable of establishing a reservation  
(e.g. in the case of SIP via inspection of the RFC3312/4032  
Precondition). Otherwise, the proxy can also inspect RSVP signaling  
and if it sees RSVP signaling for the flow of interest, it can disable  
its sender proxy behavior for that flow (or sender). Optionally,  
through RSVP signaling inspection, the sender proxy might also  
gradually "learn" (possibly with some timeout) which sender is RSVP  
capable of not.


Feedback on this proposal as well as proposed corresponding text below  
is welcome.

Francois


=========================================================

Draft text for a proposed additional section discussing this topic of  
interaction between proxy and end point (eg to go in proxy-approaches  
as a new section 4.1.1).

4.1.1) Interaction between a RSVP receiver proxy and a RSVP-capable  
receiver

The presence of a receiver proxy (for a given flow) in the signalling  
path will cause the Path message to be terminated and a Resv generated  
towards the sender. If the eventual receiver was in fact RSVP capable,  
it would not be able to participate in RSVP signalling since it does  
not receive the Path. A similar problem exists with multiple receiver  
proxies in the path of the flow. It is ideal if the RSVP reservation  
spans the entire flow path from source to destination, and highly  
desirable that the reservation span as much of the flow path as  
possible. This can be achieved in the following ways.

4.1.1.1) Selective receiver proxy

A RSVP receiver proxy MAY be selective about the sessions that it  
terminates, based on local policy decision. For example, an edge  
router functioning as a receiver proxy MAY only choose to proxy for  
Path messages that are actually going to exit the domain in question,  
not for Path messages that are transiting through it but stay within  
the domain. As another example, the receiver proxy MAY be configurable  
to only proxy for flows addressed to a given destination address or  
destination address ranges (for which end devices are known to not be  
RSVP capable).

The decision to proxy a Resv for a Path may also be based on  
information signalled from the sender in the Path message. For  
example, the sender may identify the type of application or flow in  
the Application-ID Policy Element in the Path, and the receiver proxy  
may choose to only proxy for certain types of flows. Or, if the sender  
knows through application signalling that the receiver is capable of  
signalling RSVP, the sender may include an indication in a Policy  
Element to any receiver proxy that it must not terminate the Path (and  
conversely, may include an indication to receiver proxies that they  
_should_ terminate a Path if the receiver is known not to support  
RSVP). A similar functionality is defined in NSIS [draft-ietf-nsis-qos- 
nslp].

4.1.1.2) Dynamic discovery of downstream RSVP functionality

When generating a proxy Resv, a receiver proxy MAY choose to forward  
the Path message downstream instead of terminating it. If the  
destination endpoint supports RSVP, it will receive the Path and  
generate a Resv upstream. When this Resv reaches the receiver proxy,  
it recognizes the presence of a RSVP-capable receiver downstream and  
internally converts its state from a proxied reservation to a regular  
midpoint behavior. This dynamic discovery mechanism has the benefit  
that new (or upgraded) RSVP endpoints will automatically and  
seamlessly support end-to-end flows, without impacting the ability of  
a receiver proxy to proxy RSVP for other, non-RSVP-capable endpoints.  
This mechanism also achieves the goal of automatically discovering the  
longest possible CAC-supporting segment in a network with multiple  
receiver proxies along the path. This mechanism dynamically adjusts to  
any topology and routing change. Also, this mechanism dynamically  
handles the situation where a receiver was RSVP-capable and for some  
reason (e.g. software downgrade) no longer is. Finally, this approach  
requires no new RSVP extensions and no configuration changes to the  
receiver proxy as new RSVP-capable endpoints come and go. The only  
identified drawbacks to this approach are:

- If admission control fails on the segment between the receiver proxy  
and the RSVP-capable receiver, the receiver will get a ResvError and  
can take application-level signalling steps to terminate the call.  
However, the receiver proxy has already sent a Resv upstream for this  
flow, so the sender will see a “false” reservation which is not truly  
end-to-end. The actual admission control status will resolve itself in  
a short while, but the sender will need to roll back any permanent  
action (such as billing) that may have been taken on receipt of the  
phantom Resv. Note that if the second receiver is also a receiver  
proxy which is not participating in application signalling, it will  
convert the received ResvError into a PathError which will be received  
by the first receiver proxy. This proxy can then signal the failure of  
the reservation upstream.

- If there is no RSVP-capable receiver downstream of the receiver  
proxy, then the Path messages sent by the receiver proxy every refresh  
interval (e.g. 30 seconds by default) will never be responded to.  
However, these messages consume a small amount of bandwidth, and in  
addition may install some RSVP state on RSVP-capable midpoint nodes  
downstream of the first receiver proxy. This is seen as a very minor  
sub-optimality and observe that such resources would be consumed  
anyways if the receiver was RSVP capable. Still, if deemed necessary,  
to mitigate this, the receiver proxy MAY tear down any unanswered  
downstream Path state after a predetermined time, and stop sending  
Path messages for the flow (or do stop at much lower frequency).