Re: Exercising Version Negotiation

Christian Huitema <huitema@huitema.net> Tue, 27 March 2018 19:44 UTC

Return-Path: <huitema@huitema.net>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CFD3D12785F for <quic@ietfa.amsl.com>; Tue, 27 Mar 2018 12:44:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 mXGbhPrCA8Yy for <quic@ietfa.amsl.com>; Tue, 27 Mar 2018 12:44:18 -0700 (PDT)
Received: from mx43-out1.antispamcloud.com (mx43-out1.antispamcloud.com [138.201.61.189]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A3D621273E2 for <quic@ietf.org>; Tue, 27 Mar 2018 12:44:18 -0700 (PDT)
Received: from xsmtp02.mail2web.com ([168.144.250.215]) by mx63.antispamcloud.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.89) (envelope-from <huitema@huitema.net>) id 1f0uVz-000Ajv-5W for quic@ietf.org; Tue, 27 Mar 2018 21:44:17 +0200
Received: from [10.5.2.31] (helo=xmail09.myhosting.com) by xsmtp02.mail2web.com with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from <huitema@huitema.net>) id 1f0uVu-00063d-Jg for quic@ietf.org; Tue, 27 Mar 2018 15:44:11 -0400
Received: (qmail 19624 invoked from network); 27 Mar 2018 19:44:09 -0000
Received: from unknown (HELO [192.168.1.105]) (Authenticated-user:_huitema@huitema.net@[172.56.42.57]) (envelope-sender <huitema@huitema.net>) by xmail09.myhosting.com (qmail-ldap-1.03) with ESMTPA for <quic@ietf.org>; 27 Mar 2018 19:44:09 -0000
To: quic@ietf.org
References: <CABcZeBMv5BqZOtgVA2wfqaaGCd94gcNPB9bTXkrvNXXRveU8wA@mail.gmail.com> <CAJ_4DfQ6zqVeUUF7XcoT110kVcP1BJFEtqVR-+FN5XD2UuRMMA@mail.gmail.com> <CABcZeBMVNy151rFntLutSPtctPsd2Ei3Qy-ChuEXVMVpz4pgdQ@mail.gmail.com> <SN1PR08MB1854DD71FDCB9FBA48DD26E9DAA90@SN1PR08MB1854.namprd08.prod.outlook.com> <CAJ_4DfQxcxNGNP9CW3poPqnFgUsrNy269dO2Lf0dvWBFKKsSHg@mail.gmail.com> <CABcZeBNfw6MjjgeqQct11g6Kf=4xy+zVZiBRMwwzhtKB2rWHZg@mail.gmail.com> <CAJ_4DfRCNRHajNfFdedg6O54mjydWt+ooRESJZQ5L0sZmcwmXg@mail.gmail.com> <9A92D490-1F4F-457D-9209-C19E154E4881@fb.com> <CAJ_4DfSNA0wMnvzxSy1bHU5VTdKujP6oZAtwn8DUNwnX97yLDQ@mail.gmail.com> <8ed89135-e878-473a-9c44-d3f1b9ce16b1@huitema.net> <CA+9kkMDHQ94e2SBZ_kSEW2vnFy99V6zp7w9OPOXtGtxuODtFFQ@mail.gmail.com> <036C9799-CF9A-4136-B467-0FCE2EBBD853@in-panik.de>
From: Christian Huitema <huitema@huitema.net>
Openpgp: preference=signencrypt
Message-ID: <2f42f4a6-34dc-0d74-7b35-4d6c38369f9b@huitema.net>
Date: Tue, 27 Mar 2018 12:44:05 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0
MIME-Version: 1.0
In-Reply-To: <036C9799-CF9A-4136-B467-0FCE2EBBD853@in-panik.de>
Content-Type: multipart/alternative; boundary="------------EBD79230A8702838E9DB15F6"
Content-Language: en-US
Subject: Re: Exercising Version Negotiation
X-Originating-IP: 168.144.250.215
X-AntiSpamCloud-Domain: xsmtpout.mail2web.com
X-AntiSpamCloud-Username: 168.144.250.0/24
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=168.144.250.0/24@xsmtpout.mail2web.com
X-AntiSpamCloud-Outgoing-Class: unsure
X-AntiSpamCloud-Outgoing-Evidence: Combined (0.25)
X-Recommended-Action: accept
X-Filter-ID: EX5BVjFpneJeBchSMxfU5ujYCT/rmhKNBiRSh5/eFDt602E9L7XzfQH6nu9C/Fh9KJzpNe6xgvOx q3u0UDjvO37pNwwF1lRXh5rzvPzo9Jts1ujulqUFmMITHM77eiViwOVRAre/feUg/5ODxPYRk87i TvJ2/ZGzVWB9scFAaCdIFaUvXN+CI+RGy3Me16pB4lampmfDNuiABFovtjnMdR/TBCf6oYXAWGet lavcAjD9ytQxIHf9lN5jjLJaPK8lRJSPf/SXbEnDSsal/zZzc4n9VZdr7RAFD5mRwooUYhwMPaBP aKeQW+/QlaOdv8isl/qMm08Zpim2AHUKEWvQ6G/bWfgucjnNmABpGhD9TTttrFCuZ0NkwnSz2Luu o1u9uevuNfM1HjkNEFwape+IgNezYqxGMqsKjARq8PBC4qjpVMhqNcdjhoIlgrKzBvjTmdySlZou 9qHIGOZDEEo7Oyc1nq0gsY582CWqKjiRB3ukywmZtiDkyd4mEBjJGGEJgawbllbHk+xyUKopM6rc KCaQX/lIXcRWtobViGg9fpX6N+2DyDXes8vYD17nJ00FK7lcJDR57nko4t4dcKOndS1WDL4qWcEx Z3vOLyDM56Nz1HQkoj+jjvmw3UQ3Zextr+7/jg66NXUoieIpLIJirIV7hPvBDpgDmC+XXO9ws5qS dbWrmlMqpoC2dVXCySAV8vAerBHKRzUHI5QDqE6Br1YE7tCqypI5WX0qWh4YQLCBGYQHK1CUbxGv FcpQiGQhbr8Ks0SqCpRWIiXMtOo8/pI8jnU4taLGlA8rnD8bXLXIKl8biul71rKRjv1gUaCmQKHY 6H+wSCoVvwvquzDDiAluCSS51XoxcZ/6ctZTvvqYdub/YU/cH64QiTAnRDmAKMFEHS3+vt/Njsed NDmPw/Ld14/y82ebPziYNS9mrGcHWFhVQvKDd9aHm1tzPaYBnxycJOQKmrvtOUL1jquCMfd5HnMi k4ibTRVHi8subW0=
X-Report-Abuse-To: spam@quarantine6.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/Z3GmN8w5YkhNnAFQhILeCrw19MM>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Mar 2018 19:44:21 -0000


