Rechnernetze
Home Nach oben

TELNET

Der Dienst TELNET wird in RFC 854 vom Mai 1983 spezifiziert. Er dient zur Kommunikation zwischen zwei Endgeräten (Terminals) auf entfernten Computern. Endgeräte können dabei sowohl übliche Terminals, PCs oder Workstations oder auch Prozesse sein. TELNET stellt die Möglichkeit zur Verfügung, Daten nach einem Standardverfahren zu übertragen und während der Übertragung TELNET-Control-Information in den Datenstrom einzufügen.

TELNET führt zunächst das Konzept eines virtuellen Terminals ein, Network Virtual Terminal (NVT), welches eine netzweit einheitliche Darstellung von Information garantiert, die jedoch im Laufe einer Sitzung verändert werden kann. Das NVT ist bidirektional ausgerichtet, sendet jedoch in der Regel immer nur abwechselnd mit der Gegenstelle, also im Halbduplex-Ping-Pong-Verfahren. Ein NVT besitzt jeweils ein Anzeigegerät (in der Regel einen Monitor) und ein Eingabegerät (in der Regel eine Tastatur). Das zeichenorientierte NVT verwendet eine 7-Bit USASCII-Darstellung in einem 8-Bit-Oktett, wobei nur die Kontrollzeichen (die 32 ASCII-Zeichen von 0016 bis 1F16) 0016 (NUL, keine Operation), 0A16 (LF, eine Zeile vor), 0D16 (CR, Wagenrücklauf) für alle NVTs vorgeschrieben sind. Weitere Kontrollzeichen können optional implementiert sein.

TELNET erlaubt das Aushandeln von Optionen zwischen den beiden NVT. Dabei ist IAC ein Fluchtzeichen (FF16) zur eindeutigen Kennzeichnung von Optionen oder anderen Befehlen.

IAC WILL XXX, teilt der Gegenstelle mit, dass der Absender die Option XXX verwenden will.
IAC WON'T XXX, lehnt die Option XXX der Gegenstelle ab.
IAC DO XXX, fordert die Gegenstelle auf, die Option XXX zu verwenden.
IAC DON'T XXX, lehnt die Option XXX ab.

Weitere TELNET-Kommandos erlauben das Löschen von Zeilen, Abbrechen von Prozessen oder Ausgaben sowie ein Go-Ahead-Kommando (GA), welches die Gegenstelle auffordert, Daten zu senden. TELNET-Optionen werden darüber hinaus in verschiedenen RFCs ständig erweitert.

TELNET setzt auf TCP auf; ein TELNET-Server lauscht auf dem Port 23. Da TELNET auf TCP aufsetzt (also bidirektional und gesichert ist), kann jeder Frage-Antwort-Dienst über TELNET angesprochen werden, z.B. auch HTTP. Beispielsweise lässt sich mit dem folgenden TELNET-Befehl unter UNIX eine HTML-Seite ausgeben (Client-Angaben sind fett gedruckt, TELNET-Ausgaben kursiv, die Anwort des HTTP-Servers normal).

> telnet www.w3.org 80
  Trying 18.23.0.23 ...
  Connected to www.w3.org.
  Escape character is '^]'.
> GET /hypertext/WWW/TheProject.html HTTP/1.0
 
  HTTP/1.0 200 Document follows
  MIME-Version: 1.0
  Server: CERN/3.0
  Content-Type: text/html
  Content-Length: 8247
 
  <HEAD> <TITLE> The ...
  ...

Ein näherliegendes Objekt wäre: http://kepler.informatik.uni-oldenburg.de/lehre.html

> telnet kepler.informatik.uni-oldenburg.de 80
   ....
>
GET /lehre.html HTTP/1.0
    ...