Skip to main content

Transmission Control Protocol (TCP)
draft-ietf-tcpm-rfc793bis-28

Revision differences

Document history

Date Rev. By Action
2022-08-15
28 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2022-07-18
28 (System) RFC Editor state changed to AUTH48
2022-06-30
28 (System) RFC Editor state changed to RFC-EDITOR from EDIT
2022-05-26
28 (System) RFC Editor state changed to EDIT from AUTH
2022-05-20
28 (System) RFC Editor state changed to AUTH from EDIT
2022-04-08
28 (System) IANA Action state changed to RFC-Ed-Ack from Waiting on RFC Editor
2022-04-08
28 (System) IANA Action state changed to Waiting on RFC Editor from In Progress
2022-04-08
28 (System) IANA Action state changed to In Progress from Waiting on Authors
2022-04-07
28 (System) IANA Action state changed to Waiting on Authors from In Progress
2022-04-04
28 (System) RFC Editor state changed to EDIT
2022-04-04
28 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2022-04-04
28 (System) Announcement was received by RFC Editor
2022-04-04
28 Cindy Morgan Downref to RFC 6633 approved by Last Call for draft-ietf-tcpm-rfc793bis-28
2022-04-04
28 Cindy Morgan Downref to RFC 6298 approved by Last Call for draft-ietf-tcpm-rfc793bis-28
2022-04-04
28 Cindy Morgan Downref to RFC 5681 approved by Last Call for draft-ietf-tcpm-rfc793bis-28
2022-04-04
28 Cindy Morgan Downref to RFC 3168 approved by Last Call for draft-ietf-tcpm-rfc793bis-28
2022-04-04
28 Cindy Morgan Downref to RFC 2474 approved by Last Call for draft-ietf-tcpm-rfc793bis-28
2022-04-04
28 Cindy Morgan Downref to RFC 1191 approved by Last Call for draft-ietf-tcpm-rfc793bis-28
2022-04-04
28 (System) IANA Action state changed to In Progress
2022-04-04
28 Cindy Morgan IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2022-04-04
28 Cindy Morgan IESG has approved the document
2022-04-04
28 Cindy Morgan Closed "Approve" ballot
2022-04-04
28 Cindy Morgan Ballot approval text was generated
2022-04-04
28 (System) Removed all action holders (IESG state changed)
2022-04-04
28 Martin Duke IESG state changed to Approved-announcement to be sent from IESG Evaluation::AD Followup
2022-04-04
28 Paul Wouters
[Ballot comment]
I have discussed the open DISCUSS items listed by Ben Kaduk with Wesley Eddy and Martin Duke. Ben's first issue was discussed in …
[Ballot comment]
I have discussed the open DISCUSS items listed by Ben Kaduk with Wesley Eddy and Martin Duke. Ben's first issue was discussed in the WG and rejected by consensus. The document shepherd also raised that making changes to the protocol that weren't a part of other RFCs or erratas was "out of scope" for this update. Ben's remaining issues were discussed at a previous IESG telechat.
2022-04-04
28 Paul Wouters [Ballot Position Update] New position, No Objection, has been recorded for Paul Wouters
2022-03-07
28 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-28.txt
2022-03-07
28 (System) New version accepted (logged-in submitter: Wesley Eddy)
2022-03-07
28 Wesley Eddy Uploaded new revision
2022-02-22
27 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-27.txt
2022-02-22
27 (System) New version accepted (logged-in submitter: Wesley Eddy)
2022-02-22
27 Wesley Eddy Uploaded new revision
2022-02-17
26 Zaheduzzaman Sarker [Ballot comment]
Thanks for addressing my Discuss and comments. I am happy with the current version. This is really a good work...
2022-02-17
26 Zaheduzzaman Sarker [Ballot Position Update] Position for Zaheduzzaman Sarker has been changed to No Objection from Discuss
2022-02-08
26 (System) Changed action holders to Martin Duke (IESG state changed)
2022-02-08
26 (System) Sub state has been changed to AD Followup from Revised ID Needed
2022-02-08
26 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2022-02-08
26 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-26.txt
2022-02-08
26 (System) New version accepted (logged-in submitter: Wesley Eddy)
2022-02-08
26 Wesley Eddy Uploaded new revision
2021-12-16
25 Warren Kumari
[Ballot comment]
--- EDIT ---
I originally balloted DISCUSS, ending with "As noted in https://www.ietf.org/blog/handling-iesg-ballot-positions/, a DISCUSS ballot is a request to have a …
[Ballot comment]
--- EDIT ---
I originally balloted DISCUSS, ending with "As noted in https://www.ietf.org/blog/handling-iesg-ballot-positions/, a DISCUSS ballot is a request to have a discussion; I really think that the document would be improved with a change here, but can be convinced otherwise." - I see that there was a discussion on the list. I still think that it would be useful to have some additional text so that users don't cut themselves on sharp edges, but this is just my opinion, and so I'm clearing the DISCUSS.
Thanks all for the DISCUSSion.
----

Thank you very much to the authors and WG for writing this -- it's an important piece of work, and seems like it was probably also a large amount of work. Thanks!

