Re: [tram] SSODA in TURN-bis

"Tirumaleswar Reddy (tireddy)" <tireddy@cisco.com> Fri, 09 January 2015 02:34 UTC

Return-Path: <tireddy@cisco.com>
X-Original-To: tram@ietfa.amsl.com
Delivered-To: tram@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2F6641A1B18 for <tram@ietfa.amsl.com>; Thu, 8 Jan 2015 18:34:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.509
X-Spam-Level:
X-Spam-Status: No, score=-14.509 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lI9CQ-rKXj7h for <tram@ietfa.amsl.com>; Thu, 8 Jan 2015 18:34:34 -0800 (PST)
Received: from rcdn-iport-2.cisco.com (rcdn-iport-2.cisco.com [173.37.86.73]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3CEC01A0151 for <tram@ietf.org>; Thu, 8 Jan 2015 18:34:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=38582; q=dns/txt; s=iport; t=1420770875; x=1421980475; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=ORbaJOFoNASV6BpAMCgjnNeoqOFeN7wLhwMxmh/ajJA=; b=DZW25RHdCbPuOB9QbzAGXNwVxLEO1OhOqm3hUWdbwwrAFr6e86EpFgwD jXOLYFrkeg7t7bXGK/himnk4L0wUZBYgabTON5KjGZuX58iUouDMJvWvg guyUy0W0dYssr1W2jeT0oBf5hodY3/jqv8so1s5ciRoEB8I4oUtmDXLiV U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Aj4dAHk9r1StJV2S/2dsb2JhbABcEwEBgi5DUlgEgwGeKZUzCox2PIFfAQmFcQIcKVJDAQEBAQF9hAwBAQEEAQEBIAoeASILEAIBCA4DAgIBAQsWAQYDAgICIwILFAkIAQEEAQ0FCBOIEQ2zJYVnAY4TAQEBAQEBAQEBAQEBAQEBAQEBAQEBF49IFhcEBgEJgl8ugRMFhDcCiCCBWoNDhlIwgkGNbyKDbm8BgUR+AQEB
X-IronPort-AV: E=Sophos;i="5.07,727,1413244800"; d="scan'208,217";a="385879817"
Received: from rcdn-core-10.cisco.com ([173.37.93.146]) by rcdn-iport-2.cisco.com with ESMTP; 09 Jan 2015 02:34:34 +0000
Received: from xhc-rcd-x02.cisco.com (xhc-rcd-x02.cisco.com [173.37.183.76]) by rcdn-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id t092YX9R020653 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 9 Jan 2015 02:34:33 GMT
Received: from xmb-rcd-x10.cisco.com ([169.254.15.160]) by xhc-rcd-x02.cisco.com ([173.37.183.76]) with mapi id 14.03.0195.001; Thu, 8 Jan 2015 20:34:32 -0600
From: "Tirumaleswar Reddy (tireddy)" <tireddy@cisco.com>
To: Justin Uberti <juberti@google.com>, Aijun Wang <wangaijun@tsinghua.org.cn>
Thread-Topic: [tram] SSODA in TURN-bis
Thread-Index: AdAq5yRwxEi4Jbc7TpCKn/lLZn1lewAQwSOAAAa2Z4AAG43pgAAAI5Ug
Date: Fri, 09 Jan 2015 02:34:32 +0000
Message-ID: <913383AAA69FF945B8F946018B75898A35529742@xmb-rcd-x10.cisco.com>
References: <913383AAA69FF945B8F946018B75898A35527E46@xmb-rcd-x10.cisco.com> <CAOJ7v-2RVPm=7eWaw05Um6kysbp=1Ch5KQ_me4Q4XXyE4jaTkA@mail.gmail.com> <00b201d02b12$c0ca8d50$425fa7f0$@org.cn> <CAOJ7v-0HNYpYcE5a1XUH-AiL_hPeTCDHj0i+=A5M7owkMFjjgQ@mail.gmail.com>
In-Reply-To: <CAOJ7v-0HNYpYcE5a1XUH-AiL_hPeTCDHj0i+=A5M7owkMFjjgQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.65.41.240]
Content-Type: multipart/alternative; boundary="_000_913383AAA69FF945B8F946018B75898A35529742xmbrcdx10ciscoc_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/tram/D_88tKoEmNFTBrYg6q6GY_FUeJg>
Cc: "tram@ietf.org" <tram@ietf.org>
Subject: Re: [tram] SSODA in TURN-bis
X-BeenThere: tram@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussing the creation of a Turn Revised And Modernized \(TRAM\) WG, which goal is to consolidate the various initiatives to update TURN and STUN." <tram.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tram>, <mailto:tram-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tram/>
List-Post: <mailto:tram@ietf.org>
List-Help: <mailto:tram-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tram>, <mailto:tram-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 09 Jan 2015 02:34:38 -0000

Hi Justin,

option c) looks good, it was discussed in the WG sometime back that TURN-bis client MUST include R-A-F in the Allocate request.

-Tiru

From: Justin Uberti [mailto:juberti@google.com]
Sent: Friday, January 09, 2015 1:53 AM
To: Aijun Wang
Cc: Tirumaleswar Reddy (tireddy); tram@ietf.org
Subject: Re: [tram] SSODA in TURN-bis



