Re: [MMUSIC] ICE-bis: pacing of ICE connectivity checks

Ari Keränen <ari.keranen@ericsson.com> Wed, 23 October 2013 13:31 UTC

Return-Path: <ari.keranen@ericsson.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 961D511E83C5 for <mmusic@ietfa.amsl.com>; Wed, 23 Oct 2013 06:31:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.949
X-Spam-Level:
X-Spam-Status: No, score=-5.949 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_SE=0.35, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y8L0PTR4FD8g for <mmusic@ietfa.amsl.com>; Wed, 23 Oct 2013 06:31:06 -0700 (PDT)
Received: from mailgw2.ericsson.se (mailgw2.ericsson.se [193.180.251.37]) by ietfa.amsl.com (Postfix) with ESMTP id E8DCA11E8196 for <mmusic@ietf.org>; Wed, 23 Oct 2013 06:31:05 -0700 (PDT)
X-AuditID: c1b4fb25-b7eff8e000000eda-f7-5267cf98ad75
Received: from ESESSHC023.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw2.ericsson.se (Symantec Mail Security) with SMTP id 60.96.03802.89FC7625; Wed, 23 Oct 2013 15:31:05 +0200 (CEST)
Received: from ESESSMB205.ericsson.se ([169.254.5.37]) by ESESSHC023.ericsson.se ([153.88.183.87]) with mapi id 14.02.0328.009; Wed, 23 Oct 2013 15:31:04 +0200
From: Ari Keränen <ari.keranen@ericsson.com>
To: Emil Ivov <emcho@jitsi.org>
Thread-Topic: [MMUSIC] ICE-bis: pacing of ICE connectivity checks
Thread-Index: Ac7MD6NfvGuI93GmRnipYmfd4J6njP//4E2AgAAueYCAAT86AIAAFkwAgAM3nwCAAEZjgIAAQsKAgAAHGICAAIzVAIAAergAgAFzuoA=
Date: Wed, 23 Oct 2013 13:31:03 +0000
Message-ID: <861759C7815040489720E3CC184F51DD1C481E05@ESESSMB205.ericsson.se>
References: <526147C3.9040204@ericsson.com> <CAPvvaa+8osKGTNCS6RJywS9Bmf+RdbnChN=XqA9d+gLnBBAGow@mail.gmail.com> <5261704B.9090307@nostrum.com> <52627C14.8080309@jitsi.org> <1373AC9C23D80E44856F5CF6F883ACAB115574BB@xmb-rcd-x06.cisco.com> <52651780.60108@ericsson.com> <CAPvvaaL2ToQ1dxkYJbYHrLtQCFsYH7r2C=E1eYHD8KhzHsJXSA@mail.gmail.com> <861759C7815040489720E3CC184F51DD1C477C0F@ESESSMB205.ericsson.se> <CAPvvaaJnRahHZTuoG7wiNxmr5eo_sYjE8OVczS42fvWcf6C27A@mail.gmail.com> <861759C7815040489720E3CC184F51DD1C4791C6@ESESSMB205.ericsson.se> <526697C4.6030207@jitsi.org>
In-Reply-To: <526697C4.6030207@jitsi.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.150]
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <04860AEB79BB6D46BB3E5DFC9E7D73C1@ericsson.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrOLMWRmVeSWpSXmKPExsUyM+Jvje7M8+lBBvuOM1vs+buI3WLNzgks FlOXP2axeH99JYsDi8eU3xtZPZYs+cnk8f9NoMesnU9YAliiuGxSUnMyy1KL9O0SuDK2bVvC XvBbp+JTz37WBsY2lS5GTg4JAROJd5snM0PYYhIX7q1n62Lk4hASOMwo8WftA1YIZzGjxPfX 69hAqtgE7CUmr/nICGKLCMhLdLctYgKxmQXyJD4+eAxWIyzgIPH8zTp2iBpHiftL1rNC2GUS TWsh4iwCqhJPT0Js5hXwlfj3fzs7xLITLBKHu1eCNXAKaEr0fL0GtoAR6Lzvp9ZALROXuPVk PhPE2QISS/ach3pBVOLl43+sELaSxIrtlxgh6vUkbkydAnQcB5BtLTH9hzNEWFti2cLXUDcI Spyc+YRlAqP4LCQbZiHpnoXQPQtJ9ywk3QsYWVcxsucmZuaklxttYgRG3sEtv1V3MN45J3KI UZqDRUmc98Nb5yAhgfTEktTs1NSC1KL4otKc1OJDjEwcnFINjC6Ch9ZO71KrPHu+YfJ9uedz 74mcPTHbKiazh0Peq0bzmRhnfc/zNw9CJ8x+8DH90Wfdvql75h1O+ynf9Gt++Qr2kvBJry9a NjoUvLx0oyZe59y1gxdfLX5cX/WQU/HeFoOrc9J8zFoVT13pnHy4TWf6auuVS0LOzngSmfHu 08sUx4XvOK+oXTdSYinOSDTUYi4qTgQAfn67+4oCAAA=
Cc: mmusic <mmusic@ietf.org>
Subject: Re: [MMUSIC] ICE-bis: pacing of ICE connectivity checks
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmusic>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Oct 2013 13:31:11 -0000

Hi Emil,

