Zurück zum Inhaltsverzeichnis des Manuskripts verteilte Systeme

6.2 Paketübertragung

6.2.1 Paketrahmen

Datenpakete

Werden zwei Rechner durch ein Datenübertragungsmedium, man denke an eine elektrische Leitung, direkt miteinander verbunden, dann liegt eine sogenannte Punkt-zu-Punkt-Verbindung vor. Über sie können Daten als Bitstrom übertragen werden. Dass bei dieser Art der Vernetzung die Anzahl der dafür erforderlichen Rechnerverbindungen mit der Zahl der Rechner des Netzwerks quadratisch steigt und entsprechend aufwändig ist, ist bereits im Abschnitt 6.1 (Rechnernetze) gezeigt worden. Außerdem ist in Netzwerken, die wie das Internet aus Netzwerken bestehen, eine solche direkte Verbindung aller Rechner des Netzes miteinander gar nicht mehr möglich. In solchen Netzen sind die Rechner nur indirekt miteinander verbunden. Um dieser Situation gerecht zu werden, werden die zu übertragenden Daten zunächst zu Datenpaketen zusammengefasst und mit Adressinformationen versehen. Die Vermittlung solcher Pakete ist im Kapitel 5 (Vermittlungsprotokolle im Internet) beschrieben worden.

Rahmenbildung

Durch die Vermittlungsprotokolle des Internet, also durch IPv4 oder IPv6, entstehen IP-Pakete. Diese müssen letztendlich physikalisch übertragen werden. Das ist die Aufgabe der Protokolle der DoD-Schicht 1, die Netzzugangsschicht genannt wird. Im ISO/OSI-Kommunikationsmodell ist diese Schicht wegen ihrer Komplexität in zwei Schichten, nämlich in eine Sicherungsschicht (Schicht Nummer 2) und eine Bitübertragungsschicht (Schicht Nummer 1) aufgeteilt worden, von denen die Sicherungsschicht selbst noch einmal in zwei Subschichten (LLC- und MAC-Unterschicht) zerlegt worden ist.

OSI-2 und -1

Auf der sendenden Seite werden IP-Pakete in der Netzzugangsschicht zunächst um die MAC-Adressen des sendenden und des empfangenden Rechners ergänzt. Und es werden einige Kontrollinformationen hinzugefügt. Die dadurch entstehenden Datenpakete werden als Paketrahmen (Frames) oder kurz nur als Rahmen bezeichnet. Deren Bits werden dann physikalisch übertragen. Auf der empfangenden Seite werden diese Rahmen in der Netzzugangsschicht ausgewertet, das in ihnen enthaltene IP-Paket entnommen und dem Vermittlungsprotokoll übergeben.

Der konkrete Rahmenaufbau ist netzwerkspezifisch. Beim Ethernet (siehe dazu Abschnitt 6.3 (Ethernet)) beispielsweise beginnt ein Rahmen mit einer sogenannten Präambel für Synchronisationszwecke, dem ein Protokollkopf (Header) folgt, der die beiden MAC-Adressen und einige Kontrollinformationen enthält. Danach kommt das zum Vermittlungsprotokoll gehörende Datenpaket, dem ein Protokollfuß, ein sogenannter Trailer, folgt, der den Rahmen abschließt und eine Prüfsumme enthält:

Rahmenaufbau

IEEE-Normen

Eine der wichtigsten Normierungsstellen für Netzwerke ist das Institute of Electrical and Electronic Engineers (IEEE) in den USA. Unter anderem sind dort folgende Normierungen vorgenommen worden, die alle eine Kennzeichnung der Form 802.x (x ist eine natürliche Zahl) erhalten haben. In der folgenden Grafik werden sie im Rahmen des ISO/OSI-Kommunikationsmodells aufgeführt. Dabei verwendete noch unbekannte Bezeichnungen werden noch in diesem Abschnitt erläutert.

IEEE-Normen

