The WebTransport Protocol Framework
draft-vvv-webtransport-overview-00

Document Type Active Internet-Draft (individual)
Last updated 2019-05-03
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)
Network Working Group                                        V. Vasiliev
Internet-Draft                                                    Google
Intended status: Standards Track                             May 3, 2019
Expires: November 4, 2019

                  The WebTransport Protocol Framework
                   draft-vvv-webtransport-overview-00

Abstract

   The WebTransport Protocol Framework enables clients constrained by
   the Web security model to communicate with a remote server using a
   secure multiplexed transport.  It consists of a set of individual
   protocols that are safe to expose to untrusted applications, combined
   with a model that allows them to be used interchangeably.

   This document defines the overall requirements on the protocols used
   in WebTransport, as well as the common features of the protocols,
   support for some of which may be optional.

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 November 4, 2019.

Copyright Notice

   Copyright (c) 2019 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

Vasiliev                Expires November 4, 2019                [Page 1]
Internet-Draft                WebTransport                      May 2019

   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Background  . . . . . . . . . . . . . . . . . . . . . . .   2
     1.2.  Definitions . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Common Transport Requirements . . . . . . . . . . . . . . . .   5
   3.  Session Establishment . . . . . . . . . . . . . . . . . . . .   5
   4.  Transport Features  . . . . . . . . . . . . . . . . . . . . .   6
     4.1.  Datagrams . . . . . . . . . . . . . . . . . . . . . . . .   6
     4.2.  Streams . . . . . . . . . . . . . . . . . . . . . . . . .   6
     4.3.  Protocol-Specific Features  . . . . . . . . . . . . . . .   7
     4.4.  Bandwidth Prediction  . . . . . . . . . . . . . . . . . .   7
   5.  Buffering and Prioritization  . . . . . . . . . . . . . . . .   8
   6.  Transport Properties  . . . . . . . . . . . . . . . . . . . .   8
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

1.1.  Background

   Historically, web applications that needed bidirectional data stream
   between a client and a server could rely on WebSockets [RFC6455], a
   message-based protocol compatible with Web security model.  However,
   since the abstraction it provides is a single ordered stream of
   messages, it suffers from head-of-line blocking (HOLB), meaning that
   all messages must be sent and received in order even if they are
   independent and some of them are no longer needed.  This makes it a
   poor fit for latency sensitive applications which rely on partial
   reliability and stream independence for performance.

   One existing option available to the Web developers are WebRTC data
   channels [I-D.ietf-rtcweb-data-channel], which provide a WebSocket-
   like API for a peer-to-peer SCTP channel protected by DTLS.  In
   general, it is possible to use it for the use cases addressed by this
   specification; however, in practice, its adoption in a non-browser-
   to-browser by the web developers has been quite low due to dependency
   on ICE (which fits poorly with the Web model) and userspace SCTP
   (which has very few implementations available).
Show full document text