Grundlagen von Kommunikationsnetzen und Protokollen
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 5,41 KB
Netzwerk-Computing-Umgebung und Kommunikationsgeräte
Kommunikationsgeräte werden verwendet, um Terminals, Drucker und manchmal auch andere Computer zu verbinden. Es gibt Geräte zur Zeicheneingabe, sodass Informationen, wie einzelne Zeichen, zwischen dem Controller und dem Gerät übertragen werden.
Typische Kommunikationsverbindungen sind:
- Asynchrone serielle Leitungen (z. B. RS-232 und RS-422)
- Synchrone serielle Leitungen (z. B. IBM Bisync)
- Parallele Leitungen (häufig bei Online-Druckern verwendet)
Kommunikationsnetze und Prozesskommunikation
Kommunikationsnetze bieten einen Mechanismus, durch den ein Computerprozess auf einem Rechner mit einem Prozess auf einem physikalisch anderen Rechner kommunizieren kann.
Netzwerke verwenden neben einfachen Kommunikationsgeräten auch ausgeklügelte Steuerungen und Festplatten, die relativ komplexe Hierarchien abstrakter Maschinen unterstützen. Die Hardware-/Software-Schnittstelle wird zwischen dem Controller und dem Datenträger implementiert. Der Treiber wird jedoch durch ein Kommunikationsmedium ergänzt, das mit einem herkömmlichen Speichergerät oder einem Terminal geteilt wird.
Obwohl es keine Optimierung der Suchzeiten oder Latenzzeiten gibt, die durch die Festplatte bedingt sind, müssen das Betriebssystem und die Festplatte einige Probleme bewältigen. Dazu gehört insbesondere die mangelnde Zuverlässigkeit des Subkommunikationsnetzes, das die Informationen zwischen den Maschinen bereitstellt.
Der Mehraufwand für die Verarbeitung, der zur Unterstützung des zuverlässigen Betriebs der Netze und zur Durchführung anderer netzwerkspezifischer Aktivitäten erforderlich ist, ist sehr groß.
Kommunikation in verteilten Systemen
Der wichtigste Unterschied zwischen einem verteilten System und einem System mit einem einzigen Prozessor ist die Kommunikation zwischen den Prozessen. In einem System mit einem Prozessor wird implizit von gemeinsamem Speicher (Shared Memory) ausgegangen. In einem verteilten System ist gemeinsamer Speicher nicht so erfolgreich, weshalb andere Kommunikationssysteme erforderlich sind.
Die primäre Regelung ist das Kommunikationsprotokoll, wobei Computernetzwerke häufig in Form von Schichten organisiert sind. Das am häufigsten verwendete Protokoll ist das ISO/OSI-Modell. Dieses System ermöglicht die Kommunikation zwischen offenen Systemen, d. h. Systemen, die für die Kommunikation unter Verwendung von Standards ausgestattet sind, welche die Form, den Inhalt und die Bedeutung der gesendeten und empfangenen Nachrichten steuern. Betriebsvorschriften sind in Vereinbarungen formalisiert.
Protokolle der Sicherungsschicht (Data Link Layer)
Diese Protokolle unterteilen die Byte-Folge der physikalischen Schicht in Gruppen von Bytes, die als Frames (Rahmen) bezeichnet werden. Ein Frame besteht aus einem Kopf (Header) und einem Ende (Trailer), die verschiedene Informationen enthalten, wie z. B. das Übertragungsziel, den Typ, die Anzahl der Bytes und die Prüfsumme.
Die Sicherungsschicht (Data Link Layer) unterstützt auch die Flusskontrolle und die Fehlerkontrolle.
Fehlerkontrolle
Die Fehlerkontrolle wird verwendet, um sicherzustellen, dass der Inhalt eines Frames in dem Zustand geliefert wird, in dem er übermittelt wurde. Dazu wird eine Prüfsumme (Checksum) aus dem Header und den Daten berechnet und in den Trailer des Frames geschrieben.
Der Empfänger berechnet die entsprechende Prüfsumme des empfangenen Frames. Wenn der berechnete Wert stark von der übermittelten Prüfsumme abweicht, wird davon ausgegangen, dass der Frame nicht ordnungsgemäß übertragen wurde. Der Frame wird so verworfen, als wäre er nie empfangen worden. Die Motivation dahinter ist, dass die Sicherungsschicht eine unzuverlässige Übertragung implementiert, da einige Frames verloren gehen können.
Flusskontrolle
Die Flusskontrolle wird verwendet, um die Geschwindigkeit zu steuern, mit der Pakete zwischen zwei beliebigen Maschinen fließen. Dies impliziert, dass ein empfangender Host in der Lage sein muss, Frames zu akzeptieren, sobald sie übertragen werden.
Gründe, warum ein Host Frames möglicherweise nicht akzeptieren kann, sind:
- Der Frame wurde an einen nicht existierenden Host gesendet.
- Der Gerätetreiber der empfangenden Netzwerkkarte ist unterbrochen. Wenn Interrupts deaktiviert sind, gehen die eingehenden Frames verloren.
- Die Geräte übernehmen die Kontrolle über das Netz. Da jeder Prozess auf dem Host ein Veto einlegen kann, muss der Treiber seinen eigenen Pufferraum bereitstellen. Wenn der Puffer voll ist, kann das Empfangsgerät keinen Frame mehr akzeptieren, ohne den Pufferspeicher zu überschreiben.
Daher muss der Empfänger in der Lage sein, die Rate zu steuern, mit der Frames übermittelt werden. Das einfachste Protokoll hierfür ist das Stop-and-Wait-Protokoll (Sende-und-Warte-Protokoll), das einen synchronen Übertragungsbetrieb verwendet, bei dem ein spezielles ACK-Paket ohne Datenfeld angehängt wird. Die Wartezeit (Time Out) wird verwendet, um zu verhindern, dass der Sender unendlich wartet, falls das Paket verloren geht, wobei angenommen wird, dass die Übertragung fehlgeschlagen ist.