TELNET

Telnet ist der erste Dienst der im Internet implementiert wurde (erste Spezifikationen in RFC 158, 318 und 495 aus den Jahren 1971-73). Telnet benutzt den (wellknown-) TCP-Port 23 und ist in RFC 854 definiert. Mit dem Standard-Remote-Login Dienst des Internet kann man auf dialogfähigen Rechnern im Netz so arbeiten, als ob die eigene Tastatur und das eigene Terminal direkt am entfernten Rechner angeschlossenen wären.

Telnet basiert im wesentlichen auf drei Ideen (Kyas, 1994):

  1. Virtuelles Netwerkterminal (Network Virtual Terminal)
    Beim Aufbau einer Telnet-Verbindung wird von beiden Kommunikationspartnern angenommen, dass sie von einem Network Virtual Terminal (NVT) aus operieren. Das NVT repräsentiert für die Kommunikationspartner ein netzwerkweit einheitliches virtuelles Referenzterminal. Telnet bildet die konkreten Eigenschaften der physikalischen Terminals auf das NVT ab.

  2. Aushandelbare Optionen (Negotiated Options)
    Alle Möglichkeiten 'reeller' Terminals mit dem NVT-Konzept zu realisieren, würde einerseits das NVT-Konzept überladen und andererseits die Verständigung zwischen den Kommunikationspartnern erschweren, da keiner die Fähigkeiten des anderen kennt. Das Konzept der negotiated Options erlaubt es deshalb den Partnern, sich auf einen kleinsten gemeinsamen Nenner zu einigen der ihren gemeinsamen Fähigkeiten entspricht.

  3. Symetrische Verbindungen
    Die Protokollfunktionen und -mechanismen von Telnet können von beiden Partnern der Verbindung gleichberechtigt benutzt werden. Daher eignet sich das Telnetprotokoll z.B. auch für die Interprozesskommunikation.



Der Aufbau einer Telnet-Sitzung beginnt in der Regel mit dem Aufruf Telnet Hostname (Port-Nr.). Die Verhandlungen über die negotiatable Options die zwischen Client und Telnet-Server während des Verbindungsaufbaus ablaufen, sind normalerweise für den Benutzer unsichtbar, sie können aber im Kommandomodus von Telnet (Komanndo 'toggle options') sichtbar gemacht werden. Es handelt sich auch hier wieder um ein einfaches ASCII-orientiertes Frage-Antwort-Protokoll. Die Kommandos die dabei verwendet werden, sind DO, DON'T, WILL und WONT. Die ersten beiden sind jeweils als Anforderung, die beiden letzteren als Angebot zu verstehen. Das folgende Beispiel zeigt einen entsprechenden Dialog:

{short description of image}

Telnet Kommandos setzen sich im allgemeinen aus zwei- (reguläres Kommando) oder drei Byte Zeichenfolgen zusammen. Daneben sind Kommandos von variabler Länge (Weiteraushandlung von Optionen, siehe oben) im Gebrauch. Telnet verwendet zur Übertragung von Kommandos keinen eigenen Protokoll-Header. Um Steuerfunktionen von Benutzerdaten unterscheiden zu können, stellt der Sender das IAC-Zeichen (Interpret as Command, hex FF) unmittelbar vor die Kommandodaten. Sollte hex FF als Benutzerdatum vorkommen, wird dieses im Datenstrom vom sendenden Telnet verdoppelt, damit der Empfänger es richtig interpretiert. Beispiele für Kommandos sind:

EC Erase Character
EL Erase Line
IP Interrupt Process
AYT Are You There
BRK Break
AO Abort Output