RE: SCTP-over-UDP and port 9899

"Dan Wing" <dwing@cisco.com> Tue, 01 November 2011 17:16 UTC

Return-Path: <dwing@cisco.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AB44B11E8080 for <tsvwg@ietfa.amsl.com>; Tue, 1 Nov 2011 10:16:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.578
X-Spam-Level:
X-Spam-Status: No, score=-105.578 tagged_above=-999 required=5 tests=[AWL=1.021, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aYrqda5d5alH for <tsvwg@ietfa.amsl.com>; Tue, 1 Nov 2011 10:16:46 -0700 (PDT)
Received: from mtv-iport-3.cisco.com (mtv-iport-3.cisco.com [173.36.130.14]) by ietfa.amsl.com (Postfix) with ESMTP id A0F7511E80B0 for <tsvwg@ietf.org>; Tue, 1 Nov 2011 10:16:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=dwing@cisco.com; l=4745; q=dns/txt; s=iport; t=1320167806; x=1321377406; h=from:to:cc:references:in-reply-to:subject:date: message-id:mime-version:content-transfer-encoding; bh=4yzVSl1l7pb1KQZZZb/1FwaII+o36z9UY1K5hvIQIAs=; b=d2/irl6zWv909CX5jDjeRd43lNHdGuhfXnP//q+8xA8WxskgPKMW2Gki OuQMAW7iYU7ZQuudvkPbEaYT9dyfq6anprncwZavxO462W77gi9yJO4Q8 8d86+xY8swGZGKSyfheLUNLI5kJ1ws6ZewUGtI5/9dQdXvIf57QNrN2GW M=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AskAAOoosE6rRDoG/2dsb2JhbABCmWmBa4xHgSqBBYFyAQEBAwEICgEXED8FBwEDAgkPAgQBAQEnBxkjCgkIAQEEEwsXh2AIln4Bni6JBwSIBp4I
X-IronPort-AV: E=Sophos;i="4.69,439,1315180800"; d="scan'208";a="11700667"
Received: from mtv-core-1.cisco.com ([171.68.58.6]) by mtv-iport-3.cisco.com with ESMTP; 01 Nov 2011 17:15:39 +0000
Received: from dwingWS ([10.32.240.194]) by mtv-core-1.cisco.com (8.14.3/8.14.3) with ESMTP id pA1HFddE023311; Tue, 1 Nov 2011 17:15:39 GMT
From: Dan Wing <dwing@cisco.com>
To: 'Michael Tuexen' <tuexen@fh-muenster.de>
References: <193601cc9809$2ffa6b50$8fef41f0$@com> <C2980D8C-6CBF-4077-985C-70F4BE09D7C0@fh-muenster.de> <1bbd01cc98ad$9099bb60$b1cd3220$@com> <FBB2B325-47B2-4EAF-AE52-5ED2233C1C57@fh-muenster.de>
In-Reply-To: <FBB2B325-47B2-4EAF-AE52-5ED2233C1C57@fh-muenster.de>
Subject: RE: SCTP-over-UDP and port 9899
Date: Tue, 01 Nov 2011 10:15:39 -0700
Message-ID: <1c0401cc98b9$e0bdab40$a23901c0$@com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AcyYtkEQlvfClTxXSJu57Yke4Jr8dQAAllsw
Content-Language: en-us
Cc: tsvwg@ietf.org, randall@lakerest.net
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Tue, 01 Nov 2011 17:16:47 -0000

> -----Original Message-----
> From: Michael Tuexen [mailto:tuexen@fh-muenster.de]
> Sent: Tuesday, November 01, 2011 9:50 AM
> To: Dan Wing
> Cc: tsvwg@ietf.org; randall@lakerest.net
> Subject: Re: SCTP-over-UDP and port 9899
> 
> 
> On Nov 1, 2011, at 4:47 PM, Dan Wing wrote:
> 
> >> -----Original Message-----
> >> From: tsvwg-bounces@ietf.org [mailto:tsvwg-bounces@ietf.org] On
> Behalf
> >> Of Michael Tuexen
> >> Sent: Monday, October 31, 2011 2:27 PM
> >> To: Dan Wing
> >> Cc: tsvwg@ietf.org; randall@lakerest.net
> >> Subject: Re: SCTP-over-UDP and port 9899
> >>
> >> On Oct 31, 2011, at 9:10 PM, Dan Wing wrote:
> >>
> >>> http://tools.ietf.org/html/draft-ietf-tsvwg-sctp-udp-encaps-01 and
> >> its
> >>> predecessor both say:
> >>>
> >>> "When inserting the UDP header, the source port is 9899, the
> >>>  destination port is the one stored for the destination address the
> >>>  packet is sent to or 9899 if no destination address is stored."
> >>>
> >>> Why is it important to use a specific source port?  Does that not
> >>> cause difficulties if there are two (or more) instances of SCTP-
> >>> over-UDP applications running on the same host?  Does that not
> >>> cause difficulties, in implementation assumptions, if there are
> >>> two hosts behind the same NAPT and only one can get UDP/9899
> >>> forwarded to them?
> >> Hi Dan,
> >>
> >> for sending out the initial packet of an association, the source
> >> port is not important.
> >
> > Then can you strike "the source port is 9899" from the document?
> >
> >> The peer will send back the response to any
> >> port. But the destination port of the initial packet is important.
> >> It must be the same port the peer is accepting UDP packets. It
> >> can be any port, but then it needs to be negotiated somehow.
> >
> > Sure, of course.
> >
> > The 32-bit or 128-bit IP address is already negotiated.
> > Negotiating another 16 bits is not onerous.  It isn't easy
> > with DNS (because neither SRV records nor the ability to
> > update them is ubiquitous), but lots of protocols already
> > communicate IP address and port -- BitTorrent, Skype, SIP,
> > many others.
> >
> >> Since there is one registered port for SCTP/UDP, I used that.
> >> But you can use a different one, if negotiated. If you want to
> >> run two hosts as servers behind a NAT, you need different UDP
> >> ports. If they are clients, you don't.
> >>
> >>> In short, what is the benefit of using 9899 as the source port?
> >> It is more a default, if nothing else is known. In the socketAPI
> >> section the remote port is configurable. The local port (at
> >> least in the FreeBSD/MacOS X implementation) is a parameter
> >> controller by a sysctl variable. So (currently) a single
> >> host uses a single port number for all associations.
> >>
> >> Does this makes things clearer?
> >
> > Not especially, no.
> >
> > Let's look at, for example, SSH -- the SSH port is 22.   But
> > there is no need for the *source port* to be 22.  I'm trying
> > to understand why there is text mentioning anything about
> > the source port in draft-ietf-tsvwg-sctp-udp-encaps.
> OK, this is a good example. I want 9899 for SCTP/UDP be similar
> to 22 for SSH. But there is a difference. I want to support the
> case where I have one SCTP stack on a host and this stack uses
> a single UDP port number shared between all associations, no
> matter which side initiated them.

But a major use-case for SCTP-over-UDP is when the application
itself has its own SCTP stack.  This is even mentioned in 
your I-D.  For that use-case, the two applications cannot
achieve your desired goal.

> I might not have made that
> clear. So it different from SSH where the server binds to a
> well known port (or not if otherwise negotiated), the client
> uses an arbitrary one. Do you have a suggestion for the wording?

Yes, remove the wording saying 9899 is the source port.  

Suggest:

  It can be advantageous for all SCTP-over-UDP traffic originated by a
  host to use the same source port (e.g., this reduces the number of
  mappings in firewalls and NATs, among other things).  It is possible
  to use the same UDP source port by using the SCTP header to
  demultiplex the incoming traffic (rather than demultiplexing solely
  on UDP port number). When SCTP-over-UDP is implemented by a shared
  library (e.g., a framework or by the OS itself), this optimization
  is possible.  When SCTP-over-UDP is implemented by an application,
  this optimization is usually not possible.

-d


> Best regards
> Michael
> >
> > -d
> >
> >
> >> Best regards
> >> Michael
> >>>
> >>> -d
> >>>
> >>>
> >>>
> >
> >