Die bisherige Darstellung einiger konkreter Internetprotokolle im ISO/OSI-Kommunikationsmodell aus dem Abschnitt 5.3.1 (IPv4-Eigenschaften) kann jetzt durch die unteren beiden Schichten vervollständigt werden:

Internet-Protokoll-Beispiele

ISO/OSI-Sicherungsschicht

Die DoD-Netzzugangsschicht besteht im ISO/OSI-Kommunikationsmodell aus einer Sicherungsschicht und einer Bitübertragungsschicht. Grob gesagt beschreiben die Protokolle der Bitübertragungsschicht wie ein Bit bei der eingesetzten Technik zu realisieren ist und wie es von einem Ort zu einem anderen gelangt. Aber sie legen unter anderem nicht fest, wie

Dieses sind die wesentlichen Aufgaben der Protokolle der ISO/OSI-Sicherungsschicht, die im Englischen als Data Link Layer bezeichnet wird. Sie wird in zwei Unterschichten eingeteilt, und zwar in die

Die LLC-Unterschicht ist anschaulich die obere der beiden und schließt sich nach oben direkt an die Vermittlungsschicht (DoD-Schicht 2 bzw. ISO/OSI-Schicht 3) an. Unter ihr und direkt über der Bitübertragungsschicht liegt die MAC-Unterschicht.

Logical Link Control

Die Norm IEEE 802.2 legt für die LLC-Subschicht fest, dass sie neben der Rahmenbildung und dem Einsetzen der beiden MAC-Adressen den anschaulich über ihr liegenden Protokollen der Vermittlungsschicht einen der folgenden Dienste anzubieten hat:

  1. Entweder einen Datagrammdienst ohne Fehlerüberwachung und ohne Datenflusssteuerung (also ohne Bestätigungen) oder
  2. einen Datenstromdienst mit Fehlerüberwachung und Datenflusssteuerung oder
  3. eine Kombination aus den beiden genannten, also einen Datagrammdienst mit Datenflusssteuerung.

Im Internet wird üblicherweise der erste der angegebenen Dienste realisiert. Auf der sendenen Seite werden in der LLC-Subschicht die für den Dienst erforderlichen Felder in die entstehenden Rahmen eingebracht und entsprechend belegt, auf der empfangenden Seite werden diese Felder dann ausgewertet.

Media Access Control

Die Hauptaufgabe der MAC-Unterschicht besteht darin zu regeln, wie von den Rechnern des Netzwerks die zu sendenden Rahmen in das eingesetzte Übertragungsmedium eingebracht werden. Man sagt dazu, dass der Zugriff auf das Übertragungsmedium festgelegt wird. Der Abschnitt 6.2.2 (Zugriffsverfahren) ist diesem Aspekt gewidmet.

Adressauflösung

Bei der Rahmenbildung, also auf der sendenden Seite, müssen die MAC-Adressen des Senders und des Empfängers in den jeweiligen Rahmen-Protokollkopf eingetragen werden. Aber in den IP-Paketen, die zur LLC-Subschicht gelangen, sind nur die logischen Adressen, im Internet sind das die IP-Adressen, vorhanden. Aus ihnen müssen die zugehörigen MAC-Adressen ermittelt werden. Eine statische Lösung, z.B. mit Hilfe einer Konfigurationsdatei, wäre sehr unflexibel. Da jedoch alle gängigen Rechnernetze broadcastfähig sind, so dass jeder Teilnehmer jeden anderen erreichen kann, bietet sich eine dynamische Methode an, die als Adressauflösung (Address Resolution) bezeichnet und bei IPv4 durch das Address Resolution Protocol (ARP) und bei IPv6 durch das Neighbor Discovery Protocol (NDP) realisiert wird.

