Das Telnet Protokoll

November 2016

Einführung in das Telnet Protokoll

Das Telnet Protokoll ist als Standard Protokoll eine Aufbau-Schnittstelle (Interface) für Terminals und Applikationen im Internet. Es sorgt für Basisregeln bei einer Verbindung, zwischen einem Client (ein System mit Bildschirm und Tastatur), und einem Kommando Interpreter (Server Seite).

Das Telnet Protokoll nutzt eine TCP Verbindung und verschickt ASCII formatierte, 8-bit kodierte Daten getrennt durch Telnet Kontrollsequenzen. Es bildet somit ein leicht zu bedienendes bi-direktional (half-duplex), 8-bit kodiertes Kommunikationsorientes System .

Das Telnet Protokoll ruht auf drei Aufbausäulen :

  • Das Paradigma des Virtual Netwerk Terminal (NVT, Network Virtual Terminal) ;
  • Das Prinzip der verhandelten Optionen ;
  • Die Verhandlungsregeln.

Das Protokol, ist an sich ein Basisprotokoll auf dem sonstige andere Protokolle aus der TCP/IP Familie (FTP, SMTP, POP3, …) geknüpft wurden. Die Telnet Spezifikationen beschreiben keinerlei Authentifizierungsmassnahmen - Ein Authentifizierungsprozess findet oberhalb von Telnet, auf FTP Ebene statt - da Telnet vollständig von Benutzer-Applikationen getrennt abläuft. Ausserdem ist das Telnet Protokoll als solches kein sichers Datentransfermittel, weil Daten unverhüllt ( ungekryptet) durch das Netz gehen. Bei der Verbindung eines Gastes mit dem Rechner auf dem Telnet implementiert ist, nutzt das Protokoll den Port 23.

Von den assoziierten Optionen und Verhandlungsregeln abgesehen, sind die Telnet Protokollspezifikation grundliegend. Die Datenübertragung über Telnet besteht aus dem Übermitteln von Bytes im TCP Strom (das Telnet beschreit aber trotzdem dass Grunddaten - wenn keine Option gegenliegende Massnahmen vorgibt - zunächst zusammen in einen Puffer gelegt bevor sie gesendet werden. Noch genauer bedeutet dies, Daten werden in Ermangelung dessen Zeile für Zeile übertragen). Wenn ein Byte 255 übertragen wird, so wird das folgende Byte als Befehl verstanden. Das Byte 255 heisst in diesem Fall IAC (Interpret As Command, zu deutsch wie ein Befehl interpretieren). Die Befehle sind weiter unten im Dokument erläutert.

Die Grundspezifikationen vom Telnet Protokoll stehen im RFC 854 zu Verfügung, wogegen die zahlreichen Optionen in den RFC 855 bis 861 beschrieben sind.

Telnet bezogene RFC
RFC 854 Telnet Protocol Specifications
RFC 855 Telnet Option Specifications
RFC 856 Telnet binary transmission
RFC 857 Telnet Echo Option
RFC 858 Telnet Suppress Go ahead Option
RFC 859 Telnet Status Option
RFC 860 Telnet Timing Mark Option
RFC 861 Telnet Extended options-list Option

Das Konzept des virtuellen Terminal

Zu früheren Internet Zeiten, bestand das Netz (ARPANET) aus sehr wenig homogene Maschinenkonfigurationen (Tastaturen Zeichensätze, Auflösungen, Bildschirmzeilenlänge). Auf der anderen Seite besassen Sitzungsterminals ihre eigene Art der I/O Datenflusskontrolle.

So wurde von Adapter für jeden Endbenutzergerätetyp zwecks Zwischenverstädigung der Système, abgesehen und eine Standard Schnittstelle entwickelt, die NVT (Network Virtual Terminal, zu deutsch Virtuelles Netzwerk Endbenutzergerät), mit einem Basiskommunikationsstandard, aufgebaut durch :

  • 7 bits ASCII Zeichensatz mit dem erweiterten ASCII code
  • Drei Kontrollzeichen
  • Fünf optionale Kontrollzeichen
  • Ein triviales Signalkontrollsatz
