You are on page 1of 10

Title: Host Software

Author: Bill Duval1

Installation: Stanford Research Institute

Date: 9 April 1969

Network Working Group Request for Comment:


L INKS

! a C o n t r o 1 L, ir*<s

lal Logical link 0 w i l l Oe a control link b e t t e r any two HOSTs on


t h e n e t woir k

l a l a Only onse c o n t r o l l i n k may e x i s t betweer any two HOSTs on


t h e ne t war k« Th us, i f t h e r e a r e n HOSTs on the network, there
ar e n - I c o n t r o l l i n k s from each HOST.

1 a2 I t iui.ll be primarily used for communication between HOSTs f o r


the purposes of:

ia2a Establishing user links

la 2b Breaking user links

Ia2c Passing interrupts regarding the status of links and/or


programs using the links

la2d Ponitorj communication

1 a J Imps in t h e network may automat i c a l l y trace a l l messages sent


on link C.

lb Primary Liirics

l o i A u s e r a t a g i v e n HOST may have e x a c t l y 1 primary link to each


of the other TOSTs on the network.

l b l a iTbe p r i m a r y link must be the first link established


b e t w e e n a TOST u s e r and a n o t h e r HOST .

l b lb Pir iraa-y l i n k s a r e g l o b a l t o a u s e r , i . e . a user program


may open a primary link, and t h a t link remains open u n t i l i t i s
sp ec if ical ly c lose d.

lb lc The primary link i s treated l i k e a teletype connected over


a normal d a t a - phone or d i r e c t l i n e by t h e remote POST, i . e . the
r e m o t e HOST considers a primary link to be a normal teletype
us er.

I b i d iTfe p r i m a r y link i s used for passing (user) control


infor jatioi t o the remote HOST. e.g. it will oe used for
logging in to the remote host (using the remote hosts standard
login procedure).

l c Au*i 1 l i a r y Links

lcl A user program may establish any number of auxilliary links


between, itself ana a user program i n a connected HOST.

2
I c l a iThese Links may b e u s e d f o r either b ir.ar y or character
t r ansit iss iani.

lclb Auxilliary links are local to tne sub-system which


establishes them, and therefore a r e closed iwfen t h a t subsystem
is left.

2 MANiPULAT 1 0 N OF LIN KS

2a Control Liirks

2ai The control link is established a t system load time.

2a2 The s t a t u s off a c o n t r o l l i n k may b e a c t i v e or i n a c t i v e

2a2a The status of the control Ink should reflect the


relationship between the HQSTs.

2b Primary L inks

2oi Primary links are established by a user or executive ca 11 t o


t he m on i t or

2bla The network identification number of t h e HOST t o be l i n k e d


to must be included in the call

2blb An attempt to establish more than one primary link to a


p a r t i c u l a r HQSiT w i l l b e r e g a r d e d a s a n e r r o r , a n d t n e r e q u e s t
will be defaulted

2bJc Standard T r a n sir,i s s i o n C h a r a c t e r S e t

2blcl There wi 11 be a standard character set for


transmission of data over the primary links and control
1in ks.

2blc i a T h i s w i l l be f u l l ( 4 b i t ) ASCII.

2b!d C get lintc > The protocal for establishing a link t o HOST B
f r o m HOST A l i s a s f o l l o w s

2bldl A selects a currently unused l i n k t o HOSf B from its


allocation tables

2bld2 A transmits a link connect message to B over link 0.

2bl d3 A then waits for:

2bid3a A com mun i ca t i on r e g a r d i n g t h a t ilink from B

2bid3b A c e r t a i n amount of time to elapse

2bld4 If a communication regarding the link i s recieved from

3
B, i t i s examined t o s e e if i t is*.

2bld4a A verification of the link from E.

23ld4al This results in a successful return from the


