Using HTTP/2 as a Transport for Arbitrary Bytestreams

Similar documents
Moving Beyond Sockets

A New Internet? RIPE76 - Marseille May Jordi Palet

QUIC: the details. Robin Marx PhD researcher Hasselt University. Curl-up Prague March 2019

Quickly Starting Media Streams Using QUIC

TCP/IP THE TCP/IP ARCHITECTURE

HiNT and HELIUM for UDP (and IP?) tunnelling

SPDY - A Web Protocol. Mike Belshe Velocity, Dec 2009

Solving HTTP Problems With Code and Protocols NATASHA ROONEY

A New Internet? Introduction to HTTP/2, QUIC and DOH

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

Advanced Computer Networking. CYBR 230 Jeff Shafer University of the Pacific QUIC

WebRTC: IETF Standards Update September Colin Perkins

Internet Applications and the Application Layer Material from Kurose and Ross, Chapter 2: The Application Layer

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary

Schahin Rajab TCP or QUIC Which protocol is most promising for the future of the internet?

Become a WebRTC School Qualified Integrator (WSQI ) supported by the Telecommunications Industry Association (TIA)

TSIN02 - Internetworking

UNIT IV -- TRANSPORT LAYER

TSIN02 - Internetworking

Low Latency Low Loss Scalable throughput (L4S) and RACK an opportunity to remove HoL blocking from links

Packetization Layer Path Maximum Transmission Unit Discovery (PLPMTU) For IPsec Tunnels

Implementation Example: Network.framework on macos and ios. Tommy Pauly TAPS IETF 102, July 2018, Montreal

CMPE 80N: Introduction to Networking and the Internet

Communicating over the Network. Network Fundamentals. ITE PC v4.0 Chapter Cisco Systems, Inc. All rights reserved.

Designing a Resource Pooling Transport Protocol

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. ** Slides are attributed to J. F.

Network Address Translators (NATs) and NAT Traversal

Network Protocols and Architectures

This is a sample chapter of WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web by Alan B. Johnston and Daniel C. Burnett.

OSI Transport Layer. objectives

Chapter 4. TCP / UDP Transport Protocol Overview

Network Requirements

CS 4390 Computer Networks. Transport Services and Protocols

Expires: August 30, 2018

An SCTP-Protocol Data Unit with several chunks

VXLAN Overview: Cisco Nexus 9000 Series Switches

TCP /IP Fundamentals Mr. Cantu

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE)

Multipath QUIC: Design and Evaluation

L6: OSI Reference Model

QUIC. Internet-Scale Deployment on Linux. Ian Swett Google. TSVArea, IETF 102, Montreal

Chapter 3 Transport Layer

Stream Control Transmission Protocol (SCTP)

Internet Engineering Task Force (IETF) Request for Comments: 8441 Updates: 6455 September 2018 Category: Standards Track ISSN:

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

How to Make the Client IP Address Available to the Back-end Server

Configuring Application Visibility and Control for Cisco Flexible Netflow

QoS attributes of a packet. Quality of service (QoS) Packet latency affects transport service QoS. Transport services.

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

Network Requirements

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

Multipath QUIC: Design and Evaluation

Discussion: Messaging

Internet Engineering Task Force (IETF) Updates: 7641, ARM Ltd. K. Hartke. Universitaet Bremen TZI

P2PSIP, ICE, and RTCWeb

Introduction. IP Datagrams. Internet Service Paradigm. Routers and Routing Tables. Datagram Forwarding. Example Internet and Conceptual Routing Table

TSIN02 - Internetworking

(h)icn Socket Library for HTTP Leveraging (h)icn socket library for carrying HTTP messages

Transparent Flow Mapping for NEAT

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer. Chapter 3: Transport Layer

Transport Layer (TCP/UDP)

Quicker: On the design and implementation of the QUIC protocol

IETF/W3C/etc De-facto STD Overview (in My Case)

The Transmission Control Protocol (TCP)

CCNA R&S: Introduction to Networks. Chapter 7: The Transport Layer

Journal of Information, Control and Management Systems, Vol. X, (200X), No.X SIP OVER NAT. Pavel Segeč

HTTP/2: What You Need to Know. Robert

TSIN02 - Internetworking

TSIN02 - Internetworking

TSIN02 - Internetworking

CSCE 463/612 Networks and Distributed Processing Spring 2018

TAPS-related topics from the NEAT project. Naeem Khademi (NEAT project) TAPS WG - IETF 97 Seoul- South Korea 16 November 2016

