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

Bernard Aboba <bernard.aboba@gmail.com> Tue, 03 October 2017 16:09 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 15FC613422B for <ice@ietfa.amsl.com>; Tue, 3 Oct 2017 09:09:26 -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 VmJlrQUb6ibu for <ice@ietfa.amsl.com>; Tue, 3 Oct 2017 09:09:23 -0700 (PDT)
Received: from mail-vk0-x22d.google.com (mail-vk0-x22d.google.com [IPv6:2607:f8b0:400c:c05::22d]) (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 29454134EBA for <ice@ietf.org>; Tue, 3 Oct 2017 09:09:23 -0700 (PDT)
Received: by mail-vk0-x22d.google.com with SMTP id d12so4877004vkf.1 for <ice@ietf.org>; Tue, 03 Oct 2017 09:09:23 -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=FiA/C6giikrLDsW0wU2LB/CVi8WYwaUPAU31oMyEXpI=; b=DdgGEde8wxIwBqGCiOiMi3pQ1Fk68qQ6toVgWXsoPofZSf/xpaBYcTnhQpuT3dhk/1 ql4AVvwLefp8lvslHf1Wt3H2SDYRaF2j3ca74uu4PgUo1KHLxSzaH0RaSEpB8jnoklVG vI36AIp52kHW4z3mE+6/qEK8cOiGVE+1S9Y4dw3SC4vTt8j5YVX4sFo71oyRJroCtkt/ 9aj4guq7fojey3A3NfCEqnFsof6ueUEZmPMZ9f9J+81r8lXHVdDzcNAWJzUpqac42ZNA wV2hhfbPJGW5KjdGiP+fTdl8YBRpENttbLxVFrphCjJ5PcWkV8U7LWvtjwud41WqNVB/ S3xQ==
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=FiA/C6giikrLDsW0wU2LB/CVi8WYwaUPAU31oMyEXpI=; b=jMYyeJiEBX6Zd7GvzlWVLENaAohioGk176xs8iMyFt9VX4R8cPeGyFWHbQtpP41BIr lM3kaAJ2DWwrPxSeuoPql6+lRVV1UpswmkLPPZcGBnwosq2C70wNhfttcKSaLJxuW5H7 6+A2rWyNRz5ZiyRuHqUBVO176rTj2kJlJAwRF82eyKANjuLnTQVd+Q3HdlnhyeVrl8zu GmjBz914sqzkanY5CagB5Lp53HJRXuc1iS7YMQtSRlzsKF2yapjNqWsUXt2AkVIQ/L5l nJlYOL1PMllqc/5tCIoGWXurhMFHUdlamnrmlig8zFVwKzAU+R9b1R3nGS7q8tVVBjtZ uV7g==
X-Gm-Message-State: AMCzsaVc5o0hUBoFNaok0+PBAD7FT6K3YXYK0ok6nLtSk3u+XvesFwcr XuGIb54/hpoo7q29ZrUS8WuSKsjfy3pdGwWQQvU=
X-Google-Smtp-Source: AOwi7QCu7jhCp6bFg33+bUvNnK2MDyp9jxJMajKX+R7ySWykyRSJq3RteRL5wGah6xUjCB0DW9q7KCXoPPYpl6DjDc4=
X-Received: by 10.31.62.76 with SMTP id l73mr3916381vka.107.1507046961974; Tue, 03 Oct 2017 09:09:21 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.159.32.76 with HTTP; Tue, 3 Oct 2017 09:09:01 -0700 (PDT)
In-Reply-To: <CAJrXDUHHWodAbB3vYCuYGKOf6Jv9F23shCpsnDUKOYh=B3BkAQ@mail.gmail.com>
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>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Tue, 03 Oct 2017 09:09:01 -0700
Message-ID: <CAOW+2duO26=nLsk0GPZUmOpz61yhG+m1W_bgSYh65v2gM_4Skg@mail.gmail.com>
To: Peter Thatcher <pthatcher@google.com>
Cc: Mészáros Mihály <misi@niif.hu>, ICE WG <ice@ietf.org>
Content-Type: multipart/alternative; boundary="001a114476c2d41f0a055aa6b696"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/jFqwXb6i05EsyFViGvbzNif9tHE>
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: Tue, 03 Oct 2017 16:09:26 -0000

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 <(312)%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
>
>