2.3.4 Höhere Protokolle

Wir beschreiben im Folgenden, zum Teil sehr grob, einige höhere Protokolle der TCP/IP-Protokollfamilie. Diese Protokolle wirken allesamt auf den OSI-Layern 5 bis 7. Sie starten Prozesse, die die Schnittstellen einerseits zum TCP/UDP-Protokoll über Ports, anderseits zu den eigentlichen Anwendungen herstellen. Diese Protokolle, die in vielen Fällen auch Dienste genannt werden, verfügen in der Regel über Konsolenschnittstellen, die ihre Administration ohne zusätzliche Software ermöglichen. Ihre konfigurierbaren Eigenschaften werden oft auch in den eigentlichen Anwendungen getroffen, die Administration erfolgt dann durch Konfiguration der Anwendung.

DHCP

Das DHCP-Protokoll (Dynamic Host Configuration Protocol) ermöglicht es, Clients in ein LAN automatisiert einzufügen. Dabei werden dem Client eine IP-Adresse, der Netzwerkname, die Gatewayadresse uam. beim Start des Betriebssystems zugewiesen. Die Zuweisung der IP-Adresse erfolgt dabei entweder dynamisch aus einem Adresspool oder statisch in Verbindung mit der MAC-Adresse des Ethernetadapters. Eine derart zugewiesene IP-Adresse wird vom DHCP-Server grundsätzlich verliehen, der Client erhält ein Lease auf eine bestimmte Zeit, das nach dessen Ablauf allenfalls automatisch verlängert wird. Eingeschaltet wird der Dienst in den Konfigurationsoptionen des IP-Protokolls durch Wahl der Option, eine IP-Adresse automatisch zu beziehen. Der Dienst arbeitet plattformunabhängig, das heißt es können etwa Windows und Unixrechner eines Netzes versorgt werden.

Der DHCP-Server hat also grundsätzlich drei Betriebsmodi:

Eine DHCP-Sitzung läuft folgendermaßen ab:

DHCPDISCOVER Client sucht DHCP-Server durch Broadcast an 255.255.255.255
DHCPOFFER DHCP-Server schickt Konfigurationsangebot
DHCPNACK DHCP-Server lehnt den Client ab
DHCPREQUEST Client wählt (aus mehreren Angeboten) ein Angebot aus und bestätigt
DHCPDECLINE Client lehnt Angebot ab
DHCPACK Server bestätigt dem Client das Lease
DHCPRELEASE Client kündigt Lease vorzeitig

Weiters wird während der Sitzung mit ARP oder ICMP geprüft, ob MAC-Adresskonflikte zu erwarten sind. Weiters versuchen DHCP-Clients schon vor Ablauf eines Lease, eine Verlängerung zu erhalten. Für die Administration ist wesentlich, dass das DHCP-Protokoll keine Möglichkeit vorsieht, eine vergebene IP-Adresse zu entziehen.

Wird bei einem DHCPDISCOVER kein DHCP Server gefunden und gibt es auch keine manuelle IP-Konfiguration, so weisen Microsoft Betriebssysteme ab Windows 98 automatische eine Adresse aus dem von der IANA in RFC 3330 genormten local link Block (169.254.0.0/16) zu, womit ebenfalls Subnetze entstehen. Dieses Verfahren wird als Automatic Private IP Adressing (APIPA) bezeichnet und kann abgeschaltet werden, indem man in

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

einen neuen DWORD-Wert: IPAutoconfigurationEnable mit dem Wert 0 erstellt.

RADIUS