monitor t o the requestor, The link rumber i s returned
to (the requestor, and the link is established.

2bld4b A request from B to estaolish the link. this


means that B i s trying to establish the same link as A
independently of A.

2oJid4bl If the network ID number of A(Nai i s greater


than that! cf B(Nb)» then A ignores the request, and
continues to await confirmation of the link from B.

2ol d4t)2 If. on t h e o t h e r hand , Na<hib» A:

2bld4b2a Honors the request from B t o establish


the li nk,

2bld4b2b Sends verification as required.

2bld4b2c Aborts i t s own r e q u e s t , and repeats the


allocation process.

2bld4c Some other communication from B regarding the


link.

2ald4cl This is an error condition, meaning that


either:

2bld4cla A has faulted by selecting a previously


allocated link for allocation,

2b Id4c lb B i s transmitting in format inn over an


un—allocated link,

2bld4clc Or a message regarding a l l o c a t i o n from B


to A has been garbled in transmission.

2ol>d4c2 I n t h i s c a s e , A's a c t i o n i s t o :

2bJd4c2a Send a link disconnect message to B


concerning the attempted connection

2bld4c2b Consider the state of HOST B to be i n


error and i n i t i a t e entry to a panic rout i ne(error ).

2bld5 If no communication regarding the link is recieved


from B in the prescribed amount of time, HOST B is
c o n s ide-e-d t o b e i n an e r r o r s t a t e .

4
2bl d5a A link disconnect message i s sent t o B from A.

2bid5b A painic routine i s called! error).

2c Auxiiliary Links

2cJ Auxiltliary .links are estaoiished by a c a l l tc the monitor from


a user pr orai.

2c la The request must specify pertinent data about the desired


link to the monitor

2 c l a ) Toe number of the primary link to B.

2c lb The request f o r an a u x i l l i a r y link must be made by a user


p r o g r a m i n e a o h of t h e HOSTs (A and B ) .

2c 1c I f N a i» Nb, then HOST A p r o c e e d s t o e s t a b l i s h a link to


HOST Bi i n ; h i e manner outlined above (get Link).

2c Id I f Na<Nb» then A wait si

2cldl Fo<r HOST B to establish the link (after looking to


s e e i if 3 has already established the corresponding link).

2cld2 For, a specified amount of time to elapse.

2cld2a This means t h a t HOST B did not respond to the


request of HOST A.

2cld2b The program i n HOST A and 8 s h o u l d o e a o l e to


specif iy the amount of time to wait for t h e timeout.

ERROR CHEC<KTAG

3a All messages sent over the network will be error checked initially
so as to help isoljatie software and hardware bugs.

3b A checksum willi be associated with each message* which is order


depend en t -

3oJ The foilojing* algorithm i s one which might 'be used:

5
i b i d A checksum of l e n g t h 1 may b e formed by adding s u c c e s s i v e
fields, in thte s t r i n g to be checked serially, and adding the
ca r c y i b i t i n t o t h e l o w e s t b i t p o s i t i o n o f t h e s u m .

J FIELD J
ADO
' FIELD 2 -

j- J ~ ~~ ZZZZ ZZZZ11

ADD ^--CARiRY -jj'j

I I
- — RE SULT

3b1a 1 Thiis process i s known a s f o l d i n g .

J b I a2 Seveiral f i e l d s may be added and folded in parallel*


i f itfey a r e folded appropiately after the addition.
iHtLD u m u ? H i b m <>-u-unr~n

3bia2a Using this scheme* i t i s assumed that* if tihere


