Referenzen und Anmerkungen

Zur Versuchsvorbereitung

Crashkurs zu

telnet | ftp | mail | RFCs

Die Dokumente beschreiben die Programme unter SunOS. Da diese Programme aber UNIX-de-facto-Standard sind, treffen sie auch auf jedes andere UNIX-System zu. Zusätzlich sind immer die Manual Pages (UNIX-Kommandos man <Kommando> und xman) zu Rate zu ziehen.

Komplexpraktikum Informatik
Teilversuch Telematik

Internet-Protokolle

Versuchsanleitung

Vorbemerkung

Mit diesem Praktikum sollen Fähigkeiten im Umgang mit Protokollen und Nachrichtenformaten ausgewählter Internetdienste vermittelt werden. Außerdem soll der Praktikant durch die strikte Verwendung von geeigneten, praxisbezogenen Online-Dokumentationen zur Praktikumsunterstützung an die Arbeit mit elektronischen Dokumenten herangeführt werden. Die Onlinedokumente sind mit dem WWW-Browser Netscape Navigator zu betrachten. Grundkenntnisse in der Arbeit mit dem Betriebssystem UNIX sowie beim Lesen englischsprachiger Texte werden vorausgesetzt.

Die Praktikumsanleitung enthält Verweise auf die für den jeweiligen Praktikumsschwerpunkt relevanten Online-Dokumentationen (Manualpage, RFC - Request for Comments), die im Falle der RFCs zusätzlich auf einen ausgewählten Textabsatz zeigen. Wenn nicht ausdrücklich anders beschrieben, sind diese Verweise wie an nachstehendem Beispiel erläutert zu verstehen:

ftp://mufasa.prakinf.tu-ilmenau.de/Praktikum/RFC/rfc765.txt
(A simplex connection)

Das Dokument ist unter Verwendung der angegebenen URL zu öffnen. Der in Klammern stehende Teil ist als Suchbegriff (Alt-F oder Menü: Edit->Find) zu verwenden.

Nach Beendigung des Praktikums ist ein formloses Protokoll abzugeben.

Einführung

Zum Verständnis dieses Praktikums sind einige Begriffe aus dem Umfeld der Client/Server-Technologie notwendig. Die Erklärung erfolgt anhand der zugegebenermaßen etwas unübersichtlichen Abbildung 1.

Ein Server bietet einem Client bestimmte Dienste (z.B. Berechnung eines mathematischen Ausdrucks, Bereitstellung bestimmter Dateien) an, die der Client nutzt, indem er eine Anforderung abschickt und darauf eine Antwort erwartet. Anforderungen und Antworten erfolgen nach einer bestimmten Festlegung, dem sogenannten Protokoll (in der Abbildung durch dünne, waagerechte Linien dargestellt).

Client und Server sind zunächst einmal abstrakte Begriffe.

