Internet-Draft SDN MPTCP-aware MPQUIC-aware using ALTO April 2022
Xing, et al. Expires 14 October 2022 [Page]
Workgroup:
alto
Internet-Draft:
draft-xing-alto-sdn-controller-aware-mptcp-mpquic-01
Published:
Intended Status:
Informational
Expires:
Authors:
Z. Xing
Changchun University of Science and Technology
H. Qi
Changchun University of Science and Technology
X. Di
Changchun University of Science and Technology

The SDN-based MPTCP-aware and MPQUIC-aware Transmission Control Model using ALTO

Abstract

This document aims to study and implement MPTCP (MultiPath Transmission Control Protocol) and MPQUIC (MultiPath Quick UDP Internet Connection) for software-defined networking. In an software-defined network, ALTO (application layer traffic optimization) server collects network cost indicators (including link delay, availability, network traffic, bandwidth, etc.) and the controller extract MPTCP or MPQUIC packet header and allocate MPTCP or MPQUIC packet to suitable transmission path according to the obtained network state, reducing the probability of transmission path congestion and improving path utilization.

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 14 October 2022.

Table of Contents

1. Introduction

The traditional TCP protocol only uses one path between the server and the client to transmit data. In order to realize the simultaneous transmission of data between multiple paths between the server and the client, the International Internet Engineering Task Force proposed and standardized MultiPath TCP (MPTCP) [RFC6897] . MPTCP realizes multiple paths between hosts to transmit data at the same time, but it is necessary to modify the operating system kernel to change the protocol stack of both parties in order to increase the MPTCP protocol. Therefore, MPTCP has disadvantages such as difficulty in deployment. In order to solve the drawbacks in the transmission network and adapt to the faster development of the Internet, Google proposed the HTTP/3 protocol which is Quick UDP Internet Connection (QUIC) [RFC9000]. QUIC has many new features, such as: 0-RTT, forward error correction, connection migration, flexible congestion control, multiplexing without head-of-line blocking, easy deployment, and more. MultiPath QUIC (MPQUIC) [MPQUIC] is a multi-path transmission protocol designed on the basis of QUIC. Software Defined Network (SDN) [RFC7426] is a new network innovation architecture implemented by virtualization. By separating control and forwarding, it breaks the closedness of traditional network equipment, and uses programming to make network management more concise and efficient. flexible. Application Layer Traffic Optimization (ALTO) [RFC7285] can obtain and provide global network information to the controller, such as network traffic, link delay, etc. The main multipath transmission protocols MPTCP and MPQUIC have their own characteristics [MultipathTester]. The application of multipath transmission in SDN can greatly improve the transmission throughput.The purpose of this research is to realize the coupling control of MPTCP or MPQUIC sub-flows in software-defined networks, and allocate the optimal path according to the network status information obtained by ALTO, so as to improve bandwidth utilization and resource allocation fairness, effectively alleviate network congestion and achieve load balancing between paths.

At present, some scholars have studied the model of deploying MPTCP or MPQUIC in software-defined network, [QUICSDN] \ [SDN_for_MPTCP] \ [SDN_MPTCP], but their SDN controller cannot manage the headers of MPTCP and MPQUIC data packets at the same time, and cannot achieve unified management of MPTCP and MPQUIC links.The ALTO protocol can easily obtain various network states (including multiple SDNs, dynamic networks) from SDN without the internal details of the network provider, and deliver controller decisions [SDN_ALTO_proof] \ [SDN_ALTO], which is already a mature solution.

The SDN-based MPTCP and MPQUIC transmission control using ALTO model consists of three parts.

The purpose of this document is to:

Describe the model that the controller can extract MPTCP or MPQUIC data packets in the software-defined network.

According to the global information obtained by the AlTO, the controller allocates MPTCP or MPQUIC data packets with efficient transmission path.

The principle of multi-path transmission control model based on SDN controller MPTCP and MPQUIC using ALTO is shown in Figure 1.

+--------------Network Status Acquisition----------------+
|                     ALTO Server                        |
|       (network topology, traffic distribution,         |
|               link delay/bandwidth)                    |
+---------------^----------------------------------------+
                |
                +--Network Information--+
                                        |
