CSMA/CD und Kollisionen (Ethernet) CSMA/CD - Carrier Sense Multiple Access with Collision Detection CSMA/CD (Carrier Sense Multiple Access with Collision Detection) ist ein Zugriffsverfahren von Ethernet, um auf das Übertragungsmedium zugreifen zu können. Carrier Sense (Träger-Zustandserkennung): Jede Station kann feststellen, ob das Übertragungsmedium frei ist. Multiple Access (Mehrfachzugriff): Mehrere Stationen können sich das Übertragungsmedium teilen. Collision Detection (Kollisionserkennung): Wenn mehrere Stationen gleichzeitig senden, können sie die Kollision erkennen. Als Mehrfachzugriffsnetz können mehrere Ethernet-Stationen unabhängig voneinander auf das Übertragungsmedium zugreifen (Multiple Access). Alle Stationen hören permanent das Übertragungsmedium ab (Carrier Sense) und können zwischen einem freien und besetzten Übertragungsmedium unterscheiden. Bei einem freien Übertragungsmedium kann gesendet werden. Während der Datenübertragung wird überprüft, ob eine andere Station gleichzeitig gesendet hat und eine Kollision der Daten aufgetreten ist (Collision Detection). Ist keine Kollision aufgetreten wurde die Übertragung erfolgreich abgeschlossen. Verloren gegangene Pakete müssen durch Protokolle, wie z. B. TCP, neu angefordert werden. Tritt dies häufiger auf, werden mehr Datenpakete gesendet und das drückt auf die effektive Übertragungsgeschwindigkeit des Netzwerks. Ablauf von CSMA/CD Das ursprüngliche Ethernet ist eine Bus-Topologie. Welche der angeschlossenen Stationen senden darf, wird durch das CSMA/CD-Verfahren bestimmt. Will eine Station senden, prüft sie, ob der Bus frei ist. Ist er frei, so beginnt die Station zu senden. Sie prüft allerdings weiterhin den Bus. Entsprechen die gesendeten Daten nicht den abgehörten Daten, so hat eine andere Station gleichzeitig gesendet. Eine Kollision wurde entdeckt und die Übertragung wird 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 verschickt werden konnten. Ist die Übertragung beendet und bis dahin keine Kollision aufgetreten, so nimmt die Station an, dass die Übertragung fehlerfrei verlaufen ist. Kollisionen Kollisionen gehören im Halbduplex-Betrieb zum normalen Betriebsablauf. Sie sind nicht als Störungen anzusehen. Allerdings werden Kollisionen zur größte Schwachstelle von Ethernet bzw. dem CSMA/CD-Verfahren, wenn die Anzahl der Kollisionen überhand nimmt. Die Anzahl der Kollisionen nimmt zu, je mehr Stationen auf das Übertragungsmedium Zugriff haben. Durch lange Kabel, 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. Beides darf nicht überschritten werden. Solange die Bandbreite von Ethernet nicht mehr als zu 30 Prozent ausgereizt wird, machen sich Kollisionen kaum bemerkbar. Mit steigender Belastung des Netzwerks nehmen aber auch die Kollisionen zu. Hier hilft es nur, die Anzahl der Stationen zu reduzieren oder das gesamte Netzwerk in Teilnetz aufzuteilen. Kollisionsdomäne Die Kollisionsdomäne (collision domain) umfasst ein Netzwerk oder auch nur ein Teilnetzwerk aus Leitungen, Stationen und Kopplungselementen der Schicht 1 (OSIReferenzmodell). In der Kollisionsdomäne müssen die Kollisionen innerhalb einer bestimmten Zeit jede Station erreichen. Das ist die Bedingung, damit das CSMA/CDVerfahren 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 1023 Stationen begrenzt. Außerdem gilt, dass sich maximal zwei Repeater-Paare zwischen zwei beliebigen Stationen befinden dürfen. 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 werden. Dafür werden vier (4) Repeater eingesetzt. An nur drei (3) Segmenten dürfen Endstationen angeschlossen werden. 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. Beispiele für Kollisionsdomänen Wie kann man Kollisionen verhindern? Grundsätzlich: Je weniger Stationen sich in einer Kollisionsdomäne befinden, desto weniger Kollisionen können auftreten. Um Kollisionen zu vermeiden und einen höheren Datendurchsatz zu erreichen, wird ein Netz auf der Schicht 2 in mehrere Teilnetze 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 Switches 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. Wenn man generell nur mit Switches 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 weiterleiten 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 EthernetEntwicklungen arbeiten im Vollduplex-Betrieb. Die Stationen kommunizieren über Punkt-zuPunkt-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).