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

Francois Le Faucheur <flefauch@cisco.com> Fri, 16 October 2009 20:00 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 541BF3A6893 for <tsvwg@core3.amsl.com>; Fri, 16 Oct 2009 13:00:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.502
X-Spam-Level:
X-Spam-Status: No, score=-10.502 tagged_above=-999 required=5 tests=[AWL=0.096, BAYES_00=-2.599, HTML_MESSAGE=0.001, 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 0NcK324n4ewD for <tsvwg@core3.amsl.com>; Fri, 16 Oct 2009 13:00:43 -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 9ED2A3A63D3 for <tsvwg@ietf.org>; Fri, 16 Oct 2009 13:00:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=flefauch@cisco.com; l=34223; q=dns/txt; s=amsiport01001; t=1255723246; x=1256932846; 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:=20Re:=20[tsvwg]=20RSVP=20Proxy=20Approaches=20- =20Migrating=20from=20Proxy=20RSVP=20to=20e2e=09RSVP |Date:=20Fri,=2016=20Oct=202009=2022:00:41=20+0200 |Message-Id:=20<F14396AF-4B91-4DA7-B937-9926846F5EC1@cisc o.com>|To:=20"James=20M.=20Polk"=20<jmpolk@cisco.com>|Cc: =20Francois=20Le=20Faucheur=20<flefauch@cisco.com>,=0D=0A =20=20=20=20=20=20=20=20Ashok=20Narayanan=20<ashokn@cisco .com>,=0D=0A=20=20=20=20=20=20=20=20Gorry=20Fairhurst=20< gorry@erg.abdn.ac.uk>,=0D=0A=20=20=20=20=20=20=20=20Magnu s=20Westerlund=20<magnus.westerlund@ericsson.com>,=0D=0A =20=20=20=20=20=20=20=20tsvwg=20list=20IETF=20<tsvwg@ietf .org>|Mime-Version:=201.0=20(Apple=20Message=20framework =20v1076)|In-Reply-To:=20<XFE-SJC-212aBJjvmZp000012ff@xfe -sjc-212.amer.cisco.com>|References:=20<AA86E0DB-A7E8-415 C-A5FE-B16A88E3B066@cisco.com>=20<4ACE246D.20808@erg.abdn .ac.uk>=20<12C42C00-7F9E-4D92-91A6-BE912B0D445B@cisco.com >=20<0CE8DCF6-88C3-4851-97A8-1A1DF2F70571@cisco.com>=20<X FE-SJC-212aBJjvmZp000012ff@xfe-sjc-212.amer.cisco.com>; bh=CkEs0Cyk4mR+IzEgDZaMBxpcNGoDY7N/0Xa6Tjk/dVs=; b=DEqilC23GRAxnu0vYQDTfHXmbfcoHvpvDZu/nT8t5pGrJFmc1CN+IBi4 LoyzHVab9lgTr4uFHnb77eYpOI9rPEzWF9dQ8UxhztYalmg94Mr0nc0sF J38KpGSXq5HIs3hB+S+wC/K6D1u5z2/+LIQW4gBTGyXXN1NXbjAJx+oTd E=;
Authentication-Results: ams-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-AV: E=Sophos; i="4.44,575,1249257600"; d="scan'208,217"; a="52022023"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-1.cisco.com with ESMTP; 16 Oct 2009 20:00:44 +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 n9GK0gJ8021694; Fri, 16 Oct 2009 20:00:42 GMT
References: <AA86E0DB-A7E8-415C-A5FE-B16A88E3B066@cisco.com> <4ACE246D.20808@erg.abdn.ac.uk> <12C42C00-7F9E-4D92-91A6-BE912B0D445B@cisco.com> <0CE8DCF6-88C3-4851-97A8-1A1DF2F70571@cisco.com> <XFE-SJC-212aBJjvmZp000012ff@xfe-sjc-212.amer.cisco.com>
In-Reply-To: <XFE-SJC-212aBJjvmZp000012ff@xfe-sjc-212.amer.cisco.com>
Mime-Version: 1.0 (Apple Message framework v1076)
Content-Type: multipart/alternative; boundary="Apple-Mail-2-390651206"
Message-Id: <F14396AF-4B91-4DA7-B937-9926846F5EC1@cisco.com>
From: Francois Le Faucheur <flefauch@cisco.com>
Date: Fri, 16 Oct 2009 22:00:41 +0200
To: "James M. Polk" <jmpolk@cisco.com>
X-Mailer: Apple Mail (2.1076)
Cc: Gorry Fairhurst <gorry@erg.abdn.ac.uk>, tsvwg list IETF <tsvwg@ietf.org>, Magnus Westerlund <magnus.westerlund@ericsson.com>
Subject: Re: [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: Fri, 16 Oct 2009 20:00:45 -0000

James and all,

On 16 Oct 2009, at 20:20, James M. Polk wrote:
>>>>
>>>>
>>>> 1) I noted was "When generating a proxy Resv, a receiver proxy  
>>>> MAY choose to forward the Path message downstream instead of  
>>>> terminating it."  - The new text discusses something that it  
>>>> makes it optional. Has there been discussion of whether this  
>>>> could be a SHOULD. The drawbacks seem limited (at first read),  
>>>> and the mechanisms could be useful, enable the PATH seems at  
>>>> least the first stage in getting interoperability. The first  
>>>> problem seems to be a misconfiguration as well (?), the second  
>>>> problem seems minor in most cases (?).
>>>
>>> ASHOK> Maybe. In this case I'd read the use of "SHOULD" as more of  
>>> a guideline for proxy implementors that moving to end-to-end RSVP  
>>> is a worthy goal.
>>
>> The proxy-approaches I-D does not really contain real MUSTs/SHOULDs/ 
>> MAYs so far. It is Informational and intended to describe the  
>> various approaches and their pros and cons, and not intended to be  
>> prescriptive.
>> So I propose to keep prescriptive MAYs and SHOULDs to the rsvp- 
>> proto I-D.
>
> I agree with what Francis says immediately above wrt the use of  
> RFC2119 language.
>
> If the proxy-approaches I-D (as a non-requirements INFO doc) has any  
> 'mays' or 'shoulds', they need to be in lower case - or,  
> alternatively, change the wording to 'can' or 'might' or 'need(s)  
> to' or 'ought to'.

At this stage the I-D is fine and does not have any uppercase "MA/ 
SHOULD/MUST". Those only started showing up inadvertently in the draft  
text that Ashok & I posted on the list for review. We are tweaking  
that text (while incorporating in the I-D) in line with your  
recommendation above.

Cheers

Francois

>
> James
> (with my chair hat on)
>
>
>> Francois
>>
>>
>>>
>>>>
>>>> 2) Is it clear what a Proxy does when it receives RSVP signaling  
>>>> in the downstream, for both the cases where it sent a PATh and  
>>>> for when it did not send a PATH, but still found there was a RSVP  
>>>> capable downstream?
>>>
>>> ASHOK> Well...
>>>
>>> - For per-flow signaling, if we receive a Resv from downstream for  
>>> a Path that we forwarded as well as proxied, the receiver proxy  
>>> should simply convert itself to a midpoint. This is fairly  
>>> straightforward given that RSVP signaling runs hop-by-hop, so  
>>> there's practically no significant difference between Resv  
>>> messages generated on behalf of a local receiver proxy, or  
>>> generated on behalf of a received Resv. Of course, any changes in  
>>> bandwidth requests or policy information made by the eventual  
>>> receiver would make their way into the new Resv sent upstream, but  
>>> this is only an issue in applications where some sophistication is  
>>> required on the receiver to take action over and above simply  
>>> echoing these from the Path. In that case the receiver proxy must  
>>> either be more sophisticated, or this application is unsuitable  
>>> for a receiver proxy. This is discussed in the current approaches  
>>> draft.
>>>
>>> - Again for per-flow signaling, we could receive a Resv pertaining  
>>> to a flow for which we never received a Path or sent a Path  
>>> downstream. RSVP has standard procedures for discarding these  
>>> messages.
>>>
>>> - There is some component of non-flow signaling like RSVP Hello  
>>> messages or Summary Refresh which technically it is possible to  
>>> send/receive them without flow state, although no implementation  
>>> does so today. Probably a better example would be RFC2207  
>>> authentication challenge messages (although even those typically  
>>> only travel to neighbors to which you already do signaling). But  
>>> there's nothing in a RSVP receiver proxy that need affect this  
>>> component of signaling. It might be useful to the node to notice  
>>> that a RSVP neighbor exists downstream and just automatically  
>>> switch to non-proxy mode for flows going to that neighbor, I  
>>> suppose. But since the case doesn't exist today I'm not sure what  
>>> we could do about it.
>>
>>
>>
>>>
>>> -Ashok
>>>
>>>>
>>>> Gorry
>>>>
>>>> Francois Le Faucheur wrote:
>>>>> 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).
>