0% found this document useful (0 votes)
43 views6 pages

Hoc I,: Proto Ols

This document specifies a protocol for initially connecting a user process at one site to a server process at another site. It describes: 1) A family of Initial Connection Protocols (ICPs) that can establish a pair of connections between any user and server process. 2) The notation and sequence of messages needed at the third (user) level and second (NCP) level to connect a Telnet user process to a Logger server process as an example ICP. 3) The parameters that characterize each ICP, including well-known socket numbers and byte sizes for message elements like socket numbers.

Uploaded by

tam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views6 pages

Hoc I,: Proto Ols

This document specifies a protocol for initially connecting a user process at one site to a server process at another site. It describes: 1) A family of Initial Connection Protocols (ICPs) that can establish a pair of connections between any user and server process. 2) The notation and sequence of messages needed at the third (user) level and second (NCP) level to connect a Telnet user process to a Logger server process as an example ICP. 3) The parameters that characterize each ICP, including well-known socket numbers and byte sizes for message elements like socket numbers.

Uploaded by

tam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Network Working Group J.

,Pos t el
, Request for Comments #165 UCLA - NMC
' NI C #6779 Computer Science ,
Categories: C.3, 0.1, 0.3 25 May 71
Updates : None
Obsoletes: 123, 143, 145

A Proferred Official Initial Connection Protocol*

This document specifies the third level protocol used to connect

a user process at one site with a server process at another site.

In one instance, the user process will be a Telnet and the server

process will be a Logger, but there will be other cases.

, Th i s document describes a family of Initial Connection Proto~ols


(ICp·s) suitable for establishing one pair of connections between
any user process and any server process, and further to describe
the parameter values for connecting Telnets and Loggers. The
description will be at two levels" the third or user level, and
't he second or NCP level. ..

Third Level Description

Notation

There is no standard notation for describing system calls which

initiate and close connections or cause data to be sent, so the

following ad hoc notation will be used.

Init (local = i, foreign = 6, size = ~)


causes the local Host to attempt to establish a connection

between socket i at the local Host and socket 6, with a

byte size of.6 for the connection.

i is a 32 bit local socket number,

6 is a 40 bit foreign socket number, the high-order eight

bits of which specify the foreign Host, and

.6 is an eight bit non-zero byte ·s i z e .

The sum of i and 6 must be odd.

Listen (local = i, size = .6)


causes the local Host to wait for a request for connection
to local socket i with byte size~. The process will be
woken when a connection is established. The parameters i
and ~ are the same as for Init.

- *This document is based on RFC 123 by S. Crocker and discussions


by the ICP Committee.
Network Working Group J. Postel
Request for Comments #165 UCLA - NMC
NIC #6779 Computer Science
categories: C.3, 0.1, 0.3 25 May 71
Updates : None
Obsoletes: 123, 143, 145

Send (socket = i, data = d)

The data named by d is sent over the connection attached


to local socket i. i muSt be a send , socket attached to a
connection. d is the name of a data area.

