Skip to main content

III Control Commands

Command Summary​

   0         <NOP>
1 <RFC> <me> <you> or <RFC> <me> <you> <link>
2 <CLS> <me> <you>
3 <RSM> <link>
4 <SPD> <link>
5 <FND> <me> <you> <asker>
6 <END> <link> <end>
7 <RDY> <link>
8 <ASG> <me> <you> <link>

Commands​

No Operation​

Form:

  • NOP

  • NOP is X'00'

Purpose:

This command is included for completeness and convenience.

Request for connection​

Form:

  • <RFC> <my socket> <your socket> or <RFC> <my socket> <your socket> <link>

  • <RFC> is X'01'

  • <my socket> is a 32 bit socket number local to the sender

  • <your socket> is a 32 bit socket number local to the receiver

  • <link> is an eight bit link number.

  • <my socket> and <your socket> must be a send/receive pair.

  • <link> is included if and only if <my socket> is a receive socket

Purpose:

This command is used to initiate a connection. When two hosts have exchanged RFC commands with the same arguments (reversed), the connection is established. Links are assigned by the receiver.

Close​

Form:

  • <CLS> <my socket> <your socket>

  • <CLS> is X'02'

  • <my socket> and <your socket> are the same as for <RFC>

Purpose:

This command is used to block a connection. It may also be used to abort the establishment of a connection or to refuse a request. It may happen that no connection between the named sockets was established, or was in the process of being established. In this event, the <CLS> should be discarded.

Resume​

Form:

  • <RSM> <link>

  • <RSM> is X'03'

Purpose:

This command is sent by a receiving host to cause the sending host to resume transmission on the named link. A sending host suspends sending if it receives a special RFNM for some message. (Special RFNM's are generated by the receiving IMP upon request by its host.)

Suspended​

Form:

  • <SPD> <link>

  • <SPD> is X'04'

Purpose:

This command is sent by a sending host to acknowledge that it has stopped sending over the named link. Transmission will resume if a <RSM> command is received.

Final End​

Form:

  • <FND> <my socket> <your socket> <asker>

  • <FND> is X'05'

  • <my socket> is a 32 bit socket number of a socket local to the sender

  • <your socket> is a 32 bit socket number of a socket local to the receiver

  • <my socket> and <your socket> form a send/receive pair. A connection should be established between them.

  • <asker> is a 40 bit socket number of the same type as <my socket>

Purpose:

If a process decides to short-circuit itself by connecting one of its receive sockets to one of its send sockets, the NCP sends out two <FND> commands -- one in each direction. Each one has <asker> initialized to <my socket>.

Upon receiving an <FND> command, the NCP checks its <your socket>. If <your socket> is already engaged in a reconnection, the command is passed on with a new <my socket> and <your socket>. However, before it is passed on, the <asker> is compared with the new <my socket>. If they are equal, a loop has been detected and both sockets are closed.

If <your socket> is not engaged in a reconnection, it is marked as the end of a chain of reconnections and an <END> is sent back.

If the connection named is not in progress, a <CLS> is sent back and the <FND> is discarded.

End Found​

Form:

  • <END> <link> <end socket>

  • <END> is X'06'

  • <link> is an 8 bit link

  • <end socket> is a 40 bit socket

Purpose:

This command indicates which socket is at the end of a chain of reconnections. It is generated at <end socket> and passed back to the other terminal socket via all the intermediate sockets. If <end socket> is a send socket, <link> refers to a connection with the send socket in the sending host and the receive socket in the receiving host. If <end socket> is a receive socket, <link> refers to a connection with the send socket in the receiving host and the receive socket in the sending hose. ("sending" end "receiving" refer to the transmission of this control command.)

Ready​

Form:

  • <RDY> <link>

  • <RDY> is X'07'

  • <link> is an 8 bit link number

Purpose:

This command is sent from a send socket to a receive socket to indicate that all messages have been forwarded and that reconnection may occur.

Form:

  • <ASG> <my socket> <your socket> <link>

  • <ASG> is X'08'

Purpose:

This command completes a reconnection. It is sent from a receive socket to a send socket after the receive socket has received a <RDY>. A new link is assigned and transmission commences.


Note: This RFC was put into machine readable form for entry into the online RFC archives by Marc Blanchett 3/00.