Internet DRAFT - draft-kang-quic-apps-multiplexing-a-session

draft-kang-quic-apps-multiplexing-a-session







QUIC                                                             J. Kang
Internet-Draft                                                  Q. Liang
Intended status: Informational                               X. Fei, Ed.
Expires: 13 July 2023                                             Huawei
                                                                  P. Liu
                                                            China Mobile
                                                          9 January 2023


                Applications Multiplexing a QUIC Session
             draft-kang-quic-apps-multiplexing-a-session-02

Abstract

   This document describes the requirements for extensions on QUIC
   transport protocol in the use case when multiple application
   protocols reuse the same QUIC session for data transmission.

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 13 July 2023.

Copyright Notice

   Copyright (c) 2023 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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.



Kang, et al.              Expires 13 July 2023                  [Page 1]

Internet-Draft              Abbreviated Title               January 2023


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.2.  Requirements Language . . . . . . . . . . . . . . . . . .   2
   2.  ALPN negotiation during the handshake . . . . . . . . . . . .   3
   3.  Binding STREAM to different applications  . . . . . . . . . .   3
   4.  Binding DATAGRAM to different applications  . . . . . . . . .   3
   5.  Other Issue . . . . . . . . . . . . . . . . . . . . . . . . .   3
     5.1.  Dynamically changing application protocol during a QUIC
           session . . . . . . . . . . . . . . . . . . . . . . . . .   3
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   4

1.  Introduction

1.1.  Overview

   [QUIC] is a UDP-based multiplexed and secure transport protocol.
   QUIC enables stream multiplexing and stream multiplexing is achieved
   by interleaving STREAM frames from multiple streams into one or more
   QUIC packets.  In practice, application layer can invoke interfaces
   to create and close stream as required.

   But when the QUIC server provides multiple services at the same time,
   for example, an IT vendor server provides both a video stream service
   and a web browsing service, different application services use
   different application layer protocols (for example, HTTP3.0 or RTP/
   RTCP).  In this case, each application layer protocol requires a QUIC
   session to support its data transmission.  This realization will
   increase system overhead due to maintaining these QUIC sessions.
   Currently multi-protocol dynamically multiplexing a QUIC sessions is
   not possible.

   This document is used to analysis what mechanism is required when
   multiple application protocols reuse single QUIC session from a
   deployment perspective.  In general, two basic functions are proposed
   that are ALPN negotiation during the handshake and binding STREAM/
   DATAGRAM to different applications during the session.

1.2.  Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].



Kang, et al.              Expires 13 July 2023                  [Page 2]

Internet-Draft              Abbreviated Title               January 2023


2.  ALPN negotiation during the handshake

   As described in QUIC base protocol, endpoints advertise ALPN field in
   handshake to negotiate the protocol carried in the STREAM frame or
   DATAGRAM frame when establishing a QUIC session.  After receiving the
   STREAM frame or DATAGRAM frame, the receiver completes the
   combination for these fragmented STREAM frame and transfers the
   packet data to the application layer protocol for further parsing.
   As a result, service packets in a QUIC session can only belong to one
   application protocol.

   In the case of mixed application data in one session, ALPN should
   offer the function for endpoints to advertise multiple application
   protocols that will be used in this session during connection
   establishment.

   In this new mechanism, when an application in QUIC client requests to
   communicate with its server using QUIC, the initiator will check
   whether a QUIC session exists.  If there is already a QUIC session
   and this session can support this kind application protocol, the
   initiator will directly reuse this session and create a new stream in
   it for exchange of application data.

3.  Binding STREAM to different applications

   Because multiple applications are using one session simultaneously
   and create their own streams to transmit data separately, the
   application layer protocol to which the stream belongs should be
   indicates to the peer so that the receiver can further parse these
   packets based on the upper-layer protocol type.

4.  Binding DATAGRAM to different applications

   If DATAGRAM is used for data transmission for these distinct
   applications in one QUIC session, the application layer protocol to
   which the DATAGRAM belongs should be indicated to the peer so that
   the receiver can further parse these packets based on the upper-layer
   protocol type.

5.  Other Issue

5.1.  Dynamically changing application protocol during a QUIC session

   If upper-layer protocol types supported by a QUIC client or a QUIC
   server are changed dynamically after a QUIC session is established,
   protocol negotiation within a QUIC session for these updates should
   be provide.




Kang, et al.              Expires 13 July 2023                  [Page 3]

Internet-Draft              Abbreviated Title               January 2023


6.  IANA Considerations

   This document includes no request to IANA.

7.  Security Considerations

   This document provides only requirement analysis.  Security problems
   will be considered in technical solutions.

8.  References

8.1.  Normative References

   [QUIC]     Iyengar, J. and M. Thomson, "QUIC: A UDP-Based Multiplexed
              and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May
              2021, <https://xml2rfc.tools.ietf.org/public/rfc/bibxml/
              reference.RFC.9000.xml>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

Authors' Addresses

   Jiao Kang
   Huawei
   Email: jiao_kang2022@163.com


   Qiandeng Liang
   Huawei
   No. 207, Jiufeng 3rd Road, East Lake High-tech Development Zone
   Wuhan
   China
   Email: liangqiandeng@huawei.com


   XinCai Fei (editor)
   Huawei
   No. 410, Jianghong Road, Binjiang District
   Hangzhou
   China
   Email: feixincai1@huawei.com







Kang, et al.              Expires 13 July 2023                  [Page 4]

Internet-Draft              Abbreviated Title               January 2023


   Peng Liu
   China Mobile
   32 Xuanwumen West Street, Xicheng District
   Beijing
   China
   Email: liupengyjy@chinamobile.com













































Kang, et al.              Expires 13 July 2023                  [Page 5]