HTTP-initiated Network Tunnelling (HiNT)
draft-pardue-httpbis-http-network-tunnelling-01

Document Type Active Internet-Draft (individual)
Last updated 2018-10-18
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
httpbis                                                        L. Pardue
Internet-Draft                                          October 18, 2018
Intended status: Informational
Expires: April 21, 2019

                HTTP-initiated Network Tunnelling (HiNT)
            draft-pardue-httpbis-http-network-tunnelling-01

Abstract

   The HTTP CONNECT method allows an HTTP client to initiate, via a
   proxy, a TCP-based tunnel to a single destination origin.  This memo
   explores options for expanding HTTP-initiated Network Tunnelling
   (HiNT) to cater for diverse UDP and IP associations.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 21, 2019.

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Pardue                   Expires April 21, 2019                 [Page 1]
Internet-Draft  HTTP-initiated Network Tunnelling (HiNT)    October 2018

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Notational Conventions  . . . . . . . . . . . . . . . . . . .   6
     2.1.  Definitions . . . . . . . . . . . . . . . . . . . . . . .   6
   3.  Design Consideration Aspects  . . . . . . . . . . . . . . . .   7
     3.1.  HTTP Version  . . . . . . . . . . . . . . . . . . . . . .   7
     3.2.  HTTP Forward Proxying . . . . . . . . . . . . . . . . . .   7
     3.3.  Message Destination Agility . . . . . . . . . . . . . . .   7
     3.4.  Path MTU Discovery  . . . . . . . . . . . . . . . . . . .   7
     3.5.  Blind forwarding vs. in-the-loop Processing . . . . . . .   8
     3.6.  Head-of-line Blocking . . . . . . . . . . . . . . . . . .   8
   4.  Candidate Solutions . . . . . . . . . . . . . . . . . . . . .   9
     4.1.  CONNECT Method Augmentation . . . . . . . . . . . . . . .   9
     4.2.  UDPASSOCIATE with HINT Frames for HTTP/2 and HTTP/QUIC  .   9
     4.3.  HELIUM over WebSockets for all HTTP Versions  . . . . . .   9
     4.4.  HELIUM over WebSockets for HTTP/1.1, Native Framing for
           HTTP/2 or HTTP/QUIC . . . . . . . . . . . . . . . . . . .   9
   5.  Technical Specification for HiNT Requests . . . . . . . . . .  10
     5.1.  The UDPASSOCIATE Method for HTTP/1.1x . . . . . . . . . .  10
     5.2.  The UDPASSOCIATE Method for HTTP/2 and HTTP/QUIC  . . . .  11
     5.3.  The IPASSOCIATE Method  . . . . . . . . . . . . . . . . .  12
   6.  Technical Specification for HiNT Message Transfer . . . . . .  12
     6.1.  HiNT Message Framing  . . . . . . . . . . . . . . . . . .  12
       6.1.1.  The HINT HTTP/2 Frame . . . . . . . . . . . . . . . .  13
       6.1.2.  The HINT HTTP/QUIC Frame  . . . . . . . . . . . . . .  14
     6.2.  Light HIP HTTP/2 Framing  . . . . . . . . . . . . . . . .  14
     6.3.  Full HIP HTTP/2 Framing . . . . . . . . . . . . . . . . .  15
       6.3.1.  The OHIP HTTP/2 Frame . . . . . . . . . . . . . . . .  16
       6.3.2.  The IHIP HTTP/2 Frame . . . . . . . . . . . . . . . .  17
       6.3.3.  The MHIP HTTP/2 Frame . . . . . . . . . . . . . . . .  18
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  20
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  20
     8.1.  UDPASSOCIATE Method Registration  . . . . . . . . . . . .  20
     8.2.  IPASSOCIATE Method Registration . . . . . . . . . . . . .  21
     8.3.  The HINT HTTP/2 Frame Type  . . . . . . . . . . . . . . .  21
     8.4.  The HINT HTTP/QUIC Frame Type . . . . . . . . . . . . . .  21
     8.5.  The HIP HTTP/2 Frame Type . . . . . . . . . . . . . . . .  22
     8.6.  The OHIP HTTP/2 Frame Type  . . . . . . . . . . . . . . .  22
     8.7.  The IHIP HTTP/2 Frame Type  . . . . . . . . . . . . . . .  22
     8.8.  The MHIP HTTP/2 Frame Type  . . . . . . . . . . . . . . .  22
Show full document text