CSMA/CD und Kollisionen (Ethernet)

CSMA/CD (Carrier Sense Multiple Access with Collision Detection) ist ein Zugriffsverfahren von Ethernet, bei dem mehrere Netzwerk-Teilnehmer auf das Übertragungsmedium zugreifen zu können. Dabei spielt die Behandlung von Kollisionen bei der Signalübertragung ein große Rolle.

CSMA/CD - Carrier Sense Multiple Access with Collision Detection

  • Carrier Sense (Träger-Zustandserkennung): Jede Station prüft, ob das Übertragungsmedium frei ist.
  • Multiple Access (Mehrfachzugriff): Mehrere Stationen teilen sich das Übertragungsmedium.
  • Collision Detection (Kollisionserkennung): Wenn mehrere Stationen gleichzeitig senden, erkennen sie die Kollision.

Ablauf von CSMA/CD

Das ursprüngliche Ethernet entspricht einer Bus-Topologie an der mehrere Stationen angeschlossen sind (Multiple Access). Festgelegt ist, dass alle Stationen die Signale auf dem Bus lesen, aber nicht gleichzeitig senden dürfen. Welche der angeschlossenen Stationen senden darf, wird durch das CSMA/CD-Verfahren bestimmt, das nach dem Prinzip "Listen-before-Talk" arbeitet.

Alle Stationen hören permanent das Übertragungsmedium ab (Carrier Sense). Sie können zwischen einem freien und einem besetzten Übertragungsmedium unterscheiden. Bei einem freien Übertragungsmedium darf gesendet werden. Will eine Station senden, prüft sie, ob der Bus frei ist. Ist er frei, so beginnt die Station zu senden. Das bedeutet, sie legt das Datensignal auf den Bus.

Während der Signalübertragung überprüft die Station, ob das gesendete Signal mit dem Signal auf dem Bus identisch ist. Entspricht das gesendete Signal nicht dem abgehörten Signal, dann hat eine andere Station gleichzeitig gesendet. Die beiden Signale überlagern sich. Diesen Zustand auf dem Übertragungsmedium bezeichnet man als Kollision. Durch permanentes Prüfen des Zustands auf der Leitung kann diese Kollision erkannt werden (Collision Detection).

Wurde eine Kollision erkannt, dann wird die Übertragung abgebrochen. Der Sender, der das Störsignal zuerst entdeckt, sendet ein spezielles Signal, damit alle anderen Stationen wissen, dass das Netzwerk blockiert ist. Nach einer zufälligen Wartezeit wird wieder geprüft, ob der Bus frei ist. Ist das der Fall, wird von neuem gesendet. Der Vorgang wird so oft wiederholt, bis die Daten ohne Kollision übertragen wurden.

Konnte die Übertragung ohne Kollisionserkennung beendet werden, dann gilt die Übertragung als erfolgreich. Kamen die Daten aus irgendwelchen Gründen beim Empfänger nicht an, dann müssen diese Daten durch Protokolle, wie z. B. TCP, neu angefordert werden. Tritt dies häufiger auf, werden mehr Datenpakete gesendet. Das drückt auf die effektive Übertragungsgeschwindigkeit des Netzwerks.

Kollisionen

Grundsätzlich sind Kollisionen nicht als Störungen anzusehen. Kollisionen gehören im Listen-before-Talk-Betrieb zum normalen Betriebsablauf. Allerdings werden Kollisionen zu einem Problem, wenn sie Überhand nehmen. Die Anzahl der Kollisionen steigt, je mehr Stationen auf das Übertragungsmedium Zugriff haben wollen.

Durch lange Leitungen, sehr viele Stationen und Repeater (Signalaufbereiter und -verstärker) entstehen je nach Ort der Einspeisung unterschiedliche Signallaufzeiten. Sie führen dazu, dass eine Station ein freies Übertragungsmedium feststellt und ihr Signal sendet, obwohl das Signal einer anderen Station bereits unterwegs ist. Es kommt zur Kollision, also der Überlagerung von zwei Signalen.

Durch CSMA/CD ergeben sich Grenzwerte für die maximale Signallaufzeit und die Rahmengröße (Datenpaket bzw. Frame). Beides darf nicht überschritten werden. Solange die Bandbreite von Ethernet nicht mehr als 30% ausgereizt wird, machen sich Kollisionen kaum bemerkbar. Mit steigender Belastung des Netzwerks nehmen aber auch die Kollisionen zu. Hier hilft nur, die Anzahl der Stationen zu reduzieren oder das gesamte Netzwerk in Teilnetz aufzuteilen.

