TCP-4 prime
A brief discussion of skipping TCP setup and close steps for transaction traffic.
Padlipsky, M.A., "TCP-4 prime", RFC 962, DOI 10.17487/RFC0962, November 1985, <https://www.rfc-editor.org/info/rfc962>.
@misc{rfc962,
series = {Request for Comments},
number = 962,
howpublished = {RFC 962},
publisher = {RFC Editor},
doi = {10.17487/RFC0962},
url = {https://www.rfc-editor.org/info/rfc962},
author = {M.A. Padlipsky},
title = {{TCP-4 prime}},
pagetotal = 2,
year = 1985,
month = nov,
} RFC text
Contents
Network Working Group M. A. Padlipsky
Request for Comments: 962 Mitre-Bedford
November 1985
TCP-4 Prime
STATUS OF THIS MEMO
This memo continues the discussion of a possible transaction oriented
transport protocol. This memo does not propose a standard.
Distribution of this memo is unlimited.
DISCUSSION
In response to Bob Braden's call for a transaction oriented
protocol (RFC-955), the following thoughts come to mind:
o The perceived problem is that connection set-up and tear-down
take too long.
o Other aspects of TCP's reliability/robustness approach are
presumably still desirable.
o We have some spare command bits in the TCP header, and I trust
that there's still a version number field.
o So why not add NYS (no-way handshake) and NIF (graceless close)
commands to TCP and leave everything else as was (except for the
version, of course)?
Philosophically, that might be somewhat at variance with "the spirit of
TCP," but pragmatically it ought to do the trick. Some careful crafting
might be required for ISN handling with NYS, but my guess is that if you
have to resend the first/possibly only segment you just pretend you're
all of a sudden in the middle of SN space (initially you start at the
bottom of it) and when it sees the funny ISN the NYS handler knows it
should dequeue anything it might have had pending for (re)transmission
and start fresh, assuming that if anything gets through to the starting
side belatedly it'll get chucked because of being well outside the left
edge of the window, if I'm remembering that part right--and please be
aware that I'm not bothering to confirm recollections because I don't
want to pretend that this is the spec: it's just meant to be the
concept, in TV talk. (On the NYS emitting side, presumably you just
drop right into ack_expected state--or whatever the right name is--after
setting an appropriate bit that'll get you to fiddle the ISN if you take
a timeout.) Maybe you even fiddle the ISNs more elaborately, to allow
for several false starts rather than "two strikes and you're out," and
maybe we take some spurious segment hits if SNs get suitably balled up,
but if you really think handshaking is too expensive then that's the way
the premise crumbles.
TCP-4 Prime
Speaking of graceless closes
ISO Plain Language
On this page
§1The Transaction-Oriented Question
The memo responds to a call for a transaction-oriented protocol. It identifies the time needed to set up and tear down a TCP connection as the perceived problem for a transaction.
The author assumes that other aspects of TCP's reliability and robustness would remain desirable.
A short request and reply may involve connection setup and teardown that take time. This memo considers whether those steps could be skipped.
§2NYS and NIF Ideas
The author suggests adding NYS, meaning “no-way handshake,” and NIF, meaning “graceless close,” as TCP commands. The proposal would leave other aspects of TCP in place, apart from changing the version.
The memo notes that NYS would require careful handling of initial sequence numbers and retransmissions. It does not work out a complete procedure.
NYS would avoid the handshake, and NIF would avoid the ordinary close. The memo notes that sequence-number handling for NYS needs careful thought.
§3Not a Specification
The author says the idea may conflict with the spirit of TCP and explicitly warns that the discussion should not be mistaken for a specification.
The memo continues discussion of a possible transaction-oriented transport protocol, without defining a complete protocol for implementation.
The RFC offers an idea to discuss, not a finished protocol. It does not ask readers to implement NYS or NIF.