RFC 123 (rfc123) - Page 2 of 3
Proffered Official ICP
Alternative Format: Original Text Document
Send (socket = l, data = d)
The data named by d is sent over the connection attached to local
socket l. l must be a send socket attached to a connection. d is the
name of a data area.
Receive (socket = l, data = d)
The receive side counterpart to send.
Close (socket = l)
Any connection currently attached to a local socket l is closed.
A Family of ICPs
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 S and closes the connection.
The 32-bit number S and its successor, S+1, are the socket number the
server will use. The final steps are for sockets S and S+1 at the
server site to be connected to sockets U+1 and U 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)
Init (local = S, foreign = U+1, size = Bu)
Init (local = S+1, foreign = U, size = Bs)
The user executes the following:
Init (local = U, foreign = L, size = 32)
Receive (socket = U, data = S)
Close (socket = U)
Init (local = U+1, foreign = S, size = Bu)
Init (local = U, foreign = S+1, size = Bs)
Note that L is a send socket (odd), while S and 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 foreign, they are 40-bit numbers. The
parameters Bs and Bu are the byte sizes to be sent by the server and
user, respectively.