Skip to main content

Sender Queue Info Option for the SCTP Socket API
draft-dreibholz-tsvwg-sctpsocket-sqinfo-27

Document Type Active Internet-Draft (individual)
Authors Thomas Dreibholz , Robin Seggelmann , Martin Becke
Last updated 2023-09-27
RFC stream (None)
Intended RFC status (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-dreibholz-tsvwg-sctpsocket-sqinfo-27
Network Working Group                                       T. Dreibholz
Internet-Draft                                                 SimulaMet
Intended status: Experimental                              R. Seggelmann
Expires: 29 March 2024                    Münster Univ. of App. Sciences
                                                                M. Becke
                                                             HAW Hamburg
                                                       26 September 2023

            Sender Queue Info Option for the SCTP Socket API
               draft-dreibholz-tsvwg-sctpsocket-sqinfo-27

Abstract

   This document describes an extension to the SCTP sockets API for
   querying information about the sender queue.

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 29 March 2024.

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.

Dreibholz, et al.         Expires 29 March 2024                 [Page 1]
Internet-Draft          Sender Queue Info Option          September 2023

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions . . . . . . . . . . . . . . . . . . . . . . . . .   2
   3.  Sender Queue Info (SCTP_SQINFO) . . . . . . . . . . . . . . .   2
   4.  Testbed Platform  . . . . . . . . . . . . . . . . . . . . . .   3
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   3
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   3
   7.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   4
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     8.2.  Informative References  . . . . . . . . . . . . . . . . .   4
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   This draft describes an extension to the SCTP sockets API (see [4],
   [6] [3]) which allows an application to query the sender queue
   utilization per stream.  This information is necessary for
   applications to make efficient use of a mapping of streams to
   dissimilar paths.  A detailed description including simulation
   results can be found in [7].

   In particular, this API extension is useful when using the CMT-SCTP,
   CMT/RPv1-SCTP, CMT/RPv2-SCTP and MPTCP-like extensions (see [5],
   [13], [12], [9], [10], [11], [8]) for Concurrent Multipath Transfer
   (CMT) with SCTP.

2.  Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [1] [2] when, and only when, they appear in all capitals, as shown
   here.

3.  Sender Queue Info (SCTP_SQINFO)

   This socket option obtains the maximum sender queue size (in bytes),
   the current total sender queue utilization (in bytes) as well as the
   current utilization per stream (in bytes).

   The following structure is used to obtain the sender queue
   information:

Dreibholz, et al.         Expires 29 March 2024                 [Page 2]
Internet-Draft          Sender Queue Info Option          September 2023

   struct sctp_sndqueueinfo {
     sctp_assoc_t sq_assoc_id;
     uint32_t     sq_queue_limit;
     uint32_t     sq_total_queued;
     uint32_t     sq_number_of_streams;
     uint32_t     sq_queued_on_stream[];
   };

   sq_assoc_id:  This parameter is ignored for one-to-one style sockets.
      For one-to-many style sockets this parameter indicates which
      association the user is performing an action upon.  It is an error
      to use SCTP_{CURRENT|ALL}_ASSOC in sq_assoc_id.

   sq_queue_limit:  This field gives the maximum sender queue size in
      bytes.

   sq_total_queued:  This field gives the current total sender queue
      utilization in bytes.

   sq_number_of_streams:  This field gives the number of outgoing
      streams.  That is, it will contain the number of valid
      sq_queued_on_stream entries.

   sq_queued_on_stream:  This array gives the current number of bytes
      queued for the streams 0 to sq_number_of_streams-1.

   Note, that the caller of getsockopt() MUST provide a
   sctp_sndqueueinfo structure which can hold at least as many
   sq_queued_on_stream entries as the association's number of outgoing
   streams.  Otherwise, the getsockopt() call will fail and return an
   error.

4.  Testbed Platform

   A large-scale and realistic Internet testbed platform with support
   for the multi-homing feature of the underlying SCTP protocol is
   NorNet.  A description of NorNet is provided in [14], [15], some
   further information can be found on the project website [16].

5.  Security Considerations

   Security considerations for the SCTP sockets API are described by
   [4].

6.  IANA Considerations

   This document does not require IANA actions.

Dreibholz, et al.         Expires 29 March 2024                 [Page 3]
Internet-Draft          Sender Queue Info Option          September 2023

7.  Acknowledgments

   The authors would like to thank Michael Tuexen and Irene Ruengeler
   for their support.

8.  References

8.1.  Normative References

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

   [2]        Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [3]        Stewart, R., Ed., "Stream Control Transmission Protocol",
              RFC 4960, DOI 10.17487/RFC4960, September 2007,
              <https://www.rfc-editor.org/info/rfc4960>.

   [4]        Stewart, R., Tuexen, M., Poon, K., Lei, P., and V.
              Yasevich, "Sockets API Extensions for the Stream Control
              Transmission Protocol (SCTP)", RFC 6458,
              DOI 10.17487/RFC6458, December 2011,
              <https://www.rfc-editor.org/info/rfc6458>.

   [5]        Amer, P. D., Becke, M., Dreibholz, T., Ekiz, N., Iyengar,
              J., Natarajan, P., Stewart, R. R., and M. Tuexen, "Load
              Sharing for the Stream Control Transmission Protocol
              (SCTP)", Work in Progress, Internet-Draft, draft-tuexen-
              tsvwg-sctp-multipath-23, 9 February 2022,
              <https://www.ietf.org/archive/id/draft-tuexen-tsvwg-sctp-
              multipath-23.txt>.

   [6]        Dreibholz, T., Becke, M., and H. Adhari, "SCTP Socket API
              Extensions for Concurrent Multipath Transfer", Work in
              Progress, Internet-Draft, draft-dreibholz-tsvwg-
              sctpsocket-multipath-23, 6 September 2021,
              <https://www.ietf.org/archive/id/draft-dreibholz-tsvwg-
              sctpsocket-multipath-23.txt>.

8.2.  Informative References

   [7]        Dreibholz, T., Seggelmann, R., Tüxen, M., and E. P.
              Rathgeb, "Transmission Scheduling Optimizations for
              Concurrent Multipath Transfer", Proceedings of the 8th

Dreibholz, et al.         Expires 29 March 2024                 [Page 4]
Internet-Draft          Sender Queue Info Option          September 2023

              International Workshop on Protocols for Future, Large-
              Scale and Diverse Network Transports (PFLDNeT) Volume 8,
              ISSN 2074-5168, 29 November 2010, <https://www.wiwi.uni-
              due.de/fileadmin/fileupload/I-TDR/SCTP/Paper/
              PFLDNeT2010.pdf>.

   [8]        Dreibholz, T., Becke, M., Rathgeb, E. P., and M. Tüxen,
              "On the Use of Concurrent Multipath Transfer over
              Asymmetric Paths", Proceedings of the IEEE Global
              Communications
              Conference (GLOBECOM) ISBN 978-1-4244-5637-6,
              DOI 10.1109/GLOCOM.2010.5683579, 7 December 2010,
              <https://www.wiwi.uni-due.de/fileadmin/fileupload/I-
              TDR/SCTP/Paper/Globecom2010.pdf>.

   [9]        Adhari, H., Dreibholz, T., Becke, M., Rathgeb, E. P., and
              M. Tüxen, "Evaluation of Concurrent Multipath Transfer
              over Dissimilar Paths", Proceedings of the 1st
              International Workshop on Protocols and Applications with
              Multi-Homing Support (PAMS) Pages 708-714,
              ISBN 978-0-7695-4338-3, DOI 10.1109/WAINA.2011.92, 22
              March 2011, <https://www.wiwi.uni-
              due.de/fileadmin/fileupload/I-TDR/SCTP/Paper/
              PAMS2011.pdf>.

   [10]       Dreibholz, T., Becke, M., Adhari, H., and E. P. Rathgeb,
              "On the Impact of Congestion Control for Concurrent
              Multipath Transfer on the Transport Layer", Proceedings of
              the 11th IEEE International Conference on
              Telecommunications (ConTEL) Pages 397-404,
              ISBN 978-953-184-152-8, 16 June 2011,
              <https://www.wiwi.uni-due.de/fileadmin/fileupload/I-
              TDR/SCTP/Paper/ConTEL2011.pdf>.

   [11]       Dreibholz, T., Becke, M., Adhari, H., and E. P. Rathgeb,
              "Evaluation of A New Multipath Congestion Control Scheme
              using the NetPerfMeter Tool-Chain", Proceedings of the
              19th IEEE International Conference on Software,
              Telecommunications and Computer Networks (SoftCOM) Pages
              1-6, ISBN 978-953-290-027-9, 16 September 2011,
              <https://www.wiwi.uni-due.de/fileadmin/fileupload/I-
              TDR/SCTP/Paper/SoftCOM2011.pdf>.

   [12]       Dreibholz, T., Adhari, H., Becke, M., and E. P. Rathgeb,
              "Simulation and Experimental Evaluation of Multipath
              Congestion Control Strategies", Proceedings of the 2nd
              International Workshop on Protocols and Applications with
              Multi-Homing Support (PAMS) ISBN 978-0-7695-4652-0,

Dreibholz, et al.         Expires 29 March 2024                 [Page 5]
Internet-Draft          Sender Queue Info Option          September 2023

              DOI 10.1109/WAINA.2012.186, 29 March 2012,
              <https://www.wiwi.uni-due.de/fileadmin/fileupload/I-
              TDR/SCTP/Paper/PAMS2012.pdf>.

   [13]       Dreibholz, T., "Evaluation and Optimisation of Multi-Path
              Transport using the Stream Control Transmission
              Protocol",  Habilitation Treatise, 13 March 2012,
              <https://duepublico.uni-duisburg-
              essen.de/servlets/DerivateServlet/Derivate-29737/
              Dre2012_final.pdf>.

   [14]       Dreibholz, T. and E. G. Gran, "Design and Implementation
              of the NorNet Core Research Testbed for Multi-Homed
              Systems", Proceedings of the 3nd International Workshop on
              Protocols and Applications with Multi-Homing
              Support (PAMS) Pages 1094-1100, ISBN 978-0-7695-4952-1,
              DOI 10.1109/WAINA.2013.71, 27 March 2013,
              <https://www.simula.no/file/
              threfereedinproceedingsreference2012-12-207643198512pdf/
              download>.

   [15]       Gran, E. G., Dreibholz, T., and A. Kvalbein, "NorNet Core
              – A Multi-Homed Research Testbed", Computer Networks,
              Special Issue on Future Internet Testbeds Volume 61, Pages
              75-87, ISSN 1389-1286, DOI 10.1016/j.bjp.2013.12.035, 14
              March 2014,
              <https://www.simula.no/file/simulasimula2236pdf/download>.

   [16]       Dreibholz, T., "NorNet – A Real-World, Large-Scale Multi-
              Homing Testbed", 2022, <https://www.nntb.no/>.

Authors' Addresses

   Thomas Dreibholz
   Simula Metropolitan Centre for Digital Engineering
   Pilestredet 52
   0167 Oslo
   Norway
   Email: dreibh@simula.no
   URI:   https://www.simula.no/people/dreibh

   Robin Seggelmann
   Münster University of Applied Sciences
   Stegerwaldstraße 39
   48565 Steinfurt
   Germany
   Email: seggelmann@fh-muenster.de

Dreibholz, et al.         Expires 29 March 2024                 [Page 6]
Internet-Draft          Sender Queue Info Option          September 2023

   Martin Becke
   HAW Hamburg, Informatics Department
   Berliner Tor 7
   20099 Hamburg
   Germany
   Phone: +49-40-42875-8104
   Email: martin.becke@haw-hamburg.de
   URI:   http://www.scimbe.de/about.html

Dreibholz, et al.         Expires 29 March 2024                 [Page 7]