Hauptseite  >

 EINSTEIGER

 SPRECHFUNK

 DATENFUNK

 TECHNIK

 VERBÄNDE

 FORUM

 LINKS

 RESOURCEN


Intern
 Über uns

 Hier werben

 Verfasser

 Kontakt und
 Impressum


 
 

Suchen auf hobby-funk.net


hobby-funk.net > Datenfunk > Probleme im Packet-Radio(1)

Datenfunk





Probleme im Packet-Radio (1) - Kollisionen

Von Marco Brandt

Redakteur





Seiten: | 1 | 2 |


Kollisionserkennung

In drahtgebundenen Netzen (z.B. Ethernet) ist es möglich eine Kollision zu erkennen. Der Sender hört dabei in das Medium hinein während er sendet. Hört er fremde Daten zwischen seinen eigenen, so bricht er die Sendung sofort ab und signalisiert die Kollision.

Auf Funk ist dies nicht so einfach möglich, denn Funkgeräte arbeiten normalerweise im Halbduplex Modus. Das bedeutet, wenn das Gerät gerade sendet, ist der Empfänger abgeschaltet. Und selbst wenn der Empfänger mithöhren könnte, so wäre das eigene Signal so viel stärker als das des anderen Senders, daß es unmöglich ist eine Kollision zu erkennen.

Eine Kollisionserkennung (Collision Detect, CD) ist also im Funk nicht möglich.

 

Hidden Stations

Hidden TerminalAuch die Erkennung eines belegten Kanals (DCD) funktioniert nicht in allen Situationen zuverlässig. Das nebenstehende Bild zeigt drei Stationen. Station A und C sind ausserhalb ihrer gegenseitigen Funkreichweite. Nur Station B kann beide hören.

Sendet nun A zu B, so erkennt B folgerichtig daß der Kanal belegt ist und wird selbst erst senden, nachdem er die Daten von A empfangen hat. Station C hört aber nichts... liegen Daten vor, wird C senden und somit bei B eine Kollision auslösen, die Datenpakete von A unbrauchbar machen wird. Station A und C sind für den jeweils anderen also "Hidden Stations".

 

Exposed Terminal

Exposed TerminalBleiben wir bei dem eben vorgestelltem Beispiel und nehmen an B sendet gerade an Station A. Gleichzeitig möchte Station C an Station D senden. C erkennt den Kanal aber als belegt an, da sie B hört und wird nicht senden, obwohl das gar kein Problem darstellen würde. Die Aussendung von C wird bei A nicht empfangen, also können dort keine Kollisionen entstehen. D wird eventuell auch B empfangen, aber die Aussendung von C wäre stark genug um ohne Datenverlust durchzukommen.

Somit kann ein eigentlich freier Kanal nicht genutzt werden, Station C wartet umsonst.

 

Mehrkanalgateways

Auch Gatewayrechner, die auf mehreren Kanälen arbeiten, können Opfer gehäufter Kollisionen werden. Die Kanäle sind im CB-Funk nämlich nicht vollständig voneinander getrennt. Hört man z.B. auf Kanal 40 einem Gespräch zu und sendet dann gleichzeitig auf Kanal 1, so wird sich die Empfangsqualität verschlechtern. Der Empfänger wird nämlich von dem starken Signal des naheliegenden Senders zugestopft. In der Funkersprache nennt man das "die Nadel ziehen" (die Nadel des Signalstärkeanzeigers). Je näher die beiden Kanäle sich frequenzmässig sind, je höher die Sendleistung ist und je näher sich die Antennen von Sender und Empfänger sind, desto schlimmer ist dieser Effekt.

Empfängt nun ein Mehrkanalgateway ein Paket auf einem Kanal und sendet gleichzeitig auf einem anderen, so ist das empfangene Paket relativ sicher verloren. Um dies zu verhindern, dürfte das Gateway nur dann senden, wenn ALLE angeschlossenen Kanäle frei sind. Dies würde aber auch eine Sendung verhindern, wenn zwei andere Stationen auf einem dieser Kanäle kommunizieren. Die DCD kann nämlich nicht unterscheiden an wen gerade gesendet wird.

Wie kann man nun also all diese Probleme lösen?

Leider lautet dabei die Antwort: Eigentlich garnicht!

Das AX.25 Protokoll wurde für den Amateurfunk entwickelt, wo es genug Frequenzbänder gibt, so daß sich Mehrkanalgateways entkoppeln lassen. Usereinstiege und Verbindungen zwischen Nodes laufen nicht auf den gleichen Frequenzen. Es wird eine vorgegebene Netzinfrastruktur verwendet, während im CB-Funk mehr Ad-Hoc Netze zum Einsatz kommen.

Lösungen durch Modifikationen des AX.25 Protokolls wären zwar möglich, würden aber eine Änderung jeder eingesetzten Software erfordern. Generell würde man in solchen Fällen eine Kollisionsvermeidung (Collision Avoidance, CA) verwenden. Dabei sendet eine Station die gerne senden möchte erst einmal ein RTS (Request To Send) Paket aus, welches die Länge der zu sendenen Daten enthält. Der angesprochene Empfänger wiederholt diese Länge in einem CTS (Clear To Send) Paket. Erst dann beginnt die eigentliche Übertragung.

Mithörende Stationen wissen: Wenn sie CTS gehört haben, dürfen sie bis zum Ablauf der angegebenen Zeit nicht senden. Wenn sie nur RTS gehört haben, dürfen sie die Kanalbelegung missachten, solange die eigene Aussendung zeitlich kürzer ist als die bereits angekündigte.