Dismiss
InnovationQ/InnovationQ Plus content will be updated on Sunday, June 25, 10am ET, with new patent and non-patent literature collections. Click here to learn more.
Browse Prior Art Database

Proffered Official ICP (RFC0123)

IP.com Disclosure Number: IPCOM000002044D
Original Publication Date: 1971-Apr-20
Included in the Prior Art Database: 2000-Sep-12
Document File: 3 page(s) / 5K

Publishing Venue

Internet Society Requests For Comment (RFCs)

Related People

S.D. Crocker: AUTHOR

Abstract

By Initial Connection Protocol (ICP), I mean a third level protocol which is initiated by a user process at one site in order to contact a server process at another site. Typically, the user process will be a Telnet and the server process will be a logger, but there may be other cases.

This text was extracted from a ASCII Text document.
This is the abbreviated version, containing approximately 65% of the total text.

Network Working Group S. Crocker

Request for Comments: 123 UCLA

NIC #5837 20 April 71

Categories: D.1

Obsoletes: RFCs 66, 80

Updates: RFCs 98, 101

A Proferred Official ICP

By Initial Connection Protocol (ICP), I mean a third level protocol

which is initiated by a user process at one site in order to contact a

server process at another site. Typically, the user process will be a

Telnet and the server process will be a logger, but there may be other

cases.

In this RFC, I wish to describe a family of ICPs suitable for

establishing one pair of connections (one in each direction) between any

user process and any server process, and to propose further a particular

subset of this family as the standard ICP for connecting user processes

to loggers on systems which accept teletype-like devices.

Notation

We have no standard notation for describing system calls which initiate

and close connections or cause data to be sent, so I will use the

following ad hoc notation.

Init (local = l, foreign = f, size = s)

causes the local Host to attempt to establish a connection between

socket l at the local Host and socket f, with a byte size of s for

the connection.

l is a 32 bit local socket number,

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

of which specify the foreign Host, and

s is an eight bit non-zero byte size.

The sum of l and f must be odd.

Listen (local = l, size = s)

causes the local Host to wait for a request for connection to local

socket l with byte size s. The process will be woken when a

connection is established. The parameters l and s are the same as

for Init.

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)

Clo...