Re: [Ice] ICE PAC: When to start the timer waiting for possible peer reflexive candidates? - discussion restart

Christer Holmberg <christer.holmberg@ericsson.com> Sun, 07 July 2019 09:53 UTC

Return-Path: <christer.holmberg@ericsson.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 F3CFE12008D for <ice@ietfa.amsl.com>; Sun, 7 Jul 2019 02:53:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level:
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 t2Lhwr0Z16kq for <ice@ietfa.amsl.com>; Sun, 7 Jul 2019 02:53:43 -0700 (PDT)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10068.outbound.protection.outlook.com [40.107.1.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 25377120044 for <ice@ietf.org>; Sun, 7 Jul 2019 02:53:42 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IBo16ZIYXv07DY8Hpd5al8DXqS3ZT4iA5mdlZ2l0iJYqJA4zoSaRwGK6NKIHBBrro/H5XZFtKug/M3w0Sx6ajCootE4oM3nqhcYCZpMdkYkxQ+Bc9ss7CgAXU71jYVoWT7f2Np1wrIpp1w378Qk+zbKhWwaH0uDDxrtuB12nsfnCAx/6nRqwV0ZSl1KaXGgANXBmmM9sYKJ4oEcObC4mFfBh2sW/fV1RM1894JjPGFLVQEqnB4rMA/AdXeYZEtfpnZIxJicra/npLlwEIpcRs9h/JKWDqYDd2Q8rsyRHtY1GEYqyz8qsTWIe5c6rCSCMaObXakzvhS+nMgrRzXWAMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5ZqpxR9cRa01tQQ6MsisoADWQ/x62HASW766N9HdDs0=; b=nx7EfgMTc8bsOQR9QRfs+1gtwyDup9dZvhuY8SKYsYmRH4HfDTwMpPXmNzLTXJcn6Idg1CbTNpMiFJbcWesi28rY8t+erAoGTfQk4DgDXhtsT5Y8f0wfpy3CkkdpPu7wFR9HPcbGirKlXhnZzpYv+8JuZFb7Xr+T8m+O+T2J1onO2RE0yB1Bveq2bBFVaf67LvVOXAuykBjItA8vWZRXBV0/L8jFNIRTFjbNgNND9pZusyomqvtcloZxZPrRcK6fAXFKdOUYQHqc12Byw6uFiFHgnIj0wjzcUVE7/EWIrA7BWlrdB7eUZaZ5RQ80Lk96maYK76QCj+1JkS889rG1Ew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=ericsson.com;dmarc=pass action=none header.from=ericsson.com;dkim=pass header.d=ericsson.com;arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5ZqpxR9cRa01tQQ6MsisoADWQ/x62HASW766N9HdDs0=; b=gf6Ao2JmJdm3TKzlVzhixP6FUd6EtneGrPtQ6SzzsxdFUfllE0vsautG9/W1x6eyTf2s5UF3ad4/JafuQhwT6EwEEPC9CUTC4SWFv2TFl5BZU6DGZ2WLIH0GHqJxH2ifODtYMJ0yNd7ItiO2ONSxUxJplzmqKO9crV4RKSC2CeM=
Received: from HE1PR07MB3161.eurprd07.prod.outlook.com (10.170.245.23) by HE1PR07MB4409.eurprd07.prod.outlook.com (20.176.167.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2073.4; Sun, 7 Jul 2019 09:53:40 +0000
Received: from HE1PR07MB3161.eurprd07.prod.outlook.com ([fe80::5050:a3a9:be80:cf43]) by HE1PR07MB3161.eurprd07.prod.outlook.com ([fe80::5050:a3a9:be80:cf43%5]) with mapi id 15.20.2073.008; Sun, 7 Jul 2019 09:53:40 +0000
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Harald Alvestrand <harald@alvestrand.no>, Roman Shpount <roman@telurix.com>
CC: "ice@ietf.org" <ice@ietf.org>
Thread-Topic: [Ice] ICE PAC: When to start the timer waiting for possible peer reflexive candidates? - discussion restart
Thread-Index: AQHVFUwc5tNKLJLjCke9cDBba/EsEKao6YiAgAIHR4CAAAOSAIALwuyAgALR9zCAA+TQgIAAT7gggABkiACAADqWAIAAouSAgAAlktA=
Date: Sun, 07 Jul 2019 09:53:40 +0000
Message-ID: <HE1PR07MB31619019E1BC33E0DD7374A193F70@HE1PR07MB3161.eurprd07.prod.outlook.com>
References: <AFCE8799-8865-454F-8478-81CE11E9B454@ericsson.com> <1aa5aac7-af59-4e3b-8651-18f6e6431a2d@alvestrand.no> <66678ADA-7C02-4D9D-B9D2-308873BC0125@ericsson.com> <7a829bc0-d066-a3be-b7be-9b39ce799821@alvestrand.no> <CAJrXDUHZJURLvzBYX2MGcMsrFgyOagW5=s1OSXwDmTZpsruD0A@mail.gmail.com> <VI1PR07MB3167F21EF7A1009B8EB9948B93FB0@VI1PR07MB3167.eurprd07.prod.outlook.com> <ae88593c-633f-8c18-eac6-82ba3673dce7@alvestrand.no> <HE1PR07MB31614FEC9997294294BB63A393F40@HE1PR07MB3161.eurprd07.prod.outlook.com> <CAD5OKxt_nvwYEDNEFtRSrdDK2BOoTWOL52_5mz99o7M3=5q6kA@mail.gmail.com> <HE1PR07MB3161B5D8D93E3335AB4A81C093F40@HE1PR07MB3161.eurprd07.prod.outlook.com> <1863af99-4a20-c9c0-f472-6bbca406c9ae@alvestrand.no>
In-Reply-To: <1863af99-4a20-c9c0-f472-6bbca406c9ae@alvestrand.no>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=christer.holmberg@ericsson.com;
x-originating-ip: [62.113.190.248]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: da79bcf9-4223-45b4-289d-08d702c0fd4b
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:HE1PR07MB4409;
x-ms-traffictypediagnostic: HE1PR07MB4409:
x-microsoft-antispam-prvs: <HE1PR07MB4409FDF739D99869C449642793F70@HE1PR07MB4409.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0091C8F1EB
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(346002)(366004)(396003)(376002)(136003)(199004)(189003)(55016002)(44832011)(9686003)(66946007)(73956011)(76116006)(478600001)(66446008)(64756008)(66556008)(66476007)(71200400001)(71190400001)(14444005)(256004)(4326008)(25786009)(52536014)(6436002)(229853002)(2906002)(5660300002)(7696005)(53936002)(6506007)(66066001)(102836004)(476003)(76176011)(99286004)(11346002)(316002)(81156014)(81166006)(110136005)(446003)(186003)(8676002)(6116002)(305945005)(74316002)(26005)(14454004)(486006)(7736002)(6246003)(8936002)(3846002)(33656002)(86362001)(68736007); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR07MB4409; H:HE1PR07MB3161.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: h6JQbxzg0mwOhlrhg1qiO4TLOvgqWGngdPhro3bQ/rZgUCwnGDRhCcnJoK5eapVXMRFCcTHLQq8Aby3wcRVjR1CfaUEICVrqY3NXbl3tzt/DwzGw0h3bm4m39rxVkh249YZdRkw5St5fIzfo21egEhBuISvw1cS1Zyemb52JEmTrA+kBvdAaI2+GIWJivOLX3S6VTmpT+asQYfJ8LeQ2GfTMcfi7Hfy9+FbOnjg7s+55rdHZ7ptVBMIJkj9ddcLQ2f5M0gibXxmXuB4JcS2ovPyTXR9qRN/t06FNHZpjChRnk5Fj0t9ra2P+ktEY93m4gMYXS/pZwhhaRbX4kOd/qaMioM+E/jupBLk1MoLh5wkahX2KaRsqYEs+VgOmDau/b8/ZllFdqYaSlnamHjx3yuZvxpn2p1tQtVz4Q/EPkZY=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da79bcf9-4223-45b4-289d-08d702c0fd4b
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jul 2019 09:53:40.1512 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: christer.holmberg@ericsson.com
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB4409
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/2BfDLNqBhRVv8jeldeWZFohjjXs>
Subject: Re: [Ice] ICE PAC: When to start the timer waiting for possible peer reflexive candidates? - discussion restart
X-BeenThere: ice@ietf.org
X-Mailman-Version: 2.1.29
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: Sun, 07 Jul 2019 09:53:46 -0000

Hi,

>>> If there are remote candidates to check, then ICE should continue 
>>> checking them. Part of the problem is that when ICE is starting, it 
>>> is unclear if remote candidate have not been received yet, no usable remote
>>> candidates where received, or remote candidates are not going to be sent at all. 
>>> Also, checking remote candidates can end very quickly if remote candidates are 
>>> unreachable (fail immediately with ICMP remote address unreachable message).
>> Ok, let's assume we DO have remote candidates, and the timer expires. We discard the fact that the timer expires, and go on checking the remote candidates, as you suggested.
>>
>> Then, at some point we have checked all remote candidates, but we have NOT found successful pairs for all streams. So, since the timer already expired, we declare ICE failure.
>>
>> I thought the whole idea was to still wait for some time after we have tried all remote candidates, in case we will receive peer reflexive candidates, before we declare ICE failure.
>
> The scenario that I saw starting this debate was:
>
> - Offer/answer happens
>
> - Either some candidate pairs are formed, or no candidate pair are formed
>
> - All the candidate pairs formed can be discarded very quickly (because they are the wrong protocol, or non-routable addresses)
>
> - Failure is declared
>
> - ICE BIND requests from the other side arrive, giving peer-reflexive candidates, but ICE connection is already closed

I agree that is a valid use-case.

But, isn't that use-case just a version of the generic use-case: when we have no more remote candidates, we start a timer in order to wait for potential peer reflexive candidates? 

> The arrival time of the ICE BIND requests from the other side is independent of the length of the local candidate pair list, it depends on the length 
> of the remote candidate pair list, which is unknowable on the local side. The most likely time is "really fast".
>
>> But, as I said earlier, I am fine doing as you and others suggest. All I am saying is that the draft needs to describe what to do if the timer expires 
>> while there are still untested remote candidates. If the solution is to discard the timer expiration, then it needs to be documented.
>
> Saying that the timer and pair testing proceeds in parallel is all that needs to be said, I think.
> Declaring failure requires BOTH the timer to have expired AND testing of candidate pairs to complete.

No matter what solution we move forward with: we also need to define whether this applies to trickle.

For example, what if BOTH the timer has expired AND testing of currently available candidate pairs are complete, but trickle is still ongoing? Do we declare ICE failure, or do we discard the timer expiration?

Regards,

Christer