RE: [EXTERNAL] Re: ALPN negotiation (was Re: Add extension work to Interop matrix)

Andrei Popov <Andrei.Popov@microsoft.com> Thu, 09 January 2020 18:37 UTC

Return-Path: <Andrei.Popov@microsoft.com>
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 08D12120104 for <quic@ietfa.amsl.com>; Thu, 9 Jan 2020 10:37:02 -0800 (PST)
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=microsoft.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 fAYzM67R2D85 for <quic@ietfa.amsl.com>; Thu, 9 Jan 2020 10:36:59 -0800 (PST)
Received: from NAM06-BL2-obe.outbound.protection.outlook.com (mail-eopbgr650138.outbound.protection.outlook.com [40.107.65.138]) (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 BE37612008A for <quic@ietf.org>; Thu, 9 Jan 2020 10:36:59 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gmrIi94BViphypwTZGzw5mtsY55ATdXUS65cGj15mSSmxvNy8xnd7nt3/rJwljys1uooUJj+O59PP/N4H7Al/0yBX7by+g7XkTJddAEM2zxbmS+u11DyqIjlHR+jciwRkUh9aJngERnRiD7iDmeF0CM3wxHW2Z8tEdey5JEAkjEfttvxjoO6jySrmzroVMjW7GofnSp/t4h0UV8ZvFb5pXyDfQYTr/PJ5XAUpw7hvseUpQEyQq+pzczBA/aZnp0ME2IvJtvpzCiEoN633aotAFKuhrfi13SH3gYAvW5j36k8cNxI/gkc31Uc+lTtjLNWLxruGcASuL1XEXly2E/7zQ==
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=QznArTWErPoRwAPvhG5GZbaSeTWv5RXnolMYePE4aaY=; b=IJBzhqiW3Nl1Kzvsag/F28y5rIB2yx1+/WV3wJJi3o1wF3xWrtCh0p/Z7QG++Cej6QP96p5CmNhRmORpD/psioD1HOZjJzUwjIzxdHTJzLcdnjW7k851FYT+rxyjjBzBQ3cNNSz6hA+83LsoydHpqMjG8J/fNpMKr6Nt8bZ0wrQnltKQM2uBndFtj9TkjZ2wSrWt/JWf24sBAxVllKDS3I42TQ6VoN5pNOZEkBBeNhV4U79Yszhqo9MYY5hLyJBn11h5kWgztAW5tif3mXBwgCZ1V7ABw5K3smHGG1o+8BG5rL05rwDihTd45gS00JMiK8NSUoAwTV7bthi/y3Vplg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QznArTWErPoRwAPvhG5GZbaSeTWv5RXnolMYePE4aaY=; b=d3+Xj0WVIH+EiJMHc+tsrsRR+76pm4UXYg/jlBpeJoQ0dI6PuGsb8XfbBEFGy/5kQNGhELrwECoBfjseMTfgTkR9sJWBB7lIxcnrwQCRQUamZOYC4B2EXB9IsrSFgnnBAx/VZ8j2mnC24PuN+WJKY79neuDxrJKev+ir60xez74=
Received: from MN2PR00MB0464.namprd00.prod.outlook.com (20.178.240.202) by MN2PR00MB0576.namprd00.prod.outlook.com (20.178.255.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2665.0; Thu, 9 Jan 2020 18:36:57 +0000
Received: from MN2PR00MB0464.namprd00.prod.outlook.com ([fe80::7d82:20a4:6132:1b9]) by MN2PR00MB0464.namprd00.prod.outlook.com ([fe80::7d82:20a4:6132:1b9%5]) with mapi id 15.20.2665.000; Thu, 9 Jan 2020 18:36:57 +0000
From: Andrei Popov <Andrei.Popov@microsoft.com>
To: Dmitri Tikhonov <dtikhonov@litespeedtech.com>
CC: Christian Huitema <huitema@huitema.net>, IETF QUIC WG <quic@ietf.org>
Subject: RE: [EXTERNAL] Re: ALPN negotiation (was Re: Add extension work to Interop matrix)
Thread-Topic: [EXTERNAL] Re: ALPN negotiation (was Re: Add extension work to Interop matrix)
Thread-Index: AQHVxZMYj/ulOh4bgUu9aP7vAYeIGaffm4LwgALB7ACAAE0P8A==
Date: Thu, 09 Jan 2020 18:36:56 +0000
Message-ID: <MN2PR00MB0464F8F0702A44BC5D0CC8378C390@MN2PR00MB0464.namprd00.prod.outlook.com>
References: <20200107143114.GC14229@ubuntu-dmitri> <d27fc30c-7f51-85f3-4bb1-e7b7b500ac72@huitema.net> <20200107194543.GK14229@ubuntu-dmitri> <BN8PR00MB045127DC046153EB655CAF1A8C3F0@BN8PR00MB0451.namprd00.prod.outlook.com> <20200109135420.GB7263@ubuntu-dmitri>
In-Reply-To: <20200109135420.GB7263@ubuntu-dmitri>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=949d6284-d7f7-45bf-bb78-00000a68af56; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-01-09T18:30:09Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Andrei.Popov@microsoft.com;
x-originating-ip: [2001:4898:80e8:0:18b3:a023:971b:e42c]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: b7f8feb6-3b89-4d7d-cfdd-08d79532e80a
x-ms-traffictypediagnostic: MN2PR00MB0576:
x-microsoft-antispam-prvs: <MN2PR00MB0576F1FDC4C1C0F08D1631298C390@MN2PR00MB0576.namprd00.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-forefront-prvs: 02778BF158
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(376002)(346002)(136003)(39860400002)(366004)(189003)(199004)(13464003)(81156014)(71200400001)(8676002)(66476007)(66946007)(7696005)(76116006)(66446008)(81166006)(64756008)(5660300002)(478600001)(52536014)(33656002)(6506007)(86362001)(53546011)(186003)(66556008)(316002)(9686003)(8990500004)(10290500003)(54906003)(6916009)(8936002)(4326008)(2906002)(55016002); DIR:OUT; SFP:1102; SCL:1; SRVR:MN2PR00MB0576; H:MN2PR00MB0464.namprd00.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: AyYVu9F34gz01bJg60M+5s+FUSpyKqZUg10NUJbB/Iu1/1RiVfSdrLupZh9gomJuLvN6oCSTSKK7cU8+XtXPcGE7s06HzJ591j9Tll83ekB5m5omTCFUHFLVrmiTl1/AA68341pjRNXeeEsqDtyxFz5H9ELA1TOW0q10W2O876oELvCKcBOg4gTQW7aRhwqTDrJliI1+hNlHcRtrn0eItsqDTP04k9s1+XxZhp/Z/h6wZdYdxQkBmKejKO/ucO2oEUMwqjU2vMMKYyMM4Vu/8Ak6zaABro+s9m3phBvvFL/umKyzGm8PvfxiR89l1jwL7YwEeR/DdxAQ3SqcNUUtjT89rVHkQaz3ubEK06YsvDe9ABKo9DgijgwEOXwPtJOQxUvmU1cT5Ua6F2l0fQHNFiA1qhSmiHzh1659pOl6D5QHPB+N+kdrD6KQU012cQXhmj2vp6yGGu5bubwNbeFKrpJrOHqGf/8Zrud22w/qOKoJWhmGWieRqz/SPUhhBCSU
x-ms-exchange-antispam-messagedata: J8yU+rd9wyanDl5rFcSPW6zqcjM6eZH7CkxnOiLIXR4hFd8QlYtj6wY+E0z6KYDxB5WaCBb5m8o2hvR7krZ0Y1qf01gh/8lvQZkiWvCS5P6NyeD29r9MgR8utY12gYuhFmfMGhvcxLD4wEbQHm9O41r2PoKLOBqF3l/FWaJkCM7sqyQq3NzYZO8/lIkTUzAY0o9iRHlN8Cj5lDh/0ZFHhQ==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7f8feb6-3b89-4d7d-cfdd-08d79532e80a
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jan 2020 18:36:56.8611 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: QftNYh7KcUEm2u3CN5w1eaOjuXKvlqZqM462zE7vcLf9wP0Pct3JX2w/pGzpfvP619fdTRCNn50kgCDtzgSAuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR00MB0576
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/72Xgr9hG7ywFAsIdUmDylv6S7Qo>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 09 Jan 2020 18:37:02 -0000

The test would need to consider the server's ALPN preferences, e.g.:
Client: (h3-X, h3-Y), server: (h3-Y, h3-X) => server chooses h3-Y.
Client: (h3-X, h3-Y), server: (h3-X, h3-Y) => server chooses h3-X.
Client: (h3-Y, h3-X), server: (h3-Y, h3-X) => server chooses h3-Y.
Client: (h3-Y, h3-X), server: (h3-X, h3-Y) => server chooses h3-X.

There are a lot of other possible test cases.

Cheers,

Andrei

-----Original Message-----
From: Dmitri Tikhonov <dtikhonov@litespeedtech.com> 
Sent: Thursday, January 9, 2020 5:54 AM
To: Andrei Popov <Andrei.Popov@microsoft.com>
Cc: Christian Huitema <huitema@huitema.net>; IETF QUIC WG <quic@ietf.org>
Subject: Re: [EXTERNAL] Re: ALPN negotiation (was Re: Add extension work to Interop matrix)

That's true.

Then, what would the test be?

  - Dmitri.

On Tue, Jan 07, 2020 at 07:49:52PM +0000, Andrei Popov wrote:
> >     1. Client sends (h3-X, h3-Y), server responds with h3-X; and
> >     2. Client sends (h3-Y, h3-X), server responds with h3-Y?
> 
> Not necessarily. The server will likely choose an ALPN ID based on the server's application protocol preferences, rather than the client's.
> 
> Cheers,
> 
> Andrei
> 
> -----Original Message-----
> From: QUIC <quic-bounces@ietf.org> On Behalf Of Dmitri Tikhonov
> Sent: Tuesday, January 7, 2020 11:46 AM
> To: Christian Huitema <huitema@huitema.net>
> Cc: IETF QUIC WG <quic@ietf.org>
> Subject: [EXTERNAL] Re: ALPN negotiation (was Re: Add extension work 
> to Interop matrix)
> 
> On Tue, Jan 07, 2020 at 09:06:49AM -1000, Christian Huitema wrote:
> > It seems that ALPN negotiation is going to be a practical 
> > requirement going forward. Not so much for negotiating H09 versus 
> > H3, we can expect
> > H09 to fade away at some point. But we will have to negotiate h3-24 
> > vs
> > h3-25 and similar transitions for a good bit of time, and then we 
> > will probably move to h4-00, h4-01, etc. So maybe we should start testing that.
> 
> I would be for it.  Is the testing as simple as
> 
>     1. Client sends (h3-X, h3-Y), server responds with h3-X; and
>     2. Client sends (h3-Y, h3-X), server responds with h3-Y?
> 
> Of course, this assumes that the server support both h3-X and h3-Y.
> For example, supporting drafts 23 and 24 at the same time was easy;
> 24 and 25 might not be as easy.
> 
>   - Dmitri.
>