Wegen der Kollisionen ist es nicht möglich, die theoretische Übertragungskapazität voll auszuschöpfen. In der Praxis liegt die Nominalleistung im günstigsten Fall bei etwa 70%. Unter ungünstigeren Bedingungen sind es unter 30%. Deutlich darunter bricht das Netzwerk praktisch zusammen. Die Ursache ist einfach: Je mehr Rechner in einem Netzwerk aktiv sind, desto mehr Kollisionen treten auf. Und so sinkt der erzielbare Datendurchsatz ständig ab.

Kollisionsdomäne

Kollisionsdomäne
Die Kollisionsdomäne (collision domain) umfasst ein Netzwerk oder auch nur ein Teilnetzwerk aus Leitungen, Stationen und Kopplungselementen der Schicht 1 (OSI-Referenzmodell). In der Kollisionsdomäne müssen die Kollisionen innerhalb einer bestimmten Zeit jede Station erreichen. Das ist die Bedingung, damit das CSMA/CD-Verfahren funktionieren kann. Ist die Kollisionsdomäne zu groß, dann besteht die Gefahr, dass sendende Stationen Kollision nicht bemerken können. Aus diesem Grund ist die maximale Anzahl der Station in einer Kollisionsdomäne auf 1.023 Stationen begrenzt. Außerdem gilt, dass sich maximal zwei Repeater-Paare zwischen zwei beliebigen Stationen befinden dürfen.

Kollisionsdomäne
Um die Bedingungen für eine einwandfrei funktionierende Kollisionsdomäne einhalten zu können, wurde die 5-4-3-Repeater-Regel definiert: Es dürfen nicht mehr als fünf (5) Kabelsegmente verbunden sein. Dafür werden maximal vier (4) Repeater eingesetzt. An nur drei (3) Segmenten dürfen Endstationen angeschlossen sein.

Hinweis: Die Repeater-Regel gilt für 10Base2 und 10Base5 (Koaxialkabel-Netzwerk). In Twisted-Pair-Netzwerken muss man die Repeater-Regel nur beim Einsatz von Hubs beachten. Durch den konsequenten Einsatz von Switches und Routern geht man den Problemen durch das CSMA/CD-Verfahren aus dem Weg.

Wie kann man Kollisionen verhindern?

Grundsätzlich: Je weniger Stationen sich in einer Kollisionsdomäne befinden, desto weniger Kollisionen können auftreten.

Kollisionsdomäne
Um Kollisionen zu vermeiden und einen höheren Datendurchsatz zu erreichen, wird ein Netz auf der Schicht 2 in mehrere Teilnetze (Subnetze) aufgeteilt. Bei der Zusammenstellung der Teilnetze ist es sinnvoll die Stationen in einem Teilnetz zusammenzuschließen, die viel miteinander kommunizieren.
Wenn man ein logisches Netz mit Switche oder Bridges aufteilt, entstehen mehrere Kollisionsdomänen. Innerhalb einer Kollisionsdomäne befindet sich dann eine einzelne Station, ein weiterer Switch oder ein Router in ein anderes Netz. Die Einrichtung von Kollisionsdomänen reduziert den Datenverlust durch Kollisionen. Das wiederum reduziert den Netzwerkverkehr, der durch wiederholte Übertragungen verursacht wird.

Kollisionsdomäne
Wenn man generell nur mit Switche arbeitet, wird der Begriff Kollisionsdomäne nicht mehr verwendet. In einem Switch bildet jeder Port und der mit einem Kabel verbundenen Station eine eigene Kollisionsdomäne. Es handelt sich dabei um eine Punkt-zu-Punkt-Verbindung. Der Switch sorgt dafür, dass nur die Datenpakete an den Port weitergeleitet werden, über den die Ziel-MAC-Adresse des Pakets erreichbar ist.

Halbduplex und Vollduplex

Halbduplex-Ethernet basiert auf dem CSMA/CD-Verfahren. Es handelt sich dabei um das ursprüngliche Ethernet bis 10 MBit/s. Vollduplex-Ethernet ist eine Weiterentwicklung, die als Fast Ethernet bezeichnet wird und auf CSMA/CD verzichtet. Auch alle weiteren Ethernet-Entwicklungen arbeiten im Vollduplex-Betrieb. Die Stationen kommunizieren über Punkt-zu-Punkt-Verbindungen direkt miteinander.
Weil Fast Ethernet in der Regel im Vollduplex-Modus arbeitet und damit auf CSMA/CD verzichtet, ist eine zusätzliche Flusskontrolle erforderlich. Dafür gibt es einen eigenen Standard: IEEE 802.3x (Flow Control).

Übersicht: Ethernet

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!