RFC 60 (rfc60) - Page 1 of 8
Simplified NCP Protocol
Alternative Format: Original Text Document
Network Working Group R. Kalin
Request for Comments: 60 MIT
Category: Experimental 13 July 1970
A Simplified NCP Protocol
Status of this Memo
This memo defines an Experimental Protocol for the Internet
community. This memo does not specify an Internet standard of any
kind. Discussion and suggestions for improvement are requested.
Distribution of this memo is unlimited.
Abstract
This RFC defines a new NCP protocol that is simple enough to be
implemented on a very small computer, yet can be extended for
efficient operation on large timesharing machines. Because worst case
storage requirements can be predicted, a conservative implementation
can be freed of complicated resource allocation and storage control
procedures. A general error recovery procedure is also defined.
Overview and Rational
The central premise of this proposal is an insistence that all user-
to-user connections be bi-directional. For those familiar with
communication theory, this appears most reasonable. All communication
requires a cyclical flow of information. To deny a simple association
between a message and its reply makes protocol unnecessarily
complicated and turns simple mechanisms of flow control into
nightmares.
It is proposed that a bi-directional connection, or duplex link, be
identified by a pair of socket numbers, one for each end. This is
half the number presently required. Associated with the connection
are some number of "crates" or message containers. These crates
travel back and forth over the link carrying network messages from
one side to the other. Buffers are allocated at each end of the link
to hold crates and the messages that they carry. Worst case buffer
requirements are equal to the number of crates in circulation, or the
"capacity" of the link.
Details
A message buffer has four states which follow one another cyclically.
They are:
Kalin