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

Bernard Aboba <bernard.aboba@gmail.com> Wed, 04 October 2017 21:55 UTC

Return-Path: <bernard.aboba@gmail.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 848301323B4 for <ice@ietfa.amsl.com>; Wed, 4 Oct 2017 14:55:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 ESmANlsDBhxo for <ice@ietfa.amsl.com>; Wed, 4 Oct 2017 14:55:52 -0700 (PDT)
Received: from mail-vk0-x22a.google.com (mail-vk0-x22a.google.com [IPv6:2607:f8b0:400c:c05::22a]) (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 48C611321A2 for <ice@ietf.org>; Wed, 4 Oct 2017 14:55:52 -0700 (PDT)
Received: by mail-vk0-x22a.google.com with SMTP id g69so7106501vke.5 for <ice@ietf.org>; Wed, 04 Oct 2017 14:55:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=V8TTz1DqAjlDSlHd8QdtJeQDsO144ODu3dQ37umZSR8=; b=Mjz5uZ319dTVz6sbSpxbowJ4sS50wH7ZJU6UjcLvNZNGVZwgrWd114mt65Q+7mZZAE 11m3OphHTLAf2pv0TvBCBzR1oHGHPtr0BR+nKMelS0jW8sHc2dZGkAF5GyYna+XwpUr4 FmGH0I9hittpcrJ37rpzZLtbONFT6l7//pQ/+v///DGruP0XL5WtUAAqFUB0bS1SctaK 0R6I/+kAkMKQGWAN5sxxnurrJm9lqn3G0+oYBkhHJqbmE2wWrVnrGGunyTKnwMvufWv8 9ybXyOcfGVT2ZfnOlc2rypRPo1zT6L81b7qa/coWvZAChgHICxj17FPAzRAXIeJh/cD3 GDTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=V8TTz1DqAjlDSlHd8QdtJeQDsO144ODu3dQ37umZSR8=; b=aYIz+YU8BMFIoLblVLuMLv7EChj5+K3R8Felg2UyYYNGh1SaKAUccuKCx5cSIueK2Y +EK7FlqrgCG4p32ovaWG1GnWqB7ONf8wD5dbQP0+uIQ7TUHuYXIwg0IBw3k1T64F6LgD GBZDiJ/PiF/GRPikGgODiOY77HkBMCVuv2x5NhCs1DLIInfuoFpmptIHbq117WpM6+K7 piKtVsQmveVfjIP7qr69kK5mtaZecp3GzUz4HXGZ2vSVJeyIEzrTqnpgOn0kn24GOLXs 9tf+WNBXit7683zEj0lLzIsttuSYzL9ecW8JVXPKPvrZNCf607OHHsCv69nFXD7stRKy b2Ow==
X-Gm-Message-State: AMCzsaWj5mhF94EbEI06ks4FvAj7AQGaKiI5zu9Z/7avmRdycexeZRou 7+JnDRJ52keM0IdoCXFmUVcNwTIhzlSDl5t2i/w=
X-Google-Smtp-Source: AOwi7QBZk0Rg8SRBTyGo3GSqFar3MGwX0GV16hU0bUTRPOJ5nU5SN0kKexJmL+FTGCsIiLSwSNgvf6Of0kunBLgw0d4=
X-Received: by 10.31.62.76 with SMTP id l73mr6283545vka.107.1507154151054; Wed, 04 Oct 2017 14:55:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.159.32.76 with HTTP; Wed, 4 Oct 2017 14:55:50 -0700 (PDT)
Received: by 10.159.32.76 with HTTP; Wed, 4 Oct 2017 14:55:50 -0700 (PDT)
In-Reply-To: <81cd71c2-f1b0-dbab-8b1c-eb726d3c847d@niif.hu>
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>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Wed, 04 Oct 2017 14:55:50 -0700
Message-ID: <CAOW+2dvF2bqJ0Nn8HVKw1Vru4P9u1v=2EJyfuwiTbOccRHjhUA@mail.gmail.com>
To: Mészáros Mihály <misi@niif.hu>
Cc: ICE WG <ice@ietf.org>, pthatcher@google.com
Content-Type: multipart/alternative; boundary="001a114476c2cba314055abfab27"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/00cju1fSzVjWU6qjY1KZhciZ4Pg>
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: Wed, 04 Oct 2017 21:55:55 -0000

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
>
>