Die tatsächlichen Dienste werden durch ein Server-Programm realisiert (als weiße Kästen abgebildet). Dieses wird normalerweise nicht direkt, sondern mit Hilfe eines Client-Programms angesprochen. Damit erhält der Nutzer eine bedienerfreundliche Schnittstelle, an der er die Dienste abfordern kann und muß sich nicht mit den Einzelheiten des Protokolls auskennen. Die Schnittstelle kann ihm verborgen sein (z.B. NFS - Network File System), ein grafisches Interface (GUI, z.B. WWW-Browser mit Protokollidentifikator ftp://) besitzen oder lediglich eine Kommandozeilenschnittstelle bereitstellen (z.B. Programm ftp). Es ist dabei wichtig, das Protokoll ftp von dem Programm gleichen Namens, das dieses Protokoll realisiert, zu unterscheiden! Zur besseren Trennung wird in der Praktikumsanleitung "Kommando" für programmbezogene und "Protokollwort" für protokollbezogene Sachverhalte verwendet (letztere werden in den RFCs ebenfalls als commands bezeichnet).

Neben den oben erklärten Begriffen Protokoll und Programm existieren außerdem die Begriffe Client-Rechner und Server-Rechner. Das sind diejenigen, auf denen das Client- bzw. Server-Programm läuft (dargestellt durch graue Kästen). Wichtig ist an dieser Stelle die Unterscheidung zwischen dem Programm und dem Rechner, auf dem das Programm läuft. Der Rechner ist hier lediglich als eine Art untergeordnetes Hilfsmittel zu betrachten. Tatsächlich kann es auch vorkommen, daß auf einem Rechner sowohl Client- als auch Server-Programme laufen (was bei weit verbreiteten Diensten unter UNIX wie FTP, Telnet oder remote execution auch fast immer der Fall ist). Darüberhinaus kommunizieren beide möglicherweise sogar innerhalb eines Rechners miteinander (wie im Falle des durch den schraffierten Kasten dargestellten Rechners). Trotzdem handelt es sich immer noch um dasselbe allgemeine Client/Server-Modell!

Im Verlauf des Praktikums wird zunächst der Gebrauch von Diensten (anhand von News und File Transfer) mit Hilfe einer Benutzerschnittstelle demonstriert (siehe gepunktete Linie in der Abbildung). Anschließend sollen auf der Ebene des jeweiligen Protokolls (NNTP und FTP) dieselben Aktionen durchgeführt werden. Dazu ist natürlich das Verständnis dieser Protokolle notwendig. Als Hilfsmittel, um Protokollworte an das Server-Programm zu senden, dient das telnet-Programm (siehe gestrichelte Linie).

Das telnet-Programm dient in erster Linie zum Einloggen in einen entfernten Rechner (Remote Login) und benutzt dazu die Dienste eines Telnet-Servers (meist in.telnetd). Darüberhinaus ist es als eine Art Universal-Client für TCP-Protokolle anzusehen, da es nach einem Verbindungsaufbau zum gewünschten Server alle Eingaben (Standard Input) des Nutzers, also die Anforderungen, transparent an den Server weiterleitet und die Antworten auf dem Bildschirm (Standard Output) ausgibt.

Die Tabelle 1 gibt einen Überblick über wichtige Protokollworte die ein FTP-Server verstehen und ein FTP-Client benutzen sollte.

Für das Verständnis des Praktikums zwar unwichtig, ist dabei zu beachten, daß die tatsächliche Kommunikation auch noch weitere, tieferliegende Schichten des Protokollstacks (OSI-Schichtenmodell - do you remember?) mit einbezieht. In der Abbildung 1 ist mit grauen Pfeilen die tatsächliche Kommunikation auf TCP-Ebene sowie mit Strich-Punkt-Linien der logische Informationsfluß zwischen Client- und Server-Programm dargestellt.

Abbildung 1: Kommunikationsbeziehungen

FTP-
Wort

Kurzbeschreibung

Beispiel

USER

Angabe des Nutzernamens (Login)

USER netprak0

PASS

Angabe des Passworts (Login)

PASS netprak

HELP

Anzeige der Kommandos bzw.einer Hilfe zur Syntax

HELP PASV

QUIT

Anforderung zum Abbau der Steuerverbindung


PASV

Server-DTP in Passiv-Modus setzen; gibt Portnummer für eine Datenverbindung zurück


PORT

spezifiziert Adresse und Port für eine Datenverbindung

PORT 141,24,32,26,18,235

RETR

weist Server-DTP an, die Kopie einer Datei über die Datenverbindung zu schicken

RETR readme.txt

STOR

weist Server-DTP an, die auf der Datenverbindung ankommenden Daten in einer Datei abzuspeichern

STOR myfile.txt

LIST

Anforderung eines Directory Listings; Übertragung erfolgt über die Datenverbindung

LIST /pub/incoming

CWD

Wechsel des aktuellen Arbeitsverzeichnisses

CWD /pub

MODE

Einstellung des Übertragungsmodus’ (komprimiert, formatiert, unverarbeitet)


TYPE

Einstellung des Dateityps (Binär- oder Textdatei)

TYPE A

Tabelle 1: Kurzbeschreibung wichtiger Protokollworte des FTP's