[quicwg/base-drafts] Support for multiplexing middleboxes by requiring SNI (#1456)
Juha-Matti Tilli <notifications@github.com> Mon, 18 June 2018 11:40 UTC
Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 54A33130E8F for <quic-issues@ietfa.amsl.com>; Mon, 18 Jun 2018 04:40:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.01
X-Spam-Level:
X-Spam-Status: No, score=-8.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 xqekRgK8C7OI for <quic-issues@ietfa.amsl.com>; Mon, 18 Jun 2018 04:40:26 -0700 (PDT)
Received: from out-6.smtp.github.com (out-6.smtp.github.com [192.30.252.197]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 28E20130E23 for <quic-issues@ietf.org>; Mon, 18 Jun 2018 04:40:26 -0700 (PDT)
Date: Mon, 18 Jun 2018 04:40:25 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1529322025; bh=qf3kr1rFXwXHEA9AKuIdu8JdVH1Bj7jXV+41Y7ryQlc=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=xFcsWeHMgQL+17P26q7/ghhbfYFKsgKIyFkOb3CSPE5J3BuIbhTJm/573Plm+icja GaxJKDNXCy7iHGFPhwnKvAOxdjSgx/HwOAUuKXkNySiTXXovAAqInK5ikGpfK43H/k JWykjRwNiMfNpxJa65n4KJ9A+qnTnfytvlKW2Zzg=
From: Juha-Matti Tilli <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab212c5f79fedbf11d910415bdb72db9cea307753792cf00000001173f5c2992a169ce13dcc0d7@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1456@github.com>
Subject: [quicwg/base-drafts] Support for multiplexing middleboxes by requiring SNI (#1456)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5b279a29a6bb_356a2ab7455aef5c1603de"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: jmtilli
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/VW-8JNgv_NRyckPBfR5thKAUazE>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.26
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 18 Jun 2018 11:40:28 -0000
IPv4 address exhaustion is a reality, and the truth is that IPv6 will not be deployed fast enough to be a complete solution. I have an idea where QUIC could be used to solve the IPv4 address exhaustion problem by using multiplexing middleboxes, with minimal modifications to QUIC. The idea is that the client is forced to provide a server name indication (SNI) if the user provided the client with a DNS name instead of a raw IP address. A NAT middlebox then shares one IPv4 address for multiple servers. The middlebox makes a decision based on the SNI which internal private IPv4 address will be used. The connection will always, reliably, be forwarded to the correct internal private IPv4 address, because the client would be required to always supply an SNI. Nested middleboxes may be supported by configuring SNI matches with wildcards (e.g. server1.department1.company.com will match *.department1.company.com at the company's middlebox and server1.department.company.com at the department's middlebox). The most common application of QUIC, web browsing, typically uses DNS names and not IP addresses. The most important of the eventual applications of QUIC will probably be: * E-mail: SMTP over QUIC * Remote access: SSH over QUIC, VNC over QUIC, etc. For SMTP, the MX records already use DNS names instead of IP addresses. SSH and VNC are also typically executed with DNS names. The only change to QUIC would be to add the following to draft-ietf-quic-tls-12 somewhere: <blockquote> A client MUST provide a server name indication, as defined in RFC6066, if the user of the client specified the connection destination as a DNS name instead of an IP address. </blockquote> I don't see any mention of SNI in QUIC specifications now, so I assume the proposed requirement is not a requirement now. TLS 1.3 apparently allows servers to require a client to use SNI (https://tools.ietf.org/html/draft-ietf-tls-tls13-28) but I believe the same should be explicitly specified in the QUIC specifications as well. According to TLS 1.3 draft: <blockquote> Additionally, all implementations MUST support use of the "server_name" extension with applications capable of using it. Servers MAY require clients to send a valid "server_name" extension. Servers requiring this extension SHOULD respond to a ClientHello lacking a "server_name" extension by terminating the connection with a "missing_extension" alert. </blockquote> I hope the same will be true with QUIC's use of TLS. Otherwise QUIC will be a step backwards from TLS+TCP that allows a transparent proxy to operate as a NAT multiplexing device offering access to multiple servers. If QUIC makes SNI necessary, then QUIC will be much better than TCP+TLS because you don't need a full transparent proxy to do said multiplexing (as the first packet already contains the SNI). I hope this is the correct venue for this modification proposal (this is my first QUIC related issue). I'm not part of any QUIC mailing list, but if a mailing list is a more appropriate venue for discussing this modification, I could join. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/quicwg/base-drafts/issues/1456
- Re: [quicwg/base-drafts] Support for multiplexing… Mike Bishop
- Re: [quicwg/base-drafts] Support for multiplexing… Juha-Matti Tilli
- Re: [quicwg/base-drafts] Support for multiplexing… janaiyengar
- Re: [quicwg/base-drafts] Support for multiplexing… Martin Thomson
- Re: [quicwg/base-drafts] Support for multiplexing… Kazuho Oku
- Re: [quicwg/base-drafts] Support for multiplexing… Lucas Pardue
- Re: [quicwg/base-drafts] Support for multiplexing… MikkelFJ
- Re: [quicwg/base-drafts] Support for multiplexing… Lucas Pardue
- Re: [quicwg/base-drafts] Support for multiplexing… MikkelFJ
- [quicwg/base-drafts] Support for multiplexing mid… Juha-Matti Tilli