netzwerk-header
 
Navigation
image Home
image Bücher Shop
image Datenschutz
image Impressum
nav

Netzwerke
image Geschichte
image Grundlagen
image Komponente
image Skripte
image FAQ
image Glossar
nav

W-LAN
image Allgemeines
image Sicherheit
image Reichweite
nav

Netzwerk Praxis
image Windows
image Linux
nav

Sonstiges
image Quiz
image Downloads
image Hardware
image Specials
image Newsarchiv
image Partner
nav

nav
nav

 
 


CSMA/CD

CSMA/CD steht für Carrier Sense Multiple Access / Collision Detection was übersetzt soviel wie Mehrfachzugriff mit Trägerprüfung und Kollisionserkennung bedeutet. CSMA/CD ist ein Medienzugriffsverfahren, das beispielsweise beim Ethernet verwendet wird und dort unter IEEE 802.3 standardisiert worden ist. Nicht zu verwechseln ist CSMA/CD mit CSMA/CA, das beispielsweise bei WLAN Verwendung findet.

Da bei einem Netzwerkverfahren wie Ethernet jederzeit Kollisionen stattfinden können, die übertragenden Signale unbrauchbar machen, muss dies nach Möglichsten verhindert werden. Dafür gibt es nun das CSMA/CD Verfahren, das wie der Zusatz Collision Detection schon sagt, Kollisionen erkennen kann und anschließend versucht,dass diese sich nicht wiederholen.

Vergleichen kann man das ganze mit einer menschlichen Konversation. So redet im Normalfall nur eine Person, während die andere den Zuhörer mimt. Ist der Sprecher mit seinem Part fertig, wird der Zuhörer aktiv und verwandelt sich zum Sprecher, während der vorangegangene Sprecher nun zuhört. Jetzt kann es aber jederzeit passieren, dass beide im selben Moment zu Sprechen anfangen und so wichtige Informationen im allgemeinen Kommunikations-Chaos untergehen. Sollte dies passieren, einigen sich beide wer den Vortritt hat, und die Konversation kann ihren gewöhnlichen Lauf nehmen.

Übertragen auf unser Netzwerk ist der erste Schritt bevor eine Station sendet, das horchen ob die Übertragungsmedium frei ist. Ist das Medium dann eine bestimmte Zeit frei, kann sie selber senden. Ist das Medium belegt, wartet die Station eine willkürliche Zeit und versucht noch einmal ihr Glück. Dieses Spiel wiederholt sich solange bis das Medium frei ist und die Station senden kann. So soll schon im Voraus verhindert werden, dass es zu übermäßig vielen Kollisionen kommt, da jede Station sendet, wie es ihr beliebt. Nach dem die Station auf dem freien Medium ihre Information verschickt hat, gibt es eine Erfolgsmeldung an höhere Netzwerkschichten und wechselt wieder in den passiven Horchmodus.

Nun kann es aber, wie bei einer menschlichen Konversation, dennoch zu einer Kollision kommen. Dann nämlich wenn zwei oder mehrere Stationen just in dem Moment senden in dem sie denken das Medium wäre frei. In diesem Fall ist es wichtig, dass nun alle Stationen von der Kollision erfahren und falls sie gerade aktiv an einer Datenübertragung teilnehmen, diese abbrechen. Erkennen können die Stationen eine Kollision an der erhöhten Amplitude des Signals im Netzmedium. Wichtig dabei ist, dass vor allem der Sender die Kollision erkennt, damit er später eine Sendewiederholung initiieren kann. Damit wirklich alle Stationen von der Kollision erfahren, wird ein so genanntes Jam-Signal gesendet.

Das Jam-Signal ist eine kurze Code-Sequenz, 4-6 Byte (in der Regel 01-Bitmuster), durch die alle Stationen wissen, Achtung Kollision –Senden einstellen!