Also, thanks to Sarah Banks for the OpsDir review - it was helpful.
Oh, and thanks to Erik, whose text I stole :-)
2021-12-16
25 Warren Kumari [Ballot Position Update] Position for Warren Kumari has been changed to No Objection from Discuss
2021-10-11
25 Lars Eggert [Ballot Position Update] Position for Lars Eggert has been changed to No Objection from Discuss
2021-09-23
25 Barry Leiba Closed request for Last Call review by ARTART with state 'Withdrawn': Document has finished IESG processing
2021-09-23
25 Barry Leiba Assignment of request for Last Call review by ARTART to Russ Housley was marked no-response
2021-09-23
25 (System) Changed action holders to Martin Duke, Wesley Eddy (IESG state changed)
2021-09-23
25 Cindy Morgan IESG state changed to IESG Evaluation::Revised I-D Needed from IESG Evaluation
2021-09-23
25 Alvaro Retana [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana
2021-09-23
25 Robert Wilton
[Ballot comment]
I support Ben's Discuss point 3.

I would like to thank the author and WG of taking on the task of cleaning up …
[Ballot comment]
I support Ben's Discuss point 3.

I would like to thank the author and WG of taking on the task of cleaning up and updating the TCP spec, it is hard work, but very important and helpful to the wider Internet community.

However, having read the shepherd's writeup, I do partly question whether publishing this as Internet Standard rather the Proposed Standard is really the right choice.  The Shepherd's writeup seems to suggest that there are various aspects of the protocol where implementations either all deviate from the standard, or mitigate various issues.  Ideally, I would prefer for IETF consensus to be reached on a standard way of how to address those issues, and then collect those into an rfc793bisbis that accurately represents what a current TCP implementation is expected to look like.  However, I can also see that, RFC 793 is an Internet Standard, and publishing a cleanup of that spec, that doesn't change anything, along with the fact that TCP is deployed everywhere, make is hard to not classify RFC793bis as an Internet Standard ...

But, anyway, I really do appreciate the cleanup work that has happened here.

Regards,
Rob
2021-09-23
25 Robert Wilton [Ballot Position Update] New position, No Objection, has been recorded for Robert Wilton
2021-09-22
25 Roman Danyliw
[Ballot comment]
Thank you to Kyle Rose for the SECDIR review.

I support Ben, Lars, Warren and Zahed’s DISCUSS positions.

** Appendix A.1 and the …
[Ballot comment]
Thank you to Kyle Rose for the SECDIR review.

I support Ben, Lars, Warren and Zahed’s DISCUSS positions.

** Appendix A.1 and the shepherd write-up which explains why the antiquated text around “security compartments” for multi-level systems is still in this draft.  It’s disappointing that there was no prior IETF consensus action to establish the basis of pruning it.  My suggested addition for Appendix A.1 would be to make a much clearer statement than “the state of IP security options that may be used by MLS systems is not as clean”.  It isn’t clear what is meant by “clean” – is it intended to say that it is not in fact used?

** Section 3.1. Per “[TCP Option]; Options#Size == (DOffset-5)*32;”, I found this notation confusing. What does the “#” in “Options#Size” indicate?

** Section 3.4.  Per “There are security issues that result if an off-path attacker is able to predict or guess ISN values”, a reference might be helpful for this statement.  Perhaps [41] or [Morris185] from [41].

** Section 3.9.2 and 3.9.2.1 The text here discusses various IP options like timestamp, record route and source routing.  Either in this section or in the Security Considerations the security implications of these options should be highlights.  Specifically, Section 4.3 – 4.5 of RFC7126 outline these security issues and has normative guidance to treat these packets as default drop.

** Section 7.  Recommend being more precise on the lack of security services:

OLD
but there are no built-in cryptographic capabilities
  to support any form of privacy, authentication

NEW
but there are no built-in cryptographic capabilities
  to support any form of confidentiality, authentication

** Section 7.
  In order to fully protect TCP connections (including their control
  flags) IPsec or the TCP Authentication Option (TCP-AO) [36] are the
  only current effective methods. Other methods discussed in this
  section may protect the payload

The text should be more precise on what “protect” means.  IPSec and TCP-AO provide different security services.  IPSec will provide confidentiality and integrity, but TCP-AO only provides the latter.

Likewise, the reference to protect the payload needs to be clarified.  Which exact security service does “protect” align with?

** Section 7.  Further discussion on TCP stack fingerprinting would be helpful.  RFC8546 notes that “In particular, the metadata, such as sequences of interpacket timing and packet sizes, can be used to    infer other parameters of the behavior of the protocols in use or to fingerprint protocols and/or specific implementations of those protocols.”  However, it’s more than that – it’s the specific choices of options, their sequence in the packets, etc.  Pretty much everything a tool like nmap does to profile host OSes.
2021-09-22
25 Roman Danyliw [Ballot Position Update] New position, No Objection, has been recorded for Roman Danyliw
2021-09-22
25 Benjamin Kaduk
[Ballot discuss]
Many thanks for taking on the task of producing a roll-up update for the
core TCP specification!  I am sure it was a …
[Ballot discuss]
Many thanks for taking on the task of producing a roll-up update for the
core TCP specification!  I am sure it was a lot of work, but I am happy
to see it done.

That said, I do have a few points that I would like to have a bit more
discussion on before the document is published; I'm happy to see that
Warren already linked to
https://www.ietf.org/blog/handling-iesg-ballot-positions/ on the topic
of what a DISCUSS position can (and cannot) mean.

(1) We incorporate some long-standing enhancements that improve the
security and robustness of TCP (in particular, random ISN and protection
against off-path in-window attacks come to mind), but only at SHOULD or
MAY requirements level.

For example, we currently say:

  A TCP implementation MUST use the above type of "clock" for clock-
  driven selection of initial sequence numbers (MUST-8), and SHOULD
  generate its Initial Sequence Numbers with the expression:

  ISN = M + F(localip, localport, remoteip, remoteport, secretkey)

and:

        +  RFC 5961 [37] section 5 describes a potential blind data
            injection attack, and mitigation that implementations MAY
            choose to include (MAY-12).  TCP stacks that implement
            RFC 5961 MUST add an input check that the ACK value is
            [...]

What prevents us from making a MUST-level requirement for randomized
ISNs?  Is it just the fact that it was only a SHOULD in RFC 6528 and a
perception that promoting to a MUST would be incompatible with retaining
Internet Standard status?

Likewise, what prevents using stronger normative language (e.g., MUST)
for the RFC 5961 protections?

It seems to me that these mechanisms are of general applicability and
provide significant value for use of TCP on the internet, even though
they are not fully robust and do not use cryptographic mechanisms.  If
there are scenarios where their use is harmful or even just not
applicable, that seems like an exceptional case that should get
documented so as to strengthen the general recommendation for the
non-exception cases.


(2) I think this is just a process question to ensure that the IESG
knows what we are approving at Internet Standard maturity, though it
is certainly possible that I misunderstand the situation.

In Section 3.7.3 we see the normative statement (SHLD-6) that "when the
when the effective MTU of an interface varies packet-to- packet, TCP
implementations SHOULD use the smallest effective MTU of the interface
to calculate the value to advertise in the MSS option".  This seems to
originate in RFC 6691 (being obsoleted by this document), but RFC 6691
is only an Informational document and has not had an opportunity to
"accumulate experience at Proposed Standard before progressing", to
paraphrase RFC 6410.

Similarly, Section 3.9.2 has (SHLD-23) "Generally, an application SHOULD
NOT change the DiffServ field value during the course of a connection
(SHLD-23)."  This is a bit harder to track down, as the DiffServ field
was not always known by that name.  I actually failed to find a directly
analogous previous statement of this guidance (presumably my error), and
thus don't know if it had any experience at the PS level or not.

RFC 6410 seems pretty clear that some revisions are okay in Internet
Standards without such "bake time" at PS, but it does seem like
something that should be done consciously rather than by accident.

(3) This is also a process point for explicit consideration by the IESG.

Appendix A.2 appears to discuss a few (rare) scenarios in which the
technical mechanisms of this document fail catastrophically (e.g.,
getting stuck in a SYN|ACK loop and failing to complete the handshake).
Does this meet the "resolved known design choices" and "no known
technical omission" bar required by RFC 2026 even for *proposed*
standard?

(Note that RFC 2026 explicitly says that the IESG may waive this
requirement, at least for PS.)


(AFAICT one such scenario is reported at
https://www.rfc-editor.org/errata_search.php?eid=3305 , which the change
log for this document calls out as "not applicable due to other
changes"; I am not sure which "other changes" are intended, for this
case.)

(4) Another point mostly just to get explicit IESG acknowledgment
(elevating one of Lars' comments to DISCUSS level, essentially).

As the changelog (and gen-art reviewer!) notes:

  Early in the process of updating RFC 793, Scott Brim mentioned that
  this should include a PERPASS/privacy review.  This may be something
  for the chairs or AD to request during WGLC or IETF LC.

I don't see any evidence to suggest that such a review actually
occurred.  Do we want to seek out such a targeted review before
progressing?
2021-09-22
25 Benjamin Kaduk
[Ballot comment]
Thank you for the editorial changes so that we now talk about "a TCP
implementation" or a "remote TCP peer" rather than just …
[Ballot comment]
Thank you for the editorial changes so that we now talk about "a TCP
implementation" or a "remote TCP peer" rather than just "a TCP" or
"a remote TCP"!

Abstract

                                                It also updates RFC
  5961
by adding a small clarification in reset handling while in the
  SYN-RECEIVED state.  [...]

I'm not sure I found what this clarification was; is SYN-RECEIVED the
correct state?  The ad-hoc diff I constructed between RFC 793 and this
document shows identical text for the "If the RST bit is set" case when
currently in SYN-RECEIVED STATE.

Section 3.1

  Options: [TCP Option]; Options#Size == (DOffset-5)*32; present
  only when DOffset > 5.

My (later) nit-level notation comment aside, the given expression does
not seem to convey the size occupied by the options, but rather the
combined size of the options and the padding.

Section 3.2

  A TCP Option is one of: an End of Option List Option, a No-Operation
  Option, or a Maximum Segment Size Option.

The IANA registry lists some thirty-odd option kinds, so this sentence
just seems false without some additional qualifier ("defined by this
specification", etc.)

Section 3.4

  In response to sending data the TCP endpoint will receive
  acknowledgments.  The following comparisons are needed to process the
  acknowledgments.
      [...]
      SEG.SEQ = first sequence number of a segment

      SEG.LEN = the number of octets occupied by the data in the segment
      (counting SYN and FIN)

      SEG.SEQ+SEG.LEN-1 = last sequence number of a segment

It seems to me that this information from the incoming segment is not
part of processing the *acknowledgment*, but rather part of processing
the data received in that segment (a procedure discussed a few
paragraphs later).

            This clock is a 32-bit counter that typically increments at
  least once every roughly 4 microseconds, [...]
  Maximum Segment Lifetime (MSL), generated ISNs will be unique, since
  it cycles approximately every 4.55 hours, which is much longer than
  the MSL.

Once we put in the "at least" we allow arbitrarily faster clock updates,
and that puts the "approximately every 4.55 hours" estimate in question.
Very fast clock updates would cycle correspondingly faster.  Do we need
to place a lower limit on the clock update interval?  (On first look, it
seems like we might not, since the keyed PRF F() is providing most of
the protection from off-path guessing, and an attacker can always use
direct connections to estimate the clock cycle interval.  OTOH, if it
cycles so fast that it repeats within O(MSL), that might be problematic.)

  parameters and some secret data.  For discussion of the selection of
  a specific hash algorithm and management of the secret key data,
  please see Section 3 of [41].

The guidance in the referenced document seems a bit dated (it indicates
that MD5 is probably still okay for this purpose).  While the known
attacks on MD5 do not directly translate into an attack on ISN
generation, collisions can be found on as little as 64 bytes of input,
and all of the straightforward ways to use pure MD5 as a keyed hash for
this purpose have some undesirable properties.  I'm happy to note that
FreeBSD is using siphash for this purpose, which should be more than
adequate.  I expect that Linux and other major TCP stacks are already
doing something similar, so the guidance to use MD5 may be dated in
practice as well as in utility.

I don't have a great proposal for where to put some updated guidance
(unless there's already some work underway in tcpm?); it is probably not
appropriate to put it inline here, so either an appendix or a separate
document seem plausible.

Section 3.7.1

  The MSS value to be sent in an MSS option should be equal to the
  effective MTU minus the fixed IP and TCP headers.  By ignoring both
  IP and TCP options when calculating the value for the MSS option, if
  there are any IP or TCP options to be sent in a packet, then the
  sender must decrease the size of the TCP data accordingly.  RFC 6691
  [42] discusses this in greater detail.

I note that RFC 6691 is obsoleted by this document; it seems to me that
if we think there is useful content still in that document, we should
include such content in this document instead of referring to a document
we are calling obsolete.  (This is not the only place we do so, to be
clear, but I will try to mention it just once.  I do see the note that
we only claim to incorporate the normative portions of most of the
obsoleted specs, leaving the informational content alone.)

Section 3.8.4

  An implementation SHOULD send a keep-alive segment with no data
  (SHLD-12); however, it MAY be configurable to send a keep-alive
  segment containing one garbage octet (MAY-6), for compatibility with
  erroneous TCP implementations.

Such misbehaved TCP impelementations were misbehaved even in 1989 when
RFC 1122 was published -- do we have a sense for whether they are still
around to any significant degree?

Section 3.8.5

  As a result of implementation differences and middlebox interactions,
  new applications SHOULD NOT employ the TCP urgent mechanism (SHLD-
  13).  However, TCP implementations MUST still include support for the
  urgent mechanism (MUST-30).  Details can be found in RFC 6093 [38].

This "SHOULD NOT employ" has been in force for over a decade (RFC 6093
is dated January 2011).  How long do we have to wait until there are
sufficiently few implementations employing the urgent mechanism that it
no longer needs to be implemented?

Section 3.9.2.3

      An incoming SYN with an invalid source address MUST be ignored
      either by TCP or by the IP layer (MUST-63) (Section 3.2.1.3 of
      [18]).

Requirements of the form "A or B must do X" that are ambiguous about
whether A or B takes the action leave the risk that both will expect the
other party to take the action, and the action will fail to occur.  If
we're in a position to specifically require one (or both!) to check,
that leads to a more robust and verifiable system.  (I assume we're not
in such a position, but it can't hurt to check.)

Section 4

  Destination Address
          The network layer address of the remote endpoint.
  [...]
  Source Address
          The network layer address of the sending endpoint.

These definitions don't seem to work in the context of a receiver
validating the TCP checksum, where the destination address is the local
endpoint's address and the source address is the remote endpoint's
address.  (I note that these definitions are different from what RFC 793
itself used.)

  receive window
          This represents the sequence numbers the local (receiving)
          TCP endpoint is willing to receive.  Thus, the local TCP
          endpoint considers that segments overlapping the range
          RCV.NXT to RCV.NXT + RCV.WND - 1 carry acceptable data or
          control.  Segments containing sequence numbers entirely
          outside of this range are considered duplicates and
          discarded.

Duplicates or injection attacks (when the sequence numbers in the
segment are too large).

Section 5

  The collection of applicable RFC Errata that have been reported and
  either accepted or held for an update to RFC 793 were incorporated
  (Errata IDs: 573, 574, 700, 701, 1283, 1561, 1562, 1564, 1565, 1571,
  1572, 2296, 2297, 2298, 2748, 2749, 2934, 3213, 3300, 3301, 6222).
  Some errata were not applicable due to other changes (Errata IDs:
  572, 575, 1569, 3305, 3602).

I think that EID 1565 belongs in the "not applicable due to other
changes" list, since the text it attempts to modify involves the
now-removed discussion of the IP "precedence" field.

Similarly, EID 2296 also affected text about precedence and security
that is no longer present in a recognizable form.

  The more secure Initial Sequence Number generation algorithm from RFC
  6528
was incorporated.  See RFC 6528 for discussion of the attacks
  that this mitigates, as well as advice on selecting PRF algorithms
  and managing secret key data.

(As I mentioned up in §3.4, that guidance is no longer current.)

Section 9.1

It's not clear to me that RFC 2675 ([5]) needs to be classified as
normative.

The guidance at
https://www.ietf.org/about/groups/iesg/statements/normative-informative-references/
would suggest that RFC 5961 ([37]) should be classified as normative,
since we replicate its MUST-level requirements with the condition that
"TCP stacks that implement RFC 5961 MUST [...]", which would appear to
make that behavior an "optional feature".

Appendix A.1.2

  The IP security option (IPSO) and compartment defined in [1] was
  refined in RFC 1038 that was later obsoleted by RFC 1108.  The
  Commercial IP Security Option (CIPSO) is defined in FIPS-188, and is
  supported by some vendors and operating systems.  RFC 1108 is now

Should we mention that FIPS-188 is archived and withdrawn by NIST?
(I also didn't find much to define the actual IP option in the PDF I
found,
https://csrc.nist.gov/csrc/media/publications/fips/188/archive/1994-09-06/documents/fips188.pdf,
but I didn't look very hard.)

Appendix A.3

It's fascinating to me that the preferred reference for this modified
Nagle algorithm is an Internet-Draft from 1999, vs something more
recent.

Appendix B

    Every 2nd full-sized segment or 2*RMSS ACK'd | SHLD-19|x| | | | |

This 'x' seems to be in the "MUST" column, not the "SHOULD" column.

  Time Stamp support                            | MAY-10 | | |x| | |

How do we square timestamp support being a "MAY" with SHLD-4,
SHOULD-level guidance to use timestamps to reduce TIME-WAIT?

  Time Exceeded => tell ALP, don't abort        | MUST-56| | | | |x|
  Param Problem => tell ALP, don't abort        | MUST-56| | | | |x|

Is there a double negative between "don't abort" and the 'x' being in
the "MUST NOT" column?

NITS

I made essentially no attempt to de-duplicate the nit-level remarks
against the ballot positions from other ADs (in contrast to the other
comments, where I made some modest effort to de-duplicate).  My
apologies for the extra work to ignore the already-fixed items.

Section 1

  For several decades, RFC 793 plus a number of other documents have
  combined to serve as the core specification for TCP [48].  Over time,
  a number of errata have been filed against RFC 793, as well as
  deficiencies in security, performance, and many other aspects.  The

A naive parse would say that this means a number of errata have been
filed against deficiencies.  I suspect the transition between errata and
deficiencies should refer to deficiencies having been "discovered" or
similar.

  The purpose of this document is to bring together all of the IETF
  Standards Track changes that have been made to the base TCP
  functional specification and unify them into an update of RFC 793.

It's a little surprising to see this described as an "update of RFC 793"
(vs. a "replacement of" or "updated version of") since the relationship
is Obsoletes, not Updates.  I might even consider "into a single
consolidated specification".

Section 3.1

  Options: [TCP Option]; Options#Size == (DOffset-5)*32; present
  only when DOffset > 5.

The "Options#Size" notation seems confusing and is not using any
convention I'm aware of.  It does not appear in RFC 793 or any other RFC
that I can find, either.

Section 3.3.1

  maintenance of a TCP connection requires the remembering of several
  variables.  We conceive of these variables being stored in a

"the remembering of" is a fairly awkward phrase, where something like
just "remembering" or "maintaining state for" would flow more naturally.

Section 3.4

  It is essential to remember that the actual sequence number space is
  finite, though very large.  This space ranges from 0 to 2**32 - 1.

The sense of scale in the broader ecosystem may have evolved out from
under us; QUIC's 62-bit sequence space might be more along the lines of
"very large" these days, with a 32-bit space being merely "large".

  A connection is defined by a pair of sockets.  Connections can be

This is the first instance of the word "socket" in this document.
RFC 793 used the term much more prevalently, but this update has
(beneficially, IMO) moved away from that approach in favor of discussing
IP addresses and port numbers.  Might such a change be appropriate here
as well?  Regardless, we should probably have some introduction to what
we mean by "socket" if we are to retain any uses of the term, IMO, more
than just the glossary entry.

  verify this SYN.  The three way handshake and the advantages of a
  clock-driven scheme are discussed in [68].

I don't have access to the reference, but it's not clear from just it's
abstract whether "advantages of" or "advantages over" a clock-driven
scheme is the intended meaning.

  explanation for this specification is given.  TCP implementors may
  violate the "quiet time" restriction, but only at the risk of causing
  some old data to be accepted as new or new data rejected as old
  duplicated by some receivers in the internet system.

Maybe "old duplicated data"?  The current phrasing feels like it's
missing a word.

                                Hosts that prefer to avoid waiting are
  willing to risk possible confusion of old and new packets at a given
  destination may choose not to wait for the "quiet time".

I think this needs an "and", for "prefer to avoid waiting and are
willing to risk".

  To summarize: every segment emitted occupies one or more sequence
  numbers in the sequence space, the numbers occupied by a segment are
  "busy" or "in use" until MSL seconds have passed, upon rebooting a
  block of space-time is occupied by the octets and SYN or FIN flags of
  the last emitted segment, if a new connection is started too soon and
  uses any of the sequence numbers in the space-time footprint of the
  last segment of the previous connection incarnation, there is a
  potential sequence number overlap area that could cause confusion at
  the receiver.

This list seems to be missing an "and".
(Also, is it really only the last emitted segment that could cause
problems?)

Section 3.5

                                                            It is the
  implementation of a trade-off between memory and messages to provide
  information for this checking.

I'm not sure this reads well; is "the implementation of" needed?

      If an incoming segment has a security level, or compartment that
      does not exactly match the level and compartment requested for the
      connection, a reset is sent and the connection goes to the CLOSED
      state.  The reset takes its sequence number from the ACK field of

The comma in the first line is no longer needed (it was part of the list
when precedence was still part of the list).

Section 3.6

      In this case, a FIN segment can be constructed and placed on the
      outgoing segment queue.  No further SENDs from the user will be
      accepted by the TCP implementation, and it enters the FIN-WAIT-1
      state.  RECEIVEs are allowed in this state.  All segments
      preceding and including FIN will be retransmitted until
      acknowledged.  When the other TCP peer has both acknowledged the
      FIN and sent a FIN of its own, the first TCP peer can ACK this
      FIN.  Note that a TCP endpoint receiving a FIN will ACK but not
      send its own FIN until its user has CLOSED the connection also.

Naming the two peers (e.g., A and B) can help avoid awkward grammatical
constructions like "can ACK this FIN" and improve clarity.

Section 3.8

  segments may arrive due to network or TCP retransmission.  As
  discussed in the section on sequence numbers the TCP implementation
  performs certain tests on the sequence and acknowledgment numbers in
  the segments to verify their acceptability.

comma after "sequence number".

Section 3.8.6.2.2

  Note that the general effect of this algorithm is to advance RCV.WND
  in increments of Eff.snd.MSS (for realistic receive buffers:
  Eff.snd.MSS < RCV.BUFF/2).  Note also that the receiver must use its
  own Eff.snd.MSS, assuming it is the same as the sender's.

I think the last sentence would be more clear if it was something like
"making the assumption that is the same" or "on the assumption that it
is the same".

Section 3.8.6.3

  Note that there are several current practices that further lead to a
  reduced number of ACKs, including generic receive offload (GRO), ACK
  compression, and ACK decimation [26].

Reference [26] seems reasonable for ACK decimation and ACK compression,
but doesn't seem to cover GRO at all.

Section 3.9.1

        If the PUSH flag is set, the application intends the data to be
        transmitted promptly to the receiver, and the PUSH bit will be
        set in the last TCP segment created from the buffer.  When an
        application issues a series of SEND calls without setting the
        PUSH flag, the TCP implementation MAY aggregate the data
        internally without sending it (MAY-16).

There's a dedicated paragraph a few paragraphs later for when the PUSH
flag is not set; the last sentence might flow better there.

        Some TCP implementations have included a FLUSH call, which will
        empty the TCP send queue of any data that the user has issued
        SEND calls but is still to the right of the current send
        window.  That is, it flushes as much queued send data as

I think "has issued SEND calls for" (add "for").

Section 3.9.2

  When received options are passed up to TCP from the IP layer, TCP
  implementations MUST ignore options that it does not understand
  (MUST-50).

singular/plural mismatch (it/implementations)

Section 3.9.2.2

  Soft Errors
    For ICMP these include: Destination Unreachable -- codes 0, 1, 5,
    Time Exceeded -- codes 0, 1, and Parameter Problem.

    For ICMPv6 these include: Destination Unreachable -- codes 0 and 3,
    Time Exceeded -- codes 0, 1, and Parameter Problem -- codes 0, 1,
    2.

    Since these Unreachable messages indicate soft error conditions,

I'm not entirely sure that I'd classify "parameter problem" as an
"unreachable" message per se.

Section 3.10

  Please note in the following that all arithmetic on sequence numbers,
  acknowledgment numbers, windows, et cetera, is modulo 2**32 the size
  of the sequence number space.  Also note that "=<" means less than or

Some punctuation around "the size of the sequence number space" seems in
order.

  equal to (modulo 2**32).

[In formal mathematics this "less than or equal to, modulo N" operator
is not defined.  But it's probably okay in this context.]

Section 3.10.1

        the parameters of the incoming SYN segment.  Verify the
        security and DiffServ value requested are allowed for this
        user, if not return "error: precedence not allowed" or "error:
        security/compartment not allowed."  If passive enter the LISTEN

It's surprising for the error string to mention "precedence" when the
predicate is DiffServ value.

        with "error: insufficient resources".  If Foreign socket was
        not specified, then return "error: remote socket unspecified".

I suspect s/Foreign/remote/ was intended.  (Also occurs later, but I
will just note it once here.)

Section 3.10.3

      -  Since the remote side has already sent FIN, RECEIVEs must be
        satisfied by data already on hand, but not yet delivered to the
        user.  If no text is awaiting delivery, the RECEIVE will get a
        "error: connection closing" response.  Otherwise, any remaining
        text can be used to satisfy the RECEIVE.

I think s/text/data/ should be applied on the last line (since it was
already applied on the second line).

Section 3.10.7.4

  o  Segments are processed in sequence.  Initial tests on
      arrival are used to discard old duplicates, but further
      processing is done in SEG.SEQ order.  If a segment's
      contents straddle the boundary between old and new, only the
      new parts should be processed.

Maybe s/should be/are/?  There's not really optionality about it...

            *  If this connection was initiated with a passive OPEN
              (i.e., came from the LISTEN state), then return this
              connection to LISTEN state and return.  The user need
              not be informed.  If this connection was initiated
              with an active OPEN (i.e., came from SYN-SENT state)
              then the connection was refused, signal the user
              "connection refused".  In either case, all segments on
              the retransmission queue should be removed.  And in

IIUC, what's described here as "removed" is described elsewhere as
"flushed"; it would be good to use consistent terminology when possible.

        +  Once in the ESTABLISHED state, it is possible to deliver
            segment text to user RECEIVE buffers.  Text from segments
            can be moved into buffers until either the buffer is full
            or the segment is empty.  If the segment empties and
            [...]

As above, it seems like (case-insensitive) s/test/data/ would improve
consistency.

Section 4

  internet datagram
          The unit of data exchanged between an internet module and the
          higher level protocol together with the internet header.

"exchanged between an internet module and the higher level protocol"
sounds like a local operation; I would have expected the definition of
an *internet* datagram to involve transfer over the (inter)network.

  segment length
          The amount of sequence number space occupied by a segment,
          including any controls that occupy sequence space.

Should we say that this is a field in the segment header?

  URG
          A control bit (urgent), occupying no sequence space, used to
          indicate that the receiving user should be notified to do
          urgent processing as long as there is data to be consumed
          with sequence numbers less than the value indicated in the
          urgent pointer.

To me, "value indicated in" is synonymous with "value contained in",
which is problematic here since the urgent field is only 16 bits and
sequence numbers 32 bits.  "indicated by" would be an improvement,
though of course if we're willing to spend more words we can increase
clarity further.

Appendix A.1

  RFC 793 requires checking the IP security compartment and precedence
  on incoming TCP segments for consistency within a connection, and

I think the past tense "required" would be more appropriate upon
publication of this document as an RFC obsoleting RFC 793.
2021-09-22
25 Benjamin Kaduk [Ballot Position Update] New position, Discuss, has been recorded for Benjamin Kaduk
2021-09-22
25 John Scudder
[Ballot comment]
Thanks very much for this document and all the work that went into it. Thanks also for the clear and illuminating shepherd write-up. …
[Ballot comment]
Thanks very much for this document and all the work that went into it. Thanks also for the clear and illuminating shepherd write-up.

Below are some comments I hope will be helpful.

1. Regarding in §1,

  The purpose of this document is to bring together all of the IETF
  Standards Track changes that have been made to the base TCP
  functional specification and unify them into an update of [RFC 793].

It also incorporates Informational documents, right? For example, RFC 6691 is Informational, as is 6429. So, these are being elevated, by virtue of their incorporation, to Standards Track. I'm not saying that's a problem, but the quoted text, while technically accurate I suppose (it doesn't say "exclusively Standards Track changes" after all) is misleading.

2. Regarding, in §3.4,

  A new acknowledgment (called an "acceptable ack"), is one for which
  the inequality below holds:

  SND.UNA < SEG.ACK =< SND.NXT

I’m having a hard time seeing why the first part of the inequality is < and not =<. Wouldn’t =< be the case when a single new byte is being acknowledged? (Based on the definition that SND.UNA is the “oldest unacknowledged sequence number” and therefore, presumably needs to be acknowledged.) I do see this text is unchanged from RFC 793 so I am very likely wrong, but I’d appreciate knowing WHY I’m wrong…

3. Regarding, in §3.4,

    even if data rates escalate to 10's of megabits/sec. At 100
    megabits/sec, the cycle time is 5.4 minutes, which may be a little
    short, but still within reason.

I realize this is, again, inherited from RFC 793 but it seems hopelessly quaint in 2021 and not suitable for publication today. I mean, my unexceptional commodity home connection is 1 Gbps and it just goes up from there. At 100 Gbps we’re down to a cycle time of ~300 msec which no longer seems so easy to brush off as "still within reason". I’m not suggesting this document has to fix the problem, and indeed I’m aware there are other documents for this purpose — but does the outdated text have to be retained?

4. The parenthetical reference to “User Telnet” in §3.8.3 seemed equally anachronistic. Seems like it could just be removed.

5. It made me sad while reviewing the document, that certain sections were stingy with subsection numbering. In particular §3.4 has the unnumbered subheadings "Initial Sequence Number Selection", "Knowing When to Keep Quiet", and "The TCP Quiet Time Concept", and §3.5 has "Half-Open Connections and Other Anomalies", "Reset Generation", and "Reset Processing". I think it would make the document more usable if these were numbered, as we tend to do in the modern era, and as the rest of the document does do. (I may have missed some, the list above isn't necessarily exhaustive.)

Nits:

6. I found it odd that figure 11 uses Z and X as the sequence numbers, whereas all the previous illustrations used actual numbers. It works of course, but it's inconsistent.

7. In §3.1:

  The control bits are also know as "flags"

  S/know/known/

8. In §3.1, “one’s complement” should be “ones’ complement”.

9. In §3.3.2:

  transitions are not not explicitly shown

  Presumably the double negation isn’t isn't deliberate. :-)

10. In §3.4:

    next sequence number expected on an incoming segments

    Should be segment, singular.

11. In §3.4:

    sequence space occupying controls

    I think this needs, or at least would be better with, a hyphen: “sequence space-occupying controls”

12. In several places, "anyways" should probably be "anyway". (At least my dictionary suggests the change.)

13. In §3.4:

  Hosts that prefer to avoid waiting are
  willing to risk possible confusion of old and new packets at a given
  destination may choose not to wait for the "quiet time".

“Are willing” should be “and are willing”

14. In §3.6:

    the user can terminate his side gracefully

Perhaps consider a non-gendered pronoun such as "their"?

15. In §3.8.2:

  [RFC 1122] required implementation of Van Jacobson's congestion control
  algorithms slow start and congestion avoidance together with

Seems as though there’s some punctuation missing. Perhaps “RFC 1122 required implementation of Van Jacobson’s congestion control algorithms, slow start, and congestion avoidance, together with“?

16. “Internet” is inconsistently capitalized throughout, probably corresponding to age of the text. But I suppose the RFCEd will fix this.
2021-09-22
25 John Scudder [Ballot Position Update] New position, No Objection, has been recorded for John Scudder
2021-09-22
25 Warren Kumari
[Ballot discuss]
[ "Then I said unto you, Dread not, neither be afraid of of this DISCUSS, for it be easy to address" ]

I'm …
[Ballot discuss]
[ "Then I said unto you, Dread not, neither be afraid of of this DISCUSS, for it be easy to address" ]

I'm raising one of Erik's comments to a DISCUSS, because I think that it is important enough that it needs addressing:
----
[S3.9.2.1]

* I feel like there should be some additional caveat about security
  implications of support for source routing.  RFC 6274, for example, says
  packets with LSRR (6274s3.13.2.3) and SSRR (6274s3.13.2.4) options should
  be dropped, citing various security concerns.

  I'm not sure there needs to be a lot of text; perhaps just an observation
  that some end systems may not support the source route semantics described
  here for security (or policy) reasons?
----

I realize that this document isn't intended to be a summary of all RFCs which mention anything related to TCP, but this particular point seems like it could do with an extra bit of reinforcement.

As noted in https://www.ietf.org/blog/handling-iesg-ballot-positions/, a DISCUSS ballot is a request to have a discussion; I really think that the document would be improved with a change here, but can be convinced otherwise.
2021-09-22
25 Warren Kumari
[Ballot comment]
Thank you very much to the authors and WG for writing this -- it's an important piece of work, and seems like it …
[Ballot comment]
Thank you very much to the authors and WG for writing this -- it's an important piece of work, and seems like it was probably also a large amount of work. Thanks!

Also, thanks to Sarah Banks for the OpsDir review - it was helpful.
Oh, and thanks to Erik, whose text I stole :-)
2021-09-22
25 Warren Kumari Ballot comment and discuss text updated for Warren Kumari
2021-09-22
25 Warren Kumari
[Ballot discuss]
[ "Then I said unto you, Dread not, neither be afraid of of this DISCUSS, for it be easy to address" ]

I'm …
[Ballot discuss]
[ "Then I said unto you, Dread not, neither be afraid of of this DISCUSS, for it be easy to address" ]

I'm raising one of Erik's comments to a DISCUSS:
----
[S3.9.2.1]

* I feel like there should be some additional caveat about security
  implications of support for source routing.  RFC 6274, for example, says
  packets with LSRR (6274s3.13.2.3) and SSRR (6274s3.13.2.4) options should
  be dropped, citing various security concerns.

  I'm not sure there needs to be a lot of text; perhaps just an observation
  that some end systems may not support the source route semantics described
  here for security (or policy) reasons?
----

I realize that this document isn't intended to be a summary of all RFCs which mention anything related to TCP, but this particular point seems like it could do with an extra bit of reinforcement.

As noted in https://www.ietf.org/blog/handling-iesg-ballot-positions/, a DISCUSS ballot is a request to have a discussion; I really think that the document would be improved with a change here, but can be convinced otherwise.
2021-09-22
25 Warren Kumari
[Ballot comment]
Thank you very much to the authors and WG for writing this -- it's an important piece of work, and seems like it …
[Ballot comment]
Thank you very much to the authors and WG for writing this -- it's an important piece of work, and seems like it was probably also a large amount of work. Thanks!

Also, thanks to Sarah Banks for the OpsDir review - it was helpful.
2021-09-22
25 Warren Kumari [Ballot Position Update] New position, Discuss, has been recorded for Warren Kumari
2021-09-22
25 Francesca Palombini
[Ballot comment]
Thank you for the work on this document. I only have minor comments, and some questions.

I have divided comments into "minor" (including …
[Ballot comment]
Thank you for the work on this document. I only have minor comments, and some questions.

I have divided comments into "minor" (including the questions) and "nits". Neither require replies strictly speaking, please feel free to address as you see fit. I will appreciate answers to my questions, to improve my understanding. If any clarification comes out of it, I hope it will help improve the document.

Francesca

## minor

1. -----

Figure 1

FP: The figure's capture is "TCP Header Format", but Options and Data are included as well.

2. -----

Figure 2

FP: For consistency, I would have kept the same style as in Figure 1. Additionally, the IPv4 fields below do not have their size explicitly specified, so using the same type of formatting as in Figure 1 would help, IMO.

3. -----

      0
      0 1 2 3 4 5 6 7
      +-+-+-+-+-+-+-+-+
      |      0      |
      +-+-+-+-+-+-+-+-+

FP: More of a question than a comment: how come this change, compared to RFC 793? Any particular reason, or was it only for readability?

4. -----

FP: This is surely me missing something but, in section 3.5 I see:

  4.  ESTABLISHED -->        --> ESTABLISHED

  5.  ESTABLISHED -->  --> ESTABLISHED

which is followed by:

  Note that the sequence number of the segment in line 5 is the same as
  in line 4 because the ACK does not occupy sequence number space (if
  it did, we would wind up ACKing ACKs!).

However, later on, in Figure 13:

  2.  (Close)                                              (Close)
      FIN-WAIT-1  -->  ... FIN-WAIT-1
                  <--  <--
                  ...  -->

  3.  CLOSING    -->      ... CLOSING
                  <--      <--
                  ...      -->

I am confused why in this case, in line 3, ACK does in fact occupy sequence number space. What am I missing?

## nit

5. -----

  Initial Sequence Number Selection

FP: I assume this (and following) was not numbered to keep it as close as possible to the original RFC, is that right? For readability, I would suggest numbering these subsections.
2021-09-22
25 Francesca Palombini [Ballot Position Update] New position, No Objection, has been recorded for Francesca Palombini
2021-09-22
25 Zaheduzzaman Sarker
[Ballot discuss]

* I found at least one reference that should be normative reference but they are not. Section 3.8.5 : describes --
 
  …
[Ballot discuss]

* I found at least one reference that should be normative reference but they are not. Section 3.8.5 : describes --
 
    TCP implementations MUST still include support for the urgent mechanism (MUST-30). Details can be found in RFC 6093 [38]
 
  This to ne makes RFC6093 a must to read and understand to deploy this specification. Hence it should in the normative references.

* (This perhaps more process thing than technical), me and Benjamin Kaduk discussed another issue regarding urgent pointer. This specification specifies -

      Pointer indicates first non-urgent octet      | MUST-62|
 
  RFC1011 rectifies RFC973 to -

      The urgent pointer points to the
        last octet of urgent data (not to the first octet of non-urgent
        data).

  So what does happen to RFC1011 rectification then when 793bis is not bis anymore? Is this a known fact and there is conscious decision not to do anything about it? or was this a unknown fact and that part of RFC1011 need to be obsoleted (how?)?
2021-09-22
25 Zaheduzzaman Sarker
[Ballot comment]
Thanks a lot to the author and the TCPM working group to produce this document. It has been long since I read the …
[Ballot comment]
Thanks a lot to the author and the TCPM working group to produce this document. It has been long since I read the whole TCP specification, I refreshed myself a lot when reviewing this. Thanks for that experience.

I have some comments/questions below. By addressing those, I hope will improve the document even better:

* Section 3.1 : says --
    Note that the list of options may be shorter than the data offset field might imply. The content of the header beyond the End-of-Option option must be header padding (i.e., zero).
 
  Should this be a normative MUST?

* Passive open and active open should be defined/described. Even if these are well known terms in the community, a verbose description of passive/active open will be much appreciated in this document context. if they are defined somewhere else then I have missed that, in that case a reference would be more appropriate.

* Section 3.4 : says --
    There are security issues that result if an off-path attacker is able to predict or guess ISN values.

  A reference to this claim would be highly appreciated. May be we can reuse some ref from 41?
  I also think "Initial Sequence Number Selection", "Knowing When to Keep Quiet" and "The TCP Quiet Time Concept" should be numbered subtitles.

* Section 3.5 : can we put some reference for "security level or compartment"? A pointer to the appendix A.1 should be enough here.

* Section 3.8.1 : says --

  RFC 793 contains an early example procedure for computing the RTO. This was then replaced by the algorithm described in RFC 1122, and subsequently updated in RFC 2988, and then again in RFC 6298.

  I am not sure what am I supposed to do with this information. Suggest to remove this paragraph.

* Section 3.8.5 : describes --
 
    A TCP implementation MUST support a sequence of urgent data of any length (MUST-31). [18]
 
  I am not sure what is the reference for? if this is to say this MUST is taken from [18] as described there then to me this reference also should be normative.
2021-09-22
25 Zaheduzzaman Sarker [Ballot Position Update] New position, Discuss, has been recorded for Zaheduzzaman Sarker
2021-09-22
25 Éric Vyncke
[Ballot comment]
As I am on vacations abroad, I had no time to review this very-much-needed document, hence, I am trusting the Internet directorate review …
[Ballot comment]
As I am on vacations abroad, I had no time to review this very-much-needed document, hence, I am trusting the Internet directorate review by Bernie Volz:
https://datatracker.ietf.org/doc/review-ietf-tcpm-rfc793bis-25-intdir-telechat-volz-2021-09-22/

Thank you for your time spent on this 'bis' document

-éric
2021-09-22
25 Éric Vyncke [Ballot Position Update] New position, No Objection, has been recorded for Éric Vyncke
2021-09-22
25 Bernie Volz Request for Telechat review by INTDIR Completed: Ready. Reviewer: Bernie Volz. Sent review to list.
2021-09-22
25 Bernie Volz Request for Telechat review by INTDIR is assigned to Bernie Volz
2021-09-22
25 Bernie Volz Request for Telechat review by INTDIR is assigned to Bernie Volz
2021-09-20
25 Lars Eggert
[Ballot discuss]
The IESG needs to approve the following DOWNREFs during the telechat:

  DOWNREF [10] from this Internet Standard to Proposed Standard RFC6298. …
[Ballot discuss]
The IESG needs to approve the following DOWNREFs during the telechat:

  DOWNREF [10] from this Internet Standard to Proposed Standard RFC6298.
  DOWNREF [2] from this Internet Standard to Draft Standard RFC1191.
  DOWNREF [7] from this Internet Standard to Proposed Standard RFC3168.
  DOWNREF [11] from this Internet Standard to Proposed Standard RFC6633.
  DOWNREF [9] from this Internet Standard to Draft Standard RFC5681.
  DOWNREF [5] from this Internet Standard to Proposed Standard RFC2675.
  DOWNREF [4] from this Internet Standard to Proposed Standard RFC2474.
2021-09-20
25 Lars Eggert
[Ballot comment]
Section 3.1. , paragraph 50, comment:
>      Note: There is ongoing work to extend the space available for TCP
>    …
[Ballot comment]
Section 3.1. , paragraph 50, comment:
>      Note: There is ongoing work to extend the space available for TCP
>      options, such as [64].

draft-ietf-tcpm-tcp-edo has been dead for four years, not sure how useful it is
to point to.

Section 3.4. , paragraph 35, comment:
>    Initial Sequence Number Selection

Shouldn't this be a heading starting a new sub-section?

Section 3.4. , paragraph 46, comment:
>    Knowing When to Keep Quiet

Shouldn't this be a heading starting a new sub-section?

Section 3.4. , paragraph 47, comment:
>    The TCP Quiet Time Concept

Shouldn't this be a heading starting a new sub-section?

Section 3.4. , paragraph 49, comment:
>    At 2 megabits/sec. it
>    takes 4.5 hours to use up 2**32 octets of sequence space.  Since the
>    maximum segment lifetime in the net is not likely to exceed a few
>    tens of seconds, this is deemed ample protection for foreseeable
>    nets, even if data rates escalate to 10's of megabits/sec.  At 100
>    megabits/sec, the cycle time is 5.4 minutes, which may be a little
>    short, but still within reason.

It would be nice to see an argument if any considerations change for today's
higher-bandwidth Internet paths.

Section 3.5. , paragraph 37, comment:
>    Half-Open Connections and Other Anomalies

Shouldn't this be a heading starting a new sub-section?

Section 3.5. , paragraph 74, comment:
>    Reset Processing

Shouldn't this be a heading starting a new sub-section?

Section 3.9.1. , paragraph 1, comment:
> 3.9.1.  User/TCP Interface

This section would be much more readable if each command was in its own
sub-section. I find deeply indented text that spans multiple pages difficult to
follow.

Section 5. , paragraph 50, comment:
>    Early in the process of updating RFC 793, Scott Brim mentioned that
>    this should include a PERPASS/privacy review.  This may be something
>    for the chairs or AD to request during WGLC or IETF LC.

Has this review has happened?

Document obsoletes RFC793, but does not cite it as a reference.

Document obsoletes RFC879, but does not cite it as a reference.

Found terminology that should be reviewed for inclusivity; see
https://www.rfc-editor.org/part2/#inclusive_language for background and more
guidance:

* Term "his"; alternatives might be "they", "them", "their".

* Term "traditional"; alternatives might be "classic", "classical",
  "common", "conventional", "customary", "fixed", "habitual", "historic",
  "long-established", "popular", "prescribed", "regular", "rooted",
  "time-honored", "universal", "widely used", "widespread".

-------------------------------------------------------------------------------
All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

Section 3.3.2. , paragraph 21, nit:
-      Note 2: An unshown transition exists from FIN-WAIT-1 to TIME-WAIT
-              ^^  ^ ^^^^          -------
+      Note 2: The figure omits a transition from FIN-WAIT-1 to TIME-WAIT
+              ^^^ +++ ^^^^^^^ ^^

Section 3.8.6.1. , paragraph 4, nit:
-    paper" situation described in Section 4.2.2.17 of RFC1122.  The
-                                                      ^^^ ^^^
+    paper" situation described in Section 4.2.2.17 of [18].  The
+                                                      ^ ^^

Section 3.8.6.3. , paragraph 3, nit:
-    recomendations to immediately acknowledge out-of-order segments,
+    recommendations to immediately acknowledge out-of-order segments,
+        +

"Table of Contents", paragraph 2, nit:
>  . . . . . . . . . 108 A.4. Low Water Mark Settings . . . . . . . . . . . .
>                                ^^^^^^^^^^
This is normally spelled as one word.

Section 3.1. , paragraph 8, nit:
> ing host. The control bits are also know as "flags". Assignment is managed b
>                                    ^^^^
Did you mean "known"?

Section 3.2. , paragraph 12, nit:
> ue and to the current segment. In addition several variables relating to the
>                                  ^^^^^^^^
A comma may be missing after the conjunctive/linking adverb "addition".

Section 3.3.2. , paragraph 15, nit:
> m SYN-RECEIVED to LISTEN on receiving a RST is conditional on having reached
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.3.2. , paragraph 16, nit:
> rationale). These transitions are not not explicitly shown, otherwise the di
>                                  ^^^^^^^
This phrase contains a double negative, or a comma may be missing.

Section 3.3.2. , paragraph 16, nit:
> icult to read. Similarly, receipt of a RST from any state results in a trans
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.4. , paragraph 25, nit:
> The clock component is intended to insure that with a Maximum Segment Lifetim
>                                    ^^^^^^
Did you mean "ensure" (=make sure)? "Insure" means "pay money to insurance
company".

Section 3.4. , paragraph 37, nit:
> owing whether the segment was an old delayed one or not, unless it remembers
>                                  ^^^^^^^^^^^
Make sure that the adjective "old" is correct. Possibly, it should be an adverb
(typically ~ly) that modifies "delayed". Possibly, it should be the first word
in a compound adjective (hyphenated adjective). Possibly, it is correct.

Section 3.4. , paragraph 37, nit:
> e sender to verify this SYN. The three way handshake and the advantages of a
>                                  ^^^^^^^^^
This word is normally spelled with a hyphen.

Section 3.4. , paragraph 47, nit:
> nets, even if data rates escalate to 10's of megabits/sec. At 100 megabits/se
>                                      ^^^^
Apostrophes aren't needed for decades.

Section 3.5. , paragraph 3, nit:
> he ACK field is incorrect and returns a RST (reset) with its SEQ field select
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.5. , paragraph 25, nit:
> onnection exists, so TCP Peer A sends a RST. The RST is acceptable so TCP Pe
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.5. , paragraph 29, nit:
> (line 3) and causes TCP A to generate a RST (the ACK in line 3 is not accepta
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.5. , paragraph 80, nit:
> d, its TCP implementation SHOULD send a RST to show that data was lost (SHLD-
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.7.1. , paragraph 9, nit:
>  not support attachment to links with a MTU greater than 65,575 [5], and the
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.7.5. , paragraph 2, nit:
> s of the SYN segment or by receipt of a RST segment or an ICMP Port Unreachab
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.8.2. , paragraph 4, nit:
> tion, or at least to determine whether or not more urgent data remains to be
>                                ^^^^^^^^^^^^^^
Consider shortening this phrase to just "whether". It is correct though if you
mean "regardless of whether".

Section 3.8.3. , paragraph 2, nit:
> hat all have the same sequence number so there will be no way to reorder them
>                                      ^^^
Use a comma before "so" if it connects two independent clauses (unless they are
closely connected and short).

Section 3.8.3. , paragraph 6, nit:
> g accepted that much data. This, so called "shrinking the window," is strong
>                                  ^^^^^^^^^
The expression "so-called" is usually spelled with a hyphen.

Section 3.8.6.2.1. , paragraph 17, nit:
> he operating system will verify the users authority to open a connection with
>                                    ^^^^^
An apostrophe may be missing.

Section 3.8.6.2.2. , paragraph 4, nit:
> ction name can then be used as a short hand term for the connection defined
>                                  ^^^^^^^^^^
This word is normally spelled as one.

Section 3.9.1. , paragraph 27, nit:
> he user level protocol is not well thought out) that the closing side is una
>                              ^^^^^^^^^^^^^^^^
This word is normally spelled with a hyphen.

Section 3.9.2. , paragraph 7, nit:
> aiting delivery, the RECEIVE will get a "error: connection closing" response
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.9.2.1. , paragraph 2, nit:
> , this is an error and should receive a "error: connection closing" response
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.9.2.2. , paragraph 11, nit:
> arded. An incoming segment containing a RST is discarded. An incoming segment
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.9.2.2. , paragraph 11, nit:
> . An incoming segment not containing a RST causes a RST to be sent in respon
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.9.2.3. , paragraph 1, nit:
> g segment not containing a RST causes a RST to be sent in response. The ackn
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.10.1. , paragraph 3, nit:
> ED state, delete TCB, and return. Otherwise (no ACK) drop the segment and ret
>                                  ^^^^^^^^^
A comma may be missing after the conjunctive/linking adverb "Otherwise".

Section 3.10.1. , paragraph 3, nit:
> o ACK, and the segment did not contain a RST. - If the SYN bit is on and the
>                                        ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.10.1. , paragraph 6, nit:
>  generate an acknowledgement in the later processing steps, saving this extra
>                                    ^^^^^
Did you mean "latter" (=the second of two items)?

Section 3.10.7.4. , paragraph 30, nit:
> aining sequence numbers entirely outside of this range are considered duplic
>                                  ^^^^^^^^^^
This phrase is redundant. Consider using "outside".

Section 3.10.7.4. , paragraph 32, nit:
> a segment containing RST give rise to a RST in response. SEG.ACK segment ack
>                                      ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Section 3.10.7.4. , paragraph 83, nit:
>  573: Reported by Bob Braden (note: This errata basically is just a reminder
>                                    ^^^^
The demonstrative "This" may not agree with the plural noun "errata". Did you
mean "these"?

Section 3.10.7.4. , paragraph 83, nit:
>  of the "functional specification". Also the 1122 text on the retransmission
>                                    ^^^^
A comma may be missing after the conjunctive/linking adverb "Also".

Section 3.10.7.4. , paragraph 102, nit:
> discussion in 2015 also indicated that that we should not try to add sections
>                                  ^^^^^^^^^
Possible typo: you repeated a word.

Section 5. , paragraph 2, nit:
> firewalls, and other technologies outside of the end-host TCP implementation.
>                                  ^^^^^^^^^^
This phrase is redundant. Consider using "outside".

Section 8. , paragraph 2, nit:
> beneficial to consider. A.4. Low Water Mark Settings Some operating system ke
>                                  ^^^^^^^^^^
This is normally spelled as one word.

Reference [20] to RFC1644, which was obsoleted by RFC6247 (this may be on
purpose).

Reference [17] to RFC896, which was obsoleted by RFC7805 (this may be on
purpose).

Reference [19] to RFC1349, which was obsoleted by RFC2474 (this may be on
purpose).

These URLs in the document did not return content:
* http://www.ietf.org/internet-drafts/draft-ietf-tcpm-tcp-edo-10.txt
* http://www.ietf.org/internet-drafts/draft-gont-tcpm-tcp-seq-validation-04.txt
* http://www.ietf.org/internet-drafts/draft-gont-tcpm-tcp-seccomp-prec-00.txt
2021-09-20
25 Lars Eggert [Ballot Position Update] New position, Discuss, has been recorded for Lars Eggert
2021-09-19
25 Erik Kline
[Ballot comment]
[ general ]

* Thanks for all this.

* I had several questions around "security/compartment" test, but
  Appendix A.1 was very helpful. …
[Ballot comment]
[ general ]

* Thanks for all this.

* I had several questions around "security/compartment" test, but
  Appendix A.1 was very helpful.

* I debated whether or not the source routing stuff (3.9.2.1) should rise
  to the level of a DISCUSS or not.  Please let me know what you think.

[S2, nit]

* "including examples of A, B, C" -> "A, B, and C", perhaps

[S3.1, nit]

* Urgent Pointer, "is only be interpreted"

  -> "is only to be interpreted"
  -> "is only interpreted"

  or something

[S3.3.2, nit]

* "These transitions are not not explicitly shown" -> double (k)not?

[S3.4, nit]

* "on an incoming segments" -> "on an incoming segment", perhaps

[S3.5, question]

* Is there an example of what possible use a RST w/ data could serve?

  I didn't see anything in S3.10.7(.*) that indicated the data in a segment
  with the RST flag set could get processed (I may have missed it).

[S3.7.1, comment]

* In networks where NAT64 is employed, the default MSS assumed by a sender
  will differ from the default assumed by a receiver, since the address
  families sent and received will be different.

  This may bolster the case for MAY-3 being a SHOULD (or even a MUST ;-) but,
  more to the point, may be a caveat to note w.r.t. SHLD-5.

  Alas, I could find no discussion of MSS option handling in RFC 6146,
  so I wonder if that's something that we missed...

[S3.9.1, nit]

* "use the same local address is used that was used" ->
  "use the same local address that was used", perhaps

[S3.9.2.1]

* I feel like there should be some additional caveat about security
  implications of support for source routing.  RFC 6274, for example, says
  packets with LSRR (6274s3.13.2.3) and SSRR (6274s3.13.2.4) options should
  be dropped, citing various security concerns.

  I'm not sure there needs to be a lot of text; perhaps just an observation
  that some end systems may not support the source route semantics described
  here for security (or policy) reasons?

[S3.9.2.2]

* I feel like ICMPv6 DestUnreach 2 and 4 should be treated as hard errors,
  but haven't found any explicit documentation yet.  Was the intention here
  to imply that ICMP DU 2-4 includes both ICMPv4 and v6, or just ICMPv4?
  If the latter, should we make a statement about ICMPv6?

 
  My expectation doesn't exactly line up with Linux's icmpv6_err_convert()
  behavior, it seems.
 

  I'm fine with the text as is -- given that the TCP/IPv6 Internet generally
  functions just fine today :-) -- just curious for the sake of clarification.

[S3.10.{1,2}, nit]

* These sections introduce "foreign socket" whereas I believe all other
  mentions are "remote socket" (and, indeed, the error strings also say
  "remote socket").

  Maybe s/foreign/remote/g ?
2021-09-19
25 Erik Kline [Ballot Position Update] New position, Yes, has been recorded for Erik Kline
2021-09-10
25 Éric Vyncke Requested Telechat review by INTDIR
2021-09-09
25 Kyle Rose Request for Telechat review by SECDIR Completed: Ready. Reviewer: Kyle Rose. Sent review to list.
2021-09-09
25 Amanda Baber IANA Review state changed to IANA OK - Actions Needed from Version Changed - Review Needed
2021-09-09
25 Tero Kivinen Request for Telechat review by SECDIR is assigned to Kyle Rose
2021-09-09
25 Tero Kivinen Request for Telechat review by SECDIR is assigned to Kyle Rose
2021-09-08
25 Cindy Morgan Placed on agenda for telechat - 2021-09-23
2021-09-08
25 Martin Duke Ballot has been issued
2021-09-08
25 Martin Duke [Ballot Position Update] New position, Yes, has been recorded for Martin Duke
2021-09-08
25 Martin Duke Created "Approve" ballot
2021-09-08
25 Martin Duke IESG state changed to IESG Evaluation from Waiting for AD Go-Ahead::AD Followup
2021-09-07
25 (System) Changed action holders to Martin Duke (IESG state changed)
2021-09-07
25 (System) Sub state has been changed to AD Followup from Revised ID Needed
2021-09-07
25 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - Actions Needed
2021-09-07
25 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-25.txt
2021-09-07
25 (System) New version accepted (logged-in submitter: Wesley Eddy)
2021-09-07
25 Wesley Eddy Uploaded new revision
2021-08-19
24 Francis Dupont Request for Last Call review by GENART Partially Completed: Ready with Nits. Reviewer: Francis Dupont. Sent review to list.
2021-08-10
24 Martin Duke Awaiting responses to Last Call reviews.
2021-08-10
24 (System) Changed action holders to Martin Duke, Wesley Eddy (IESG state changed)
2021-08-10
24 Martin Duke IESG state changed to Waiting for AD Go-Ahead::Revised I-D Needed from Waiting for Writeup
2021-08-10
24 Martin Duke Ballot writeup was changed
2021-08-02
24 Sarah Banks Request for Last Call review by OPSDIR Completed: Ready. Reviewer: Sarah Banks. Sent review to list.
2021-08-02
24 (System) IESG state changed to Waiting for Writeup from In Last Call
2021-07-30
24 Kyle Rose Request for Last Call review by SECDIR Completed: Ready. Reviewer: Kyle Rose. Sent review to list.
2021-07-27
24 Barry Leiba Request for Last Call review by ARTART is assigned to Russ Housley
2021-07-27
24 Barry Leiba Request for Last Call review by ARTART is assigned to Russ Housley
2021-07-26
24 (System) IANA Review state changed to IANA OK - Actions Needed from IANA - Review Needed
2021-07-26
24 Sabrina Tanamal
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Functions Operator has completed its review of draft-ietf-tcpm-rfc793bis-24. If any part of this review is inaccurate, please let …
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Functions Operator has completed its review of draft-ietf-tcpm-rfc793bis-24. If any part of this review is inaccurate, please let us know.

The IANA Functions Operator understands that, upon approval of this document, there is a single action which we must complete.

In the Transmission Control Protocol (TCP) Header Flags registry located at:

https://www.iana.org/assignments/tcp-header-flags/

The "Bit" column is renamed below as the "Bit Offset" column.

A new column will be added to the registry called "Assignment Notes".

The registry will be repopulated as follows:

Bit Name Reference Assignment Notes
Offset
--- ---- --------- ----------------
4 Reserved for future use [ RFC-To-be ]
5 Reserved for future use [ RFC-To-be ]
6 Reserved for future use [ RFC-To-be ]
7 Reserved for future use [RFC8311] Previously used by Historic [RFC3540] as NS (Nonce Sum)
8 CWR (Congestion Window Reduced) [RFC3168]
9 ECE (ECN-Echo) [RFC3168]
10 Urgent Pointer field is significant (URG) [ RFC-To-be ]
11 Acknowledgment field is significant (ACK) [ RFC-To-be ]
12 Push Function (PSH) [ RFC-To-be ]
13 Reset the connection (RST) [ RFC-To-be ]
14 Synchronize sequence numbers (SYN) [ RFC-To-be ]
15 No more data from sender (FIN) [ RFC-To-be ]

The registry is to be moved from the existing, standalone page at:

https://www.iana.org/assignments/tcp-header-flags/

to the Transmission Control Protocol (TCP) Parameters registry page located at:

https://www.iana.org/assignments/tcp-parameters/

The reference for the registry will be changed to [ RFC-to-be ].

The existing note for the registry will be removed.

The IANA Functions Operator understands that this is the only action required to be completed upon approval of this document.

Note:  The actions requested in this document will not be completed until the document has been approved for publication as an RFC. This message is meant only to confirm the list of actions that will be performed.

Thank you,

Sabrina Tanamal
Senior IANA Services Specialist
2021-07-19
24 Tero Kivinen Request for Last Call review by SECDIR is assigned to Kyle Rose
2021-07-19
24 Tero Kivinen Request for Last Call review by SECDIR is assigned to Kyle Rose
2021-07-19
24 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Sarah Banks
2021-07-19
24 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Sarah Banks
2021-07-15
24 Jean Mahoney Request for Last Call review by GENART is assigned to Francis Dupont
2021-07-15
24 Jean Mahoney Request for Last Call review by GENART is assigned to Francis Dupont
2021-07-12
24 Cindy Morgan IANA Review state changed to IANA - Review Needed
2021-07-12
24 Cindy Morgan
The following Last Call announcement was sent out (ends 2021-08-02):

From: The IESG
To: IETF-Announce
CC: Michael Scharf , draft-ietf-tcpm-rfc793bis@ietf.org, martin.h.duke@gmail.com, michael.scharf@hs-esslingen.de, …
The following Last Call announcement was sent out (ends 2021-08-02):

From: The IESG
To: IETF-Announce
CC: Michael Scharf , draft-ietf-tcpm-rfc793bis@ietf.org, martin.h.duke@gmail.com, michael.scharf@hs-esslingen.de, tcpm-chairs@ietf.org, tcpm@ietf.org
Reply-To: last-call@ietf.org
Sender:
Subject: Last Call:  (Transmission Control Protocol (TCP) Specification) to Internet Standard


The IESG has received a request from the TCP Maintenance and Minor Extensions
WG (tcpm) to consider the following document: - 'Transmission Control
Protocol (TCP) Specification'
  as Internet Standard

The IESG plans to make a decision in the next few weeks, and solicits final
comments on this action. Please send substantive comments to the
last-call@ietf.org mailing lists by 2021-08-02. Exceptionally, comments may
be sent to iesg@ietf.org instead. In either case, please retain the beginning
of the Subject line to allow automated sorting.

Abstract


  This document specifies the Transmission Control Protocol (TCP).  TCP
  is an important transport layer protocol in the Internet protocol
  stack, and has continuously evolved over decades of use and growth of
  the Internet.  Over this time, a number of changes have been made to
  TCP as it was specified in RFC 793, though these have only been
  documented in a piecemeal fashion.  This document collects and brings
  those changes together with the protocol specification from RFC 793.
  This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093,
  6429, 6528, and 6691 that updated parts of RFC 793.  It updates RFC
  1122
, and should be considered as a replacement for the portions of
  that document dealing with TCP requirements.  It also updates RFC
  5961
by adding a small clarification in reset handling while in the
  SYN-RECEIVED state.  The TCP header control bits from RFC 793 have
  also been updated based on RFC 3168.

  RFC EDITOR NOTE: If approved for publication as an RFC, this should
  be marked additionally as "STD: 7" and replace RFC 793 in that role.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-tcpm-rfc793bis/



No IPR declarations have been submitted directly on this I-D.


The document contains these normative downward references.
See RFC 3967 for additional information:
    rfc6633: Deprecation of ICMP Source Quench Messages (Proposed Standard - Internet Engineering Task Force (IETF))
    rfc6298: Computing TCP's Retransmission Timer (Proposed Standard - Internet Engineering Task Force (IETF))
    rfc5681: TCP Congestion Control (Draft Standard - Internet Engineering Task Force (IETF))
    rfc3168: The Addition of Explicit Congestion Notification (ECN) to IP (Proposed Standard - Internet Engineering Task Force (IETF))
    rfc2675: IPv6 Jumbograms (Proposed Standard - Internet Engineering Task Force (IETF))
    rfc2474: Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers (Proposed Standard - Internet Engineering Task Force (IETF))
    rfc1191: Path MTU discovery (Draft Standard - Legacy stream)



2021-07-12
24 Cindy Morgan IESG state changed to In Last Call from Last Call Requested
2021-07-12
24 Cindy Morgan Last call announcement was changed
2021-07-12
24 Martin Duke Last call was requested
2021-07-12
24 Martin Duke Last call announcement was generated
2021-07-12
24 Martin Duke Ballot approval text was generated
2021-07-12
24 Martin Duke Ballot writeup was generated
2021-07-12
24 Martin Duke IESG state changed to Last Call Requested from AD Evaluation::AD Followup
2021-07-12
24 (System) Changed action holders to Martin Duke (IESG state changed)
2021-07-12
24 (System) Sub state has been changed to AD Followup from Revised ID Needed
2021-07-12
24 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-24.txt
2021-07-12
24 (System) New version approved
2021-07-12
24 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2021-07-12
24 Wesley Eddy Uploaded new revision
2021-06-25
23 (System) Changed action holders to Martin Duke, Wesley Eddy (IESG state changed)
2021-06-25
23 Martin Duke IESG state changed to AD Evaluation::Revised I-D Needed from AD Evaluation
2021-06-11
23 (System) Changed action holders to Martin Duke (IESG state changed)
2021-06-11
23 Martin Duke IESG state changed to AD Evaluation from Publication Requested
2021-06-11
23 Michael Scharf
1. Summary

The document shepherd is Michael Scharf .

The responsible Area Director is Martin Duke .

This document specifies the Transmission Control Protocol (TCP) …
1. Summary

The document shepherd is Michael Scharf .

The responsible Area Director is Martin Duke .

This document specifies the Transmission Control Protocol (TCP) as "bis" document to RFC 793. It obsoletes RFC 793 as well as a several other RFCs that specified additions to RFC 793. It also updates RFC 1122, and it should be considered as a replacement for the portions of that document dealing with TCP requirements.

The purpose of this document is to bring together all the IETF Standards Track changes that have been made to the base TCP functional specification and unify them into an update of RFC 793. The document focuses on the common basis all TCP implementations must support to interoperate. With one exception, protocol modifications compared to RFC 793 are limited to standards-track RFCs or verified erratas, i.e., changes of TCP standards that already have IETF consensus.

RFC 793 and RFC 1122 are ubiquitously implemented Internet Standards. The same applies to 793bis. The TCPM working group requests publication of 793bis on Standards Track. If approved, the document should replace RFC 793 as "STD 7".


2. Review and Consensus

The TCPM working group has worked on this document for more than 6 years, and many TCPM contributors have reviewed the specification during that time. In particular, many TCP implementers have provided detailed comments based on operational experience. The document was relatively stable in the latest versions. During and after WGLC, several comprehensive reviews flagged some open issues that all got resolved.

793bis improves the specification of TCP but it does not modify the TCP protocol. TCP is a complex protocol and even minor wording details in the protocol specification can matter. Given the restriction to TCP changes that already have IETF consensus, there has never been any major controversy about the main content.

Nonetheless, several questions were non-trivial and triggered longer discussions in TCPM. These issues can roughly be subdivided in three categories:

1/ Being published in 1981, RFC 793 defines several protocol mechanisms that have become outdated and may not be implemented at all in a modern TCP/IP stack. However, in some cases the corresponding specification in RFC 793 never got updated or obsoleted and is still formally valid. Appendix A.1 summarizes some of these issues. The TCPM consensus for those cases is to document the issues in 793bis, but not to change the TCP standards. The required changes to the TCP standards should be handled by dedicated, narrow-focused RFCs that would have to reach IETF consensus first. This de-risk strategy ensures that each TCP protocol change can be properly and comprehensively reviewed.

2/ There are some known issues in the standards-track specification of TCP that exist but only matter in corner cases. An example is documented in Appendix A.2. In Internet usage of TCP, these conditions are rarely occurring. Common operating systems include different alternative mitigations, and the standard has not been updated yet to codify one of them. Also, there is no known best approach. Given the lack of practical relevance, the TCPM consensus is to describe these known problems, but not to change the TCP standards in 793bis. Again, these problems could be solved by future, dedicated, narrow-focused RFCs that would have to reach IETF consensus first.

3/ There are known deviations between mandatory-to-implement requirements in the TCP standard and some widely deployed implementations. An example are some details in Section 3.8.3, such as the numerical value in MUST-23. Those cases typically do not affect interoperability with other implementations. The TCPM working group has discussed whether to change the standard in such cases (e.g., downgrade MUST-23 to a SHOULD), but finally refrained from going down that road in 793bis, given the huge installed base with a very large variety of TCP implementations. Similar like in the previous cases, 793bis may get updated by narrow-focused RFCs.

There is one important exception to the decision not to include new guidance in 793bis. The exception is Section 3.8.2 "TCP Congestion Control". TCP congestion control was developed after publication of RFC 793 and the state-of-the-art has evolved a lot as compared to RFC 1122. While there are numerous RFCs that specify TCP congestion control, there is no clear normative guidance on the required minimum in all TCP implementations that would be appropriate for 793bis. However, 793bis cannot just stay silent on congestion control. Given the lack of other applicable wording in existing standards, Section 3.8.2 includes new text and is therefore different to the rest of the document. Section 3.8.2 was comprehensively reviewed by the TCPM working group and in particular by TCP implementers. The section is short and straightforward, and the wording was chosen very carefully to reflect existing TCP standards and operational experience in the Internet. Also, given ongoing research, TCP congestion control will most likely further evolve in future. Section 3.8.2 enables such a further evolution while defining important base requirements.

Running code exists - in billions of devices across numerous TCP/IP stacks. Given the very limited scope of modifications in the 793bis document, all TCP implementations that are already compliant to the TCP standards before publication of 793bis should be compliant to 793bis as well.

The shepherd believes that the 793bis document has unanimous support from the entire TCPM working group.


3. Intellectual Property

The editor has stated that his direct, personal knowledge of any IPR related to this document has already been disclosed, in conformance with BCPs 78 and 79. The editor is not aware of any IPR relevant for the base TCP protocol. Since 793bis does not change the TCP protocol, relevant IPR would have to be disclosed already for the existing RFCs included in 793bis.

There is a Cisco IPR disclosure from year 2004 related to the Internet-Draft that resulted in RFC 5961 (https://datatracker.ietf.org/ipr/421/). RFC 5961 is one source of changes included in 793bis. In all places in 793bis where the recommendations from RFC 5961 are mentioned, 5961 is prominently referenced. RFC 5961 mostly affects MAY-12 in 793bis, i.e., the changes described in RFC 5961 are optional and not mandatory-to-implement.

It has been suggested that the owner of the IPR disclosed in https://datatracker.ietf.org/ipr/421/ updates the IPR disclosure to make clear whether it applies to 793bis, or not.

The TCPM working group is aware of the IPR disclosure related to RFC 5961, which is known already for a long time. The document shepherd has verified on the TCPM mailing list that the TCPM working group is fine with the proposed text in 793bis related to RFC 5961. In the TCPM working group there are no known concerns regarding this IPR disclosure related to an optional mechanism.


4. Other Points

The intended status listed in the document is "Standards Track". As all main TCP implementations are supposed to comply with 793bis, the document may fulfill the requirements of an "Internet Standard" according to RFC 2026 and RFC 7127.

idnits reports some warnings, such as obsolete references. These are all false positives. The document refers to some obsolete documents to provide historical context.

The IANA section includes many actions:
(1) Update the structure of the TCP flags registry to include a new column called "Assignment Notes"
(2) Rename "Bit" column of the TCP flags registry to "Bit Offset"
(3) Update the TCP flags registry to include all assigned TCP flags, not only those initially assigned in RFC 3168. 10-15 values are assigned.
(4) Move the existing TCP flags registry to be as sub-registry of the TCP registry.
There was unanimous consensus in TCPM with these changes. The modifications neither change any allocation nor any policy in the IANA registry.

All errata to RFC 793 and related RFCs have been considered in this "bis" document.

When Wes started working on a 793bis document in 2013, the document shepherd, as well as many other TCPM contributors, were pretty convinced that writing a 793bis document is an impossible endeavor. Well, after many years, we are proven wrong. Many thanks to Wes as editor!
2021-06-11
23 Michael Scharf Responsible AD changed to Martin Duke
2021-06-11
23 Michael Scharf IETF WG state changed to Submitted to IESG for Publication from WG Consensus: Waiting for Write-Up
2021-06-11
23 Michael Scharf IESG state changed to Publication Requested from I-D Exists
2021-06-11
23 Michael Scharf IESG process started in state Publication Requested
2021-06-11
23 Michael Scharf
1. Summary

The document shepherd is Michael Scharf .

The responsible Area Director is Martin Duke .

This document specifies the Transmission Control Protocol (TCP) …
1. Summary

The document shepherd is Michael Scharf .

The responsible Area Director is Martin Duke .

This document specifies the Transmission Control Protocol (TCP) as "bis" document to RFC 793. It obsoletes RFC 793 as well as a several other RFCs that specified additions to RFC 793. It also updates RFC 1122, and it should be considered as a replacement for the portions of that document dealing with TCP requirements.

The purpose of this document is to bring together all the IETF Standards Track changes that have been made to the base TCP functional specification and unify them into an update of RFC 793. The document focuses on the common basis all TCP implementations must support to interoperate. With one exception, protocol modifications compared to RFC 793 are limited to standards-track RFCs or verified erratas, i.e., changes of TCP standards that already have IETF consensus.

RFC 793 and RFC 1122 are ubiquitously implemented Internet Standards. The same applies to 793bis. The TCPM working group requests publication of 793bis on Standards Track. If approved, the document should replace RFC 793 as "STD 7".


2. Review and Consensus

The TCPM working group has worked on this document for more than 6 years, and many TCPM contributors have reviewed the specification during that time. In particular, many TCP implementers have provided detailed comments based on operational experience. The document was relatively stable in the latest versions. During and after WGLC, several comprehensive reviews flagged some open issues that all got resolved.

793bis improves the specification of TCP but it does not modify the TCP protocol. TCP is a complex protocol and even minor wording details in the protocol specification can matter. Given the restriction to TCP changes that already have IETF consensus, there has never been any major controversy about the main content.

Nonetheless, several questions were non-trivial and triggered longer discussions in TCPM. These issues can roughly be subdivided in three categories:

1/ Being published in 1981, RFC 793 defines several protocol mechanisms that have become outdated and may not be implemented at all in a modern TCP/IP stack. However, in some cases the corresponding specification in RFC 793 never got updated or obsoleted and is still formally valid. Appendix A.1 summarizes some of these issues. The TCPM consensus for those cases is to document the issues in 793bis, but not to change the TCP standards. The required changes to the TCP standards should be handled by dedicated, narrow-focused RFCs that would have to reach IETF consensus first. This de-risk strategy ensures that each TCP protocol change can be properly and comprehensively reviewed.

2/ There are some known issues in the standards-track specification of TCP that exist but only matter in corner cases. An example is documented in Appendix A.2. In Internet usage of TCP, these conditions are rarely occurring. Common operating systems include different alternative mitigations, and the standard has not been updated yet to codify one of them. Also, there is no known best approach. Given the lack of practical relevance, the TCPM consensus is to describe these known problems, but not to change the TCP standards in 793bis. Again, these problems could be solved by future, dedicated, narrow-focused RFCs that would have to reach IETF consensus first.

3/ There are known deviations between mandatory-to-implement requirements in the TCP standard and some widely deployed implementations. An example are some details in Section 3.8.3, such as the numerical value in MUST-23. Those cases typically do not affect interoperability with other implementations. The TCPM working group has discussed whether to change the standard in such cases (e.g., downgrade MUST-23 to a SHOULD), but finally refrained from going down that road in 793bis, given the huge installed base with a very large variety of TCP implementations. Similar like in the previous cases, 793bis may get updated by narrow-focused RFCs.

There is one important exception to the decision not to include new guidance in 793bis. The exception is Section 3.8.2 "TCP Congestion Control". TCP congestion control was developed after publication of RFC 793 and the state-of-the-art has evolved a lot as compared to RFC 1122. While there are numerous RFCs that specify TCP congestion control, there is no clear normative guidance on the required minimum in all TCP implementations that would be appropriate for 793bis. However, 793bis cannot just stay silent on congestion control. Given the lack of other applicable wording in existing standards, Section 3.8.2 includes new text and is therefore different to the rest of the document. Section 3.8.2 was comprehensively reviewed by the TCPM working group and in particular by TCP implementers. The section is short and straightforward, and the wording was chosen very carefully to reflect existing TCP standards and operational experience in the Internet. Also, given ongoing research, TCP congestion control will most likely further evolve in future. Section 3.8.2 enables such a further evolution while defining important base requirements.

Running code exists - in billions of devices across numerous TCP/IP stacks. Given the very limited scope of modifications in the 793bis document, all TCP implementations that are already compliant to the TCP standards before publication of 793bis should be compliant to 793bis as well.

The shepherd believes that the 793bis document has unanimous support from the entire TCPM working group.


3. Intellectual Property

The editor has stated that his direct, personal knowledge of any IPR related to this document has already been disclosed, in conformance with BCPs 78 and 79. The editor is not aware of any IPR relevant for the base TCP protocol. Since 793bis does not change the TCP protocol, relevant IPR would have to be disclosed already for the existing RFCs included in 793bis.

There is a Cisco IPR disclosure from year 2004 related to the Internet-Draft that resulted in RFC 5961 (https://datatracker.ietf.org/ipr/421/). RFC 5961 is one source of changes included in 793bis. In all places in 793bis where the recommendations from RFC 5961 are mentioned, 5961 is prominently referenced. RFC 5961 mostly affects MAY-12 in 793bis, i.e., the changes described in RFC 5961 are optional and not mandatory-to-implement.

It has been suggested that the owner of the IPR disclosed in https://datatracker.ietf.org/ipr/421/ updates the IPR disclosure to make clear whether it applies to 793bis, or not.

The TCPM working group is aware of the IPR disclosure related to RFC 5961, which is known already for a long time. The document shepherd has verified on the TCPM mailing list that the TCPM working group is fine with the proposed text in 793bis related to RFC 5961. In the TCPM working group there are no known concerns regarding this IPR disclosure related to an optional mechanism.


4. Other Points

The intended status listed in the document is "Standards Track". As all main TCP implementations are supposed to comply with 793bis, the document may fulfill the requirements of an "Internet Standard" according to RFC 2026 and RFC 7127.

idnits reports some warnings, such as obsolete references. These are all false positives. The document refers to some obsolete documents to provide historical context.

The IANA section includes many actions:
(1) Update the structure of the TCP flags registry to include a new column called "Assignment Notes"
(2) Rename "Bit" column of the TCP flags registry to "Bit Offset"
(3) Update the TCP flags registry to include all assigned TCP flags, not only those initially assigned in RFC 3168. 10-15 values are assigned.
(4) Move the existing TCP flags registry to be as sub-registry of the TCP registry.
There was unanimous consensus in TCPM with these changes. The modifications neither change any allocation nor any policy in the IANA registry.

All errata to RFC 793 and related RFCs have been considered in this "bis" document.

When Wes started working on a 793bis document in 2013, the document shepherd, as well as many other TCPM contributors, were pretty convinced that writing a 793bis document is an impossible endeavor. Well, after many years, we are proven wrong. Many thanks to Wes as editor!
2021-06-11
23 Michael Scharf
1. Summary

The document shepherd is Michael Scharf .

The responsible Area Director is Martin Duke .

This document specifies the Transmission Control Protocol (TCP) …
1. Summary

The document shepherd is Michael Scharf .

The responsible Area Director is Martin Duke .

This document specifies the Transmission Control Protocol (TCP) as "bis" document to RFC 793. It obsoletes RFC 793 as well as a several other RFCs that specified additions to RFC 793. It also updates RFC 1122, and it should be considered as a replacement for the portions of that document dealing with TCP requirements.

The purpose of this document is to bring together all the IETF Standards Track changes that have been made to the base TCP functional specification and unify them into an update of RFC 793. The document focuses on the common basis all TCP implementations must support to interoperate. With one exception, protocol modifications compared to RFC 793 are limited to standards-track RFCs or verified erratas, i.e., changes of TCP standards that already have IETF consensus.

RFC 793 and RFC 1122 are ubiquitously implemented Internet Standards. The same applies to 793bis. The TCPM working group requests publication of 793bis on Standards Track. If approved, the document should replace RFC 793 as "STD 7".


2. Review and Consensus

The TCPM working group has worked on this document for more than 6 years, and many TCPM contributors have reviewed the specification during that time. In particular, many TCP implementers have provided detailed comments based on operational experience. The document was relatively stable in the latest versions. During and after WGLC, several comprehensive reviews flagged some open issues that all got resolved.

793bis improves the specification of TCP but it does not modify the TCP protocol. TCP is a complex protocol and even minor wording details in the protocol specification can matter. Given the restriction to TCP changes that already have IETF consensus, there has never been any major controversy about the main content.

Nonetheless, several questions were non-trivial and triggered longer discussions in TCPM. These issues can roughly be subdivided in three categories:

1/ Being published in 1981, RFC 793 defines several protocol mechanisms that have become outdated and may not be implemented at all in a modern TCP/IP stack. However, in some cases the corresponding specification in RFC 793 never got updated or obsoleted and is still formally valid. Appendix A.1 summarizes some of these issues. The TCPM consensus for those cases is to document the issues in 793bis, but not to change the TCP standards. The required changes to the TCP standards should be handled by dedicated, narrow-focused RFCs that would have to reach IETF consensus first. This de-risk strategy ensures that each TCP protocol change can be properly and comprehensively reviewed.

2/ There are some known issues in the standards-track specification of TCP that exist but only matter in corner cases. An example is documented in Appendix A.2. In Internet usage of TCP, these conditions are rarely occurring. Common operating systems include different alternative mitigations, and the standard has not been updated yet to codify one of them. Also, there is no known best approach. Given the lack of practical relevance, the TCPM consensus is to describe these known problems, but not to change the TCP standards in 793bis. Again, these problems could be solved by future, dedicated, narrow-focused RFCs that would have to reach IETF consensus first.

3/ There are known deviations between mandatory-to-implement requirements in the TCP standard and some widely deployed implementations. An example are some details in Section 3.8.3, such as the numerical value in MUST-23. Those cases typically do not affect interoperability with other implementations. The TCPM working group has discussed whether to change the standard in such cases (e.g., downgrade MUST-23 to a SHOULD), but finally refrained from going down that road in 793bis, given the huge installed base with a very large variety of TCP implementations. Similar like in the previous cases, 793bis may get updated by narrow-focused RFCs.

There is one important exception to the decision not to include new guidance in 793bis. The exception is Section 3.8.2 "TCP Congestion Control". TCP congestion control was developed after publication of RFC 793 and the state-of-the-art has evolved a lot as compared to RFC 1122. While there are numerous RFCs that specify TCP congestion control, there is no clear normative guidance on the required minimum in all TCP implementations that would be appropriate for 793bis. However, 793bis cannot just stay silent on congestion control. Given the lack of other applicable wording in existing standards, Section 3.8.2 includes new text and is therefore different to the rest of the document. Section 3.8.2 was comprehensively reviewed by the TCPM working group and in particular by TCP implementers. The section is short and straightforward, and the wording was chosen very carefully to reflect existing TCP standards and operational experience in the Internet. Also, given ongoing research, TCP congestion control will most likely further evolve in future. Section 3.8.2 enables such a further evolution while defining important base requirements.

Running code exists - in billions of devices across numerous TCP/IP stacks. Given the very limited scope of modifications in the 793bis document, all TCP implementations that are already compliant to the TCP standards before publication of 793bis should be compliant to 793bis as well.

The shepherd believes that the 793bis document has unanimous support from the entire TCPM working group.


3. Intellectual Property

The editor has stated that his direct, personal knowledge of any IPR related to this document has already been disclosed, in conformance with BCPs 78 and 79. The editor is not aware of any IPR relevant for the base TCP protocol. Since 793bis does not change the TCP protocol, relevant IPR would have to be disclosed already for the existing RFCs included in 793bis.

There is a Cisco IPR disclosure from year 2004 related to the Internet-Draft that resulted in RFC 5961 (https://datatracker.ietf.org/ipr/421/). RFC 5961 is one source of changes included in 793bis. In all places in 793bis where the recommendations from RFC 5961 are mentioned, 5961 is prominently referenced. RFC 5961 mostly affects MAY-12 in 793bis, i.e., the changes described in RFC 5961 are optional and not mandatory-to-implement.

It has been suggested that the owner of the IPR disclosed in https://datatracker.ietf.org/ipr/421/ updates the IPR disclosure to make clear whether it applies to 793bis, or not.

The TCPM working group is aware of the IPR disclosure related to RFC 5961, which is known already for a long time. The document shepherd has verified on the TCPM mailing list that the TCPM working group is fine with the proposed text in 793bis related to RFC 5961. In the TCPM working group there are no known concerns regarding this IPR disclosure related to an optional mechanism.


4. Other Points

The intended status listed in the document is "Proposed Standard". As all main TCP implementations are supposed to comply with 793bis, the document may fulfill the requirements of an "Internet Standard" according to RFC 2026 and RFC 7127.

idnits reports some warnings, such as obsolete references. These are all false positives. The document refers to some obsolete documents to provide historical context.

The IANA section includes many actions:
(1) Update the structure of the TCP flags registry to include a new column called "Assignment Notes"
(2) Rename "Bit" column of the TCP flags registry to "Bit Offset"
(3) Update the TCP flags registry to include all assigned TCP flags, not only those initially assigned in RFC 3168. 10-15 values are assigned.
(4) Move the existing TCP flags registry to be as sub-registry of the TCP registry.
There was unanimous consensus in TCPM with these changes. The modifications neither change any allocation nor any policy in the IANA registry.

All errata to RFC 793 and related RFCs have been considered in this "bis" document.

When Wes started working on a 793bis document in 2013, the document shepherd, as well as many other TCPM contributors, were pretty convinced that writing a 793bis document is an impossible endeavor. Well, after many years, we are proven wrong. Many thanks to Wes as editor!
2021-06-06
23 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-23.txt
2021-06-06
23 (System) New version accepted (logged-in submitter: Wesley Eddy)
2021-06-06
23 Wesley Eddy Uploaded new revision
2021-05-31
22 Michael Scharf IETF WG state changed to WG Consensus: Waiting for Write-Up from Waiting for WG Chair Go-Ahead
2021-05-17
22 Michael Scharf IETF WG state changed to Waiting for WG Chair Go-Ahead from In WG Last Call
2021-05-17
22 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-22.txt
2021-05-17
22 (System) New version accepted (logged-in submitter: Wesley Eddy)
2021-05-17
22 Wesley Eddy Uploaded new revision
2021-05-03
21 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-21.txt
2021-05-03
21 (System) New version approved
2021-05-03
21 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2021-05-03
21 Wesley Eddy Uploaded new revision
2021-04-22
20 Martin Duke None
2021-01-21
20 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-20.txt
2021-01-21
20 (System) New version accepted (logged-in submitter: Wesley Eddy)
2021-01-21
20 Wesley Eddy Uploaded new revision
2020-11-13
19 Michael Tüxen Added to session: IETF-109: tcpm  Tue-1200
2020-10-27
19 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-19.txt
2020-10-27
19 (System) New version accepted (logged-in submitter: Wesley Eddy)
2020-10-27
19 Wesley Eddy Uploaded new revision
2020-09-18
18 Michael Scharf IETF WG state changed to In WG Last Call from WG Document
2020-08-06
18 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-18.txt
2020-08-06
18 (System) New version approved
2020-08-06
18 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2020-08-06
18 Wesley Eddy Uploaded new revision
2020-07-07
17 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-17.txt
2020-07-07
17 (System) New version accepted (logged-in submitter: Wesley Eddy)
2020-07-07
17 Wesley Eddy Uploaded new revision
2020-04-30
16 Martin Duke Shepherding AD changed to Martin Duke
2020-03-24
16 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-16.txt
2020-03-24
16 (System) New version approved
2020-03-24
16 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2020-03-24
16 Wesley Eddy Uploaded new revision
2020-03-13
15 Mirja Kühlewind IESG state changed to I-D Exists from AD is watching
2019-12-20
15 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-15.txt
2019-12-20
15 (System) New version accepted (logged-in submitter: Wesley Eddy)
2019-12-20
15 Wesley Eddy Uploaded new revision
2019-11-24
14 Michael Scharf Notification list changed to Michael Scharf <michael.scharf@hs-esslingen.de>
2019-11-24
14 Michael Scharf Document shepherd changed to Michael Scharf
2019-07-30
14 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-14.txt
2019-07-30
14 (System) New version approved
2019-07-30
14 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2019-07-30
14 Wesley Eddy Uploaded new revision
2019-06-03
13 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-13.txt
2019-06-03
13 (System) New version approved
2019-06-03
13 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2019-06-03
13 Wesley Eddy Uploaded new revision
2018-12-05
12 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-12.txt
2018-12-05
12 (System) New version approved
2018-12-05
12 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2018-12-05
12 Wesley Eddy Uploaded new revision
2018-10-22
11 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-11.txt
2018-10-22
11 (System) New version approved
2018-10-22
11 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2018-10-22
11 Wesley Eddy Uploaded new revision
2018-07-01
10 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-10.txt
2018-07-01
10 (System) New version approved
2018-07-01
10 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2018-07-01
10 Wesley Eddy Uploaded new revision
2018-03-29
09 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-09.txt
2018-03-29
09 (System) New version approved
2018-03-29
09 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2018-03-29
09 Wesley Eddy Uploaded new revision
2018-03-28
08 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-08.txt
2018-03-28
08 (System) New version approved
2018-03-28
08 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2018-03-28
08 Wesley Eddy Uploaded new revision
2017-11-12
07 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-07.txt
2017-11-12
07 (System) New version approved
2017-11-12
07 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2017-11-12
07 Wesley Eddy Uploaded new revision
2017-07-17
06 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-06.txt
2017-07-17
06 (System) New version approved
2017-07-17
06 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy
2017-07-17
06 Wesley Eddy Uploaded new revision
2017-03-28
05 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-05.txt
2017-03-28
05 (System) New version approved
2017-03-28
05 (System) Request for posting confirmation emailed to previous authors: Wesley Eddy , tcpm-chairs@ietf.org
2017-03-28
05 Wesley Eddy Uploaded new revision
2016-12-08
04 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-04.txt
2016-12-08
04 (System) New version approved
2016-12-08
04 (System) Request for posting confirmation emailed to previous authors: "Wesley Eddy" , tcpm-chairs@ietf.org
2016-12-08
04 Wesley Eddy Uploaded new revision
2016-09-02
03 Michael Scharf This document now replaces draft-eddy-rfc793bis instead of None
2016-09-02
03 Michael Scharf Changed consensus to Yes from Unknown
2016-09-02
03 Michael Scharf Intended Status changed to Internet Standard from Proposed Standard
2016-08-01
03 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-03.txt
2016-04-06
02 Cindy Morgan Shepherding AD changed to Mirja Kühlewind
2016-03-21
02 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-02.txt
2016-02-24
01 Martin Stiemerling Intended Status changed to Proposed Standard
2016-02-24
01 Martin Stiemerling IESG process started in state AD is watching
2015-09-21
01 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-01.txt
2015-06-22
00 Wesley Eddy New version available: draft-ietf-tcpm-rfc793bis-00.txt