Re: [tram] SSODA in TURN-bis

"Aijun Wang" <wangaijun@tsinghua.org.cn> Fri, 09 January 2015 03:12 UTC

Return-Path: <wangaijun@tsinghua.org.cn>
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 0284B1A802D for <tram@ietfa.amsl.com>; Thu, 8 Jan 2015 19:12:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.792
X-Spam-Level:
X-Spam-Status: No, score=0.792 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001, RCVD_IN_PSBL=2.7, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 Rs5mdTijnetY for <tram@ietfa.amsl.com>; Thu, 8 Jan 2015 19:12:02 -0800 (PST)
Received: from tsinghua.org.cn (mail.tsinghua.org.cn [211.151.65.103]) by ietfa.amsl.com (Postfix) with ESMTP id 5D7141A802C for <tram@ietf.org>; Thu, 8 Jan 2015 19:11:59 -0800 (PST)
Received: from ctbriwangaij (unknown [219.142.69.75]) by app1 (Coremail) with SMTP id Z0GX06DrHwa7Ma9Uvx+pAA==.6043S4; Fri, 09 Jan 2015 09:41:32 +0800 (CST)
From: Aijun Wang <wangaijun@tsinghua.org.cn>
To: "'Tirumaleswar Reddy (tireddy)'" <tireddy@cisco.com>, 'Justin Uberti' <juberti@google.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> <913383AAA69FF945B8F946018B75898A35529742@xmb-rcd-x10.cisco.com>
In-Reply-To: <913383AAA69FF945B8F946018B75898A35529742@xmb-rcd-x10.cisco.com>
Date: Fri, 09 Jan 2015 11:11:29 +0800
Message-ID: <008f01d02bb9$fef15f80$fcd41e80$@org.cn>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0090_01D02BFD.0D149F80"
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AdAq5yRwxEi4Jbc7TpCKn/lLZn1lewAQwSOAAAa2Z4AAG43pgAAAI5UgAADeryA=
Content-Language: zh-cn
X-CM-TRANSID: Z0GX06DrHwa7Ma9Uvx+pAA==.6043S4
X-Coremail-Antispam: 1U3129KBjvJXoW3Wry3GF4UuFWrWrWkuF45KFg_yoWxXFW7pF W5J3yrGr4kXryxJw4kZr10vF1FvFZ0yFyktr95tryxZ398JFZrAw4UKw45Ga9rWrs5Gw4j qr4Uuw4Dur15ZrJanT9S1TB71UUUUU7v73VFW2AGmfu7bjvjm3AaLaJ3UjIYCTnIWjQlb7 Iv0xC_Jr1l5I8CrVAYj202j2C_Xr0_Wr1l5I8CrVAqjxCE14ACF2xKxwAqx4xG64kEw2xG 04xIwI0_Jr0_Gr1l5I8CrVCF0I0E4I0vr24lb4IE77IF4wAFF20E14v26r4j6ryUM7C26x Cjj4IEI4klw4CSwwAFxVCaYxvI4VCIwcAKzIAtMcIj6x8ErcxFaVAv8VW8AwC2zVAF1VAY 17CE14v26r1Y6r170xZFpf9x0JURE__UUUUU=
Archived-At: <http://mailarchive.ietf.org/arch/msg/tram/VJ7i52YlP9CzYvGrI6AY0R_YJOE>
Cc: 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 03:12:05 -0000

Hi, Reddy and Justin:

 

Can we use only one attribute to accomplish the requirement of relay address that for additional address family? The TURN server can deduct the default relay address type by the XOR-MAP-Address that it seen from the  allocation request.  It can also satisfy the further situation such as only IPv6 TURN server deployed, but there is still the Dual stack ICE client exist.

 

Reuse or Redefine the RAF attribute then?

 

Best Regards.

 

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

 

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> 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] On Behalf Of Justin Uberti
Sent: Thursday, January 08, 2015 12:02 PM
To: Tirumaleswar Reddy (tireddy)
Cc: 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/:: (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/:: 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> 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
https://www.ietf.org/mailman/listinfo/tram