Re: [Ice] Should teredo type preference be relayed or host?

Peter Thatcher <pthatcher@google.com> Fri, 27 October 2017 15:37 UTC

Return-Path: <pthatcher@google.com>
X-Original-To: ice@ietfa.amsl.com
Delivered-To: ice@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BDC5913B109 for <ice@ietfa.amsl.com>; Fri, 27 Oct 2017 08:37:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 J7bkhxfYbFxX for <ice@ietfa.amsl.com>; Fri, 27 Oct 2017 08:37:04 -0700 (PDT)
Received: from mail-qt0-x235.google.com (mail-qt0-x235.google.com [IPv6:2607:f8b0:400d:c0d::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A9D2D1389E1 for <ice@ietf.org>; Fri, 27 Oct 2017 08:37:04 -0700 (PDT)
Received: by mail-qt0-x235.google.com with SMTP id v41so8865536qtv.12 for <ice@ietf.org>; Fri, 27 Oct 2017 08:37:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=wwpGAtXz9X7CP+ZUO0cHJQDYbjy9SJbx7u7hZqsc1tY=; b=Ii6dqYAhzOVZ9O1XOXPxbO7WSwwPLxL+TTaV/2VikN7LIf9R9e+MWJ3iFCerXaSkvl 08SMuNCfhu8iy7SJVrWdRnkjC2BuUngeFnVO2/G6cSUz31D2MqVZOFWl0KQSUjh/v/ej wTgY9DUXxaCiCHuQ/xw9cCp1aXEU5wK0YH+yPcodX9HsGGlYlNb8fbsJyviZKA3OA/3N THjUB9dIXKRPzYOw344Y6JVyb7YnGzq92kqh/adUNsdxz+0/WsN1jWcGefoSsraSf+A2 5PA3G+SLCjy5DmQAY/HdtlJ7fWJQ/0zg12YhI+ML1vK+lmXqkIHLOxslCEC6YB58CKI5 CS9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wwpGAtXz9X7CP+ZUO0cHJQDYbjy9SJbx7u7hZqsc1tY=; b=ji8b5eX9KkW1Fk3ZEWwGJp55qlozMXC7SfY89ZY3uqghUqV8jbnO1sVyNSPX4ybTBF zEjkQInOU966FioiLxnsrzUe58CqxsFwJFRcCPWlLfQQC1lHfxZE2jkC/utBZXNsjK+k p6AsiMkcAWjee2tLgxFSvvPOTkodyiewxV0mmzmEtyp/0OzXvykyI/LwIxAwiQwFcOth fPvgQDWre6o2MuuFpS6JoMsKSKw1ER+5T1YNxPh8j6sKncZotimW2641u/BMmELs7REt bn+Qhh2pU/kjoV1PeEUVsQRe6BZn6vJElc6zDq6fRsucGiR5S6RcOvZFwh7xlpE4Poxv pE8A==
X-Gm-Message-State: AMCzsaVnz1SUx8vr1HNSxmGEoFF1iuvspydhbmXm1qe3adLlViOh1XWB 0fH0Rqyz75xBkFIWGmHQxEZc7rfifHJYHKAg+syyaA==
X-Google-Smtp-Source: ABhQp+RQi51WY7pz4cX4ELFpBv5trC+yYqtcH0KbEH5X2abtknIC+Ou0QEWV/HWLVL4KVBqTx1TZ510ADkHyn9F5jbk=
X-Received: by 10.200.1.20 with SMTP id e20mr1371443qtg.243.1509118623462; Fri, 27 Oct 2017 08:37:03 -0700 (PDT)
MIME-Version: 1.0
References: <ba81bd75-ef65-7900-0fab-cc00c26f681c@niif.hu> <CAJrXDUGNW4e9KyTJJcscE6M6Gxu0ExHWu8n_gij-57hLeqyE_A@mail.gmail.com> <25383ed9-e932-b192-6573-31071946f71d@niif.hu> <CAJrXDUHHWodAbB3vYCuYGKOf6Jv9F23shCpsnDUKOYh=B3BkAQ@mail.gmail.com> <CAOW+2duO26=nLsk0GPZUmOpz61yhG+m1W_bgSYh65v2gM_4Skg@mail.gmail.com> <81cd71c2-f1b0-dbab-8b1c-eb726d3c847d@niif.hu> <CAOW+2dvF2bqJ0Nn8HVKw1Vru4P9u1v=2EJyfuwiTbOccRHjhUA@mail.gmail.com>
In-Reply-To: <CAOW+2dvF2bqJ0Nn8HVKw1Vru4P9u1v=2EJyfuwiTbOccRHjhUA@mail.gmail.com>
From: Peter Thatcher <pthatcher@google.com>
Date: Fri, 27 Oct 2017 15:36:51 +0000
Message-ID: <CAJrXDUHDqXyG_Xbcv0WEJmGoCvNxYND6-2Q1RLZNHZpabiXYtg@mail.gmail.com>
To: Bernard Aboba <bernard.aboba@gmail.com>
Cc: Mészáros Mihály <misi@niif.hu>, ICE WG <ice@ietf.org>
Content-Type: multipart/alternative; boundary="f403045f2b0e7a63b8055c890f38"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/VDeG_TJyBqorVKQ3vQamiSPhRV0>
Subject: Re: [Ice] Should teredo type preference be relayed or host?
X-BeenThere: ice@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Interactive Connectivity Establishment \(ICE\)" <ice.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ice>, <mailto:ice-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ice/>
List-Post: <mailto:ice@ietf.org>
List-Help: <mailto:ice-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ice>, <mailto:ice-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Oct 2017 15:37:09 -0000

Seems like we've reached the conclusion that the reference to dual stack is
sufficient and we don't need to make any changes to the draft.

On Wed, Oct 4, 2017 at 2:55 PM Bernard Aboba <bernard.aboba@gmail.com>
wrote:

> We have found that Teredo candidates are rarely optimal, and often have
> high failure rates on checks, so that the "unreliable  connectiv
> ity" advice in the dual stack document applies well to them.
>
>
> On Oct 3, 2017 9:08 PM, "Mészáros Mihály" <misi@niif.hu> wrote:
>
> The application should make decision based on the gathered IP address, and
> if it has prefix 2001::/32 then consider it as TEREDO address and so
> "unreliable connectivity"?
>
> Am I understand you correctly?
> On 2017-10-03 18:09, Bernard Aboba wrote:
>
> Peter said:
>
> "It sounds like this is more similar to host candidates on a VPN network
> interface.  Is that correct?"
>
> [BA] There have been problems with Teredo relay routability, so the
> following snippets from
> https://tools.ietf.org/html/draft-ietf-ice-dualstack-fairness apply:
>
>    Applications should take special care to deprioritize network
>    interfaces known to provide unreliable connectivity when operating in
>    a multihomed environment.  For example, certain tunnel services might
>    provide unreliable connectivity.  Doing so will ensure a more fair
>    distribution of the connectivity checks across available network
>    interfaces on the device.  The simple guidelines presented here
>    describe how to deprioritize interfaces known by the application to
>    provide unreliable connectivity...
>
>    Candidates with IP addresses from an unreliable interface should be
>    ordered at the end of the checklist, i.e., not intermingled as the
>    dual-stack candidates.
>
>
> On Mon, Oct 2, 2017 at 10:05 PM, Peter Thatcher <pthatcher@google.com>
> wrote:
>
>> Ah, I misunderstood TEREDO.  I thought you were saying that there was a
>> server giving out candidates (in which case I thought it could just mark
>> it's candidates as relay).
>>
>> It sounds like this is more similar to host candidates on a VPN network
>> interface.  Is that correct?
>>
>> On Mon, Oct 2, 2017 at 9:57 PM Mészáros Mihály <misi@niif.hu> wrote:
>>
>>> Hi Peter et al.
>>>
>>>
>>>
>>> Why wouldn't TEREDO endpoints just say the candidates are relayed if
>>> they think it's wise?
>>>
>>> I assume "TEREDO endpoint" in your terminology is the "Teredo client".
>>> Teredo Client setups a new interface (Teredo Tunneling Pseudo-Interface)
>>> on windows with an IPv6 address
>>> It seems to be a host candidate, because it setups local
>>> adapter/interface with IPv6 address.
>>>
>>> ICE will detect it as host candidate.
>>> It seems host candidate, but it is tunneled and relayed, and so in my
>>> opinion it should be treated as relayed.
>>>
>>> e.g.
>>> Chrome: 57.0.2987.133
>>>
>>> sdpMid: audio, sdpMLineIndex: 0, candidate: candidate:3123958951 <%28312%29%20395-8951> 1 udp 212225510 2001::5ef5:79fd:2c57:21fb:3e1e:c8bb 54819 typ host generation 1 ufrag D02B network-id 1 network-cost 50
>>>
>>>
>>>
>>>
>>> Why does this need to be in the ICE spec?
>>>
>>> TEREDO is an IPv6 smooth transition technology, that is a tunnel and
>>> relay very similarly to TURN in many aspects,
>>> but it is  treated as host candidate IMHO that is not optimal.
>>>
>>> ICE spec defines:
>>>
>>>    - host candidates
>>>
>>>    Host candidates are obtained by binding to ports on an IP address
>>>    attached to an interface (physical or virtual, including VPN
>>>    interfaces) on the host.
>>>
>>>    - type preferences.
>>>
>>> 4.1.2.2.  Guidelines for Choosing Type and Local Preferences
>>>
>>>    The RECOMMENDED values for type preferences are 126 for host
>>>    candidates, 110 for peer reflexive candidates, 100 for server
>>>    reflexive candidates, and 0 for relayed candidates.
>>>
>>>
>>> The Spec recommends, type preference for host candidates, and TEREDO
>>> according current spec definition is a "host candidate".
>>> According these, Teredo as it is local host IPv6 address, it is a "host
>>> candidate" with the highest type preference.
>>> VS.
>>> Relayed with type preference 0.
>>>
>>> IMHO spec should address this edge case where it seems to be host
>>> candidate but it is more related to tunneled/relayed.
>>>
>>>
>>> Thanks,
>>> Misi
>>>
>>>
>>> On 2017-10-03 00:49, Peter Thatcher wrote:
>>>
>>> Why wouldn't TEREDO endpoints just say the candidates are relayed if
>>> they think it's wise?  Why does this need to be in the ICE spec?
>>>
>>> On Mon, Oct 2, 2017 at 3:44 PM Mészáros Mihály <misi@niif.hu> wrote:
>>>
>>>> Hi,
>>>>
>>>> Please correct me if I totally misunderstand the situation, but
>>>>
>>>> AFAIU Teredo is considered according ICE as a host candidate and
>>>> according it, we have to use the host local type preference for it.
>>>>
>>>> (That seems to be logical because it is on the host interface.)
>>>>
>>>>
>>>> IMHO that is not the right behavior, because TEREDO is doing also
>>>> relaying,
>>>> and should be not considered as host candidate type rather consider it
>>>> as relayed type.
>>>>
>>>> I can configure a very close TURN relay in WebRTC UA, but in the other
>>>> hand I can not set the TEREDO relay location,
>>>> because it depends on the network provider BGP. (anycast BGP 2001::/32)
>>>>
>>>> Many endpoints is doing TEREDO.
>>>> On Windows AFAIK TEREDO is enabled by default, and all such home users
>>>> with ipv4 only + nat box has TEREDO IPv6 address configured.
>>>>
>>>> My experience was that my peers are located in Hungary and I set a very
>>>> close Hungarian TURN server, surprisingly the media use TEREDO relay in
>>>> UK.... :-(
>>>>
>>>> If TURN and TEREDO both do relaying, then I think TEREDO should also
>>>> considered as relayed candidate..
>>>>
>>>> If I have very close nice low latency TURN service, that is close to the
>>>> communication peers, than I don't want to prefer so much the TEREDO
>>>> relay.
>>>>
>>>> Actually according to the actual ICE behavior, because Teredo considered
>>>> as host address,
>>>> ICE will definitely choose and use TEREDO relay, even if it will be also
>>>> relayed like TURN, and may even adds more latency than the TURN.
>>>>
>>>>
>>>> All in all, I think the new 5254-bis rfc should clarify this case, and
>>>> because TEREDO is also relaying, so I propose to define in the text an
>>>> exception for this case.
>>>> Consider TEREDO candidate type preference even if it is discovered on
>>>> the host interface, as relay and not as host.
>>>>
>>>> Please comment/correct my thoughts.
>>>>
>>>> Thanks,
>>>>
>>>> Misi
>>>>
>>>>
>>>> _______________________________________________
>>>> Ice mailing list
>>>> Ice@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/ice
>>>>
>>>
>>>
>> _______________________________________________
>> Ice mailing list
>> Ice@ietf.org
>> https://www.ietf.org/mailman/listinfo/ice
>>
>>
>
>
>