Receive (socket = i, data = df


The receive side counterpart to send.

Close (socket ='i)

Any connection currently attached to local socket i is


closed.

A Family of lCpt s

Briefly, a server process at a site attaches a well-advertised


send socket L and listens. A user process initiates connection
to L from its receive socket U. The byte size for this' connection
is 32. The server process then transmits a 32-bit even number Sand
closes the connection. The 32-bit number 5 and its successor,
S+l, are the socket numbers the server will use. The final steps '
are for sockets S and 5+1 at the server site to be connected to
sockets U+3 and U+2 respectively at the user site.

Using the notation, the server executes the following sequence:

Listen (socket = L, size = 32)

[Wait until a user connects]

Send (socket = L, data = S)

Close (socket = L)

mit {local = S, Foreign = U+3, size = Bu


)

mit (local = 5+1, foreign = U+2, size = B )

s
The user executes the following:

mit (local = U, foreign = L, size = 32)

Receive (socket = U, data = 5)

Optional Close (socket = U)

Listen or lnit (local '= U+3, foreign = 5, size = Bu )

Listen or lnit (local = U+2, foreign = ,S+l, size = B )


s

-2­
-.
Network Working Group J. Postel
Request for Comments U65 UCLA - NMC
NIC #6779 · Computer Science
Categories: C.3, 0.1, D.3 25 May 71
Updates: None
Obsoletes: 123, 143, 145

Note that Lisa send socket (odd), while Sand U are receive
sockets (even). Where L, S or U are used as values of local,
they are 32-bit numbers; where they are values of 6o~elgn, they
are 40-bit numbers. The parameters B and B are the byte sizes
s u
to be sent by the server and user, respectively. If the user '
side declines to close socket U, then it must be handled auto­
matically by the second level (see page 4).

Examination of the above sequences reveals that an ICP is character­


ized by three numbers L, B and B , and must meet the restrictions
that s u

(a) L is a send socket,

(b) B and B are legal byte sizes, and


s u
(c) for each L there is only one pair of associated byte
sizes.

This last restriction prevents two distinct services from being


available through the same socket and distinguished only by the
byte sizes.

Second Level Description

Notation

The following notation will be used for the NCP Control Command
used in Iep.

STR(lh, ~, ~)

lh = local send socket

~ = foreign receive socket

! = byte size

RTS (lh, fe., II


lh = local receive socket
1.6 == foreign send socket

-r link

-3­
.

Network Working Group J. Postel


Request for Comments #165 UCLA - NMC
NIC #6799 . Computer 5cience
Categories: C.3, 0.1, 0.3 25 May 71
Upda tes : None .
Obsoletes: 123, 143, 145

ALL(l, m, EJ
£. = link

m = message allocation

0= bit allocation

CL5(16, ..6!J
l.6 = local socket

~ = foreign socket

The same family of rcp's is now described again.

Server User

51: listening on socket L. Ul: RT5(U, L, il}

52: Wait for a match. U2: wait for match.

53: 5TR(L, u, h
l)
54: Wait for allocation.

55: 5end data 5 in h bit U4: Receive data s in


l
bytes as allowed by .6 bit bytes.
1
allocation m , b .
l l
S6: CLS(L, U} us: CL5(U, L)

S7: RT5(S, U+3, i2} U6: 5TR(U+3, 5, h


2)

S8: 5TR(5+1, U+2, .h


a} U7: RTS(U+2, 5+1, ia}

The labels here imply no ordering except that ordering required


by the Host-Host Protocol. Note that steps 57 and 58 can be
reversed as can U6 and U7. Also, notice that at any time after
52 the server could initiate steps 57 and 58 in parallel with
steps 53 through 56, and that at any time after U4 the user could
initiate steps U6 and U7 in parallell with step us.

-4­
Network Working Group J. Postel

Request for Comments #165 UCLA - NMC

. Nrc #6779 Computer Science


categories: C.3, 0.1, 0.3 25 May 71
Updates : None
Obsoletes: 123, 143, 145

Following the above exchanges ALL commands would be exchanged

and data transfers could begin.

At this level the parameters of the above ICP family are L, ~l'

b:I." ~:I.' ~ il' ~ a' t l , til' t a•


L is a well known socket number and will be specified for each

type of service.

ml and bl are allocation quantities for the transfer of a socket


nmnber.

m:l. is specified to be 1.
b is specified to be 32.
l

~:I.' ~i2 and ~3 a~e. byte .s~z~s. ~nly ~l is to be specified as ~d

and ~3 are to be left to the process involved •.

6 is specified to be 32.
1

t l , til' and t 3 are links and are not specified.

Note: Some hosts currently have difficulty sending 32 bit bytes.

Thus, it is t~PO~lj allowed to send the socket numberS as

four 8 bit bytes in one message.

rt is legal for the NCP to receive RTS orSTR before the correspond­
ing local Init or Listen is issued. Therefore it .i s suggested
that requests for connection to idle sockets be queued as allowed
by time and space limitations.

Telnet - Logger rcp

For connecting Telnet and Logger processes, the ICP parameters are
L=l, B = ~~ = 8, and B = ~~ = 8. (To clarify the socket number
u -" s -~
required, L = X'OOOOOOOl').

,- 5­
Network Workmg Group J. Postel
Request for Comments #165 UCLA - NMC
NIC #6779 Computer Science
Categories: C.3, .D.1,D.3 25 May 71
Updates: None
Obsoletes: 123, 143, 145

Formalities

This proposed official protocol will become official if. no serious


objections are raised before 2 June 71. A telephone survey of
Network Liaisons will be conducted by Jon Postel before that date.
If no objections are raised this protocol will be declared official
by the Working Group chairman.

-6- .

You might also like