Rederecht (Kanalzuordnung in Broadcast-Netzen)

Bei einem LAN haben wir es fast immer mit einem Broadcast-Netz zu tun, d.h. es gibt genau einen Kanal, auf den alle Sender senden und auf dem alle Empfänger empfangen. Natürlich könnte man diesen Kanal jetzt mit Frequenzmultiplexing unterteilen, aber Frequenzmultiplexing hieße die Bandbreite des Kanals zu begrenzen, und da nicht jede Station im Netz ständig sendet wäre damit Übertragungskapazität verschenkt.

Unterteilt man den Kanal nicht, dann kann es allerdings passieren, das zwei Stationen gleichzeitig senden, und damit das Signal korrumpieren. Da nur genau ein Kanal zur Verfügung steht gibt es auch keine Möglichkeit das Senderecht anzufordern. Eine am Broadcast-Netz angeschlossene Station kann nicht einfach die Hand heben und »Herr Lehrer, Herr Lehrer« rufen.

Protokolle die dieses Problem lösen behandeln wir in diesem Abschnitt. Weil sie den multiplen Zugriff auf einen Kanal regeln, nennt man sie Multiple Access-Protocols Die erste Sorte die wir behandeln sind

CSMA-Protokolle

CSMA steht für Carrier Sense Multiple Access

Diese Sorte Protokoll verhält sich wie eine Runde von halbwegs gut erzogenen Leuten. Wenn eine Station senden will, so horcht sie erst am Kanal ob er gerade frei ist. Ist der Kanal besetzt, dann wartet sie bis er frei ist. Entdeckt die Station einen freien Kanal, dann beginnt sie zu senden. Das ist der Carrier Sense in CSMA

Das ist zwar schon eine recht praktikable Methode, aber sie ist noch nicht perfekt.

Das gesendete Signal ist nämlich nicht sofort auf dem ganzen Kanal zu hören, sondern breitet sich mit etwa 2c/3 , also etwa zwei Drittel der Lichtgeschwindigkeit aus. Es besteht also die Möglichkeit, das eine Station auf einen schon belegten Kanal sendet, und damit das gesendete Signal korrumpiert.

Man nennt diesen Fall eine Kollision, und um sie zu erkennen erweitert man CSMA zu

CSMA/CD

Das hat nun nichts mit Compact Discs zu tun, sondern steht für Carrier Sense Multiple Access with Collision Detection, und funktioniert so, das die sendende Station nicht nur vor , sondern auch während der Kollision den Kanal abhört. Entdeckt sie eine Kollision (zum Beispiel dadurch, das die Signalamplitude durch die Kollision drastisch ansteigt), dann unterbricht sie ihre Übertragung, erzeugt ein sogenanntes JAM-Signal um alle anderen Stationen von der Kollision zu informieren, wartet eine zufällige Zeitspanne und versucht die Übertragung erneut.

Schauen wir uns einmal die Einzelheiten der Kollisionserkennung an:

Angenommen eine Station beginnt genau zum Zeitpunkt t0 mit der Übertragung. Wie lange brauchen sie um eine eventuelle Kollision zu erkennen?

Die minimale Zeit bis zur Entdeckung, ist die Signallaufzeit von einer Station zur anderen. Jetzt könnte man natürlich auf die Idee kommen, dass eine Station die während der Ausbreitungsdauer des Signals über die ganze Länge des Kanals keine Kollision feststellt den Kanal für sich hat.

Das ist falsch.

Nehmen wir einmal den schlimmsten Fall an:  S1 fängt zum Zeitpunkt t0 an zu senden. Die Zeitspanne bis das Signal S2 erreicht nennen wir einmal dt. Zum Zeitpunkt t0 + e, also kurz bevor das Signal  S2 erreicht entdeckt diese den freien Kanal und fängt ebenfalls an zu senden. Ihre Signale können von  S1 wiederum erst nach Ablauf von dt entdeckt werden, so das die gesamte Zeit bis zur Kollisionserkennung 2dt - e beträgt.