are a (fields* the carries from the first n-a fields are
aut onait iical 1 y added i n t o t h e low order p o s i t i o n of the
next higher field, so that in folding, one need only add
the i ire*sult fields to the carry from the nth field, and
then a did i n a n a p p r o p i a t e l y s i z e d c a r r y f r o m itha t
addititont land repeat the desired number of timesd to
achieve tthe result.

3bla3 A checksum computed in t h i s imanner has the advantage


t h a t . thue word l e n g t h s o f d i f f e r e n t machines may each be
u s e d o p t i i m a 1l y .

3bla3a I f a string of suitable l e n g t h let c h o s e n f o r


icompjtung the checksum. and a suitable checksum f i e l d
lengihi i s selected, the checksum technique for each of
it he Tiaichdnes w i l l be r e l a t i v e l y o p t i m a l .

3Dl<a3al F i e l d length: 288 bits < lowest common


demounenat or of (24.32.36)

3ola3a2 Checksum length: 8 bits (convenient field size


f on a l l m achi nes)

3b lb If a nessage i s divided into groups of fields, and each


g r o u p i i s c he c k s u mmed in this manner, an order dependent
checksum may be got by s h i f t i n g the checksum f o r each group,
and abiding i t i n (successively) to the checksum of the next
gr oup

3 c A f a c i l i t y w i l l b e p r o v i d e d w h e r e two HOSTs may: e n t e r a mode .which


requires positive verification of a l l messages. This verification is
sent over the coitrol link.

4 MONITOR F UN-CTICNS

4a Network I/O drivers

4a .1 I np ut

4a I a Input message from [MP.

4a l b Do e r r o r -checking on message.

4albl Verify checksum

4alb2 Send - "message recieved" akno w ledgement over control


l i n k i f <aktnow l i e d g e mode i s i n e f f e c t .

4a Ic (traisdcharacter translation.

4a1cl Tnere- is a strong possibility that the character


t r a n s l a t i o n may be done i n t h e IMP.

4alc2 Tnis needs t o be explored further with 8BN-

7
4aic3 Ttiere are two main considerations

4alc3a< Should the transltaion De done oy table or


a lgo~ i : t htm?

4allc3<ai I n i t i a l l y i t seems a s though the best way to


go lis tab ie.

4alc3b* How ishould we decide which messages should be


tram liatled, - i . e . is it desirable to not translate
everything (YES!!) and by what means c a n we use to
differ en tiat e?

4a I d Decode ; header, and pass message t o correct recipient as


identified by :source. and link.

4a2 Output

4a 2a Build hea der

4a2b Charartien translation

4a2bl See remarks under the section on output


translatiion (tra ns).

4a2c Create checksum

4a2d Check s t a t u s of link

4a2dl If <there has not b e e n a RFNM s i n l c e t h e l a s t m e s s a g e


transmitted out the link, wait for i t .

4a 2e Trarrsmiit message to IMP

4a2f I f akioiwlredge mode i s in e f f e c t , wait for

4 a 2 f l RCN<M ( f r o m d e s t i n a t i o n I M P .

4 a 2 f 2 Resiponse from d e s t i n a t i o n HOST o v e r c o n t r o l l i n e <0.

4b Network status

4bl Maintain itatlus of o t h e r HOSTs on network

4b la I f a n I MPI i s d o w n , then h i s HOST i s c o n s i d e r e d t o be down.

4b2 Maintain status of control lines.

4o3 Answer statius' queries from other HOSTs.

4b4 Inform otheri HOSTs a s t o s t a t u s of primary and auxilliary


links on ,ar iiterrupt basis..

8
4b5 Inform other HOSTs as to status of programs using primary and
secondary links

5 EXECUTIVE PRIMITIVES

5a Primary Links

5a,I These require' the HOST number as a p a r a m e t e r .

5a la Establish p r i mary link

5alb Come:t( controlling teletype to primary link

5a I c I NPUT/O'UT PUT over primary link

Said Interrogate status of primary link

5 a l d l doni't know what, exactly, this should do. out i t seems


as though! i t might be u s e f u l .

5aJe Disconnect controlling teletype from primary link

5a I f K i l l 5r<imary link

5b Auxilliary Links.

5bJ Establish a j x ' i l l i a r y link.

5b I a requires the HOST number as a parameter

5b lb I t retuirn-s a logical link number which is similar to a


f i l e index. I t i s this number which is passeo to all of the
otiher Auxilliiary routines as a parameter.

5 b 2 1 NP UT /OUTi'UiT over auxilliary link

5u3 Interrogate! status auxilliary link.

5b3a dior* t know what, exactly, t h i s should idc» but i t seems as


though it niight be useful.

5 b4 K i l l auxilliary l i n k .

5c Special executive* functions

5cl Transparent INPUT/OUTPUT over link

5cla Tihis naiy ;be u s e d t o do b l o c x I/O transfers over a link

5 c Ib T h e f u n d i o n of t he m o ni t o r in this instance is to
t r ansf er a b u f f e r directly to i t s IMP

5clc At do»s' not modify i t i n any way

9
•• v i

5c 1 cI Thi s means that the header and other control


i;nf ormat iion must be in t h e b u f f e r .

5c I d The iitiended use of t h i s i s f o r network debugging.

6 INITIAL CHECKOUT

6a The network will be i n i t i a l l y checked out using the links in a


simulated data-phone mode.

6al All messages will be one character in length-

6a2 Links will be transparent to the monitor* and controlled by


user program viia ia s p e c i a l executive p r i m i t i v e . .

6a 2a The iiitiial t e s t will be run from two user programs i n


d i f f e r e n t 1 0 S T s » e . g . DDT t o DDT.

6a 2 b I t w i l l i b e p a r a l l e l e d by a t e l e p h o n e l i n k o r s i m i l a r -

I0

You might also like