Internet-Draft Sender Queue Info Option March 2023
Dreibholz, et al. Expires 27 September 2023 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-dreibholz-tsvwg-sctpsocket-sqinfo-24
Published:
Intended Status:
Experimental
Expires:
Authors:
T. Dreibholz
SimulaMet
R. Seggelmann
Münster Univ. of App. Sciences
M. Becke
HAW Hamburg

Sender Queue Info Option for the SCTP Socket API

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 27 September 2023.

Table of Contents

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:

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.

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, , <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, , <https://www.rfc-editor.org/info/rfc8174>.
[3]
Stewart, R., Ed., "Stream Control Transmission Protocol", RFC 4960, DOI 10.17487/RFC4960, , <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, , <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, , <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, , <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 International Workshop on Protocols for Future, Large-Scale and Diverse Network Transports (PFLDNeT) Volume 8, ISSN 2074-5168, , <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, , <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, , <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, , <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, , <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, DOI 10.1109/WAINA.2012.186, , <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, , <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, , <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, , <https://www.simula.no/file/simulasimula2236pdf/download>.
[16]
Dreibholz, T., "NorNet – A Real-World, Large-Scale Multi-Homing Testbed", , <https://www.nntb.no/>.

Authors' Addresses

Thomas Dreibholz
Simula Metropolitan Centre for Digital Engineering
Pilestredet 52
0167 Oslo
Norway
Robin Seggelmann
Münster University of Applied Sciences
Stegerwaldstraße 39
48565 Steinfurt
Germany
Martin Becke
HAW Hamburg, Informatics Department
Berliner Tor 7
20099 Hamburg
Germany