Internet DRAFT - draft-kang-tcpm-accurate-data-scheduling-by-server

draft-kang-tcpm-accurate-data-scheduling-by-server







TCP Maintenance and Minor Extensions                             J. Kang
Internet-Draft                                                  Q. Liang
Intended status: Informational                               X. Fei, Ed.
Expires: 13 July 2023                                             Huawei
                                                          9 January 2023


              Accurate Data Scheduling by Server in MPTCP
         draft-kang-tcpm-accurate-data-scheduling-by-server-04

Abstract

   This document defines a new mechanism that enables MPTCP server to
   send requests to MPTCP client for data scheduling between specified
   subflows during a MPTCP session.

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     Accurate Data Scheduling by Server       January 2023


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Typical flows for accurate data scheduling by server  . . . .   3
   3.  Examples  . . . . . . . . . . . . . . . . . . . . . . . . . .   5
     3.1.  Traffic switching to a newly-added network interface  . .   5
     3.2.  Traffic switching to a network interface already in the
           session . . . . . . . . . . . . . . . . . . . . . . . . .   5
   4.  MP_Navigation Option  . . . . . . . . . . . . . . . . . . . .   6
     4.1.  Option Format . . . . . . . . . . . . . . . . . . . . . .   6
   5.  Data scheduling on client when receiving MP_Navigation  . . .   7
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   7
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   7
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   MPTCP protocol is being deployed in various networks.  In most
   scenarios, MPTCP scheduling strategies for subflows are implemented
   on client considering RTT and congestion, or sending packets
   redundantly.  MPTCP server does not participate in such decision-
   making.

   However, in actual deployment, MPTCP server is configured with
   multiple network interfaces and these network interfaces are from
   different operators.  There are some scenarios in which MPTCP server
   wants to set scheduling algorithms on these network interfaces based
   on its own rules, network planning and operating policies.  These
   scheduling algorithms need to be passed to the MPTCP client and
   executed on the client during a MPTCP session.  Requirements for
   these use cases are described below:

   *  Network fault prevention.  Server tools can help detect quality of
      each deployed network interfaces including packet loss, delay and
      jitter.  If key performance indicators (KPI) of one network
      interface becomes worse, MPTCP server hopes to instruct MPTCP
      client to switch the traffic into another network interface with
      better KPI.

   *  A new entrance is deployed or an emergency entrance of 5G card is
      added during a MPTCP session.  In this case, MPTCP server may hope
      to lead existing traffic to this newly added network interface.
      One purpose is to test this new network in trial operation.  Other
      purposes include avoiding congestion and improving transmission
      reliability on existing networks.  For example, MPTCP server is
      using network of Operator A for data transmission and a network of



Kang, et al.              Expires 13 July 2023                  [Page 2]

Internet-Draft     Accurate Data Scheduling by Server       January 2023


      operator B is added when data traffic increases.  At this time,
      MPTCP server wants to arrange part of traffic of Operator A to
      Operator B.  In this case, the network of Operator B is the target
      network.

   *  Value-added services.  This requirement comes from operating
      policies of operators.  MPTCP server is required to help provide
      its customers with diversified services in order to satisfy
      individual demand.  For example,it should be possible that MPTCP
      server can indicate MPTCP client to switch VIP users' traffic to a
      network interface with better KPIs.

   *  Another typical scenario is that MPTCP server hopes to adjust
      traffic to a specific subflow because of the changes in network
      cost, for example, the expiration of discounts.  This requirement
      also comes from the operating policies of operators.

   Currently, there are two implementations related to these
   requirements.  [RFC8684] defines REMOVE_ADDR Option to delete one
   address during a MPTCP session but it will close all subflows bound
   to this address. draft-hoang-mptcp-sub-rate-limit-00 proposes a
   Subflow Rate Limit Option which can be used by sender to receiver for
   setting the rate of one subflow to zero.

   For the use cases in this document, existing technologies are
   somewhat inadequate because they do not provide a clear indication of
   which subflow to switch to.

2.  Typical flows for accurate data scheduling by server

   An accurate data scheduling mechanism for MPTCP server is proposed in
   this document.  Two typical flows are illustrated in Figure 1 and
   Figure 2.


















Kang, et al.              Expires 13 July 2023                  [Page 3]

Internet-Draft     Accurate Data Scheduling by Server       January 2023


          +--------+                            +--------+
          | Client |                            | Server |
          +--------+                            +--------+
              |                                      |
              |<----Session setup with subflows----->|
              |                                      |
              |                           Determine address ID
              |                      for target network interface
              |                                      |
              |<--Sending MP_Navigation for request--|
              |        on one ongoing subflow        |
              |                                      |
      Determine target subflow                       |
     by address ID in MP_Navigation                  |
              |                                      |
      Traffic switching to                           |
      the target subflow                             |
              |                                      |
              |----Data transfer is swichted to----->|
              |      the target subflow of           |
              |     target network interface         |
              |                                      |
              |                                      |

       Figure 1: Server requests client to perform traffic switching

          +--------+                            +--------+
          | Client |                            | Server |
          +--------+                            +--------+
              |                                      |
              |<---Subflow with diverted traffic --->|
              |       is still kept alive            |
              |                                      |
              |                 Determine to cancel MP_Navigation
              |                   for target network interface
              |                                      |
              |<----Sending MP_Navigation on the-----|
              |    subflow with diverted traffic     |
              |          for cancellation            |
              |                                      |
   Cancel traffic switching to                       |
    target network interface                         |
      in the MP_Navigation                           |
              |                                      |
              |-----Continue data transfer over----->|
              |   the subflow with diverted traffic  |
              |                                      |
              |                                      |



