summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc794.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/rfc794.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc794.txt')
-rw-r--r--doc/rfc/rfc794.txt116
1 files changed, 116 insertions, 0 deletions
diff --git a/doc/rfc/rfc794.txt b/doc/rfc/rfc794.txt
new file mode 100644
index 0000000..82e550c
--- /dev/null
+++ b/doc/rfc/rfc794.txt
@@ -0,0 +1,116 @@
+
+
+Network Working Group V. Cerf
+Request for Comments: 794 ARPA
+Replaces: IEN 125 September 1981
+ PRE-EMPTION
+
+In circuit-switching systems, once a user has acquired a circuit, the
+communication bandwidth of that circuit is dedicated, even if it is not
+used. When the system saturates, additional circuit set-up requests are
+blocked. To allow high precedence users to gain access to circuit
+resources, systems such as AUTOVON associate a precedence with each
+telephone instrument. Those instruments with high precedence can
+pre-empt circuit resources, causing lower precedence users to be cut
+off.
+
+In message switching systems such as AUTODIN I, incoming traffic is
+stored on disks (or drums or tape) and processed in order of
+precedence. If a high precedence message is entered into the system, it
+is processed and forwarded as quickly as possible. When the high
+precedence message arrives at the destination message switch, it may
+pre-empt the use of the output devices on the switch, interrupting the
+printing of a lower precedence message.
+
+In packet switching systems, there is little or no storage in the
+transport system so that precedence has little impact on delay for
+processing a packet. However, when a packet switching system reaches
+saturation, it rejects offered traffic. Precedence can be used in
+saturated packet switched systems to sort traffic queued for entry into
+the system.
+
+In general, precedence is a tool for deciding how to allocate resources
+when systems are saturated. In circuit switched systems, the resource
+is circuits; in message switched systems the resource is the message
+switch processor; and in packet switching the resource is the packet
+switching system itself.
+
+This capability can be realized in AUTODIN II without adding any new
+mechanisms to TCP (except to make precedence of incoming connection
+requests visible to the processes which use TCP). To allow pre-emptive
+access to a particular terminal, the software (i.e., THP) which supports
+terminal access to the TAC can be configured so as to always have a
+LISTEN posted for that terminal, even if the terminal has a connection
+in operation. For example in the ARPANET TENEX systems, the user TELNET
+permits a user to have many connections open at one time - the user can
+switch among them at will. To the extent that this can be done without
+violating security requirements, one could imagine a multi-connection
+THP which always leaves a LISTEN pending for incoming connection
+requests. If a connection is established, the THP can decide, based on
+its precedence, whether to pre-empt any existing connection and to
+switch the user to the high precedence one.
+
+If the user is working with several connections of different precedence
+at the same time, the THP would close or abort the lowest precedence
+
+
+Cerf [Page 1]
+
+
+ September 1981
+Pre-Emption
+
+
+connection in favor of the higher precedence pre-empting one. Then the
+THP would do a new LISTEN on that terminal's port in case a higher
+precedence connection is attempted.
+
+One of the reasons for suggesting this model is that processes are the
+users of TCP (in general) and that TCP itself cannot cause processes to
+be created on behalf of an incoming connection request. Implementations
+could be realized in which TCPs accept incoming connection requests and,
+based on the destination port number, create appropriate server
+processes. In terms of pre-empting access to a remote terminal,
+however, it seems more sensible to let the process which interfaces the
+terminal to the system mediate the pre-emption. If the terminal is not
+connected or is turned off, there is no point in creating a process to
+serve the incoming high precedence connection request.
+
+For example, suppose a routine FTP is in operation between Host X and
+Host Y. Host Z decides to do a flash-override FTP to Host X. It opens
+a high precedence connection via its TCP and the "SYN" goes out to the
+FTP port on Host X.
+
+FTP always leaves one LISTEN pending to pre-empt lower precedence remote
+users if it cannot serve one more user (and still keep a LISTEN
+pending). In this way, the FTP is naturally in a state permitting the
+high precedence connection request to be properly served, and the FTP
+can initiate any cleaning up that is needed to deal with the
+pre-emption.
+
+In general, this strategy permits the processes using TCP to accommodate
+pre-emption in the context of the applications they support.
+
+A non-pre-emptable process is one that does not have a LISTEN pending
+while it is serving one (or more) users.
+
+The actions taken to deal with pre-emption of TCP connections will be
+application-process specific and this strategy of a second (or N+1st)
+LISTEN is well suited to the situation.
+
+Pre-emption may also be necessary at the site initiating a high
+precedence connection request. Suppose there is a high precedence user
+who wants to open an FTP connection request from Host Z to Host X. But
+all FTP and/or TCP resources are saturated when this user tries to start
+the user FTP process. In this case, the operating system would have to
+know about the precedence of the user and would have to locally pre-empt
+resources on his behalf (e.g., by logging out lower precedence users).
+This is a system issue, not specific only to TCP. Implementation of
+pre-emption at the source could vary greatly. Precedence may be
+associated with a user or with a terminal. The TCP implementation may
+locally pre-empt resources to serve high precedence users. The
+operating system may make all pre-emption decisions.
+
+
+[Page 2] Cerf
+