III Steuerkommandos
Kommandoübersicht
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>
Kommandos
Kein Vorgang
Form:
-
NOP
-
NOP ist X'00'
Zweck:
Dieses Kommando ist der Vollständigkeit und Bequemlichkeit halber enthalten.
Verbindungsanforderung
Form:
-
<RFC> <my socket> <your socket>oder<RFC> <my socket> <your socket> <link> -
<RFC>ist X'01' -
<my socket>ist eine 32-Bit-Socketnummer, die für den Sender lokal ist -
<your socket>ist eine 32-Bit-Socketnummer, die für den Empfänger lokal ist -
<link>ist eine Acht-Bit-Linknummer. -
<my socket>und<your socket>müssen ein Sende-/Empfangspaar sein. -
<link>ist genau dann enthalten, wenn<my socket>ein Empfangssocket ist
Zweck:
Dieses Kommando wird verwendet, um eine Verbindung einzuleiten. Wenn zwei Hosts RFC-Kommandos mit denselben Argumenten (in umgekehrter Reihenfolge) ausgetauscht haben, ist die Verbindung hergestellt. Links werden vom Empfänger zugewiesen.
Schließen
Form:
-
<CLS> <my socket> <your socket> -
<CLS>ist X'02' -
<my socket>und<your socket>sind dieselben wie bei<RFC>
Zweck:
Dieses Kommando wird verwendet, um eine Verbindung zu blockieren. Es kann auch verwendet werden, um den Aufbau einer Verbindung abzubrechen oder eine Anforderung abzulehnen. Es kann vorkommen, dass zwischen den genannten Sockets keine Verbindung hergestellt wurde oder gerade hergestellt wurde. In diesem Fall sollte das <CLS> verworfen werden.
Fortsetzen
Form:
-
<RSM> <link> -
<RSM>ist X'03'
Zweck:
Dieses Kommando wird von einem empfangenden Host gesendet, um den sendenden Host zu veranlassen, die Übertragung auf dem genannten Link fortzusetzen. Ein sendender Host setzt das Senden aus, wenn er einen speziellen RFNM für eine Nachricht empfängt. (Spezielle RFNMs werden vom empfangenden IMP auf Anforderung seines Hosts erzeugt.)
Angehalten
Form:
-
<SPD> <link> -
<SPD>ist X'04'
Zweck:
Dieses Kommando wird von einem sendenden Host gesendet, um zu bestätigen, dass er das Senden über den genannten Link eingestellt hat. Die Übertragung wird fortgesetzt, wenn ein <RSM>-Kommando empfangen wird.
Endgültiges Ende
Form:
-
<FND> <my socket> <your socket> <asker> -
<FND>ist X'05' -
<my socket>ist eine 32-Bit-Socketnummer eines für den Sender lokalen Sockets -
<your socket>ist eine 32-Bit-Socketnummer eines für den Empfänger lokalen Sockets -
<my socket>und<your socket>bilden ein Sende-/Empfangspaar. Zwischen ihnen sollte eine Verbindung hergestellt werden. -
<asker>ist eine 40-Bit-Socketnummer desselben Typs wie<my socket>
Zweck:
Wenn ein Prozess sich selbst kurzschließen möchte, indem er einen seiner Empfangssockets mit einem seiner Sendesockets verbindet, sendet der NCP zwei <FND>-Kommandos aus — eines in jede Richtung. Bei jedem ist <asker> auf <my socket> initialisiert.
Beim Empfang eines <FND>-Kommandos prüft der NCP seinen <your socket>. Wenn <your socket> bereits an einer Neuverbindung beteiligt ist, wird das Kommando mit einem neuen <my socket> und <your socket> weitergegeben. Bevor es jedoch weitergegeben wird, wird <asker> mit dem neuen <my socket> verglichen. Wenn sie gleich sind, wurde eine Schleife erkannt und beide Sockets werden geschlossen.
Wenn <your socket> nicht an einer Neuverbindung beteiligt ist, wird es als das Ende einer Kette von Neuverbindungen markiert und ein <END> wird zurückgesendet.
Wenn die genannte Verbindung nicht im Gange ist, wird ein <CLS> zurückgesendet und das <FND> wird verworfen.
Endpunkt gefunden
Form:
-
<END> <link> <end socket> -
<END>ist X'06' -
<link>ist ein 8-Bit-Link -
<end socket>ist ein 40-Bit-Socket
Zweck:
Dieses Kommando gibt an, welcher Socket sich am Ende einer Kette von Neuverbindungen befindet. Es wird bei <end socket> erzeugt und über alle Zwischensockets an den anderen Endsocket zurückgegeben. Wenn <end socket> ein Sendesocket ist, bezieht sich <link> auf eine Verbindung mit dem Sendesocket im sendenden Host und dem Empfangssocket im empfangenden Host. Wenn <end socket> ein Empfangssocket ist, bezieht sich <link> auf eine Verbindung mit dem Sendesocket im empfangenden Host und dem Empfangssocket im sendenden Host. („Senden“ und „Empfangen“ beziehen sich auf die Übertragung dieses Steuerkommandos.)
Bereit
Form:
-
<RDY> <link> -
<RDY>ist X'07' -
<link>ist eine 8-Bit-Linknummer
Zweck:
Dieses Kommando wird von einem Sendesocket an einen Empfangssocket gesendet, um anzuzeigen, dass alle Nachrichten weitergeleitet wurden und dass eine Neuverbindung stattfinden kann.
Neuen Link zuweisen
Form:
-
<ASG> <my socket> <your socket> <link> -
<ASG>ist X'08'
Zweck:
Dieses Kommando schließt eine Neuverbindung ab. Es wird von einem Empfangssocket an einen Sendesocket gesendet, nachdem der Empfangssocket ein <RDY> empfangen hat. Ein neuer Link wird zugewiesen und die Übertragung beginnt.
Hinweis: Diese RFC wurde von Marc Blanchett 3/00 für die Aufnahme in die Online-RFC-Archive in maschinenlesbare Form gebracht.