+--------------------Control Plane------v----------------+
|    +-------------------------------------------+       |
|    |     Extract MPTCP / MPQUIC header module  |       |
|    |          (Extract packet header)          |       |
|    +---------------------+---------------------+       |
|                          |                             |
|                     token or CID                       |
|                          |                             |
|    +---------------------v---------------------+       |
|    |            Path selection module          |       |
| +-->    (Select the appropriate path from      <--+    |
| |  |    the candidate path - assigned path)    |  |    |
| |  +---------------------+---------------------+  |    |
| |                        |                   Allocated |
| |            +-----Allocate path------+         path   |
| |            |                        |           |    |
| |  +---------v----------+ +-----------v--------+  |    |
| |  |     Flow rules     | |  Link management   |  |    |
| |  | generation module  | |      module        |  |    |
| |  |   (All switch      | |(Manage the mapping +--+    |
| |  |  assignment flow   | |table flows and save|       |
| |  |  tables for the    | |   the connection   |       |
| |  |  selected path)    | |    information)    |       |
| |  +---------+----------| +--------------------+       |
+-|------------|-----------------------------------------+
 Network       |
 status        +----Flow rules-----+
  |                                |
  |  +---------------Data Plane----v-------------+
  |  | +------------------+ +------------------+ |
  |  | |    SDN switch    | |    SDN switch    | |
  +--+ | (Forwarding flow | | (Forwarding flow | |
     | | rules and obtain | | rules and obtain | |
     | |  network status) | |  network status) | |
     | +------------------+ +------------------+ |
     +-------------------------------------------+

Figure 1 Schematic diagram of SDN-based MPTCP-aware and MPQUIC-aware
transmission control model using ALTO

2. Terminology

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 [RFC2119].

3. Default transmission control mode of MPTCP or MPQUIC in SDN

In a software-defined network, the default controller cannot extract MPTCP or MPQUIC data packets. If MPTCP or MPQUIC are deployed and there are multiple transmission paths, the controller only selects one of the paths to transmit data, and the other paths are idle (there is only one path to transmit data). The utilization rate is low, and it is impossible to transmit data on multiple paths at the same time, resulting in low transmission efficiency.

4. SDN-based MPTCP-aware and MPQUIC-aware multi-path transmission control model using ALTO

      +---------------------+        +----------------------------+
      | Create a flow table |        |The packet p arrives at s1, |
      +----------+----------+        | and s1 performs flow rules |<-+
                 |                   |   item matching on p       |  |
                 v                   +--------------+-------------+  |
      +----------+----------+                       |                |
      |Obtain Network Status|                       |                |
      |Extract packet header|<-----+                |                |
      +----------+----------+      |                v                |
                 |                 |                /\               |
     +-----------+------------+    |               /  \              |
     |           |            |    +---NO-----Match successful?      |
     v           v            v                    \  /              |
    /\          /\           /\                     \/               |
   /  \        /  \         /  \                    YES              |
MP_CAPABLE     CID         MP_JOIN                   |               |
   \  /        \  /         \  /                     v               |
    \/          \/           \/         +------------+-------------+ |
    |            |            |         |Forward paket according to|-+
    |            |            v         |the flow rules instruction|
    |            |     +------+------+  +------------+-------------+
    |            |     |Extract token|               ^
    |            |     +------+------+               |
    |            |            |                      |
    |            v            v                      |
    |     +------+----+ +-----+-------+              |
    |     | key=Q+CID | | key=T+token |              |
    |     +-----+-----+ +------+------+              |
    |           |              |                     |
    |           +------+-------+                     |
    |                  |                             |
    |                  v                             |
    |                 /\                             |
    |                /  \                            |
    |             Is there a key                     |
    |        +--in the flow table?--+                |
    |        |       \  /           |                |
    |       NO        \/           YES               |
    |        |                      |                |
    |        v                      v                |
    | +-------+---------+   +-------+------+         |
    | |Extract source IP|   |              |         |
    | |destination IP   |   | Path of all  |         |
    | |source port      |   | subflows in  |         |
    | |destination port |   | value,RL     |         |
    | |and subflow      |   |              |         |
    | |identifier       |   |              |         |
    | +-------+---------+   +-------+------+         |
    |         |                     |                |
    |         v                     v                |
    | +-------+---------+   +-------+-------+        |
    | |Add the subflow  |   |Extract the    |        |
    | |meta information |   |subflow meta   |        |
    | |to value and then|   |information    |        |
    | |save <key:value> |   |and add it to  |        |
    | |to the flow rules|   |value          |        |
    | +-------+---------+   +--------+------+        |
    +-------->|                     |                |
              v                     v                |
      +-------+---------+   +-------+------+         |
      |                 |   |Allocate a new|         |
      |Allocate the     |   |path to p, and|         |
      |first path to p  |   |route does not|         |
      |route            |   |belong to RL  |         |
      +-------+---------+   +-------+------+         |
              |                     |                |
              +----------+----------+                |
                         |                           |
                         v                           |
   +---------------------+----------------------+    |
   |Put forward and reverse flow rules to switch|----+
   +--------------------------------------------+