Das RADIUS-Protokoll (Remote Authentication and Dial-In User Service) vermittelt den Zugang zu einem Netzwerk über Wählleitungen (Telefon, ISDN, ADSL), und vermittelt einen gesicherten und authentifizierten Zugriff auf das Netzwerk von außen. Es arbeitet nach dem Client-Server-Prinzip: Ein im LAN befindlicher RADIUS-Server verwaltet zentral die Zugangsberechtigungen der Remote-User. Wählt sich ein User ein, so tut er dies über einen Modemserver (RAS-Server, Remote Access Server), der üblicherweise außerhalb einer allfälligen Firewall steht. Der RAS-Server besorgt nun mit Hilfe von RADIUS von einem im Netz befindlichen zentralen RADIUS-Server die entsprechenden Authentifizierungsdaten, und schaltet im günstigen Fall den entfernten Client ans Netz. Dieser Client vrhält sich dann so, als ob er im LAN wäre, als Schicht 2 Übertragungsprotokolle werden PPP (Point to Point Protokoll), ein Protokoll, das mit dem IP-Protokoll kommuniziert, oder das veraltete SLIP (Serial Line Internet Protokoll) verwendet. In der Apple-Welt ist ARAv2 (Apple Remote Access Version 2) bekannt.

Das RADIUS-Protokoll selbst erlaubt eine zentrale Verwaltung der Dial-In-Zugänge. Auch mehrere RAS-Server können bedient werden, die Vergabe der IP-Adressen erfolgt für gewöhnlich mit DHCP dynamisch. RADIUS selbst setzt auf dem UDP-Protokoll auf, seine Paketstruktur ist einfach, weil lediglich die Authentifizierungsdaten übertragen werden. Sicherheitstechnisch bedeutungsvoll ist das Authenticatorfeld, in dem Fingerprints oder die verschlüsselten geheimen Zugangsdaten übertragen werden. Es hat eine Länge von 128 Bit, was eine gewisse Sicherheit vor Hackerattacken bietet, zumal damit

2128 = 3,4*1038

Bitmuster möglich sind.

SMTP

Das SMTP (Simple Mail Transfer Protocol) stammt in seiner ursprünglichen Form aus dem Jahre 1982 und ist, abgesehen von kleinen Erweiterungen, die offiziell ESMTP (für Extended SMTP) heißen, unverändert geblieben. Es ist das Übermittlungsprotokoll für Emailnachrichten in Textform. Sein Datenrahmen enthält im Wesentlichen die Felder, die im Kopf einer Emailnachricht zu finden sind, also Systemname, Absender und Empfängeradresse und natürlich die Nachricht selbst. Zusätzlich sind noch Unterstützung von Mailinglisten oder das Einholen von Empfängerbestätigungen eingebaut. Das Protokoll arbeitet verbindungsorientiert, eine Verbindung zwischen Sender und Empfänger wird hergestellt. Bei nicht ständig eingeschalteten Arbeitsstationen ergibt sich damit die Notwendigkeit, Emails zwischenzuspeichern damit sie zu einem späteren Zeitpunkt gelesen werden können. Das vermittelt

POP

Das POP (Post Office Protokoll, eig. POP3) ist die derzeit gebräuchlichste Art, Emails über einen Provider zu erhalten. Dabei wird providerseitig ein POP-Server installiert, der in einem Spoolverzeichnis einkommende Emails speichert. Der eigentliche Empfänger, ein POP-Client kann zu einem späteren Zeitpunkt allenfalls über eine Dial-In-Verbindung seine Emails abholen, die anschließend auf dem POP-Server gelöscht werden.

Die Verbindung selbst ist eine TCP/UDP-Verbindung auf Port 110. Die POP3-Verbindung kennt mehrere Stufen, die unterschiedliche Befehlssätze kennen:

Authorization State Identifikation des Clients am Server USER, PASS, QUIT
Transaction State Download oder Operationen zum Bearbeiten von Mails werden ausgeführt STAT - Anzahl der Mails und Größe der Mailbox
LIST - Nummer und Größe aller Mails zurück
RETR - Gibt die Mail aus
DELE - Löscht Mail
NOOP - Aufrechterhaltung der Verbindung, ohne Time-Out
RSET - Verbindungsabbruch ohne Transaction State
QUIT - Beendet die Verbindung und führt alle gespeicherten Änderungen aus
Update State Der Server beendet die TCP-Verbindung und führt die vom Client im Transaction State angeforderten Änderungen durch