So bestückt, ermöglicht das Telnet Protokoll eine Befreiung vom Terminal, die zur Folge hat dass irgenein Benutzer (sei es Client oder Server) im stande ist mit einem anderen Gast zu kommunizieren ohne dessen Kenndaten zu wissen.

Das Prinzip der verhandelten Optionen

Die Telnet eigenen Protokollspezifikationen machen es möglich, bei bestimmten Terminals zu ihren eigenen nicht Spezifikationskonformen Eigenshaften ergänzend, anhand von zusätzliche Dienste gewisse erweiterte Funktionen angeboten werden. Diese neue Funktionalitäten werden in Form von Optionen aufgerufen. Das Telnet Protokoll schlägt somit ein Optionenverhandlungssystem vor mit dem erweiterte Funktionen als Optionen beiderseits des Prozesses durch das Einsetzen von Erlaubnisanfragen beim Fernsystem.

Die Telnet Optionen beeinflussen Die Datenkanäle in beiden Richtungen. Jede Endestelle ist im Stande Optionen zu verhandeln, d.h. die Optionen zu definieren die sie :

  • benutzen will (DO)
  • ablehnen will (DON'T)
  • der anderen erzwingen will (WILL)
  • der anderen Endstelle verbieten will (WON'T)

Auf dieser Weiser kann jede Partei Benutzungsanträge für Optionen senden. Die Gegenüberstelle muss dann die Option annehmen oder ablehnen. Im Falle einer Anfrage zur Verriegelung einer Option, und um völlig NVT-kompatibel zu bleiben, darf der Anfrage-Empfänger dies nicht ablehnen.

Die Verhandlungsoptionen im Telnet
Anfrage Antwort Interpretierung
DO WILL Der Sender setzt eine Option an
WON'T Der Empfänger darf die Option nicht anwenden
WILL DO Der Sender verwendet die Option nach dem Senden von DO
DON'T Der Empfänger darf die Option nicht anwenden
DON'T WON'T Der Sender meldet eine stillgelegte Option an
WON'T DON'T Der Empfänger meldet das der Empfänger eine Option still legen muss

Die Optionencodes sind 255 an der Zahl. Telnet sind aber einen zusätzlichen Adresseraum für neue Optionen vor.
Le RFC 855 explique comment documenter toute nouvelle option.

Die RFC 855 das Kommentieren jeder neuen Option

Die Optionenverhandlungsregeln sind so ausgelegt dass Rundschleifen verhindert werden (z.B. Eine Seite leitet Optionverhandlungsanfragen bei jeder Bestätigung der anderen Seite).

  1. Anfragen dürfen nur gesendet werden wenn sich der Modus ändert
  2. Wenn eine Stelle eine Anfrage zum Modus ändern empfängt, darf sie nur antworten wenn sie selbst im besagten Modus ist
  3. Eine Anfrage darf nur an der Stelle im Datenstrom inseriert werden, wo sie aktiv wird.

Der Ausgangskontrollsatz

Folgende Zeichen sind Befehle zur Kontrolle des virtuellen Netzterminal-Bildschirm :

Bildschirmkontrollbefehle
Nummer Code Name Bedeutung
0 NULL Null Dieses Befehl verschickt Daten an den Ferngast ohne dass sie interpretiert werden müssen (etwa um zu melden dass der lokale Gast online ist)
1 LF Line Feed Das Befehl veranlasst eine cursorbewegung zur Nächsten Zeile, auf der selben Spalte
2 CR Carriage Return Dieses Komando (Wagenrücklauf) plaziert den Cursor auf die extrem linke Spalte der gleiche Zeile

So definiert das Befehl CRLF, bestückt aus beiden Befehel CR und LF eine nach der anderen (in beliebiger Ordnung). Der cursor geht auf die extrem linke Spalte der nächsten Zeile

Die optionalen Kontrollzeichen

Die vorhergehenden Zeichen sind die einzigen ( aus den 128 Zeichen des ASCII Basiscode und den 128 Zeichen des erweiterten Code) mit einer eigenen Bedeutung am virtuelen Netz Terminal. Folgende dagegen können evetuell eine Bedeutung haben aber sind nicht unbedingt implementiert.

Befehle zur Bilschirmkontrolle
Nummer Code Name Bedeutung
7 BEL Bell Sendet ein sichtbares oder hörbares Signal ohne Einfluss auf den Cursor
8 BS BackSpace Bringt den cursor auf die vorherige Stelle
9 HT Horizontal Tab Bringt den Cursor auf die nächste rechte Tabulatorstelle
11 VT Vertical Tab Bringt den Cursor auf die gleiche Tabulatorstelle auf der nächsten Stelle
12 FF Form Feed Bringt den Cursor auf die gleiche Stelle der nächsten Seite

Sitzungskontrollzeichen

Folgende Zeichen dienen der Kontrolle einer Telnet Sitzung. Diese Befehle dürfen als solche interpretiert nur wenn sie nach dem sogenannten Escape-Zeichen stehen IAC (Interpret As Command). Ohne die Sequenz IAC, werden sie als reine Zeichen abgesetzt. Um das Zeichen IAC selbst zu benutzen wird ihm auch eine Escape-Sequenz vorgelegt (sich selbst)

Der Befehle der Optionenverhandlung wird ein Byte angehängt zur näher Beschreibung der Option. Sie erlauben unter anderem Signalunterbrechungen, Löschung von Informationen aus dem Terminal-cache, …

Sitzungskontrollzeichen
Nummer Code Name Bedeutung
240 SE   Ende der Optionverhandlung
241 NOP No Operation Daten werden an den Ferngast ohne vorherige Interpretierung (etwa um zu melden dass der lokale Gast online ist)
243 DM Data Mark Löscht sämtliche Pufferspeicher zwischen dem virtuellen Netzterminal und dem Ferngast. Wird durch Drücken auf die Sync-Taste von NVT ausgelöst und muss unbedingt mit dem Setzen des TCP Bit DRINGEND gefolgt werden.
243 BRK Break Break Zeichen am virtuellen Terminal
244 IP Interrupt Process Veranlasst ein Aufheben, ein Unterbrechen oder ein Aufgeben des Fernprozess
245 AO Abort Output Veranlasst ein Aufheben, ein Unterbrechen oder ein Aufgeben des Fernprozess
246 AYT Are You There Prüft den "Existenz" Zustand des Fernsystem
247 EC Erase Character Löscht das vorrige Zeichen
248 EL Erase Line Löscht die gesamte vorrige Zeile
249 GA Go Ahead Invertiert den Kontrollgang (bei Half-Duplex Verbindungen)
250 SB SB Die Daten sind die Folge der vorherigen Optionverhandlung
251 WILL Option Argument  
252 WON'T Option Argument  
253 DO Option Argument  
254 DON'T Option Argument  
255 IAC Interpret As Command ändert das folgenden Zeichen-Byte zu einem interpretiebaren Befehl. Das Befehl IAC ist mächtiger als die Basis-Befehle

Zusatzinformationen

Verfasser ist Jean-François PILLOU


Lesen Sie auch :


Telnet protocol
Telnet protocol
Protocolo Telnet
Protocolo Telnet
Le protocole Telnet
Le protocole Telnet
Il protocollo Telnet
Il protocollo Telnet
O protocolo Telnet
O protocolo Telnet
Das Dokument mit dem Titel « Das Telnet Protokoll » aus CCM (de.ccm.net) wird zur Verfügung gestellt unter den Bedingungen der Creative Commons Lizenz. Sie dürfen das Dokument verwenden, verändern sowie Vervielfältigungen dieser Seite erstellen, unter den Bedingungen, die in der vorgenannten Lizenz erwähnt sind und unter der gleichzeitigen Bedingung, dass Sie im Rahmen Ihrer Verwendung, Veränderung oder Vervielfältigung nach außen hin klar und deutlich auf den Urheber (= de.ccm.net) des Dokuments hinweisen.