Announcements. CS 5565 Network Architecture and Protocols. Outline for today. The Internet: nuts and bolts view. The Internet: nuts and bolts view

Overview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016

Input ports, switching fabric, output ports Switching via memory, bus, crossbar Queueing, head-of-line blocking

Washington State University CptS 455 Sample Final Exam (corrected 12/11/2011 to say open notes) A B C

IP Mobility vs. Session Mobility

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space provided.

Datagram Congestion Control Protocol (DCCP)

Recommendations for Transport Port Uses

SMig: A Stream Migration Extension For HTTP/2

The Impact of Transport Header Encryption on Operation and Evolution of the Internet

Linux Networking: tcp. TCP context and interfaces

CS519: Computer Networks. Lecture 1 (part 2): Jan 28, 2004 Intro to Computer Networking

Networking: Network layer

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

Part 1: Introduction. Goal: Review of how the Internet works Overview

CMSC 332 Computer Networks Transport Layer

An Overview of MAMS (Multiple Access Management Services)

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Institute of Science and Technology 2067

Web Real-Time Data Transport

RMIT University. Data Communication and Net-Centric Computing COSC 1111/2061. Lecture 2. Internetworking IPv4, IPv6

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

QUIC evaluation. HTTP Workshop. 28 July 2015 Münster - Germany. G. Carlucci, L. De Cicco, S. Mascolo. Politecnico di Bari, Italy

Configuring Transports

4. The transport layer

Internet Design Principles and Architecture

Transcription:

Using HTTP/2 as a Transport for Arbitrary Bytestreams draft-kinnear-httpbis-http2-transport Eric Kinnear (ekinnear@apple.com) Tommy Pauly (tpauly@apple.com) HTTPBIS IETF 104, March 2019, Prague!1

Transport Considerations Sharing underlying transport brings benefits, but also has caveats tsvwg has great insights about challenges in this area HoL blocking, UDP/datagram transport, tunneling ECN, nested congestion control questions Much of the content and mechanism belongs in httpbis Discuss in tsvwg in tandem!2

Motivation Generic transport for secure, arbitrary bytestreams Multiplexed streams Low setup cost for new streams Single congestion and recovery context Peer-to-peer communication Example: Remote IPC Share underlying transport with existing infrastructure!3

Why HTTP/2? HTTP/2 provides framing layer with many desired transport features Configuration exchange Multiplexed streams Shared congestion control and loss recovery state Flow control Stream relationships and priorities Traverses the internet Some of these properties from TLS/TCP!4

Potential Solution CONNECT allows tunneling to another endpoint Extended CONNECT allows connecting to server itself Can also enable proxying of UDP, with additional framing HTTP headers enable additional negotiation Coexists with standard HTTP request/response streams!5

New :protocol Values Extended CONNECT defines :protocol value for use with WebSocket Make generic by defining common base not specific to WebSocket Define additional :protocol values bytestream Direct stream mapping for arbitrary bytestreams to remote server datagram Framing for UDP transport, to server and possibly with traditional CONNECT to another endpoint!6

Motivation Generic transport for secure, arbitrary bytestreams Multiplexed streams Low setup cost for new streams Single congestion and recovery context Peer-to-peer communication Example: Remote IPC Share underlying transport with existing infrastructure!7

Motivation Generic transport for secure, arbitrary bytestreams Multiplexed streams Low setup cost for new streams Single congestion and recovery context Peer-to-peer communication Example: Remote IPC, QUIC Share underlying transport with existing infrastructure!8

Why QUIC Transport? HTTP/3 over QUIC Transport falls back to HTTP/2 over TLS/TCP What transport abstraction does QUIC Transport alone use over TCP? HTTP/2 provides framing layer with many desired transport features Configuration exchange Multiplexed streams Flow Control Stream relationships and priorities TLS/TCP provides shared congestion control and loss recovery state!9

Solution Extended CONNECT defines :protocol value for use with WebSocket Define additional :protocol values bytestream Direct stream mapping for arbitrary bytestreams to remote server datagram Framing for UDP transport, to server and possibly with traditional CONNECT to another endpoint Define new SETTING to allow bidirectional use of (Extended) CONNECT!10

Summary Add new :protocol values to Extended CONNECT handshake Sharing multiple connections to server over single underlying transport Ability to proxy UDP traffic more effectively to (and through) the server Built in security with low setup cost for new streams Add new SETTING to allow using Extended CONNECT in both directions Enables the benefits above for peer-to-peer communications Provides fallback mechanism for QUIC Transport over HTTP/2 framing!11

Questions?!12