Zusätzlich haben viele POP3-Server einen Timer, der die Verbindung trennt, falls eine einstellbare Zeitspanne von mindestens 10 Minuten inaktiv überschritten wird. Wird die Verbindung vom Timer beendet, wechselt der POP3-Server nicht in den Update State, sodass Änderungen auf dem Server nicht gespeichert werden.

IMAP

Das IMAP (Internet Message Access Protocol) operiert funktionell wie das POP-Protokoll, es hat allerdings einen größeren Funktionsumfang und wird in naher Zukunft wahrscheinlich zum Standard werden. Es hat einen größeren und syntaktisch anderen Befehlssatz, die Kommunikation läuft über den TCP-Port 143. Die Erweiterungen betreffen im Wesentlichen folgende Punkte:

Der Verbindungsaufbau läuft in vier Stufen ab:

Non-Authenticated State Der User muss sich gegenüber dem Server identifizieren.
Authenticated State Der User hat sich identifiziert und muss nun eine Mailbox auswählen.
Selected State Eine Mailbox wurde ausgewählt. Mailbox und Mails lassen sich bearbeiten.
Logout State Die Verbindung wird beendet; der Server führt noch anstehende Tätigkeiten aus.

POP3- und IMAP-Protokoll ist gemeinsam, dass sie das Abholen von Emails vom POP3- bzw. IMAP-Server des Providers vermitteln, während vom Client ausgehende Emails unmittelbar im SMTP-Protokoll verpackt und zum Empfänger oder zu dessen Mailbox geschickt werden.

Die Grafik zeigt die Kommunikationspfade zweier Emailclients, die über ISP (Internet Service Provider) miteinander kommunizieren.

MIME

Das MIME-Protokoll (multipurpose Internet mail extensions) ist eine Erweiterung des Internet-E-Mail-Protokolls SMTP. Es gestattet eine einfachere Übertragung von Grafiken, Audio- und anderen binären Dateien, die kein Text sind. MIME teilt die verschiedenen Dateitypen in die Hauptgruppen Grafik, Video und Audio und definiert die dazugehörigen Dateitypen in Untergruppen genauer.
Voraussetzung für den Empfang und die korrekte Darstellung dieser multimedialen elektronischen Post ist allerdings, dass das Mail-Programm des Empfängers ebenfalls den MIME-Standard unterstützt, wovon man bei nichtpuristischer Installation allerdings mittlerweile ausgehen darf.

FTP

Das FTP (File Transfer Protokoll) dient der plattformübergreifeden Übertragung von beliebigen Dateien über das Internet, wobei ein Internethost, auf dem Dateien bereitgestellt sind, als FTP-Server und der abrufende Host als FTP-Client bezeichnet wird. Hinsichtlich der Übertragung wird der Transfer vom Client zum Server upload und vom Server zum Client als download bezeichnet. Zugriffe über das Netzwerk kennen aus Sicherheitsgründen zwei Betriebsmodi:

FTP verwendet als Transportprotokoll TCP, das einen gesicherten Datentransfer garantiert. Die FTP-Verbindung verwendet traditionell zwei verschiedene Kanäle, den TCP-Port 21 als Steuerungskanal (command port, control port) und den TCP-Port 20 als Datenkanal (data port), die genormt sind und automatisch eingestellt werden. Die Verbindung selbst verläuft komplexer, man unterscheidet:

Die Tatsache, dass beim Active Mode der Server sich mit einem zufällig gewählten hohen Port am Client verbindet, wiederspricht zunehmend dem Sicherheitsbedürfnis der Administratoren von Clients und wird daher vielfach durch Firewalls verhindert. Da die Bereitstellung von Dateien zumeist im Interesse der Serveradministratoren liegt, wir neuerdings sehr oft Passiv Mode vereinbart, bei dem die Verbindungen durch den Client initialisiert werden, was natürlich durch die Firewall des Servers gestattet werden muss.