Figure 2 The flow chart of the SDN-based MPTCP-aware and MPQUIC-aware
 multi-path transmission control model using ALTO

The flow chart of the SDN-based MPTCP-aware and MPQUIC-aware multi-path transmission control model using ALTO is shown in Figure 2. The transmission control model is realized by the following steps:

5. Security Considerations

The transmission control model uses the default security mechanism of SDN\ALTO\MPTCP\MPQUIC in the network, and does not modify the default security mechanisms such as encryption and authentication models [RFC7426], [RFC7285], [RFC6824] and [RFC9000].

6. IANA Considerations

TBD.

7. Discussion

The SDN transmission control model proposed in this document can simultaneously identify MPTCP and MPQUIC data packets and allocate optimal paths according to the network status obtained by ALTO, which expands the application scope of MPTCP and MPQUIC. In order to verify its comprehensive transmission performance, a fat-tree data center network is designed. The transmission control method proposed in this document improves the throughput by about 3 times compared to the default transmission control method. This model also supports data transmission in multiple software-defined networks, and can also be applied to satellite networks, marine networks, etc. to transmit data.

8. References

8.1. Informative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC6824]
Ford, A., Raiciu, C., Handley, M., and O. Bonaventure, "TCP Extensions for Multipath Operation with Multiple Addresses", RFC 6824, DOI 10.17487/RFC6824, , <https://www.rfc-editor.org/info/rfc6824>.
[RFC6897]
Scharf, M. and A. Ford, "Multipath TCP (MPTCP) Application Interface Considerations", RFC 6897, DOI 10.17487/RFC6897, , <https://www.rfc-editor.org/info/rfc6897>.
[RFC7285]
Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S., Previdi, S., Roome, W., Shalunov, S., and R. Woundy, "Application-Layer Traffic Optimization (ALTO) Protocol", RFC 7285, DOI 10.17487/RFC7285, , <https://www.rfc-editor.org/info/rfc7285>.
[RFC7426]
Haleplidis, E., Ed., Pentikousis, K., Ed., Denazis, S., Hadi Salim, J., Meyer, D., and O. Koufopavlou, "Software-Defined Networking (SDN): Layers and Architecture Terminology", RFC 7426, DOI 10.17487/RFC7426, , <https://www.rfc-editor.org/info/rfc7426>.
[RFC9000]
Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, , <https://www.rfc-editor.org/info/rfc9000>.

8.2. Informative References

[MPQUIC]
"Multipath Extension for QUIC", <https://www.ietf.org/archive/id/draft-lmbdhk-quic-multipath-00.html>.
[MultipathTester]
"Coninck Q D , Bonaventure O . MultipathTester: Comparing MPTCP and MPQUIC in Mobile Environments[C]// 2019 Network Traffic Measurement and Analysis Conference (TMA). 2019.", <https://10.23919/TMA.2019.8784653>.
[QUICSDN]
"Kumar P , Chen J , Dezfouli B . QuicSDN: Transitioning from TCP to QUIC for Southbound Communication in SDNs[J]. 2021.", <https://ui.adsabs.harvard.edu/abs/2021arXiv210708336K>.
[SDN_ALTO]
"V. K. Gurbani, M. Scharf, T. V. Lakshman, V. Hilt and E. Marocco, "Abstracting network state in Software Defined Networks (SDN) for rendezvous services," 2012 IEEE International Conference on Communications (ICC), 2012, pp. 6627-6632.", <https://doi.org/10.1109/ICC.2012.6364858>.
[SDN_ALTO_proof]
"[1] Faigl, Z. , Z. Szabo , and R. Schulcz . "Application-layer traffic optimization in software-defined mobile networks: A proof-of-concept implementation." IEEE(2014):1-6.", <https://doi.org/10.1109/NETWKS.2014.6959200>.
[SDN_for_MPTCP]
"Hussein A , Elhajj I H , Chehab A , et al. SDN for MPTCP: An enhanced architecture for large data transfers in datacenters[C]// IEEE International Conference on Communications. IEEE, 2017.", <https://doi.org/10.1109/ICC.2017.7996653>.
[SDN_MPTCP]
"7. K. Gao, C. Xu, J. Qin, S. Yang, L. Zhong and G. Muntean, "QoS-driven Path Selection for MPTCP: A Scalable SDN-assisted Approach," 2019 IEEE Wireless Communications and Networking Conference (WCNC), 2019, pp. 1-6,", <https://doi.org/10.1109/WCNC.2019.8885585>.

Authors' Addresses

Ziyang Xing
Changchun University of Science and Technology
Changchun
Hui Qi
Changchun University of Science and Technology
Changchun
Xiaoqiang Di
Changchun University of Science and Technology
Changchun