Anhang A - Netzwerkverbindungsprotokoll zum SRI-Network Information Center
1. Protokoll für den Verbindungsaufbau (Initial Connection Protocol)
Der Verbindungsaufbau zum NIC ist identisch mit dem in Abschnitt II von NWG/RFC 80 NIC (5608,) dargestellten; er wird hier wiedergegeben:
Telnet contacts NIC
NIC <- user site
RTS <us> <l> <p>
NIC logger is socket 1
user site <- NIC
STR <l> <us> CLS <l> <us>
if accepted
CLS <l> <us>
if rejected
assuming NIC accepts
user site <- NIC
STR <ss+l> <us>
RTS <ss> <us+l> <q>
NIC receives text thru local socket ss from remote
socket us+l via link q
assuming user site accepts
NIC <- user site
STR <us> <ss+l>
RTS <us+l> <ss> <r>
NIC sends text to remote socket us thru local socket
ss+l via link r
.
.
.
user site <- NIC
ALL <q> <space>
.
.
.
NIC <- user site
ALL <r> <space>
2. Protokoll für den Verbindungsabbau (Connection Breaking Protocol)
Für jede der beiden Verbindungen wird gemäß Dokument #1 NIC (5143,) ein CLS-Austausch zwischen den NCPs vorgenommen.
Wir könnten uns entscheiden, in die NIC-Verbindungen eine Zeitüberschreitung (time-out) einzubauen, sodass das Fehlen jeglicher Interaktion über eine (noch festzulegende) „vernünftige" Zeitspanne dazu führt, dass der NIC den Abbau (CLS-out) der Verbindungen veranlasst.
3. Protokoll der dritten Ebene (Third Level Protocol)
Die ersten 8 Bits, die der NIC über den Socket ss empfängt, sollten den Nachrichtendatentyp bilden, der anzeigt, dass ein 8-Bit-ASCII-Strom folgt, gemäß NWG/RFC #63, NIC (4963,).
I.e., the first 8 bits are 00000001
Die ersten 8 Bits, die Telnet über den Socket us empfängt, werden ebenfalls einen Nachrichtendatentyp von 1 anzeigen. Jede Netzwerknachricht sollte ein ganzzahliges Vielfaches von 8 Bits umfassen. Sollte ein Netzstandard festgelegt werden, der von der Anregung in NWG/RFC #63, NIC (4963,) abweicht, würden wir dieses Protokoll entsprechend ändern.
Der NIC wird die vom NCP erzeugten Unterbrechungen deaktiviert haben, d. h.:
INR will be ignored
INS will not be sent to the remote host
4. Zeichenkonventionen des NLS(NIC), die für Telnet von Interesse sind
Das Echo kann entweder unter der Kontrolle des NLS(NIC) oder unter der Kontrolle des Benutzer-Standorts stehen. Wenn wir im Folgenden vom Echo sprechen, meinen wir die Kontrolle durch das NLS(NIC). Wird das Echo vom Benutzer-Standort ausgeführt, erwarten wir, dass der Benutzer die Ausgabekonventionen des NLS(NIC) so einstellt, dass sie zu den Echo-Konventionen seines Standorts passen. Sofern nicht ausdrücklich etwas anderes angewiesen wird, geht das NLS(NIC) davon aus, dass das Echo vom Benutzer-Standort ausgeführt wird.
Formatwirksame Steuerzeichen:
- horizontaler Tabulator (horizontal tab)
- beim Echo und bei der Ausgabe Leerzeichen bis zum nächsten (vom Benutzer definierbaren) Tabulatorstopp.
- bei buchstabengetreuer Eingabe (literal input) wird es als ASCII '11 in die Datei geschrieben.
- Seitenvorschub (form feed)
- beim Echo und bei der Ausgabe Wagenrücklauf und eine entsprechende (vom Benutzer definierbare) Anzahl von Zeilenvorschüben.
- bei buchstabengetreuer Eingabe wird es als ASCII '14 in die Datei geschrieben.
- vertikaler Tabulator (vertical tab)
- beim Echo und bei der Ausgabe Wagenrücklauf und eine entsprechende (vom Benutzer definierbare) Anzahl von Zeilenvorschüben.
- bei buchstabengetreuer Eingabe wird es als ASCII '13 in die Datei geschrieben.
- Wagenrücklauf (carriage return)
- beim Echo und bei der Ausgabe Wagenrücklauf gefolgt von Zeilenvorschub.
- bei buchstabengetreuer Eingabe wird es als EOL in die Datei geschrieben (siehe unten).
- Zeilenvorschub (line feed)
- beim Echo und bei der Ausgabe Zeilenvorschub.
- wird bei buchstabengetreuer Eingabe als ASCII '12 in die Datei geschrieben.
- EOL (Zeilenende, end of line)
- derzeit ASCII-Code '37.
- beim Echo und bei der Ausgabe Wagenrücklauf gefolgt von Zeilenvorschub.
- bei buchstabengetreuer Eingabe wird es als ASCII '37 in die Datei geschrieben.
- Wenn das System des Benutzers vor dem Senden an Telnet automatisch ein LF an ein CR anhängt oder das CR in einen EOL-Code ungleich ASCII '37 umwandelt, erwarten wir, dass Telnet dem NLS(NIC) nur ein CR oder ASCII '37 sendet. Empfangen wir ein CRLF, senden wir bei der Ausgabe ein CRLFLF.
5. Unterbrechungs-Aufmerksamkeits-Konvention des NLS(NIC)
Ein (vom Benutzer definierbarer) ASCII-Code im Texteingabestrom dient dazu, den laufenden Prozess abzubrechen und die Kontrolle an den Hauptbefehlsprozessor des NLS(NIC) zurückzugeben.
Dieser Code ist derzeit DEL (ASCII '177).
- Escape zum NIC-Monitor: Ein Escape ist nicht erforderlich, da alle für die Nutzung des NIC erforderlichen Operationen innerhalb des NLS(NIC) ausgeführt werden können.
- Zeichensatz: Wir empfehlen dringend, dass der Telnet-Prozess mittels einer geeigneten Menge von Tastaturkonventionen alle 128 ASCII-Codes erzeugen kann. Die Nutzung des NLS(NIC) wird sich von einem Gerät mit Groß- und Kleinbuchstabengrafik vermutlich am angenehmsten anfühlen, obwohl wir auch Dienstleistungen für Ein-Case-Geräte anbieten können. Selbst wenn der vollständige ASCII-Satz nicht gesendet werden kann, können wir einen nützlichen Dienst anbieten, möchten aber die Sonderfälle, die wir behandeln müssen, so gering wie möglich halten. Standorte, die den vollständigen ASCII-Satz nicht bereitstellen können, mögen uns kontaktieren.
Abbildung 1 - Telnet-Verbindung:
+----+ |
| | Server |
| | Program |
| | |
+----+ |
^ | |
| v |
+----+ Terminal |
| | control |
| | software | SERVER
| | and | SITE
+----+ possibly |
^ | hardware |
| v |
+----+ |
| | |
| | NCP |
| | |
+----+ |
^ | |
| v |
. .
. .
. .
. .
^ |
| v
+----+ |
| | |
| | NCP |
| | |
+----+ |
^ | |
| v |
+----+ |
| | |
| | Telnet |
| | |
+----+ |
^ | | USER
| v | SITE
+----+ Terminal |
| | control |
| | hardware- |
| | software |
+----+ |
^ | |
| v |
+----+ |
| | User |
\ | terminal |
\--+ |
[ This RFC was put into machine readable form for entry ] [ into the online RFC archives by Tony Hansen 08/08 ]