draft-ietf-tcpm-2140bis-06.txt   draft-ietf-tcpm-2140bis-07.txt 
TCPM WG J. Touch TCPM WG J. Touch
Internet Draft Independent Internet Draft Independent
Intended status: Informational M. Welzl Intended status: Informational M. Welzl
Obsoletes: 2140 S. Islam Obsoletes: 2140 S. Islam
Expires: May 2021 University of Oslo Expires: June 2021 University of Oslo
November 25, 2020 December 28, 2020
TCP Control Block Interdependence TCP Control Block Interdependence
draft-ietf-tcpm-2140bis-06.txt draft-ietf-tcpm-2140bis-07.txt
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
This document may contain material from IETF Documents or IETF This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this 10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow material may not have granted the IETF Trust the right to allow
skipping to change at page 1, line 45 skipping to change at page 1, line 45
months and may be updated, replaced, or obsoleted by other documents months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress." reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
This Internet-Draft will expire on May 25, 2021. This Internet-Draft will expire on June 28, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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
skipping to change at page 4, line 15 skipping to change at page 4, line 15
This document updates RFC 2140's discussion of TCB state sharing and This document updates RFC 2140's discussion of TCB state sharing and
provides a complete replacement for that document. This state provides a complete replacement for that document. This state
sharing affects only TCB initialization [RFC2140] and thus has no sharing affects only TCB initialization [RFC2140] and thus has no
effect on the long-term behavior of TCP after a connection has been effect on the long-term behavior of TCP after a connection has been
established nor on interoperability. Path information shared across established nor on interoperability. Path information shared across
SYN destination port numbers assumes that TCP segments having the SYN destination port numbers assumes that TCP segments having the
same host-pair experience the same path properties, irrespective of same host-pair experience the same path properties, irrespective of
TCP port numbers. The observations about TCB sharing in this TCP port numbers. The observations about TCB sharing in this
document apply similarly to any protocol with congestion state, document apply similarly to any protocol with congestion state,
including SCTP [RFC4960] and DCCP [RFC4340], as well as for including SCTP [RFC4960] and DCCP [RFC4340], as well as for
individual subflows in Multipath TCP [RFC6824]. individual subflows in Multipath TCP [RFC8684].
2. Conventions Used in This Document 2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
However, this document is intended to describe behavior that is The core of this document describes behavior that is already
already permitted by TCP standards. As a result, it provides permitted by TCP standards. As a result, it provides informative
informative guidance but does not use such normative language, guidance but does not use normative language, except when quoting
except when quoting other documents. other documents. Normative language is used in Appendix C as
examples of requirements for future consideration.
3. Terminology 3. Terminology
The following terminology is used frequently in this document. Items The following terminology is used frequently in this document. Items
preceded with a "+" may be part of the state maintained as TCP preceded with a "+" may be part of the state maintained as TCP
connection state in the associated connections TCB and are the focus connection state in the associated connections TCB and are the focus
of sharing as described in this document. of sharing as described in this document.
+cwnd - the TCP congestion window size [RFC5681] +cwnd - the TCP congestion window size [RFC5681]
skipping to change at page 13, line 29 skipping to change at page 13, line 29
highly congested link. highly congested link.
There are several ways to initialize the congestion window in a new There are several ways to initialize the congestion window in a new
TCB among an ensemble of current connections to a host. Current TCP TCB among an ensemble of current connections to a host. Current TCP
implementations initialize it to four segments as standard [rfc3390] implementations initialize it to four segments as standard [rfc3390]
and 10 segments experimentally [RFC6928]. These approaches assume and 10 segments experimentally [RFC6928]. These approaches assume
that new connections should behave as conservatively as possible. that new connections should behave as conservatively as possible.
The algorithm described in [Ba12] adjusts the initial cwnd depending The algorithm described in [Ba12] adjusts the initial cwnd depending
on the cwnd values of ongoing connections. It is also possible to on the cwnd values of ongoing connections. It is also possible to
use sharing mechanisms over long timescales to adapt TCP's initial use sharing mechanisms over long timescales to adapt TCP's initial
window automatically, as described further in Appendix A. window automatically, as described further in Appendix C.
8. Compatibility Issues 8. Compatibility Issues
Here, we discuss various types of problems that may arise with TCB Here, we discuss various types of problems that may arise with TCB
information sharing. information sharing.
For the congestion and current window information, the initial For the congestion and current window information, the initial
values computed by TCB interdependence may not be consistent with values computed by TCB interdependence may not be consistent with
the long-term aggregate behavior of a set of concurrent connections the long-term aggregate behavior of a set of concurrent connections
between the same endpoints. Under conventional TCP congestion between the same endpoints. Under conventional TCP congestion
skipping to change at page 16, line 30 skipping to change at page 16, line 30
layer but could be shared at the network layer. layer but could be shared at the network layer.
9.2. Other possibilities 9.2. Other possibilities
Per-host-pair associations are not the limit of these techniques. It Per-host-pair associations are not the limit of these techniques. It
is possible that TCBs could be similarly shared between hosts on a is possible that TCBs could be similarly shared between hosts on a
subnet or within a cluster, because the predominant path can be subnet or within a cluster, because the predominant path can be
subnet-subnet, rather than host-host. Additionally, TCB subnet-subnet, rather than host-host. Additionally, TCB
interdependence can be applied to any protocol with congestion interdependence can be applied to any protocol with congestion
state, including SCTP [RFC4960] and DCCP [RFC4340], as well as for state, including SCTP [RFC4960] and DCCP [RFC4340], as well as for
individual subflows in Multipath TCP [RFC6824]. individual subflows in Multipath TCP [RFC8684].
There may be other information that can be shared between concurrent There may be other information that can be shared between concurrent
connections. For example, knowing that another connection has just connections. For example, knowing that another connection has just
tried to expand its window size and failed, a connection may not tried to expand its window size and failed, a connection may not
attempt to do the same for some period. The idea is that existing attempt to do the same for some period. The idea is that existing
TCP implementations infer the behavior of all competing connections, TCP implementations infer the behavior of all competing connections,
including those within the same host or subnet. One possible including those within the same host or subnet. One possible
optimization is to make that implicit feedback explicit, via optimization is to make that implicit feedback explicit, via
extended information associated with the endpoint IP address and its extended information associated with the endpoint IP address and its
TCP implementation, rather than per-connection state in the TCB. TCP implementation, rather than per-connection state in the TCB.
skipping to change at page 17, line 9 skipping to change at page 17, line 9
The observation that some TCB state is host-pair specific rather The observation that some TCB state is host-pair specific rather
than application-pair dependent is not new and is a common than application-pair dependent is not new and is a common
engineering decision in layered protocol implementations. Although engineering decision in layered protocol implementations. Although
now deprecated, T/TCP [RFC1644] was the first to propose using now deprecated, T/TCP [RFC1644] was the first to propose using
caches in order to maintain TCB states (see Appendix A). caches in order to maintain TCB states (see Appendix A).
The table below describes the current implementation status for some The table below describes the current implementation status for some
TCB temporal sharing in Linux kernel version 4.6, FreeBSD 10 and TCB temporal sharing in Linux kernel version 4.6, FreeBSD 10 and
Windows as of October 2016. Ensemble sharing is not yet implemented. Windows as of October 2016. Ensemble sharing is not yet implemented.
CURRENT IMPLEMENTATION STATUS (as of 2016) KNOWN IMPLEMENTATION STATUS
TCB data Status TCB data Status
------------------------------------------------------------ ------------------------------------------------------------
old_MMS_S Not shared old_MMS_S Not shared
old_MMS_R Not shared old_MMS_R Not shared
old_sendMSS Cached and shared in Linux (MSS) old_sendMSS Cached and shared in Linux (MSS)
old_PMTU Cached and shared in FreeBSD and Windows (PMTU) old_PMTU Cached and shared in FreeBSD and Windows (PMTU)
skipping to change at page 21, line 27 skipping to change at page 21, line 27
[RFC4340] Kohler, E., Handley, M., Floyd, S., "Datagram Congestion [RFC4340] Kohler, E., Handley, M., Floyd, S., "Datagram Congestion
Control Protocol (DCCP)," RFC 4340, Mar. 2006. Control Protocol (DCCP)," RFC 4340, Mar. 2006.
[RFC4960] Stewart, R., (Ed.), "Stream Control Transmission [RFC4960] Stewart, R., (Ed.), "Stream Control Transmission
Protocol," RFC4960, Sept. 2007. Protocol," RFC4960, Sept. 2007.
[RFC5925] Touch, J., Mankin, A., Bonica, R., "The TCP Authentication [RFC5925] Touch, J., Mankin, A., Bonica, R., "The TCP Authentication
Option," RFC 5925, June 2010. Option," RFC 5925, June 2010.
[RFC6824] Ford, A., Raiciu, C., Handley, M., Bonaventure, O., "TCP
Extensions for Multipath Operation with Multiple
Addresses," RFC 6824, Jan. 2013.
[RFC6928] Chu, J., Dukkipati, N., Cheng, Y., Mathis, M., "Increasing [RFC6928] Chu, J., Dukkipati, N., Cheng, Y., Mathis, M., "Increasing
TCP's Initial Window," RFC 6928, Apr. 2013. TCP's Initial Window," RFC 6928, Apr. 2013.
[RFC7231] Fielding, R., J. Reshke, Eds., "HTTP/1.1 Semantics and [RFC7231] Fielding, R., J. Reshke, Eds., "HTTP/1.1 Semantics and
Content," RFC-7231, June 2014. Content," RFC-7231, June 2014.
[RFC7323] Borman, D., B. Braden, V. Jacobson, R. Scheffenegger [RFC7323] Borman, D., B. Braden, V. Jacobson, R. Scheffenegger
(Ed.), "TCP Extensions for High Performance," RFC 7323, (Ed.), "TCP Extensions for High Performance," RFC 7323,
Sept. 2014. Sept. 2014.
skipping to change at page 22, line 5 skipping to change at page 21, line 48
B., "Mechanisms for Optimizing Link Aggregation Group B., "Mechanisms for Optimizing Link Aggregation Group
(LAG) and Equal-Cost Multipath (ECMP) Component Link (LAG) and Equal-Cost Multipath (ECMP) Component Link
Utilization in Networks", RFC 7424, Jan. 2015 Utilization in Networks", RFC 7424, Jan. 2015
[RFC7540] Belshe, M., Peon, R., Thomson, M., "Hypertext Transfer [RFC7540] Belshe, M., Peon, R., Thomson, M., "Hypertext Transfer
Protocol Version 2 (HTTP/2)", RFC 7540, May 2015. Protocol Version 2 (HTTP/2)", RFC 7540, May 2015.
[RFC7661] Fairhurst, G., Sathiaseelan, A., Secchi, R., "Updating TCP [RFC7661] Fairhurst, G., Sathiaseelan, A., Secchi, R., "Updating TCP
to Support Rate-Limited Traffic", RFC 7661, Oct. 2015. to Support Rate-Limited Traffic", RFC 7661, Oct. 2015.
[RFC8684] Ford, A., Raiciu, C., Handley, M., Bonaventure, O.,
Paasch, C., "TCP Extensions for Multipath Operation with
Multiple Addresses," RFC 8684, Mar. 2020.
15. Acknowledgments 15. Acknowledgments
The authors would like to thank for Praveen Balasubramanian for The authors would like to thank for Praveen Balasubramanian for
information regarding TCB sharing in Windows, and Yuchung Cheng, information regarding TCB sharing in Windows, and Yuchung Cheng,
Lars Eggert, Ilpo Jarvinen and Michael Scharf for comments on Lars Eggert, Ilpo Jarvinen and Michael Scharf for comments on
earlier versions of the draft. Earlier revisions of this work earlier versions of the draft. Earlier revisions of this work
received funding from a collaborative research project between the received funding from a collaborative research project between the
University of Oslo and Huawei Technologies Co., Ltd. and were partly University of Oslo and Huawei Technologies Co., Ltd. and were partly
supported by USC/ISI's Postel Center. supported by USC/ISI's Postel Center.
This document was prepared using 2-Word-v2.0.template.dot. This document was prepared using 2-Word-v2.0.template.dot.
16. Change log 16. Change log
This section should be removed upon final publication as an RFC. This section should be removed upon final publication as an RFC.
ietf-07:
- Update per id-nits and normative language for consistency
ietf-06: ietf-06:
- Address WGLC comments - Address WGLC comments
ietf-05: ietf-05:
- Correction of typographic errors, expansion of terminology - Correction of typographic errors, expansion of terminology
ietf-04: ietf-04:
 End of changes. 11 change blocks. 
16 lines changed or deleted 21 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/