Network Working Group R. Kalin
Request for Comments: 60 MIT
13 July 1970
A Simplified NCP Protocol
Kalin [Page 1]
RFC 60 A Simplified NCP Protocol 13 July 1970
For a process to be an NCP it must:
Kalin [Page 2]
RFC 60 A Simplified NCP Protocol 13 July 1970
The RFDL is received at the remote host and the remote NCP compares <my socket> and <your socket> against the socket identifiers supplied by unmatched listens issued to it. For listens in which just a single identifier was given only <your socket> must match. If both socket identifiers were given, they both must match. If a match is found an acknowledgement message with the following format is sent back by the NCP:
Kalin [Page 3]
RFC 60 A Simplified NCP Protocol 13 July 1970
We suggest that message alignment be left to the user. On most machines it is a simple but time consuming operation. If done in the NCP there is no guarantee that the user will not have to readjust it himself. It is usually not possible to know a priori whether the text portion should be right adjusted to a word boundary, left adjusted to a word boundary, aligned to the end of the last message, or fragmented in some exotic way.
Kalin [Page 4]
RFC 60 A Simplified NCP Protocol 13 July 1970
When the remote NCP receives the ABEND, it stops sending messages over the link and refuses new messages from the user process at its end. Empty buffers are reclaimed. Pending output messages are destroyed and their buffers reclaimed. Input messages are fed to the user process as long as it will accept them. Buffers are reclaimed as input is accepted. DEC's are issued to cover all buffers reclaimed. When the user process will take no more input, input messages are destroyed and their buffers reclaimed. Eventually all buffers will be reclaimed at both ends of the link. At such time the connection can be considered closed and the socket numbers used can be reassigned without ambiguity.
Kalin [Page 5]
RFC 60 A Simplified NCP Protocol 13 July 1970
URFNM <my socket> <your socket> <number of user RFNM's>
Kalin [Page 6]
RFC 60 A Simplified NCP Protocol 13 July 1970
It is expected that the larger hosts will not adhere strictly to the worst case storage allocation requirements. Rather they will allocate more buffers than they have and reply on statistics to keep them out of trouble most of the time. Such conduct is perfectly permissible as long as it is transparent to foreign hosts. The protocol allows an NCP to lie about storage allocation as long as he is not caught. In situations where detection appears imminent some of the following control mechanisms will need to be applied. They are listed in increasing order of power.
Kalin [Page 7]
RFC 60 A Simplified NCP Protocol 13 July 1970
References