On 3/27/2018 1:54 AM, Philipp S. Tiesel wrote:
>
>
>> On 26. Mar 2018, at 22:30, Ted Hardie <ted.ietf@gmail.com
>> <mailto:ted.ietf@gmail.com>> wrote:
>>
>> On Sat, Mar 24, 2018 at 11:30 AM, Christian Huitema
>> <huitema@huitema.net <mailto:huitema@huitema.net>> wrote:
>>
>>      
>>     Perhaps we should look at it differently. What do we really want to
>>     teach to the middle-boxes? I think the message should really be,
>>     "do not
>>     try to lock on a specific version number".  And doing that with
>>     just two
>>
>>     versions will not work. The middle boxes will just learn those two
>>     versions, and we will not be able to introduce a third one. We
>>     want to
>>     see plenty of mostly unpredictable versions proposed by clients,
>>     and we
>>     want these unpredictable version numbers to result in successful
>>     connections most of the time.
>>
>>
>> So, the key second part to this question is "what am I willing to pay
>> to teach the middleboxes this?"  Everyone in the thread agrees that
>> the basic currency is round trips, but we seem to be divided on what
>> the going rate is (in percentage of flows that should pay).
>>
>> I have a terrible idea about that, but it does shift the currency
>> from "round trips" to "additional connections".  The precis is: 
>> exercise version negotiation by opening additional connections that
>> use the functionality.  
>
> I think if you are connection regularly to certain endpoints, one could
> also use “the next connection” for greasing. 
>  - The server includes a “version alias frame” in the encrypted connection
>    that maps regular versions into experimental space
>  - The client caches this information and uses it on subsequent
> connections.
>
> This comes at the risk of accidentally getting involved into experiments, 
> but thus also tests parsing error handling ;-)
>
> Other than this, I guess the best  way to really exercise version
> negotiation
> is using experimental versions often. Google has already demonstrated
> that 
> supporting several versions in parallel is feasible, others should be
> able to
> do the same. If all the big players always have some experiments
> running that
> exercise version negotiation, ossifying around this will most likely
> become
> too expensive.

I think you are onto something there. If the server publishes something
like "I could also support V=XYZ as an alias for the current version",
the client could remember that and try it next time. This will teach
middle-boxes that it is OK to see various random values in the version
field, and that it is costly to drop packets just because they don't
understand the version.

-- Christian Huitema