Das Telnet-Protokoll

Dezember 2017
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 Server.


Was ist das Telnet-Protokoll?

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 854Telnet Protocol Specifications
RFC 855Telnet Option Specifications
RFC 856Telnet binary transmission
RFC 857Telnet Echo Option
RFC 858Telnet Suppress Go ahead Option
RFC 859Telnet Status Option
RFC 860Telnet Timing Mark Option
RFC 861Telnet 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 SignalkontrollsatzSo 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
AnfrageAntwortInterpretierung
DOWILLDer Sender setzt eine Option an
WON'TDer Empfänger darf die Option nicht anwenden
WILLDODer Sender verwendet die Option nach dem Senden von DO
DON'TDer Empfänger darf die Option nicht anwenden
DON'TWON'TDer Sender meldet eine stillgelegte Option an
WON'TDON'TDer 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).

  • Anfragen dürfen nur gesendet werden wenn sich der Modus ändert
  • Wenn eine Stelle eine Anfrage zum Modus ändern empfängt, darf sie nur antworten wenn sie selbst im besagten Modus ist
  • 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
NummerCodeNameBedeutung
0NULLNullDieses Befehl verschickt Daten an den Ferngast ohne dass sie interpretiert werden müssen (etwa um zu melden dass der lokale Gast online ist)
1LFLine FeedDas Befehl veranlasst eine cursorbewegung zur Nächsten Zeile, auf der selben Spalte
2CRCarriage ReturnDieses 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 CodeNameBedeutung
7BELBellSendet ein sichtbares oder hörbares Signal ohne Einfluss auf den Cursor
8BSBackSpaceBringt den cursor auf die vorherige Stelle
9HTHorizontal TabBringt den Cursor auf die nächste rechte Tabulatorstelle
11VTVertical TabBringt den Cursor auf die gleiche Tabulatorstelle auf der nächsten Stelle
12FFForm FeedBringt 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
NummerCodeNameBedeutung
240SE Ende der Optionverhandlung
241NOPNo OperationDaten werden an den Ferngast ohne vorherige Interpretierung (etwa um zu melden dass der lokale Gast online ist)
243DMData MarkLö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.
243BRKBreakBreak Zeichen am virtuellen Terminal
244IPInterrupt ProcessVeranlasst ein Aufheben, ein Unterbrechen oder ein Aufgeben des Fernprozess
245AOAbort OutputVeranlasst ein Aufheben, ein Unterbrechen oder ein Aufgeben des Fernprozess
246AYTAre You TherePrüft den "Existenz" Zustand des Fernsystem
247ECErase CharacterLöscht das vorrige Zeichen
248ELErase LineLöscht die gesamte vorrige Zeile
249GAGo AheadInvertiert den Kontrollgang (bei Half-Duplex Verbindungen)
250SBSBDie Daten sind die Folge der vorherigen Optionverhandlung
251WILLOption Argument 
252WON'TOption Argument 
253DOOption Argument 
254DON'TOption Argument 
255IACInterpret As Commandändert das folgenden Zeichen-Byte zu einem interpretiebaren Befehl. Das Befehl IAC ist mächtiger als die Basis-Befehle

Zusatzinformationen





Verfasser ist [mailto:webmaster@kioskea.net 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
Letztes Update am 10. November 2017 08:34 von SilkeCCM.
Das Dokument mit dem Titel "Das Telnet-Protokoll" wird auf CCM (de.ccm.net) unter den Bedingungen der Creative Commons-Lizenz zur Verfügung gestellt. Unter Berücksichtigung der Lizenzvereinbarungen dürfen Sie das Dokument verwenden, verändern und kopieren, wenn Sie dabei CCM deutlich als Urheber kennzeichnen.
FTP