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

Francois Le Faucheur <flefauch@cisco.com> Fri, 16 October 2009 15:55 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 AE8C83A68F4 for <tsvwg@core3.amsl.com>; Fri, 16 Oct 2009 08:55:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.871
X-Spam-Level:
X-Spam-Status: No, score=-9.871 tagged_above=-999 required=5 tests=[AWL=-0.669, BAYES_00=-2.599, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=1.396, 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 X0M+kwd7M6GJ for <tsvwg@core3.amsl.com>; Fri, 16 Oct 2009 08:55:22 -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 0B5233A67F2 for <tsvwg@ietf.org>; Fri, 16 Oct 2009 08:55:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=flefauch@cisco.com; l=29550; q=dns/txt; s=amsiport01001; t=1255708525; x=1256918125; 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=2017:55:20=20+0200 |Message-Id:=20<0CE8DCF6-88C3-4851-97A8-1A1DF2F70571@cisc o.com>|To:=20Ashok=20Narayanan=20<ashokn@cisco.com>,=20Go rry=20Fairhurst=20<gorry@erg.abdn.ac.uk>|Cc:=20Le=20Fauch eur=20Francois=20<flefauch@cisco.com>,=0D=0A=20=20=20=20 =20=20=20=20Magnus=20Westerlund=20<magnus.westerlund@eric sson.com>,=0D=0A=20=20=20=20=20=20=20=20tsvwg=20list=20IE TF=20<tsvwg@ietf.org>|Mime-Version:=201.0=20(Apple=20Mess age=20framework=20v1076)|In-Reply-To:=20<12C42C00-7F9E-4D 92-91A6-BE912B0D445B@cisco.com>|References:=20<AA86E0DB-A 7E8-415C-A5FE-B16A88E3B066@cisco.com>=20<4ACE246D.20808@e rg.abdn.ac.uk>=20<12C42C00-7F9E-4D92-91A6-BE912B0D445B@ci sco.com>; bh=NqYedSfbCZTxTDbpIFkDDwQa/CWMVbtOA4QQiv0z0I0=; b=DKRm6sq3X1uvzwRBQdf+INM7Dqk5R9L2BjLIfyp3lCQwh1QLvnIZf41y sFLnA6Fvs+sZxf83dSBqV8fzNqNJOzNMmFO46T0AfTzyBOAXcmMfeDxJv NKMJjrWkGi7zQHTLvw8UulqXSDVAZl2xw1OmS2kxrp5/ROxYNF3i+9E7a 8=;
Authentication-Results: ams-iport-1.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-AV: E=Sophos; i="4.44,574,1249257600"; d="scan'208,217"; a="52008143"
Received: from ams-core-1.cisco.com ([144.254.224.150]) by ams-iport-1.cisco.com with ESMTP; 16 Oct 2009 15:55:24 +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 n9GFtMm0005760; Fri, 16 Oct 2009 15:55:22 GMT
References: <AA86E0DB-A7E8-415C-A5FE-B16A88E3B066@cisco.com> <4ACE246D.20808@erg.abdn.ac.uk> <12C42C00-7F9E-4D92-91A6-BE912B0D445B@cisco.com>
In-Reply-To: <12C42C00-7F9E-4D92-91A6-BE912B0D445B@cisco.com>
Mime-Version: 1.0 (Apple Message framework v1076)
Content-Type: multipart/alternative; boundary="Apple-Mail-10-375930461"
Message-Id: <0CE8DCF6-88C3-4851-97A8-1A1DF2F70571@cisco.com>
From: Francois Le Faucheur <flefauch@cisco.com>
Date: Fri, 16 Oct 2009 17:55:20 +0200
To: Ashok Narayanan <ashokn@cisco.com>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>
X-Mailer: Apple Mail (2.1076)
Cc: Magnus Westerlund <magnus.westerlund@ericsson.com>, tsvwg list IETF <tsvwg@ietf.org>
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 15:55:24 -0000

Ashok, Gorry,

On 8 Oct 2009, at 19:54, Ashok Narayanan wrote:

> Inline for ASHOK>
>
> On Oct 8, 2009, at 10/8 1:42 PM, Gorry Fairhurst wrote:
>
>> Thanks,
>>
>> I'll let others ask questions...
>>
>> I have two myself:
>>
>> 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.

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).
>>
>