FTP besitzt eine eigene interaktive Konsolenanwendung, die mit ftp gestartet und einer Hilfefunktion help ausgestattet ist.
Die Konsole hat allerdings den Nachteil, dass bei komplexeren Dateistrukturen die Übersichtlichkeit rasch leidet, weshalb zahlreiche FTP-Clients, die über eine grafische Oberfläche verfügen, angeboten werden. Das folgende Listing zeigt den Ablauf einer einfachen benutzerspezifischen FTP-Sitzung, wie sie sich an der Eingabeaufforderung einer WIN2K-WKST präsentiert. Nach dem Benutzerlogin wird ein Verzeichnislisting ausgegeben und die Hilfefunktion aufgerufen, wobei Benutzereingaben fett gedruckt sind:

C:\>ftp graf.tgm.ac
Verbindung mit graf.tgm.ac wurde hergestellt.
220 PHOENIX Microsoft FTP Service (Version 5.0).
Benutzer (graf.tgm.ac:(none)): Ernst.Graf
331 Password required for Ernst.Graf.
Kennwort:
230-Willkommen auf phoenix.ccc.at !
230 User Ernst.Graf logged in.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
drwxrwxrwx 1 owner group 0 Jun 13 14:08 _private
-rwxrwxrwx 1 owner group 2442 Jun 20 14:00 default.htm
drwxrwxrwx 1 owner group 0 Jun 13 17:28 images
-rwxrwxrwx 1 owner group 629 Jun 15 13:03 pcc.css
226 Transfer complete.
FTP: 276 Bytes empfangen in 0,12Sekunden 2,30KB/s
ftp> help
Befehle können abgekürzt werden. Befehle sind:
! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
ftp> bye
221 Thank you for using ccc.at !

C:\>

Im Unterschied dazu das Listing einer FTP-Sitzung mit einem Server der TU-Wien, auf dem Freeware angeboten wird. Das Listing ist hier verkürzt wiedergegeben. Die Anmeldung erfolgt mit dem Benutzernamen anonymous und leerem Kennwort:

C:\>ftp gd.tuwien.ac.at
Verbindung mit gd.tuwien.ac.at wurde hergestellt.
220-
220-- G D S ------ Welcome to Goodie Domain Service
220-- D -- Vienna University of Technology, Austria
220-- S -- Dept. of Information Technology Services
220-- ****** Your Source of Open Source ******* -
220-===============================================
220-
220- What's in store here ?
220-### Goodies: Open Source Software, Freeware ###
........................................................................
220
Benutzer (gd.tuwien.ac.at:(none)): anonymous
331 Please specify the password.
Kennwort:
230 Login successful.
ftp> ls -la
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 34 ftp ftp 2048 Jun 19 09:22 .
drwxr-xr-x 34 ftp ftp 2048 Jun 19 09:22 ..
drwxrwxr-x 9 ftp ftp 512 Feb 28 09:37 .admin
lrwxrwxrwx 1 ftp ftp 13 Feb 26 2002 .g -> .i/dquote.php
-rw-rw-r-- 1 ftp ftp 1039 Aug 18 2002 .gds.php
-rw-rw-r-- 1 ftp ftp 1114 Dec 19 2002 welcome.txt
-rw-rw-r-- 1 ftp ftp 1113 Dec 19 2002 willkommen.txt
drwxr-xr-x 7 ftp ftp 512 Nov 04 2002 z1
drwxr-xr-x 7 ftp ftp 512 Apr 28 17:11 z10
drwxr-xr-x 16 ftp ftp 512 May 26 11:12 z12
drwxr-xr-x 5 ftp ftp 512 Jun 04 17:56 z13
drwxr-xr-x 4 ftp ftp 512 Jan 24 13:42 z14
drwxrwxr-x 4 ftp ftp 512 Jan 27 10:34 z15
drwxr-xr-x 5 ftp ftp 512 Jan 09 10:35 z16
drwxr-xr-x 10 ftp ftp 512 May 26 10:28 z17
drwxr-xr-x 4 ftp ftp 512 Oct 15 2002 z18
drwxr-xr-x 10 ftp ftp 512 Mar 27 18:06 z2
drwxr-xr-x 7 ftp ftp 512 May 21 09:42 z3
drwxr-xr-x 6 ftp ftp 512 Jun 04 12:32 z4
drwxrwxr-x 2 ftp ftp 512 Sep 02 2002 z5
drwxr-xr-x 7 ftp ftp 512 Apr 30 08:30 z6
drwxr-xr-x 4 ftp ftp 512 Jan 21 12:44 z7
drwxr-xr-x 4 ftp ftp 512 Apr 15 13:37 z9
226 Directory send OK.
FTP: 7270 Bytes empfangen in 5,15Sekunden 1,41KB/s
ftp> bye
221 Goodbye.

C:\>

Etwas anwenderfreundlichere FTP-Sitzungen können mit den meisten Internetbrowsern (ftp://) aufgebaut werden.

Bei Verwendung des FTP-Protokolls ist zu bedenken, dass berechtigten Benutzern unter Umständen tiefgreifende Rechte auf der Verzeichnisstruktur des eigenen Hosts eingeräumt werden, und dass daher das FTP-Protokoll ein gewisses Sicherheitsrisiko darstellt zumal die Übertragung der Daten - auch der Passwörter - unverschlüsselt stattfindet.

SSH

Das SSH-Protokoll (secure shell) schafft hier eine gewisse Abhilfe. SSH sichert sowohl die Authentifizierung als auch die Kommunikation durch kryptografische Verfahren wie etwa dem Public-Key-Verfahren. Dabei wird der öffentliche Schlüssel auf dem Zielsystem hinterlegt und der private Schlüssel zur Benutzerauthentifizierung benutzt. SSH wird über eigene SSH-Clients bedient und kann Kanäle zur Terminal-Emulation ersetzen, mit denen auf einem Computer das Verhalten eines anderen Computers emuliert werden kann. Es wird häufig in der Remoteverwaltung von hinsichtlich der Sicherheit sensiblen Webhosts oder zur Dateiübertragung auf Webserver eingesetzt. SSH verwendet den TCP/UDP-Port 22.

HTTP

Das HTTP (Hypertext Transfer Protokoll) ist ein Protokoll der Applikationsschicht, das dem Internetdienst WWW (World Wide Web) entspricht. Es ist plattformunabhängig und in der Lage, mit Servern unter Einbeziehung anderer Protokolle der Applikationsschicht zu kommunizieren. Das Protokoll setzt heute üblicherweise auf TCP/IP auf.

Hinsichtlich seiner Funktionsweise operiert es nach dem Frage-Antwort-Prinzip (Request-Response). Eine HTTP-Sitzung wird zwischen einem HTTP-Client, das ist ein Webbrowser, und einem HTTP-Server, das ist ein Webserver, aufgebaut und verläuft folgendermaßen:

Protokoll Beispiel
HTTP-Client baut Verbindung auf zum HTTP-Server auf Connected to www.tgm.ac.at.
HTTP-Client schickt einen Request GET /index.html HTTP/1.0
HTTP-Server schickt einen Response, der die angeforderte Nachricht enthält. HTTP/1.1 200 OK
Date: Mon, 18 Sep 2003 13:59:58 GMT
Server: Apache/1.3.6 (Unix) (SuSE/Linux)
Last-Modified: Tue, 29 Aug 2000 08:08:58 GMT
ETag: "134015-8e8-39ab6f9a"
Accept-Ranges: bytes
Content-Length: 2280
Connection: close
Content-Type: text/html

<HTML>
<HEAD>
<TITLE>Die Schule der Technik</TITLE>
</HEAD>
<body bgcolor="#000000" text="#FFFFCC" link="#FFCC00"
alink="#FF0000" vlink="#FF9900">
...
</BODY>
</HTML>

HTTP-Server beendet die Verbindung Connection closed by foreign host.

Das Beispiel illustriert den Ablauf einer Sitzung, ist aber ansonsten nur von theoretischem Interesse. Die Nachricht selbst ist im HTML-Format (hypertext markup language) codiert, der am Internet üblichen Beschreibungssprache für Dokumente, die dann vom Webbrowser interpretiert und zur Anzeige gebracht werden. Überdies erkennt man, dass die Adressierung des HTTP-Servers hier mit DNS bewerkstelligt wird, wobei auch IP-Adressen zulässig wären.

VoIP (Voice over IP):

VoIP ist ein Protokoll, das Sprache in Form von Telefongesprächen (IP-Telefonie) unter Verwendung des IP Protokolls in Computernetzen überträgt. Dabei werden die Informationen nicht über eine geschaltete Verbindung leitungsvermittelt übertragen, sondern in IP-Pakete aufgeteilt, die ihr Ziel allenfalls auf verschiedenen Wegen und in unterschiedlicher Zeit erreichen. Die logistisch aufwendige Technologie ist jung, derzeit wird daran gearbeitet, Zuverlässigkeit und Qualität der klassischen Telefonie zu erreichen. Die Vorteile wären, dass die Entfernung der beiden Gesprächsteilnehmer hinsichtlich der Verrechnung unwesentlich ist, weil das IP-Protokoll verbindunglos arbeitet und dass (bei einer ausreichenden Anzahl von statischen IP-Adressen) alle VoIP-Clients weltweit unter der selben Rufnummer erreichbar wären. Telefonkosten könnten damit weiter sinken.

Hinsichtlich der Funktionalität wird ein vom Aufnahmemikrofon erzeugtes analoges Signal mit einem ADC (Analog-Digital-Converter) in ein digitales Signal verwandelt, das binär codiert (Codec) und komprimiert wird, wobei - so wie etwa bei MP3 - für das Gehör unwesentliche Informationen ausgefiltert werden. Dieses Signal wird nun in IP-Pakete aufgeteilt. Weil nach gängigem Status Router alle IP-Pakete gleichwertig behandeln, werden VoIP-Pakete, obwohl sie eine entsprechende Kennung haben, nicht bevorzugt geroutet und damit die notwendige QoS (Quality of Service) nicht erreicht, die eine unterbrechungsfreie Übertragung der Sprachinformation gewährleisten würde. Die Schnittstelle zwischen dem klassischen Telefonsystem und dem IP-Telefonsystem bilden Gatwayrechner, die ankommende IP-Pakete unter Verwendung des richtigen Codecs auspacken, ordnen und an das Empfängertelefon übertragen. Für einen korrekten Verbindungsaufbau müssen diese Gatewayrechner weltweit erreichbar sein, also statische IP-Adressen haben und die Telefonnummern der angeschlossenen Teilnehmer kennen. Sie sind daher zumeist im Eigentum kommerzieller Anbieter, die Teilnetze betreiben (ICQ) und Gespräche mit Teilnehmern in anderen Netzen nicht anbieten können, weil eine weltweit akzeptierete Norm zur Koppelung von Telefonnummern zu IP-Adressen fehlt. Abhilfe kann hier das von den Europäern favorisierte ENUM Protokoll (RFC 3761, E.164-Standard der International Telecommunication Union (ITU)) schaffen, das die Telefonnummer in eine spezielle IP Adresse umwandelt, indem es die Nummer stürzt und eine Kennung für die Subdomain anhängt:
Die Rufnummer

+43 1 2345 6789

wird etwa zu

9.8.7.6.5.4.3.2.1.4.3.e164.arpa

Damit ist ein Format erreicht, das von DNS weitergegeben werden kann.

Derzeit ist VoIP noch wenig verbreitet, weil es hinsichtlich der Endgeräte keine fixen Standards und nur wenige weltweit agierende Provider gibt. Für Telefongespräche innerhalb größerer Firmen mag es aber interessant sein, zumal es für diesen Bereich interessante GPL gibt.


zurück
Inhalt
vor