On Wed, Jan 7, 2015 at 11:14 PM, Aijun Wang <wangaijun@tsinghua.org.cn<mailto:wangaijun@tsinghua.org.cn>> wrote:
Hi, Justin,

Is it more straightforward to define one new attribute that named “Additional-Address-Family ” instead of the R-A-F and  OPTIONAL-ADDRESS-FAMILY? The endpoint that does not include this attribute will be assigned the relay address that is the same type as seen from the source address of “Allocate Request” packet, not default in IPv4 relay address.

I suppose this could be a third option (c), in addition to (a) multiple R-A-F and (b) multiple optional-a-f.  Here's how a/b/c look on the wire when requesting v4+v6 simultaneously. If requesting v4 or v6 only for some reason, a/b/c would all send a single RAF.

a: RAF (v4) + RAF (v6)
a1: server is 5766: error (RAF required-comprehension but unknown)
a2: server is 6156: v4 address, or error (undefined behavior)
a3: server is SSODA: v4 address + v6 address
b: OAF (v4) + OAF (v6)
b1: server is 5766/6156: v4 address (OAF ignored)
b2: server is SSODA: v4 address + v6 address
c: AAF (v6)
c1: server is 5766/6156: v4 address (AAF ignored)
c2: server is SSODA: v4 address + v6 address

Note that for c), one could send RAF(v4) + AAF(v6), but since that would fail on a 5766 server, sending just AAF(v6) would be preferable.
Note that for b), if one sent OAF(v6) by itself for some reason, a 5766 server would return a v4 address, which is slightly inelegant.
For either b/c, we would need to say that including both RAF and OAF/AAF for the same address family is prohibited.

b) is nice in that it avoids implicit behavior (i.e. that IPv4 is the default AF), but feels a bit more complicated than c). I am supportive of either b)/c), with maybe a slight preference for c).


For reducing the port resource consumption on TURN server that described in https://tools.ietf.org/html/draft-martinsen-tram-ssoda-01, we have another proposal http://datatracker.ietf.org/doc/draft-wang-tram-turnlite/ that can mitigate the ip address/port allocation burden on TURN server------All endpoints that under one TURN server can use the same IPv4/IPv6 relay  address/port.

The port consumption is a side benefit; the primary benefit of SSODA is the reduction in the overall number of candidates.

Best Regards.
Aijun Wang.

From: tram [mailto:tram-bounces@ietf.org<mailto:tram-bounces@ietf.org>] On Behalf Of Justin Uberti
Sent: Thursday, January 08, 2015 12:02 PM
To: Tirumaleswar Reddy (tireddy)
Cc: tram@ietf.org<mailto:tram@ietf.org>
Subject: [SPAM] Re: [tram] SSODA in TURN-bis

I promised I would write up a summary of the current mechanism, and what we could do instead, so here goes:

The currently documented mechanism is to send two R-A-F attributes in the request, and get back either a single address (from legacy servers), v4 + v6 addresses (from new servers), a single address + a 0.0.0.0/<http://0.0.0.0/>:: (for new servers that only support one address family), or an error-code (to indicate complete failure).

At the time, there were 2 concerns listed, namely:
1) sending multiple R-A-Fs is undefined behavior; old (6156) servers may fail the request completely, or do other weird things.
2) using 0.0.0.0/<http://0.0.0.0/>:: to indicate partial success is somewhat unclean; specifically, detailed error information cannot be included.

I also thought of a 3rd problem:
3) an old(5766) server may fail the request completely, due to the fact that R-A-F is comprehension-required. Thus an extra roundtrip may be needed in this case, negating one of the benefits of SSODA.

I think the ideal solution to #1/#3 is to add a new OPTIONAL-ADDRESS-FAMILY attribute, identical to R-A-F but comprehension-optional, where multiple values are explicitly supported. Old servers can safely ignore this and will return IPv4 (solving #3), while new servers can process this to return multiple XOR-RELAYED-ADDRESSes in the response.
#2 is not a serious issue, but it could easily be solved by defining a new ADDRESS-ERROR-CODE as follows:


      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |  Address Family                |  Rsvd  |Class|     Number    |

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      |      Reason Phrase (variable)                                ..

      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



Then a server could return a normal IPv4 address, but a error code for IPv6 with either 440 (unsupported address family) or 508 (insufficient capacity) or some other TBD error.



I advocate we do the OPTIONAL-ADDRESS-FAMILY attribute as it is simple and prevents potential interoperability problems with old servers. I could go either way on ADDRESS-ERROR-CODE.





On Wed, Jan 7, 2015 at 6:02 PM, Tirumaleswar Reddy (tireddy) <tireddy@cisco.com<mailto:tireddy@cisco.com>> wrote:
Hi all,

We are working on incorporating RFC6156 and SSODA into TURN-bis. During IETF-91 meeting there was discussion if the technique proposed in https://tools.ietf.org/html/draft-martinsen-tram-ssoda-01 would break existing TURN server implementations.  Pal had mentioned testing with four implementations and did not face any problem.

Please let us know if there are any concerns with the existing proposal of conveying two REQUESTED-ADDRESS-FAMILY attributes with different attribute values in Allocate request ?

Cheers,
-Tiru

_______________________________________________
tram mailing list
tram@ietf.org<mailto:tram@ietf.org>
https://www.ietf.org/mailman/listinfo/tram