From 4bfd864f10b68b71482b35c818559068ef8d5797 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 27 Nov 2024 20:54:24 +0100 Subject: doc: Add RFC documents --- doc/rfc/rfc2.txt | 563 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 563 insertions(+) create mode 100644 doc/rfc/rfc2.txt (limited to 'doc/rfc/rfc2.txt') diff --git a/doc/rfc/rfc2.txt b/doc/rfc/rfc2.txt new file mode 100644 index 0000000..82a5794 --- /dev/null +++ b/doc/rfc/rfc2.txt @@ -0,0 +1,563 @@ + + + + + + +Network Working Group Bill Duvall +Request for Comments: 2 SRI + + + [unknown title] + + +[page 1 missing] + +1 LINKS + + 1a Control Links + + 1a1 Logical link 0 will be a control link between any two HOSTs on + the network + + 1a1a Only one control link may exist between any two HOSTs on + the network. Thus, if there are n HOSTs on the network, there + are n-1 control links from each HOST. + + 1a2 It will be primarily used for communication between HOSTs for + the purposes of: + + 1a2a Establishing user links + + 1a2b Breaking user links + + 1a2c Passing interrupts regarding the status of links and/or + programs using the links + + 1a2d Monitor communication + + 1a3 Imps in the network may automatically trace all messages sent + on link 0. + + 1b Primary Links + + 1b1 A user at a given HOST may have exactly 1 primary link to each + of the other HOSTs on the network. + + 1b1a The primary link must be the first link established + between a HOST user and another HOST. + + 1b1b Primary links are global to a user, i.e. a user program + may open a primary link, and that link remains open until it is + specifically closed. + + + + + +Duvall [Page 1] + +RFC 2 + + + 1b1c The primary link is treated like a teletype connected over + a normal data-phone or direct line by the remote HOST, i.e. the + remote HOST considers a primary link to be a normal teletype + user. + + 1b1d The primary link is used for passing (user) control + information to the remote HOST, e.g. it will be used for + logging in to the remote host (using the remote hosts standard + login procedure). + + 1c Auxilliary Links + + 1c1 A user program may establish any number of auxilliary links + between itself and a user program in a connected HOST. + + 1c1a These links may be used for either binary or character + transmission. + + 1c1b Auxilliary links are local to the sub-system which + establishes them, and therefore are closed when that subsystem + is left. + +2 MANIPULATION OF LINKS + + 2a Control links + + 2a1 The control link is established at system load time. + + 2a2 The status of a control link may be active or inactive + + 2a2a The status of the control link should reflect the + relationship between the HOSTs. + + 2b Primary Links + + 2b1 Primary links are established by a user or executive call to + the monitor + + 2b1a The network identification number of the HOST to be linked + to must be included in the call + + 2b1b An attempt to establish more than one primary link to a + particular HOST will be regarded as an error, and the request + will be defaulted + + 2b1c Standard Transmission Character Set + + + + + +Duvall [Page 2] + +RFC 2 + + + 2b1c1 There will be a standard character set for + transmission of data over the primary links and control + links. + + 2b1c1a This will be full (8 bit) ASCII. + + 2b1d (get link) The protocol for establishing a link to HOST B + from HOST A is as follows + + 2b1d1 A selects a currently unused link to HOST B from its + allocation tables + + 2b1d2 A transmits a link-connect message to B over link 0. + + 2b1d3 A then waits for: + + 2b1d3a A communication regarding that link from B + + 2b1d3b A certain amount of time to elaspse + + 2b1d4 If a communication regarding the link is received from + B, it is examined to see if it is: + + 2b1d4a A verification of the link from B. + + 2b1d4a1 This results in a successful return from the + monitor to the requestor. The link number is returned + to the requestor, and the link is established. + + 2b1d4b A request from B to establish the link. This + means: that B is trying to establish the same link as A + independently of A. + + 2b1d4b1 If the network ID number of A(Na) is greater + than that of B(Nb), then A ignores the request, and + continues to await confirmation of the link from B. + + 2b1d4b2 If, on the other hand, Na Nb, then HOST A proceeds to establish a link to + HOST B in the manner outlined above (getlink). + + + + + +Duvall [Page 4] + +RFC 2 + + + 2c1d If Na | | + +--+ + + +--------------+ + | | + +----RESULT----+ + + 3b1a1 This process is known as folding. + + + +Duvall [Page 5] + +RFC 2 + + + 3b1a2 Several fields may be added and folded in parallel, if + they are folded appropiately after the addition. + + +---------+---------+---------+---------+ + | FIELD 4 | FIELD 3 | FIELD 2 | FIELD 1 | + +---------+---------+---------+---------+ + + +---------+---------+---------+---------+ + | FIELD 8 | FIELD 7 | FIELD 6 | FIELD 5 | + +---------+---------+---------+---------+ + ADD + +-+---------+---------+---------+---------+ + | | | | | | + +-+---------+---------+---------+---------+ + | | | | | + | | | | v + | | | | +---------+ + | | | | | | + | | | | +---------+ + | | | | + | | | \ +---------+ + | | | `-> | | + | | | +---------+ + | | | + | | \ +---------+ + | | `-----------> | | + | | +---------+ + | | + | \ +---------+ + | `--------------------->| | + | +---------+ + | + \ +---+ + `-----CARRY------------------------>| | + +---+ + ADD + +---------+---------+ + | | | + +--CARRY--+---------+ + | + \ +-----+ + ADD `-----> | | + +-----+ + + +---------+ + | | + +-RESULT--+ + + + + +Duvall [Page 6] + +RFC 2 + + + 3b1a2a Using this scheme, it is assumed that, if there + are n fields, the carries from the first n-1 fields + are automatically added into the low order position of + the next higher field, so that in folding, one need + only add the [n] result fields to the carry from the + nth field, and then add in an appropiately sized carry + from that addition (and repeat the desired number of + times to achieve the result. + + 3b1a3 A checksum computed in this manner has the advantage + that the word lengths of different machines may each be used + optimally: + + 3b1a3a If a string of suitable length is chosen for + computing the checksum, and a suitable checksum field + length is selected, the checksum technique for each of + the machines will be relatively optimal. + + 3b1a3a1 Field length: 288 bits (lowest common + denomenator of (24,32,36) + + 3b1a3a2 Checksum length: 8 bits (convenient field size + for all machines) + + 3b1b If a message is divided into groups of fields, and each + group is checksummed in this manner, an order dependent + checksum may be got by shifting the checksum for each group, + and adding it in (successively) to the checksum of the next + group + + 3c A facility will be provided where two HOSTs may enter a mode which + requires positive verification of all messages. This verification is + sent over the control link. + +4 MONITOR FUNCTIONS + + 4a Network I/O drivers + + 4a1 Input + + 4a1a Input message from IMP. + + 4a1b Do error checking on message. + + 4a1b1 Verify checksum, + + 4a1b2 Send "message recieved" aknowledgement over control + link if aknowledge mode is in effect. + + + +Duvall [Page 7] + +RFC 2 + + + 4a1c (trans)character translation + + 4a1c1 There is a strong possibility that the character + translation may be done in the IMP. + + 4a1c2 This needs to be explored further with BBN. + + 4a1c3 There are two main considerations + + 4a1c3a Should the translation be done by table or + algorithm? + + 4a1c3a1 Initially it seems as though the best way to + go is table. + + 4a1c3b How should we decide which messages should be + translated, i.e. is it desirable to not translate + everything (YES!!) and by what means can we use to + differentiate? + + 4a1d Decode header, and pass message to correct recipient as + identified by source, and link. + + 4a2 Output + + 4a2a Build header + + 4a2b Character translation + + 4a2b1 See remarks under the section on output translation + (trans). + + 4a2c Create checksum + + 4a2d Check status of link + + 4a2d1 If there has not been a RFNM since the last message + transmitted out the link, wait for it. + + 4a2e Transmit message to IMP + + 4a2f If aknowledge mode is in effect,wait for + + 4a2f1 RFNM from destination IMP. + + 4a2f2 Response from destination HOST over control line 0. + + + + + +Duvall [Page 8] + +RFC 2 + + + 4b Network status + + 4b1 Maintain status of other HOSTs on network + + 4b1a If an IMP is down, then his HOST is considered to be down. + + 4b2 Maintain status of control lines. + + 4b3 Answer status queries from other HOSTs. + + 4b4 Inform other HOSTs as to status of primary and auxilliary + links on an interrupt basis. + + 4b5 Inform other HOSTs as to status of programs using primary and + secondary links + +5 EXECUTIVE PRIMITIVES + + 5a Primary Links + + 5a1 These require the HOST number as a parameter. + + 5a1a Establish primary link + + 5a1b Connect controlling teletype to primary link + + 5a1c INPUT/OUTPUT over primary link + + 5a1d Interrogate status of primary link + + 5a1d1 Don't know what, exactly, this should do, but it seems + as though it might be useful. + + 5a1e Disconnect controlling teletype from primary link + + 5a1f Kill primary link + + 5b Auxilliary Links. + + 5b1 Establish auxilliary link. + + 5b1a requires the HOST number as a parameter + + 5b1b It returns a logical link number which is similar to a + file index. It is this number which is passed to all of the + other Auxilliary routines as a parameter. + + 5b2 INPUT/OUTPUT over auxilliary link + + + +Duvall [Page 9] + +RFC 2 + + + 5b3 Interrogate status auxilliary link. + + 5b3a Don't know what, exactly, this should do, but it seems as + though it might be useful. + + 5b4 Kill auxilliary link. + + 5c Special executive functions + + 5c1 Transparent. INPUT/OUTPUT over link + + 5c1a This may be used to do block I/O transfers over a link + + 5c1b The function of the monitor in this instance is to + transfer a buffer directly to its IMP + + 5c1c At does not modify it in any way + + 5c1c1 This means that the header and other control + information must be in the buffer. + + 5c1d The indended use of this is for network debugging. + +6 INITIAL CHECKOUT + + 6a The network will be initially checked out using the links in a + simulated data-phone mode. + + 6a1 All messages will be one character in length. + + 6a2 Links will be transparent to the monitor, and controlled by + user program via a special executive primitive. + + 6a2a The initial test will be run from two user programs in + different HOSTs, e.g. DDT to DDT. + + 6a2b It will be paralleled by a telephone link or similar. + + + [ This RFC was put into machine readable form for entry ] + [ into the online RFC archives by Robbie Bennet 10/1998 ] + [ This RFC was nroffed by Kelly Tardif, Viagenie 10/1999 ] + + + + + + + + + +Duvall [Page 10] + -- cgit v1.2.3