On Oct 22, 2013, at 6:20 PM, Emil Ivov wrote:
> On 22.10.13, 10:01, Ari Keränen wrote:
>> On Oct 22, 2013, at 2:37 AM, Emil Ivov wrote:
>>> On Tue, Oct 22, 2013 at 1:11 AM, Ari Keränen
>>> <ari.keranen@ericsson.com> wrote:
>>>> 
>>>> On Oct 21, 2013, at 10:12 PM, Emil Ivov wrote:
>>>> 
>>>>> I still don't get it. Why would we recommend values for
>>>>> different applications? We already tell applications to pace
>>>>> checks in accordance with expected traffic, which they
>>>>> supposedly can gauge better than the text in our RFC.
>>>>> 
>>>>> A minimum value does make sense because it would basically say:
>>>>> "don't go below this value or you might brake the network or
>>>>> otherwise cause harm". That's actually useful advice.
>>>> 
>>>> Exactly. We're not proposing (different) values for different
>>>> application. The proposal is to pace checks according to the
>>>> expected traffic. For RTP there is a formula, for other traffic
>>>> you're on your own (come up with formula, or what ever). The
>>>> "second" value is only for the cases where you don't know better
>>>> and should use something conservative.
>>> 
>>> If you don't know better why wouldn't you just use RTP's 20 ms
>>> pacing given that we've already blessed it as safe and harmless and
>>> NAT friendly?
>>> 
>> 
>> 20 ms pacing has been blessed NAT friendly but not necessarily safe
>> and harmless for the rest of the network.
> 
> Apparently we are happy to take the chance (5245):
> 
>   Experiments have shown
>   that once every 20 ms is well supported, but not much lower than
>   that.  This is why Ta has a lower bound of 20 ms.

Yes, with NAT binding creation.

>> Also, if you start sending
>> connectivity checks faster than your uplink can handle, you'll end up
>> with false negatives due to dropped connectivity check packets.
> 
> Sure, but a second bound of 50ms does not address this. Not more than 20ms or 500ms. You can always be on a link that will be saturated.
> 

Of course if the link is already fully saturated there's not much you can do (except detect that using it is a bad idea). But the chances of that happening on a non-saturated link are naturally getting lower and lower the longer pacing you have. With 500 ms pacing there aren't many real-world links (unless they're saturated) that could not handle it. Then the question is if 50 ms is "conservative enough"?

>> Hence
>> I do see value in being a bit conservative if you don't know better.
> 
>> But would you like to see only a single value, 20 ms, which should be
>> used always for pacing and no other recommended values whatsoever?
> 
> Yes. If we could say, "go at a pace that emulates that of the ensuing streams, but never go below 20ms", I'd be happy.

I agree, that's what we should say ("come up with formula or whatever for your non-RTP traffic to emulate the ensuing streams"). It's just for the cases where you don't have any good information on the ensuing streams when you'd need this second, more conservative, value to fall back to.

> I'd also be happy if experimentation shows that the 20ms value needs to be changed to something else.

Me too. Let's see what Justin's experiments tell us about this.


Cheers,
Ari

>> 
>>>> 
>>>>> Now, having two such values starts being weird again, unless we
>>>>> have data that shoes that networks break differently depending
>>>>> on the UDP payload or port number or whatever.
>>>>> 
>>>>> --sent from my mobile
>>>>> 
>>>>> On 21 Oct 2013 14:01, "Ari Keränen" <ari.keranen@ericsson.com>
>>>>> wrote: On 10/19/13 4:53 PM, Pal Martinsen (palmarti) wrote: On
>>>>> Oct 19, 2013, at 05:33 AM, Emil Ivov <emcho@jitsi.org> wrote:
>>>>> On 18.10.13, 19:30, Adam Roach wrote: On 10/18/13 09:44, Emil
>>>>> Ivov wrote: It might be worth reminding exactly what these 50ms
>>>>> would be protecting us against
>>>>> 
>>>>> They're protecting us against RTP arriving at a rate of 20ms
>>>>> per packet.
>>>>> 
>>>>> That would indeed be one of the reasons to pace checks (in
>>>>> addition to fragile NAT boxes IIRC), however in either case, I
>>>>> fail to realise why we need a different pacing strategy for
>>>>> non-RTP. This is what I was asking about.
>>>>> 
>>>>> Connectivity check hammers can still resort to RTP if the
>>>>> pacing timer is their only problem and I don't see why shaky
>>>>> NATs would tolerate a 20ms rate for RTP but only a 50ms for
>>>>> anything else.
>>>>> 
>>>>> This entire separation sounds quite arbitrary right now. I see
>>>>> why we would pick a value that we consider somewhat safe and
>>>>> secure but I don't understand why we would need two!?
>>>>> 
>>>>> I agree. No need to add more complexity. ICE should be ignorant
>>>>> of what traffic goes through the pinholes.
>>>>> 
>>>>> The idea would be to have one recommended value (or set of) for
>>>>> all kinds of traffic but with RTP you would have this
>>>>> "additional piece of information" (due to the knowledge of your
>>>>> traffic pattern and the formula to relate that to pacing) that
>>>>> would allow you to go below the conservative recommended value.
>>>>> If you would have something similar with non-RTP traffic, you
>>>>> could use that.
>>>>> 
>>>>> But then for both endpoints agreeing on the value in order to
>>>>> have connectivity checks happening simultaneously for the same
>>>>> pairs, we'd probably need to do some negotiation, similar to
>>>>> what was done with ICE on HIP
>>>>> (http://tools.ietf.org/html/rfc5770#section-4.4)
>>>>> 
>>>>> 
>>>>> Cheers, Ari
>>>> 
>>> 
>>