
CSMA/CD einfach erklärt
Erst lauschen, dann senden, bei einer Kollision würfeln. Warum das Verfahren mit Switches überflüssig wurde und im WLAN einen Nachfolger hat.
Daniel Weihmann Aktualisiert am · 3 Minuten Lesezeit
Kurz gesagt
CSMA/CD regelt, wer in einem gemeinsam genutzten Ethernet senden darf: erst lauschen, dann senden, und bei einer Kollision abbrechen und nach einer zufälligen Wartezeit neu versuchen. Mit Switches und Vollduplex ist das Verfahren heute praktisch überflüssig.
Wofür steht CSMA/CD?
Carrier Sense Multiple Access with Collision Detection. Übersetzt: Mehrfachzugriff mit Trägerprüfung und Kollisionserkennung. Das Verfahren stammt aus der Zeit, als alle Rechner eines Ethernet am selben Koaxialkabel oder an einem Hub hingen. Senden zwei gleichzeitig, überlagern sich die Signale, und beide Nachrichten sind verloren.
Wie läuft CSMA/CD ab?
- LauschenIst die Leitung frei, sendet die Station sofort. Ist sie belegt, wartet sie, bis sie frei wird, und sendet dann.
- Beim Senden mithörenDie Station prüft, ob sich ihr Signal mit einem anderen überlagert.
- Kollision meldenErkennt sie eine Kollision, bricht sie ab und sendet ein Störsignal (Jam), damit alle die Kollision bemerken.
- Warten und neu versuchenNach einer zufälligen Wartezeit startet sie den nächsten Versuch, höchstens 16 Mal.
Das Bild der Lieferwagen trifft es: Zwei Fahrer schauen, ob die Kreuzung frei ist, fahren gleichzeitig los und bremsen. Würden beide danach gleich lange warten, stießen sie wieder zusammen. Deshalb würfelt jeder seine Wartezeit aus.
Wie funktioniert der Backoff?
Ethernet verwendet den abgeschnittenen binären exponentiellen Backoff. Nach der n-ten Kollision wählt die Station eine Zufallszahl zwischen 0 und 2k − 1, wobei k der kleinere Wert aus n und 10 ist. So viele Slot Times wartet sie.
| Kollision | Mögliche Wartezeit in Slots |
|---|---|
| 1. | 0 oder 1 |
| 2. | 0 bis 3 |
| 3. | 0 bis 7 |
| 10. bis 16. | 0 bis 1.023 |
| nach dem 16. Versuch | Abbruch, der Rahmen wird verworfen |
Eine Slot Time sind 512 Bitzeiten, bei 10 Mbit/s also 51,2 Mikrosekunden. Je voller das Netz, desto länger werden die Wartezeiten. Das verteilt die Last, ohne dass eine zentrale Stelle eingreifen muss.
Warum braucht es eine Mindestlänge?
Ein Ethernet-Rahmen ist mindestens 64 Byte lang, das sind 512 Bit. Kürzere Daten werden aufgefüllt. Der Grund: Die Station muss noch senden, wenn das Signal einer Kollision vom entferntesten Punkt des Netzes zu ihr zurückkommt. Hätte sie schon aufgehört, hielte sie den Rahmen für gelungen. Daraus ergibt sich auch die maximale Ausdehnung der alten Netze.
Vorteile und Nachteile
| Vorteile | Nachteile |
|---|---|
| Einfach, keine zentrale Steuerung nötig | Bei hoher Last viele Kollisionen und lange Wartezeiten |
| Bei wenig Verkehr sendet jede Station sofort | Keine garantierte Sendezeit, für zeitkritische Daten ungeeignet |
| Neue Geräte lassen sich einfach anschließen | Mindestrahmenlänge begrenzt die Kabellänge |
Welche Rolle spielt CSMA/CD heute?
Hubs und gemeinsame Koaxkabel sind aus Büros verschwunden. Ein Switch gibt jedem Gerät eine eigene Leitung und betreibt sie im Vollduplex: Senden und Empfangen laufen gleichzeitig auf getrennten Wegen. Kollisionen entstehen so nicht mehr.
Im WLAN gilt das nicht, denn dort teilen sich alle Geräte den Funkkanal. Weil ein Funkgerät während des Sendens Kollisionen kaum erkennen kann, setzt IEEE 802.11 auf CSMA/CA: Kollisionen vermeiden statt erkennen, unter anderem mit Bestätigungen für jedes Paket und optional mit einer Reservierung per RTS und CTS.
Häufige Fragen
Wird CSMA/CD heute noch verwendet?
Praktisch kaum. Moderne Ethernet-Netze hängen an Switches, die jede Verbindung im Vollduplex betreiben. Dabei können keine Kollisionen entstehen, also gibt es nichts zu erkennen.
Was ist der Unterschied zu CSMA/CA?
CSMA/CD erkennt Kollisionen und reagiert danach. CSMA/CA, das Verfahren im WLAN nach IEEE 802.11, versucht Kollisionen von vornherein zu vermeiden, weil Funkgeräte sie während des Sendens nicht zuverlässig erkennen können.
Warum ist ein Ethernet-Rahmen mindestens 64 Byte lang?
Damit eine Station noch sendet, wenn eine Kollision vom anderen Ende des Kabels zurückkommt. Nur so bemerkt sie die Kollision. Bei 10 Mbit/s entsprechen 64 Byte genau einer Slot Time von 512 Bit.