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.
Assign New Link
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.