rfc9622v8.txt | rfc9622.txt | |||
---|---|---|---|---|
skipping to change at line 18 ¶ | skipping to change at line 18 ¶ | |||
G. Fairhurst | G. Fairhurst | |||
University of Aberdeen | University of Aberdeen | |||
M. Kühlewind | M. Kühlewind | |||
Ericsson | Ericsson | |||
C. S. Perkins | C. S. Perkins | |||
University of Glasgow | University of Glasgow | |||
P.S. Tiesel | P.S. Tiesel | |||
SAP SE | SAP SE | |||
T. Pauly | T. Pauly | |||
Apple Inc. | Apple Inc. | |||
December 2024 | January 2025 | |||
An Abstract Application Programming Interface (API) for Transport | An Abstract Application Programming Interface (API) for Transport | |||
Services | Services | |||
Abstract | Abstract | |||
This document describes an abstract Application Programming Interface | This document describes an abstract Application Programming Interface | |||
(API) to the transport layer that enables the selection of transport | (API) to the transport layer that enables the selection of transport | |||
protocols and network paths dynamically at runtime. This API enables | protocols and network paths dynamically at runtime. This API enables | |||
faster deployment of new protocols and protocol features without | faster deployment of new protocols and protocol features without | |||
skipping to change at line 52 ¶ | skipping to change at line 52 ¶ | |||
received public review and has been approved for publication by the | received public review and has been approved for publication by the | |||
Internet Engineering Steering Group (IESG). Further information on | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | Internet Standards is available in Section 2 of RFC 7841. | |||
Information about the current status of this document, any errata, | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | and how to provide feedback on it may be obtained at | |||
https://www.rfc-editor.org/info/rfc9622. | https://www.rfc-editor.org/info/rfc9622. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2025 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Revised BSD License text as described in Section 4.e of the | include Revised BSD License text as described in Section 4.e of the | |||
Trust Legal Provisions and are provided without warranty as described | Trust Legal Provisions and are provided without warranty as described | |||
skipping to change at line 1937 ¶ | skipping to change at line 1937 ¶ | |||
a Preconnection object with a Remote Endpoint object to identify the | a Preconnection object with a Remote Endpoint object to identify the | |||
Endpoint, optionally a Local Endpoint object (if not specified, the | Endpoint, optionally a Local Endpoint object (if not specified, the | |||
system will attempt to determine a suitable Local Endpoint), as well | system will attempt to determine a suitable Local Endpoint), as well | |||
as all Properties necessary for candidate selection. | as all Properties necessary for candidate selection. | |||
The Initiate action returns a Connection object. Once Initiate has | The Initiate action returns a Connection object. Once Initiate has | |||
been called, any changes to the Preconnection MUST NOT have any | been called, any changes to the Preconnection MUST NOT have any | |||
effect on the Connection. However, the Preconnection can be reused, | effect on the Connection. However, the Preconnection can be reused, | |||
e.g., to Initiate another Connection. | e.g., to Initiate another Connection. | |||
Once Initiate is called, the candidate Protocol Stack(s) can cause | Once Initiate is called, the Candidate Protocol Stack(s) can cause | |||
one or more candidate transport-layer connections to be created to | one or more candidate transport-layer connections to be created to | |||
the specified Remote Endpoint. The caller could immediately begin | the specified Remote Endpoint. The caller could immediately begin | |||
sending Messages on the Connection (see Section 9.2) after calling | sending Messages on the Connection (see Section 9.2) after calling | |||
Initiate; note that any data marked as "safely replayable" that is | Initiate; note that any data marked as "safely replayable" that is | |||
sent while the Connection is being established could be sent multiple | sent while the Connection is being established could be sent multiple | |||
times or using multiple candidates. | times or using multiple candidates. | |||
The following events can be sent by the Connection after Initiate is | The following events can be sent by the Connection after Initiate is | |||
called: | called: | |||
Connection -> Ready<> | Connection -> Ready<> | |||
The Ready event occurs after Initiate has established a transport- | The Ready event occurs after Initiate has established a transport- | |||
layer connection on at least one usable candidate Protocol Stack over | layer connection on at least one usable Candidate Protocol Stack over | |||
at least one Candidate Path. No Receive events (see Section 9.3) | at least one Candidate Path. No Receive events (see Section 9.3) | |||
will occur before the Ready event for Connections established using | will occur before the Ready event for Connections established using | |||
Initiate. | Initiate. | |||
Connection -> EstablishmentError<reason?> | Connection -> EstablishmentError<reason?> | |||
An EstablishmentError occurs when: | An EstablishmentError occurs when: | |||
* the set of transport Properties and Security Parameters cannot be | * the set of transport Properties and Security Parameters cannot be | |||
fulfilled on a Connection for initiation (e.g., the set of | fulfilled on a Connection for initiation (e.g., the set of | |||
skipping to change at line 3958 ¶ | skipping to change at line 3958 ¶ | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC9621] Pauly, T., Ed., Trammell, B., Ed., Brunstrom, A., | [RFC9621] Pauly, T., Ed., Trammell, B., Ed., Brunstrom, A., | |||
Fairhurst, G., and C. S. Perkins, "Architecture and | Fairhurst, G., and C. S. Perkins, "Architecture and | |||
Requirements for Transport Services", RFC 9621, | Requirements for Transport Services", RFC 9621, | |||
DOI 10.17487/RFC9621, December 2024, | DOI 10.17487/RFC9621, January 2025, | |||
<https://www.rfc-editor.org/info/RFC9621>. | <https://www.rfc-editor.org/info/RFC9621>. | |||
14.2. Informative References | 14.2. Informative References | |||
[RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - | [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - | |||
Communication Layers", STD 3, RFC 1122, | Communication Layers", STD 3, RFC 1122, | |||
DOI 10.17487/RFC1122, October 1989, | DOI 10.17487/RFC1122, October 1989, | |||
<https://www.rfc-editor.org/info/rfc1122>. | <https://www.rfc-editor.org/info/rfc1122>. | |||
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | |||
skipping to change at line 4149 ¶ | skipping to change at line 4149 ¶ | |||
for HTTP", RFC 9218, DOI 10.17487/RFC9218, June 2022, | for HTTP", RFC 9218, DOI 10.17487/RFC9218, June 2022, | |||
<https://www.rfc-editor.org/info/rfc9218>. | <https://www.rfc-editor.org/info/rfc9218>. | |||
[RFC9329] Pauly, T. and V. Smyslov, "TCP Encapsulation of Internet | [RFC9329] Pauly, T. and V. Smyslov, "TCP Encapsulation of Internet | |||
Key Exchange Protocol (IKE) and IPsec Packets", RFC 9329, | Key Exchange Protocol (IKE) and IPsec Packets", RFC 9329, | |||
DOI 10.17487/RFC9329, November 2022, | DOI 10.17487/RFC9329, November 2022, | |||
<https://www.rfc-editor.org/info/rfc9329>. | <https://www.rfc-editor.org/info/rfc9329>. | |||
[RFC9623] Brunstrom, A., Ed., Pauly, T., Ed., Enghardt, R., Tiesel, | [RFC9623] Brunstrom, A., Ed., Pauly, T., Ed., Enghardt, R., Tiesel, | |||
P. S., and M. Welzl, "Implementing Interfaces to Transport | P. S., and M. Welzl, "Implementing Interfaces to Transport | |||
Services", RFC 9623, DOI 10.17487/RFC9623, December 2024, | Services", RFC 9623, DOI 10.17487/RFC9623, January 2025, | |||
<https://www.rfc-editor.org/info/rfc9623>. | <https://www.rfc-editor.org/info/rfc9623>. | |||
[TCP-COUPLING] | [TCP-COUPLING] | |||
Islam, S., Welzl, M., Hiorth, K., Hayes, D., Armitage, G., | Islam, S., Welzl, M., Hiorth, K., Hayes, D., Armitage, G., | |||
and S. Gjessing, "ctrlTCP: Reducing latency through | and S. Gjessing, "ctrlTCP: Reducing latency through | |||
coupled, heterogeneous multi-flow TCP congestion control", | coupled, heterogeneous multi-flow TCP congestion control", | |||
IEEE INFOCOM 2018 - IEEE Conference on Computer | IEEE INFOCOM 2018 - IEEE Conference on Computer | |||
Communications Workshops (INFOCOM WKSHPS), | Communications Workshops (INFOCOM WKSHPS), | |||
DOI 10.1109/INFCOMW.2018.8406887, 2018, | DOI 10.1109/INFCOMW.2018.8406887, 2018, | |||
<https://ieeexplore.ieee.org/document/8406887>. | <https://ieeexplore.ieee.org/document/8406887>. | |||
End of changes. 6 change blocks. | ||||
6 lines changed or deleted | 6 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |