Wenn von Netzwerkprotokollen die Rede ist, fällt rasch der Begriff OSI-Schichtenmodell oder OSI-Referenzmodell. OSI steht für Open Systems Interconnection, und das Referenzmodell ist die Designgrundlage von Kommunikationsprotokollen in Netzwerken. Das Modell kennt sieben unterschiedliche Schichten. Empfänger und Absender müssen nach bestimmten Regeln arbeiten, die in Protokollen festgeschrieben sind. Nur so können sie sich einigen, wie Daten weiterverarbeitet werden sollen.
Die Schichten des OSI-Modells kann man grob in Transport- und Anwendungsschichten unterteilen. Zu den transportorientierten Schichten gehören die ersten vier: Hier finden sich Protokolle wie IP, IPsec, IPX, SPX, TCP und UDP. In den sind andere Protokolle zu Hause, beispielsweise FTP, HTTP, HTTPS, SMTP. Die folgende Übersicht bringt Ihnen kurz und prägnant die wichtigsten Netzwerkprotokolle näher.
Appletalk und Ethertalk
Auf Macintosh-Rechnern ist Appletalk standardmäßig vorhanden. Es handelt sich dabei nicht um ein einzelnes Netzwerkprotokoll, sondern um eine Gruppe von ihnen – etwa für den Zugriff auf Dateien oder auf Drucker. Per Appletalk kann man notfalls sogar ohne Ethernet-Kabel eine Verbindung zwischen zwei Computern aufbauen: über die serielle Schnittstelle. Die Verbindung erfolgt dann über Druckerkabel, die auf Macintosh-Rechnern ebenfalls seriell angeschlossen werden. Mehrere Rechner kann man über ein Gerät verbinden, das die Netzverbindung durchschleift. Werden Mac-Rechner über Ethernet verbunden, spricht man von Ethertalk.
Appletalk wurde mit der Betriebssystemversion Mac OS X 10.6 zugunsten IP-basierter Netzwerke aufgegeben. Das Finden von Geräten und Servern im Netzwerk übernimmt beispielsweise Bonjour.
DHCP
DHCP (Dynamic Host Configuration Protocol) vereinfacht die Vergabe von IP-Adressen in einem Netzwerk. Benötigt wird dazu mindestens ein DHCP-Server. Der verteilt IP-Adressen an die verschiedenen Clients. Auf Serverseite wird ein Adressraum festgelegt. IP-Adressen aus diesem Pool werden an die Clients vergeben, sobald sie den DHCP-Server darum bitten. Damit das geschieht, muss die Netzwerkkonfiguration der Clients entsprechend eingestellt sein. Das ist heutzutage standardmäßig bei Betriebssystemen wie Linux und Windows der Fall, sodass sich ein Administrator nicht um die Einstellungen der Clients kümmern muss.
Ein DHCP-Server weist IP-Adressen automatisch, dynamisch oder manuell zu. Automatisch können Adressen nur einmal zugewiesen werden. Dabei erhält ein Client, der anhand der MAC-Adresse seiner Netzwerkschnittstelle identifiziert wird, bei der ersten Anmeldung im Netzwerk eine freie IP-Adresse. Die wird an die MAC-Adresse gebunden, und der Client bekommt sie auch künftig bei jeder Anmeldung. Im Gegensatz dazu werden dynamisch verteilte IP-Adressen vom Server nach einer bestimmten Zeit wieder einkassiert.
Die Methode sollte unbedingt im größeren Netzwerk genutzt werden, da dort sonst die IP-Adressen knapp werden könnten. Vorsicht: Das kann sogar in kleineren Netzwerken geschehen, falls man öfter mal virtuelle Umgebungen wie VMware Workstation, Parallels Desktop oder Citrix XenServer einsetzt. Diese erzeugen je nach Konfiguration mehrere virtuelle Netzwerkschnittstellen. Die umständlichste Methode, die aber durchaus zum Einsatz kommt, ist die manuelle Zuweisung von IP-Adressen. Hier kann ein Administrator einem oder mehreren Clients eine ganz bestimmte Adresse zuweisen - etwa einem Router oder einem Netzwerkdrucker.
Die Anfrage seitens der Clients erfolgt mittels Broadcast. Damit wird getestet, wie viele DHCP-Server im Netzwerk vorhanden sind. Der Angesprochene verschickt als Antwort einen Konfigurationsvorschlag. Akzeptiert der Client diesen, sendet er eine DHCP-Anforderung (DHCP Request). Der Server wiederum schickt im Gegenzug die IP-Adresse und die erforderlichen Parameter. Am Ende der Sitzung schickt der Client eine Freigabe zurück an den Server und meldet so, dass die IP-Adresse nicht mehr benötigt wird (DHCP Release).
FTP, FTPS und SFTP
FTP (File Transfer Protocol) ist das Standardformat für den Dateiaustausch über das Internet. Eine FTP-Sitzung erfolgt standardmäßig über den Port 21. Das Protokoll wird meist für den Zugriff auf Dateiarchive genutzt. Dabei können in der Regel auch Nutzer ohne Konto auf den Internetserver zugreifen (anonymous FTP). In anderen Fällen erfolgt die Authentifizierung mittels Benutzername und Kennwort. FTP kennt fast 80 Befehle. Der Zugriff auf die Server erfolgt über grafisch orientierte Programme, über einen Internet-Browser oder direkt über eine Shell. Dazu gibt der Benutzer auf der Konsole einfach "ftp IP-ADRESSE" oder "ftp HOST" ein. Als Eingabeprompt erscheint meist "ftp>". Eine Liste aller Befehle erhalten Sie dann mit "?" oder "help". Eine kurze Erklärung zu den einzelnen Befehlen gibt es mit "? BEFEHL" oder "help BEFEHL". Wichtige Kommandos sind:
cd: wechselt das Verzeichnis
close: kappt die Verbindung zum FTP-Server
del: löscht eine Datei auf dem FTP-Server
dir: listet den Verzeichnisinhalt
exit: beendet die FTP-Sitzung
get: Datei herunterladen
ls: listet wie dir Verzeichnisse
mdel: löscht mehrere Dateien auf dem FTP-Server
mget: mehrere Dateien herunterladen
mput: sendet mehrere Dateien zum FTP-Server
open: stellt eine Verbindung zu einem FTP-Server her
put: sendet eine Datei zum FTP-Server
pwd: zeigt das aktuelle Verzeichnis auf dem FTP-Server an
quit: beendet wie exit die FTP-Sitzung
user: sendet Benutzeridentifikation
Daten, die per FTP übertragen werden, sind nicht verschlüsselt. Wer eine sichere Methode mit FTP nutzen will, hat zwei Möglichkeiten: Er kann FTP über SSL (FTPS) nutzen; hierbei wird die FTP-Verbindung verschlüsselt. Oder man überträgt Daten per Secure FTP (SFTP); dann wird die FTP-Verbindung über SSH getunnelt. Man kann diese Möglichkeiten einzeln nutzen, oder wechselt gleich zu SSH als Übertragungsprotokoll. Denn dort ist SFTP als Subsystem seit der Version 2 enthalten, und man spart sich auf dem Host einen Server.
HTTP und HTTPS
HTTP (Hypertext Tranfer Protocol) ist das zugrunde liegende Protokoll für das World Wide Web. Es läuft über den Port 80 und übermittelt Daten von einem Webserver zum Web-Browser und umgekehrt; als Transportprotokoll wird - wie bei FTP - TCP/IP verwendet. Dabei werden HTML-Dokumente übertragen, aber ebenso auch Bilder, Audio- und Videodaten. Wie und womit diese zusätzlichen Daten dargestellt werden, wird über die MIME-Typen auf dem Client ermittelt. HTTP gibt es in den Versionen 1.0 und 1.1. Diese unterscheiden sich in einigen Funktionen. So wird etwa in Version 1.0 die Verbindung beendet, sobald die Daten übertragen wurden. In Version 1.1 kann man mit dem Header-Eintrag keep-alive die Verbindung aufrechterhalten. Version 1.1 kann darüber hinaus abgebrochene Übertragungen wieder aufnehmen.
Für verschlüsselte Übertragungen steht HTTPS zur Verfügung - standardmäßig läuft die Kommunikation über den Port 443. Das von Netscape entwickelte Protokoll schiebt eine Schicht zwischen HTTP und TCP. HTTPS ist identisch mit HTTP; die Verschlüsselung erfolgt mittels TLS (Trasnport Layer Security), bis dato als SSL (Secure Socket Layer) bekannt. In HTTPS findet zunächst eine gesicherte Authentifizierung von Server und Client statt. Dann wird ein Sitzungsschlüssel erzeugt und ausgetauscht, der zum Verschlüsseln der übertragenen Daten dient. Wer einen HTTPS-Server einsetzen will, benötigt SSL-Routinen. Diese werden beispielsweise im Apache-Webserver als Modul geladen. Weiterhin benötigt man ein digitales Zertifikat, das üblicherweise von einer Zertifizierungsstelle ausgestellt wird. Die Kosten dafür betragen zwischen rund 40 US-Dollar bis über 1000 US-Dollar pro Jahr. Einige Organisationen wie Startcom und Cacert stellen auch kostenlos Zertifikate aus.
IP, IPv4 und IPv6
IP (Internet Protocol) ist die Grundlage des Internets. Dieses selbst besteht aus Backbone-Routern und weiteren Netzen in Universitäten und bei Providern. Sie können weitere Subnetze bilden und in Form von IP-Adressen an Kunden vergeben. Über IP werden die Daten zwischen den Routern gesteuert. Hauptaufgabe des IP ist es, aus den Informationseinheiten kleine Pakete zu schnüren und diese über verschiedene Wege ans Ziel zu liefern - also von einer IP-Adresse zu einer anderen. Dort angekommen, werden sie vom IP-Protokoll wieder in der richtigen Reihenfolge zusammengesetzt.
Die IP-Adressen der Version 4 (IPv4) werden aus vier Oktetten zusammengesetzt. Die vierte Version des Internetprotokolls war die erste, die weltweit eingesetzt wurde. Seither werden die Adressräume knapp. Die beiden letzten freien Adressblöcke wurden im Februar dieses Jahres vergeben. Damit können aus dem IPv4-Adress-Pool mit über vier Milliarden eindeutigen IP-Adressen keine weiteren verteilt werden.
Der direkte IPv4-Nachfolger ist die Version 6, kurz: IPv6. Adressen haben in dieser IP-Version eine Länge von 128 Bit statt wie bisher 32 Bit. Die aktuellen Betriebssysteme beherrschen diese Form der Adressierung bereits. Das wundert weiter nicht, da IPv6 bereits seit 1998 als Standard gilt. Nach und nach wird diese neue 6er-Version die alte 4er ablösen, da sie wesentlich mehr Adressen ermöglicht: statt zirka 4,3 Milliarden (2 hoch 32) beherrscht IPv6 ungefähr 340 Sextillionen (2 hoch 128). Der weiche Übergang wird außerdem dadurch erreicht, dass IPv6 zum bestehenden IPv4 hinzugeschaltet wird.
Darüber hinaus bietet IPv6 weitere Vorteile: Das Verschlüsselungsverfahren IPsec ist integriert, und die Adressen können automatisch so konfiguriert werden, dass Verfahren wie DHCP überflüssig werden (der Fachmann spricht von zustandsloser Konfiguration). Überflüssig wird auch die Network Adress Translation (NAT): Mit IPv6 erhalten Anwender global eindeutige IP-Adressen, sodass jedes Gerät vom Server bis zum NAS, vom Tablet bis zum Smartphone weltweit seine eigene IP-Adresse erhalten kann - eine Adressumschreibung für das eigene Netzwerk ist damit überflüssig.
IPv6-Adressen werden hexadezimal notiert. Die Zahl ist in acht Blöcke à 16 Bit unterteilt. Die Blöcke werden durch Doppelpunkte getrennt, führende Nullen und Nullen-Blöcke können weggelassen werden. Damit es keine Verwechslungen mit Port-Nummern gibt, werden IPv6-Adressen im Browser in eckige Klammern gesetzt: http://[1020:de2:74a1:::9088:7890:abcd]:631/.
IPX, SPX, NetBIOS, NetBEUI, SMB, SMTP, TCP/IP und UDP
IPX (Internet Protocol Exchange) und SPX (Sequenced Packed Protocol Exchange) wird von NetBIOS zur Datenübertragung genutzt. Die Protokolle spalten ähnlich wie IP die Daten in Pakete auf und fügen sie am Ziel wieder zusammen. SPX ist eine Erweiterung zu IPX, die auch auf Fehler prüft. Beide benötigen das Netware-Betriebssystem der Firma Novell.
NetBIOS und NetBEUI
NetBIOS (Network Basic Input/Output System) regelt als Standardschnittstelle auf der Transportschicht den Zugriff auf im Netzwerk verfügbare Geräte wie Drucker, Scanner und Streamer. Es wurde 1983 für IBM entwickelt und enthält unter anderem Funktionen zur Namensauflösung. NetBIOS ist auf Netzwerkkarten implementiert und leitet Anfragen vom Benutzer ins Netzwerk weiter.
Das auf NetBIOS aufbauende Transportprotokoll heißt NetBEUI (NetBIOS Extended User Interface). Es ist eine Microsoft-Erweiterung von NetBIOS. NetBEUI wurde für DOS-PCs entwickelt und war unter Windows bis zu Version 2000 und ME der Standard. Das Protokoll ist klein und schnell. Da es auf MAC-Adressen aufsetzt, kommt es ohne IP-Adressen aus; Quell- und Zielcomputer werden über den Host-Namen identifiziert, der maximal 15 Zeichen lang sein darf. Allerdings ist es nicht Routing-fähig, in größeren Netzwerken nicht mehr zeitgemäß und seit Windows Vista nicht mehr in den Microsoft-Produkten verfügbar.
SMB
SMB (Server Message Block) oder auch LAN Manager ist hauptsächlich ein Protokoll für Datei und Druckdienste. Es läuft über NetBIOS, NetBIOS over TCP/IP und direkt im TCP/IP-Protokollstapel. SMB implementiert ein NFS-ähnliches Dateisystem und ist so unabhängig vom Dateisystem des Servers. Das macht sich zum Beispiel das Samba-Projekt zunutze, eine freie Implementierung des SMB-Protokolls unter Unix und unixoiden Systemen wie Linux. Mit Samba können damit in heterogenen Umgebungen Windows-Server durch preiswertere Linux-Systeme ersetzt werden.
SMB wurde 1983 bei IBM entwickelt. Anschließend haben Firmen wie Microsoft, SCO und das Samba-Projektteam das Protokoll verbessert. Derzeit aktuell ist die SMB-Version 2, die von Samba ab der Version 3.5 unterstützt wird.
SMTP
SMTP (Simple Mail Transfer Protocol) ist das Protokoll für das Versenden von E-Mail. Das Protokoll aus der Anwendungsschicht ist auf dem Port 25 zu finden. Alternativ geht heute der Mail-Versand auch über den Port 587 vonstatten; dort werden für dem System bekannte Benutzer Mails entgegengenommen und weitergeleitet. Das soll unerwünschten Spam verhindern. Vorrangig wird SMPT zum Absenden von E-Mails genutzt; für den Mail-Empfang dienen Protokolle wie POP3 und IMAP. Ein SMTP-Server steht entweder im lokalen Netzwerk zur Verfügung oder ist über externe Server - bei einem Provider auf einer eigenen Internetpräsenz – erreichbar. Im Internet sorgen dann sogenannte Mail Transfer Agents (MTA) für das weitere Übermitteln der Mails.
SMTP-Server kommunizieren untereinander in Klartext. Da SMTP textbasiert ist, kann man zum Beispiel auch ganz einfach per Telnet eine Mail verschicken. Das ist auch der Grund, warum Mail-Adressen nicht als verlässlich gelten. Denn in Telnet ist, wie in anderen Programmen, der Name des Empfängers ebenso frei wählbar wie der des Absenders.
TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) heißt deshalb so, weil TCP in den meisten Fällen auf dem Internetprotokoll aufbaut. TCP/IP wurde ursprünglich für das US-Verteidigungssystem entwickelt, um Computer in unterschiedlichsten Systemen miteinander zu verbinden. Das erklärt auch einige Eigenschaften wie die, dass Datenverluste erkannt und automatisch behoben werden oder dass eine Überlastung des Netzwerkes verhindert wird. Während IP sich um den Versand der Pakete kümmert, sorgt TCP für den zuverlässigen Datenstrom zwischen zwei Punkten. Es prüft die Integrität der Daten mithilfe einer Prüfsumme im Paketkopf und stellt die Reihenfolge durch sogenannte Sequenznummern sicher. Ankommende Pakete werden beim Empfänger zusammengefügt, doppelt gesendete werden verworfen.
UDP
UDP (User Datagram Protocol) ist ein einfach aufgebautes, verbindungsloses Protokoll. Im Gegensatz zu TCP werden mit UDP Daten übertragen, die nicht unbedingt ankommen müssen. Anders gesagt: Bei UDP gibt es keine Garantie, dass Daten ankommen - bei TCP schon. Die Informationen im Header der Pakete sind aufs Nötigste begrenzt. Das bedeutet auch, dass keine Überlastungskontrolle stattfinden kann. Das Einzige, was mit UDP geprüft werden kann, ist die korrekte Checksumme nach dem Erhalt einer Nachricht. (hal)