Nach dem nun alle Stationen die Kollision bemerkt und das Senden von Daten eingestellt haben, wäre es fatal, wenn nun nach der Kollision alle Stationen wieder gleichzeitig beginnen würden zu senden. So würde wieder Kollisionen entstehen und man würde sich in einem Teufelskreislauf befinden. Damit dies nicht passiert, kommt nun das so genannte Backoff-Verfahren , bzw. der Backoff-Algorithmus bei CSMA/CD zu Zuge. Bei Ethernet verwendet man den sogenannten Truncated Binary Exponential Backoff. Er funktioniert folgendermaßen:

Beim ersten Wiederholungsversuch, entscheidet eine Station zufällig ob sie 0 µs oder 51.2 msek wartet (21 Möglichkeiten). Dieser erstmals feste Wert, genannt Slot Time (51.2) wurde bestimmt, da man den Kanal in feste Zeitschlitze einteilte und dabei auf folgende Werte kam: 512 Bits = 64 Bytes oder 51,2 msec. Die Slot Time ist eine Parameter für Halb-Duplex Ethernet Netzwerken, im speziellen für Netzwerke, die auf 10 und 100 Mb/s, und 4096 bit times für Gigabit Ethernet aufbauen. So kann sichergestellt werden, dass auch in den größten Netzen, eine Kollision von allen Stationen erkannt wird. Diese Zeit wird auch "backoff delay" genannt.

Falls bei diesem nächsten Versuch wieder eine Kollision auftritt, verdoppelt sich die maximale Wartezeit (22 Möglichkeiten). Nun wartet sie wieder zufällig 0, 51.2, 102.4 oder 153.6 µs. Sollte anschließend wieder eine Kollision stattfinden, erhöhen sich wieder die Möglichkeiten auf acht (23), dann 16 (24) bis maximal 1.024 Möglichkeiten (210).

Bei 16 Kollisionen wird die Übertragung abgebrochen und ein Systemfehler angenommen. Nun wird die Fehlerbehandlung höheren Schichten überlassen.

Durch diese Kollisionen ist es nicht möglich, die theoretische Übertragungskapazität eines Mediums voll auszuschöpfen. Wird ein Netz nicht voll beansprucht, kann man von einer Leistung von etwa 70% der Nominalleistung ausgehen. Steigt dann der Traffic und somit die Netzauslastung, kann es durch aus auch vorkommen, dass lediglich 30% der Nominalleistung abgerufen werden kann. Der Grund dafür liegt auf der Hand, umso mehr Datenverkehr = umso höher die Gefahr einer Kollision. Eindämmen kann man Kollisionen, in dem man Geräte wie beispielsweise Switch oder Bridge einsetzt, die mehrere Kollisionsdomänen schaffen können. Auch wäre es Möglich komplett auf ein anderes Übertragungsprinzip wie z.B. Token Passing, das bei ARCNET oder Token Ring zum Einsatz kommt, umzusteigen.

Zum Abschluss noch einmal die einzelnen Schritte der Realisierung von CSMA/CD:
  1. Horchen ob Übertragungsmedium frei ist
  2. Ist frei - Station fängt an zu senden
  3. Während der Übertragung wird weiterhin abgehört, falls eine Kollision auftritt. Ist dies der Fall, Jam Signal senden und weiter mit Schritt 5.
  4. Keine Kollision, Übertragung erfolgreich abgeschlossen. Erfolgsmeldung an höhere Schichten, wieder in Abhörmodus Schritt 1 wechseln.
  5. Leitung ist belegt, warten bis Leitung frei ist
  6. Leitung ist nun frei, jetzt wieder nach zufälliger Zeit (siehe Truncated Binary Exponential Backoff Algorithmus) mit Schritt 1 beginnen
  7. Maximale Anzahl von Übertragungsversuchen überschritten. Nun Fehler an höhere Netzwerkschichten melden, Übertragungsmodus verlassen.
Darstellung von wikipedia.de die CSMA/CD noch einmal schön grafisch darstellt.

CSMA/CD im Überblick




Fragen und Meinungen im Forum