Re: [MMUSIC] RTSP and NATs
Jonathan Rosenberg <jdrosen@dynamicsoft.com> Mon, 03 February 2003 20:10 UTC
Received: from www1.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA19778 for <mmusic-archive@odin.ietf.org>; Mon, 3 Feb 2003 15:10:26 -0500 (EST)
Received: (from mailnull@localhost) by www1.ietf.org (8.11.6/8.11.6) id h13KFXo22138 for mmusic-archive@odin.ietf.org; Mon, 3 Feb 2003 15:15:33 -0500
Received: from ietf.org (odin.ietf.org [132.151.1.176]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id h13KFXJ22135 for <mmusic-web-archive@optimus.ietf.org>; Mon, 3 Feb 2003 15:15:33 -0500
Received: from www1.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA19738 for <mmusic-web-archive@ietf.org>; Mon, 3 Feb 2003 15:09:54 -0500 (EST)
Received: from www1.ietf.org (localhost.localdomain [127.0.0.1]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id h13KFGJ22125; Mon, 3 Feb 2003 15:15:16 -0500
Received: from ietf.org (odin.ietf.org [132.151.1.176]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id h13KE5J22033 for <mmusic@optimus.ietf.org>; Mon, 3 Feb 2003 15:14:05 -0500
Received: from mail3.dynamicsoft.com (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id PAA19600 for <mmusic@ietf.org>; Mon, 3 Feb 2003 15:08:26 -0500 (EST)
Received: from dynamicsoft.com ([63.113.46.54]) by mail3.dynamicsoft.com (8.12.1/8.12.1) with ESMTP id h13KC2YH014634; Mon, 3 Feb 2003 15:12:02 -0500 (EST)
Message-ID: <3E3ECD0D.8010601@dynamicsoft.com>
Date: Mon, 03 Feb 2003 15:11:57 -0500
From: Jonathan Rosenberg <jdrosen@dynamicsoft.com>
Organization: dynamicsoft
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Tom Marshall <tmarshall@real.com>
CC: Magnus Westerlund <magnus.westerlund@era.ericsson.se>, IETF MMUSIC WG <mmusic@ietf.org>
Subject: Re: [MMUSIC] RTSP and NATs
References: <3E3E982E.2010706@era.ericsson.se> <20030203181518.GA26315@real.com>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Sender: mmusic-admin@ietf.org
Errors-To: mmusic-admin@ietf.org
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
inline. Tom Marshall wrote: > On Mon, Feb 03, 2003 at 05:26:22PM +0100, Magnus Westerlund wrote: > >>Hi, >> >>Here is a proposal to the RTSP spec for how to handle NATs using STUN. >>Please read and comment. It is planned to discuss NAT's on wednessday's >>RTSP telecon. > > > I believe that a viable NAT traversal protocol should not require changes to > the protocols that it supports. If it is desired that RTSP and STUN work > well together, I think the proper course of action is to modify the STUN > draft to allow requests for consecutive blocks of mapped UDP ports required > by RTSP and RTP. No, that is impossible. You have misunderstood how STUN works. STUN does not allocate the addresses. It merely tells the client what a regular, off the shelf NAT has allocated to a user. Since regular, off-the-shelf NATs do not know anything about RTP port pairings, two separate STUN requests will result in a nat allocating two bindings which are most likely not consecutive (or follow the odd/even rule). THis is dealt with through an SDP extension that allows a client to provide a specific address and port for SDP (http://www.ietf.org/internet-drafts/draft-ietf-mmusic-sdp4nat-03.txt). > > Regardless of STUN, it may be useful to have a mechanism for non-contiguous > UDP port mappings. I would argue in favor of a list based approach that has > general applicability instead of an approach that is specific to RTP. For > example, the client_port attribute could use '/' to separate non-contiguous > ports: > > Transport: rtp/avp/udp;unicast;client_port=7834/23478 Well, I will take this opportunity to once more complain, as I have done at IETF meetings in the past, of the continued cost of repeating protocol development related to session initiation twice - once for SIP, and once for RTSP. We already have a way to do this representation in SDP for SIP. Seems like we need to repeat such design now for RTSP. > > Having said that, here are my thoughts on STUN in general: > > I am not in favor of STUN. There are other NAT traversal protocols[1] which > are already deployed and adding support for this one just muddies the waters > further. There are many topologies in which UPnP will not work. These icnlude: * cases where the residential nat doesnt support it * cases where there are multiple nats in tandem, such as cable operators that nat their networks * enterprises with multiple access points to the public Internet > If someone were to propose a simple and complete solution for all > NATs that everyone could get behind, that would be worth supporting. STUN > is, by its own admission, not a complete solution[2]. Heh. How about world peace while you are at it. The problem is this. Experience has shown that solutions which ALWAYS work tend to be way too expensive in situations that are far more simpler solution will do. There is therefore a cost/generality curve with a highly non-linear behavior, which results in solutions being defined across this curve. STUN happens to be extremely cheap to do in the cases where it works. THe most general solution, which are media-relay types of solutions, are very expensive because of the need to route media through intermediaries. > > The major focus of STUN seems to be the rapidly growing "NAT in a box" class > of router devices that have proliferated around broadband and wireless. > Given the current lack of support for RTSP, why would we assume that vendors > will be any more willing to support STUN? You have again misunderstood how stun works. STUN requires no support in NATs. A provider that wants to provide streaming media services using rtsp would deploy the stun server, NOT the ISP or IP access provider of the end user. > If the vendors won't support it, > then adding more Transport attributes creates more implementation headaches > for ourselves with little or no benefit. I think the best solution is to > find out how to persuade the vendors to properly support RTSP. It is really > not much more difficult to support than, say, FTP. I sinceerely doubt that. What incentive has Linksys, Netgear, and the REAMS of other home nat boxes to support ALGs for RTSP? Are those companies the experts on RTSP? Surely not! The need to separate out applications from NATs and firewalls is central to the midcom working group and much of the other work going on in IETF. ANYWAY, all of that said (just responding to this assault on STUN), I do not think STUN by itself is the right solution to RTSP nat traversal. THere are two options that are better. OPTION 1: Symmtric RTP. See http://www.ietf.org/internet-drafts/draft-ietf-mmusic-sdp-comedia-04.txt. Effectively, the IP address/ports provided by the RTSP client are ignored by the server. The client sends RTP/RTCP packets to the server, and the server sends media back to the client at the source ip/port that the RTP/RTCP came from. Requires no changes to the RTSP protocol, except to recommend this method. No STUN support needed. Works through all NAT types. It will require the client to send keepalive packets if there is a pause in media. NB: This ONLY works if the RTSP server is on the public Internet!!!! OPTION 2: Coming Soon I am working on a draft (out before the -00 deadline end of this month) that finally unifies all of the mess of nat traversal together - STUN, TURN, symmetric RTP. It has the property that it always results in the optimal media path, lowest latency, lowest cost, and highest probability of working (i.e., you hear media), compared to any other technique. In the case of the RTSP server running on the public Internet, it would end up working a lot like OPTION 1 above. But, it would also work in cases where that was not true, for example, a client connecting to a media server in another enterprise that is behind a nat. More to come soon. In fact, one might say that the best approach for nat traversal is not to document it in the RTSP revision itself, as there are multiple solutions in any case. We have done that for sip, documenting solutions in a separate document: http://www.ietf.org/internet-drafts/draft-ietf-sipping-nat-scenarios-00.txt Then there are other thigns coming like nsis. So, keeping this separate from RTSP itself is probably a good thing. -Jonathan R. -- Jonathan D. Rosenberg, Ph.D. 72 Eagle Rock Ave. Chief Scientist First Floor dynamicsoft East Hanover, NJ 07936 jdrosen@dynamicsoft.com FAX: (973) 952-5050 http://www.jdrosen.net PHONE: (973) 952-5000 http://www.dynamicsoft.com _______________________________________________ mmusic mailing list mmusic@ietf.org https://www1.ietf.org/mailman/listinfo/mmusic
- [MMUSIC] RTSP and NATs Magnus Westerlund
- Re: [MMUSIC] RTSP and NATs Tom Marshall
- Re: [MMUSIC] RTSP and NATs Jonathan Rosenberg
- Re: [MMUSIC] RTSP and NATs Tom Marshall
- Re: [MMUSIC] RTSP and NATs Colin Perkins
- Re: [MMUSIC] RTSP and NATs Jonathan Rosenberg
- Re: [MMUSIC] RTSP and NATs Tom Marshall
- Re: [MMUSIC] RTSP and NATs Jonathan Rosenberg
- Re: [MMUSIC] RTSP and NATs Tom Marshall
- Re: [MMUSIC] RTSP and NATs Magnus Westerlund
- Re: [MMUSIC] RTSP and NATs philippe.gentric
- Re: [MMUSIC] RTSP and NATs Magnus Westerlund
- Re: [MMUSIC] RTSP and NATs philippe.gentric
- Re: [MMUSIC] RTSP and NATs Magnus Westerlund
- Re: [MMUSIC] RTSP and NATs philippe.gentric
- Re: [MMUSIC] RTSP and NATs Magnus Westerlund
- Re: [MMUSIC] RTSP and NATs philippe.gentric
- Re: [MMUSIC] RTSP and NATs Magnus Westerlund
- Re: [MMUSIC] RTSP and NATs philippe.gentric
- Re: [MMUSIC] RTSP and NATs Magnus Westerlund