Kang, et al.              Expires 13 July 2023                  [Page 4]

Internet-Draft     Accurate Data Scheduling by Server       January 2023


       Figure 2: Server sends a request to client to cancel previous
                             navigation setting

   For the use case of adding a new network interface to a MPTCP session
   for data shceduling, normal process of ADD_ADDR should be executed
   before traffic switching.

   If it is determined to cancel the data switching on a subflow, the
   client should delete the navigation information for it.  Navigation
   information is generated by MPTCP client and is used to determine the
   target subflow for data switching based on the address ID of the
   target network interface.

   After data switching, if the subflow with diverted traffic is
   disconnected, the client should delete the navigation and
   configuration information for it.  The navigation information is
   generated by the client and is used to determine the target subflow
   for data switching based on the address ID of the target network
   interface.

3.  Examples

3.1.  Traffic switching to a newly-added network interface

   Four subflows have been established between client and server that
   are <IP1, IP3>, <IP2, IP3>, <IP1, IP4> and <IP2, IP4>.  On the
   client, IP1 and IP2 are the address IDs for WiFi and a cellular
   network.  On the server, IP3 and IP4 are the address IDs for Ethernet
   and WiFi.  When a new 5G network is deployed on the server, the
   server can switch the data traffic on the subflow <IP2, IP4> to the
   destination IP5 corresponding to 5G.  In this case, the target
   network interface is IP5.

3.2.  Traffic switching to a network interface already in the session

   Four subflows have been established between client and server that
   are <IP1, IP3>, <IP2, IP3>, <IP1, IP4> and <IP2, IP4>.  On the
   client, IP1 and IP2 are the address IDs for WiFi and a cellular
   network.  On the server, IP3 and IP4 are the address IDs for Ethernet
   and WiFi.  Server tool detects that KPI for IP4 is better now so the
   server can switch data traffic on the subflow <IP1, IP3> to the
   destination IP4.









Kang, et al.              Expires 13 July 2023                  [Page 5]

Internet-Draft     Accurate Data Scheduling by Server       January 2023


4.  MP_Navigation Option

   MP_Navigation option is defined and sent from server to force client
   to switch traffic from the subflow over which the option was received
   to a target subflow, or to cancel traffic switching when it is not
   required.  MP_Navigation option includes a Flag 'R' to distinguish
   this two functions.  If it is set, the target subflow is determined
   through the Address ID of the target network interface in
   MP_Navigation option.

   MP_Navigation option can be sent in ACK.

   Noted that if MP_Navigation option is not supported by the MPTCP
   client, it should be omitted when received.

4.1.  Option Format

   The format of the MP_Navigation option is depicted in Figure 3:

                        1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +---------------+---------------+-------+-------+---------------+
     |     Kind      |    Length     |Subtype|r|R|E|B|   Address ID  |
     +---------------+---------------+-------+-------+---------------+

                       Figure 3: MP_Navigation Option

   Subtype: a new subtype should be allocated to indicate MP_Navigation
   Option.

   Flag 'r': reserved for future usage.

   Flag 'R': when set, defines the content of this option, as follows:

   *  When value of 'R' is set to zero, it means that the server wants
      to use this option to inform client of data scheduling policy and
      the client will perform traffic switching as requested by the
      server.  When value of 'R' is set to 1, the server requests to
      cancel current data scheduling policy on client and the client
      will delete corresponding navigation information to this Address
      ID.

   Flag 'E': exists to provide reliability for this option (like that in
   "ADD_ADDR").

   Flag 'B': indicates whether the subflow over which the option is
   received is a backup one (that is compatiable with the value by
   MP_PRIO).



Kang, et al.              Expires 13 July 2023                  [Page 6]

Internet-Draft     Accurate Data Scheduling by Server       January 2023


   Address ID: Address ID in MP_Navigation Option is used to identify
   the address ID of target network Interface.  When the client receives
   the MP_Navigation Option, it will determine the target network
   interface by the Address ID.  Address ID may map to one or more
   ongoing subflows and the client will select one for data transfer by
   its local strategies.

5.  Data scheduling on client when receiving MP_Navigation

   This section will be finished later.

6.  IANA Considerations

   IANA is requested to assign a MPTCP option subtype for the
   MP_Navigation option.

7.  Security Considerations

   Since MP_Navigation option is neither encrypted nor authenticated,
   on-path attackers and middleboxes could remove, add or modify the
   MP_Navigation option on observed Multipath TCP connections.

8.  References

8.1.  Normative References

   [RFC8684]  Ford, A., Raiciu, C., Handley, M., Bonaventure, O., and C.
              Paasch, "TCP Extensions for Multipath Operation with
              Multiple Addresses", RFC 8684, DOI 10.17487/RFC8684, March
              2020, <https://www.rfc-editor.org/info/rfc8684>.

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







Kang, et al.              Expires 13 July 2023                  [Page 7]

Internet-Draft     Accurate Data Scheduling by Server       January 2023


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













































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