summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc44.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc44.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc44.txt')
-rw-r--r--doc/rfc/rfc44.txt171
1 files changed, 171 insertions, 0 deletions
diff --git a/doc/rfc/rfc44.txt b/doc/rfc/rfc44.txt
new file mode 100644
index 0000000..6acd605
--- /dev/null
+++ b/doc/rfc/rfc44.txt
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+Network Working Group A. Shoshani
+Request for Comments: 44 R. Long
+ A. Landsberg
+ System Development Corporation
+ 10 April 1970
+
+
+ Comments on NWG/RFC 33 and 36
+
+ Generally, we are satisfied with the suggestions for the new Host-
+ to-Host protocol. However, we think that a few refinements may be
+ helpful.
+
+ I. It seems that there are two cases of reconnection:
+
+ 1. Reconnect from a socket in a local Host to another socket in the
+ local Host. This was referred to in RFC #33 as "switch". The
+ local sockets can belong to different processes (such as the
+ "Login" process switching a connection to another process just
+ created) or can belong to the same process (such as a process
+ that accepts calls for connections on a particular socket, and
+ after a connection is established switches to another of his
+ sockets).
+
+ 2. Reconnect from a socket at a local Host to a socket in a foreign
+ Host.
+
+ We suggest separation of these two cases for the following reasons:
+ a) Reconnection in Case 1 is necessary and useful, while the
+ usefulness of Case 2 is still in doubt.
+
+ b) Case 1 is simple to implement (at least conceptually) while Case
+ 2 involves an elaborate mechanism of commands because of the
+ asynchronous nature of the network (four out of nine commands
+ were suggested to handle Case 2 in RFC #36).
+
+ Thus we think that at least in the first usage of the Host-to-Host
+ protocol reconnection in Case 2 should be left out. An additional
+ system call (not a command) is therefore needed to permit Case 1,
+ which is SWITCH <socket 1> <socket 2>.
+
+ II. The CLOSE command as suggested in RFC #36 seems to be used for
+ two purposes: block a connection and abort a connection. To
+ avoid ambiguity it would be desirable to have two commands:
+ BLOCK and CLOSE. As suggested in RFC #36, the response for both
+ commands can be the SUSPEND command which acknowledges the
+ reception of BLOCK or CLOSE commands.
+
+
+
+
+Shoshani, et al. [Page 1]
+
+RFC 44 Comments on NWG/RFC 33 & 36 April 1970
+
+
+ III. After a connection has been established, we see no reason for
+ keeping the "foreign socket" in a local connection table. Since
+ there is a one-to-one correspondence between a link number of
+ the foreign Host and a foreign socket number, we can use the
+ link number in the commands. Thus, except for the RFC command,
+ all commands can use link numbers and therefore eliminate a 40-
+ bit foreign socket number in every entry of the connection table
+ (size being critical for some Hosts). We note that if
+ connections will be multiplexed over links as suggested in RFC
+ #38, then the foreign socket would be needed in the connection
+ table.
+
+ IV. In RFC#33 the term PORT was introduced. Although this is
+ private to every Host, we have a comment. If ports are used
+ such that there is a one-to-one correspondence between a port
+ for some user and a socket, then ports are completely redundant.
+ However, a Host may wish to multiplex ports over connections, in
+ which case an additional mechanism is needed.
+
+ To summarize the last four comments, we suggest that in the initial
+ version the following system calls and commands will be used (most of
+ them in RFC 33 and 36).
+
+ System Calls:
+ 1) INITIATE <my socket> <your socket>
+ 2) ACCEPT <my socket>
+ 3) SWITCH <socket 1> <socket 2>
+ 4) LISTEN <my socket>
+ 5) CLOSE <my socket>
+ 6) TRANSMIT <my socket> <address>
+
+ Commands:
+ Commands 0, 1, 3, 4 as in RFC #36 (pp.5) and in addition:
+ 1) BLOCK: BLK <link>
+ 2) CLOSE: CLS <link>
+
+ V. In addition to the above it seems necessary to decide on the
+ following issues one way or the other together with the first
+ version of the protocol (perhaps by setting a date for people to
+ express their preferences and decide accordingly). All of these
+ issues were mentioned in the meeting at UCLA on March 17, 1970,
+ but were put aside.
+
+ 1. "Double padding" - when a message does not end on a word
+ boundary. Two possible solutions were mentioned:
+
+ a) Hosts provide their padding in addition to the IMP's
+ padding (double padding).
+
+
+
+Shoshani, et al. [Page 2]
+
+RFC 44 Comments on NWG/RFC 33 & 36 April 1970
+
+
+ b) Hosts make sure that all messages end on a word boundary
+ by shifting their messages (when necessary) and adjusting
+ the "marking" accordingly.
+
+ 2. "Echoing" - there are three apparent possibilities:
+ a) Echoing
+ b) No echoing
+ c) Optional Echoing - possibly a bit in the "Leader" can be
+ used to designate this option.
+
+ 3. "Code Conversion" - originally, BB&N suggested doing the
+ conversion in the IMPs using ASCII-8 as the common code.
+ This was rejected, mainly because of claims that ASCII-8 is
+ not large enough for some uses, such as graphics. Also
+ conversion in the IMPs may slow them down and take up space
+ which could be used for buffers. We feel that it is very
+ desirable to have a common code (even when the conversion is
+ not done by the IMPs), such that all incoming text messages
+ are in the same code and only one conversion table is needed.
+ Outgoing text messages should be converted into this common
+ code. Obviously, the option "no translation" should be
+ possible for the purpose of binary data or data that is not
+ representable in the common code. Since every known code can
+ be considered to be too restrictive for some purposes, we
+ suggest adopting a Network Common Code (NCC), and use all of
+ the 256 possible characters (for 8-bit code) to include the
+ "important" part of the union of the codes used throughout
+ the network.
+
+ VI. Our preference to the above issues is as follows:
+ a) "Double padding" -it turns out to be easy for us to get our
+ messages to be sent on a word boundary by shifting the leader
+ of a message (and adjusting the "marking" accordingly) rather
+ than the data. Thus we will prefer solution V.1.b).
+ b) "Echoing" - we prefer no echoing. We think that character
+ echoing should be managed locally.
+ c) "Code Conversion" we prefer a Network Common Code.
+ Initially, ASCII-8 can be used, and then expanded according
+ to the needs of the Network.
+
+
+ [ This RFC was put into machine readable form for entry ]
+ [ into the online RFC archives by Alison De La Cruz 12/00 ]
+
+
+
+
+
+
+
+
+Shoshani, et al. [Page 3]
+