Um zu einer gegebenen IP-Adresse die zugehörige MAC-Adresse zu ermitteln, senden ARP und NDP jeweils einen Broadcast in das lokale Netz mit der Aufforderung, dass der Host mit der angegebenen IP-Adresse seine MAC-Adresse auslesen und zurücksenden soll. Gibt es diesen Host im lokalen Netzwerk, so antwortet er. Anderenfalls spricht der Sender das Default-Gateway, also den voreingestellten Router, an. ARP- und NDP-Pakete werden als Nutzlast in einem Rahmen des vorhandenen physikalischen Netzes transportiert. Dabei werden keine IP-Pakete gebildet, denn ARP und NDP arbeiten anschaulich unterhalb der Ebene der Vermittlungsprotokolle.

Paketfilter

An dieser Stelle sind ein paar Hinweise zum Thema Netzwerksicherheit angebracht. Betrachtungen zu diesem Thema beginnen oft mit der Beobachtung, dass in einem Bus-Netzwerk, wie z.B. einem klassischen Ethernet, jeder Rechner, der an den Bus angeschlossen ist, immer alle Pakete aller anderen Rechner erhält und diese zumindest teilweise liest und sogar lesen muss. In einem Ring-Netzwerk ist die Situation ganz ähnlich. In beiden Netzwerkarten muss jeder Rechner bei jedem eingegangenen Paket prüfen, ob es für ihn bestimmt ist. Ist es nicht für ihn, muss er es verwerfen wie beim Bus oder weiterleiten wie beim Ring. In beiden Fällen filtert jeder Rechner immer alle Pakete.

Man spricht von einem Paketfilter, wenn ein Programm den ein- und ausgehenden Datenverkehr eines Rechners oder eines Netzwerks filtert. Ein Filter kann sich auf bestimmte Protokolle oder Protokollebenen beschränken. Beispielsweise kann es ausschließlich IP- oder TCP- bzw. UDP-Pakete filtern. Im allgemeinen Fall prüft es physikalische Pakete und bezieht alle Adressebenen und sogar Dateninhalte ein. Je aufwändiger die Untersuchungen sind, desto größer ist allerdings die Verzögerung bei der Datenzustellung.

Die Filtereigenschaften eines Paketfilters lassen sich deutlich verbessern, wenn die Pakete in ihrem Kontext überprüft werden. So ist es zum Beispiel wünschenswert, ein von einem externen Rechner kommendes UDP-Paket nur dann in ein lokales Netz weiterzuleiten, wenn kurz zuvor von dort ein UDP-Paket an diesen externen Rechner geschickt wurde. Hintergrund dieser Kommunikation könnte eine DNS-Anfrage sein. Um ein solches Verhalten zu ermöglichen, muss das Paketfilter zu allen aktuellen Verbindungen einen Zustand (state) verwalten. Paketfilter, die das leisten, werden dementsprechend als zustandsabhängig (stateful) bezeichnet.

Protokollanalysatoren

Eine spezielle Entwicklung im Rahmen der Paketfilter stellen die Protokollanalysatoren dar, von denen im Laufe der Jahre eine Vielzahl sowohl in Hard- als auch in Software als Hilfsmittel zur Netzwerkverwaltung entwickelt worden sind. Weit verbreitet und frei erhältlich ist das Programm Wireshark, mit dem der Datenverkehr auf einem Rechner paketweise und gut lesbar aufbereitet verfolgt werden kann. Es ist ein bei Systemadministratoren beliebtes Werkzeug zur Netzwerkdiagnose.

Firewalls

Firewalls (Brandschutzmauern) sind entwickelt worden, um vernetzte Rechner vor unberechtigten Zugriffen aus dem oder in das Netzwerk zu schützen. Mit ihnen lässt sich der kommende und gehende Datenverkehr kontrollieren, protokollieren, sperren und freigeben. Technisch gesehen handelt es sich um Paketfilter, die so gestaltet sind, dass sie mit einem Satz von Filterregeln gesteuert werden können, und die je nach Qualität des Produkts Prüfungen auf den unterschiedlichen Adressebenen und ggf. auch auf Paketinhalten gestatten.



Zurück zum Inhaltsverzeichnis des Manuskripts verteilte Systeme