Skip to main content

CSMA

→ Carrier Sense Multiple Access

Das CSMA dient der Überwachung des Kabels bei mehrfachem Zugriff, um Kollisionen zu vermeiden.

Es gibt diese Technik in zwei Ausführungen: Für LAN (CD: Collision Detection) und für WLAN (CA: Collision Avoidance).

CSMA/CD

image-1631711500600.png

Ein HUB sendet ein Paket an alle angeschlossenen Geräte weiter. Die Empfänger prüfen die MAC-Adresse: Ist das Paket nicht für sie, wird es verworfen.

Problem:

Werden mehrere Pakete gleichzeitig versendet, kommt es zu einer Kollision, die Daten werden unbrauchbar.

Lösung:

Die Geräte hören, ob der Übertragungskanal frei ist, bevor sie senden. (→ Listen before Talk)

Wenn zwei Geräte gleichzeitig hören und der Kanal frei ist, beginnen sie zu senden und es kommt zu einer Kollision. Das falsche Signal kommt bei den Sendern an. Sie hören auf zu senden.

Nach einer Zufallszeit wird weiter gehört und gesendet.


image-1632214167150.png


CSMA/CA

image-1631712268856.pngimage-1631712611661.png

Senden mehrere Geräte gleichzeitig, kommt es zu Interferenzen. Die Daten werden unbrauchbar. Um dies zu vermeiden soll auch hier gehört werden. Die Daten werden durch ein ACK bestätigt.

Dies läuft ähnlich ab wie bei LAN: Nach dem ACK wird eine Zeit gewartet und weiter gesendet.

Hidden Station Problem

image-1631713719096.png

S1 bekommt nichts von den Daten von S2 mit. Durch das ACK-Paket vom Access-Point weiß S1 aber, dass gesendet wird.

Deshalb wird zuerst ein Request to Send abgesendet. Ist der Kanal frei, antwortet der Access Point mit einem Clear to Send, das auch S2 mitbekommt. S2 weiß nun, dass bis zum nächsten ACK-Paket der Kanal belegt ist.

Nach dem ACK warten S1 und S2 eine vorgegebene Zeit, plus eine Zufallszeit, bevor sie eine RTS senden.

image-1631714463417.png

image-1633784082858.png

SIFS

  • Short Interframe Space
  • Damit keine andere Station dazwischen sendet

DIFS

  • Distributed Coordination Function Interframe Space
  • Längerer Sendeabstand zum letzten Frame

 


image-1632214328453.png

Die vom Frame selbst generierte Zufallszahl wird bis 0 runterzählt. Wenn 0 erreicht ist, wird gesendet.