CSMA/CD bzw. /CA - Bandbreitenverteilung in LAN und WLAN



  • Gehe ich recht in der Interpretation, dass bei CSMA/CD, dem üblichen Standard im (drahtgebundenen) Ethernet, durch die zufällige Verteilung der Wartezeiten beim Auftreten einer Kollision im statistischen Mittel alle Stationen denselben Anteil an der Bandbreite einer Netzwerkverbindung erhalten?

    Beispiel:
    Drei Rechner sind mit jeweils 10Mbit/s an einen Switch angeschlossen. Der Uplink des Switches geht mit ebenfalls nur 10Mbit/s zum Server. Ich setze mal voraus, dass sowohl die Rechner als auch der Switch und der Server weit mehr als 100MByte/s erzeugen, übertragen, empfangen bzw. verarbeiten können, also nicht den Flaschenhals darstellen, und dass es keinen Overhead durch Protokolle etc. gibt.
    Wenn jetzt alle drei Rechner gleichzeitig jeweils mit voller Last einen durchgehenden Datenstrom an den Server schicken, heisst das, dass (nach einer gewissen Ausgleichsphase) jede Station mehr oder weniger konstant mit Uplink/3=3,33Mbit/s sendet? Oder wird z.B der erste Sender oder der mit der besseren Verbindung bevorzugt?

    Und ist dasselbe Prinzip auch beim CSMA/CA-Verfahren im WLAN gegeben? Wenn ich z.B. 3 Leuten über meinen WLAN-Router Zugriff auf mein Netz gewähre, kann ich dann jedem garantieren, dass ihm im ungünstigsten Fall (alle drei saugen gleichzeitig) mindestens ein Drittel der der Maximalbandbreite von z.B. 54Mbit/s zur Verfügung steht? Kurzfristige Schwankungen, schlechten Empfang, brutto vs. netto etc. mal aussen vor.

    Es geht mir also um die gerechte Verteilung der Bandbreite auf dem "WLAN-Kabel" ;), nicht um die Verteilung der Bandbreite hinter dem Router. Letzteres wird ja ggf. mittels normaler QoS-Verfahren erledigt, das soll hier keine Rolle spielen.

    Danke!



  • Was denn, keine Netzwerktechniker in da house? 😉
    Vielleicht könnt ihr mir ja zumindest ein entsprechendes Fachforum o.ä. empfehlen?

    Nochmals Danke!



  • Ich versuche einfach mal dein Frage etwas zu beantworten 😉

    Gehe ich recht in der Interpretation, dass bei CSMA/CD, dem üblichen Standard im (drahtgebundenen) Ethernet, durch die zufällige Verteilung der Wartezeiten beim Auftreten einer Kollision im statistischen Mittel alle Stationen denselben Anteil an der Bandbreite einer Netzwerkverbindung erhalten?

    Was hat das mit CSMA/CD zu tuen ? Sehe jetzt keinen Zusammenhang dazu.

    Drei Rechner sind mit jeweils 10Mbit/s an einen Switch angeschlossen. Der Uplink des Switches geht mit ebenfalls nur 10Mbit/s zum Server. Ich setze mal voraus, dass sowohl die Rechner als auch der Switch und der Server weit mehr als 100MByte/s erzeugen, übertragen, empfangen bzw. verarbeiten können, also nicht den Flaschenhals darstellen, und dass es keinen Overhead durch Protokolle etc. gibt.

    Du sagst der Switch und die Rechner haben 10Mbit/s sagst aber auch das wenn der Server 100 MByte/s sendet das der Switch kein Flaschenhals hat ? (8Bit = 1 Byte)

    Wenn jetzt alle drei Rechner gleichzeitig jeweils mit voller Last einen durchgehenden Datenstrom an den Server schicken, heisst das, dass (nach einer gewissen Ausgleichsphase) jede Station mehr oder weniger konstant mit Uplink/3=3,33Mbit/s sendet? Oder wird z.B der erste Sender oder der mit der besseren Verbindung bevorzugt?

    Rein theoritisch schon aber in der Praxis nicht möglich. Da unterschiedliche Eigenschaften der Verbidnungen bestehen Signalverluste von den Zuleitungen elektrische Störeinflüsse, länge der Kabel bzw. Entfernung zum Wlan Router etc.
    und nicht zu vergessen der Overhead vom Protokoll was sehr viel ausmacht.

    Und ist dasselbe Prinzip auch beim CSMA/SA-Verfahren im WLAN gegeben? Wenn ich z.B. 3 Leuten über meinen WLAN-Router Zugriff auf mein Netz gewähre, kann ich dann jedem garantieren, dass ihm im ungünstigsten Fall (alle drei saugen gleichzeitig) mindestens ein Drittel der der Maximalbandbreite von z.B. 54Mbit/s zur Verfügung steht? Kurzfristige Schwankungen, schlechten Empfang, brutto vs. netto etc. mal aussen vor.

    verstehe immer noch nicht den Zusammenhang von deim CSMA/CD was das mit der Zusicherung der Bandbreite hat ?

    Es geht mir also um die gerechte Verteilung der Bandbreite auf dem "WLAN-Kabel" , nicht um die Verteilung der Bandbreite hinter dem Router. Letzteres wird ja ggf. mittels normaler QoS-Verfahren erledigt, das soll hier keine Rolle spielen.

    Sag mal auf was du hinaus willst ?
    Sonst bringt das wenig Sinn. Wenn du QoS machen willst das kannst du auf verschiedene Arten bewerkstelligen mit ipv6 ist das sogar im Protokoll inbegriffen.

    MFG
    xmarvel



  • Das ist nicht abwertend gemeint, aber das Prinzip bzw. der Sinn vonn CSMA/CD ist dir klar? Es geht um die Vermeidung von Signalkollisionen, da es sonst ja nicht möglich wäre, mit mehreren Stationen (quasi)gleichzeitig auf das Medium zuzugreifen.

    Du sagst der Switch und die Rechner haben 10Mbit/s sagst aber auch das wenn der Server 100 MByte/s sendet das der Switch kein Flaschenhals hat ? (8Bit = 1 Byte)

    In meinem Beispiel empfängt der Server lediglich (von ACK usw. mal abgesehen). Ich wollte zum Ausdruck bringen, dass der Server und der Switch genug Rechenleistung und/oder Speicher haben, um den Datentrom locker zu verarbeiten und der eigentliche Flaschenhals also auf jeden Fall der Uplink zum Server ist.

    Rein theoritisch schon aber in der Praxis nicht möglich. Da unterschiedliche Eigenschaften der Verbidnungen bestehen Signalverluste von den Zuleitungen elektrische Störeinflüsse, länge der Kabel bzw. Entfernung zum Wlan Router etc.
    und nicht zu vergessen der Overhead vom Protokoll was sehr viel ausmacht.

    Es geht mir eigentlich um die Theorie, deshalb setze ich mal identische Kabellängen, Signalqualität, Protokolle etc. voraus. Ich wollte halt wissen, ob ich das Funktionsprinzip von CSMA/CD richtig verstanden habe.

    Wenn du QoS machen willst das kannst du auf verschiedene Arten bewerkstelligen mit ipv6 ist das sogar im Protokoll inbegriffen.

    Es geht mir um eine Art QoS, aber eben auf dem physical layer. IP ist schon zu hoch.



  • Das ist nicht abwertend gemeint, aber das Prinzip bzw. der Sinn vonn CSMA/CD ist dir klar? Es geht um die Vermeidung von Signalkollisionen, da es sonst ja nicht möglich wäre, mit mehreren Stationen (quasi)gleichzeitig auf das Medium zuzugreifen.

    Nein da ist stimmt so nicht. CSMA/CD ist nicht um die Vermeidung einer Signalkollision zuständig es ist ein Verfahren wenn schon eine Kollision eingetreten ist.

    In meinem Beispiel empfängt der Server lediglich (von ACK usw. mal abgesehen). Ich wollte zum Ausdruck bringen, dass der Server und der Switch genug Rechenleistung und/oder Speicher haben, um den Datentrom locker zu verarbeiten und der eigentliche Flaschenhals also auf jeden Fall der Uplink zum Server ist.

    Wenn der Switch aber nur ein 10Mbit/s Switch ist dann kann er nur 10Mbit/s verschicken somit empfängt der Server auch nur 10Mbit/s maximal. Der Server wird das auf jeden Fall mit klarkommen. Hängt halt alles vom Switch NICs und Kabeln ab.

    Es geht mir eigentlich um die Theorie, deshalb setze ich mal identische Kabellängen, Signalqualität, Protokolle etc. voraus. Ich wollte halt wissen, ob ich das Funktionsprinzip von CSMA/CD richtig verstanden habe.

    Das Wort CSMA/CD erklärt sich eigentlich von alleine was es macht :p
    CS = Carrier Sense: Trager abhören
    MA = Multiple Acces: Mehrfachzugriff
    CD = Collision Detection: Kollisionserkennung

    Also wenn eine Kollision erkannt wurde dann wird ein JAM Signal versendet daraufhin stoppt jeder Rechner das versenden vom Paketen. Nach einer Zufallszeit fangen wieder alle an zu senden -> der schnellste sendet wieder.

    Es geht mir um eine Art QoS, aber eben auf dem physical layer. IP ist schon zu hoch.

    hmm.. wie gesagt da kannst du nichts zusichern eben aus den oben genannten Gründen. Da musst du schon ein paar OSI Schichten hören gehen (Übrigens CSMA/CD ist schon auf der Sicherungschicht also bist du schon aus dem Physikalischen Schicht draussen 😉 )

    MFG
    xmarvel



  • xmarvel schrieb:

    CSMA/CD ist nicht um die Vermeidung einer Signalkollision zuständig es ist ein Verfahren wenn schon eine Kollision eingetreten ist.

    Ach komm, nun reite doch nicht auf den Worten herum. 😉
    CD steht zwar für collision detection, es dient aber auch dazu, nachfolgenden Kollisionen zu vermeiden (eben durch die zufällige Wartezeit). Und letztendlich geht es mir ja um das beim WLAN verwendetet CSMA/CA, wenn du so willst also explizit um die collision avoidance.

    Wenn der Switch aber nur ein 10Mbit/s Switch ist

    Der Switch hat 5 Ports mit jeweils 1Gbit/s, hat also einen Durchsatz von mindestens 5Gbit/s. Auf einer Seite kommen 3 * 10Mbit rein, auf der anderen Seite könnten somit 30Mbit rausgehen. Der Uplink ist der Flaschenhals, aber nicht weil der Switch nicht schnell genug wäre, sondern weil die Verbindung nur mit 10MHz getaktet ist (dank der lahmen Serverkarte) und nicht mehr als 10Mbit/s zulässt.

    der schnellste sendet wieder.

    Der mit der kürzesten Wartezeit. Da die Länge der Wartezeit jedesmal zufällig bestimmt wird sollte (statistisch gesehen) jeder gleich oft "der Schnellste" sein. D.h. dass im Endeffekt jeder ein gleichgrosses Stück der Bandbreite bekommt. Das ist mein Verständnis des CSMA-Prinzip, egal ob CA oder CD. Und ich möchte wissen, ob ich das richtig verstanden habe.
    Mir fehlt da irgendwie ein Mechanismus, der dafür sorgt, dass eine Station nach einer maximalen Wartezeit auf jeden Fall mal dran kommt. Denn sonst gibt es ja die theoretische Möglichkeit, dass eine Station rein zufällig immer die längste Wartezeit verpasst bekommt und somit niemalzu zum Zuge käme.

    Wenn ich mir unsere Diskussion so ansehe habe ich das Gefühl, dass wir aneinander vorbeireden. Vielleicht sollte ich einfach mal einen praktischen Versuch aufbauen. Mittels netcat von client/dev/random nach server/dev/null schreiben, ob der Client damit wohl einen konstanten 10Mbit/s-Strom produziert?



  • Hi,

    was hindert mich denn daran, die Verbindung in Timeslices aufzuteilen, die fair an alle Clients verteilt werden? Ein Client könnte dann bei niedrigem Aufkommen z.B. nur jede zehnte Timeslice nutzen und dem Router mitteilen, dass die nächsten 1000 Timeframes nur jedes 10 Timeslice genutzt wird.

    Sowas ist ja bei vielen Systemen gang und gäbe, warum macht man es beim WLAN nicht?

    Und noch ne andere Frage: Wie werden die Zufallszahlen erzeugt?

    ChrisM



  • Ach komm, nun reite doch nicht auf den Worten herum.

    Wo habe ich darauf rumgeritten ? Nur zuerst sagst du ich habe CSMA/CD nicht verstanden. Dann sagst du was falsches über CSMA/CD und dann sagst du im zweiten Satz das du CSMA/CD vielleicht nicht verstanden hast.
    Dann kann ich doch dein Satz berichtigen oder nicht ? (ok jetzt habe ich darauf herumgeritten :p )

    CD steht zwar für collision detection, es dient aber auch dazu, nachfolgenden Kollisionen zu vermeiden (eben durch die zufällige Wartezeit).

    Nein eben nicht nichts um zu Vermeiden nur zu Reagieren weil sonst würde jeder Rechner schon weiter senden und es würden dauernd Kollisionen erzeugt werden. Es kann (sehr selten) auch dazu kommen das nach dem JAM Signal die Rechner stoppen und direkt danach beide wieder zufällig zum senden anfangen dann beginnt wieder alles von vorne bis endlich einer mal schneller ist. Das ist auch ein Nachteil von der Bus Topologie. Da es kein gesichterten Zugriff gibt. Deswegen verwendet man bei Banken oder wo die zusicherung des Netzes gewährleistet werden muss eine Ring Topologie bzw. bei Banken ein doppelten Ring.

    Und letztendlich geht es mir ja um das beim WLAN verwendetet CSMA/CA, wenn du so willst also explizit um die collision avoidance.

    Das ist ein ganz anderes Verfahren da werden Prioritäten gesetzt. Durch sogennante IFS (Inter-Frame Space) davon gibt es glaube ich drei Prioritätsstufen müsste ich aber wenn nochmal nachschauen.
    Funktionieren tut es so prinzipiell:
    Wenn das Medium frei ist dann wird in der Zeit wo das IFS vorhanden ist gesendet.
    Ist allerdings das IFS belegt wird so lange gewartet bis wieder frei wird (plus noch ne kleine zusätzliche Zeit um sicher zu gehen ob es wirklich frei ist)
    Wenn es frei ist dann kann er endlich wieder senden.

    Der Switch hat 5 Ports mit jeweils 1Gbit/s, hat also einen Durchsatz von mindestens 5Gbit/s. Auf einer Seite kommen 3 * 10Mbit rein, auf der anderen Seite könnten somit 30Mbit rausgehen. Der Uplink ist der Flaschenhals, aber nicht weil der Switch nicht schnell genug wäre, sondern weil die Verbindung nur mit 10MHz getaktet ist (dank der lahmen Serverkarte) und nicht mehr als 10Mbit/s zulässt.

    Jep so ist es richtig aber liess nochmal den ersten Beitrag von dir durch so steht es aber nicht da.

    Der mit der kürzesten Wartezeit. Da die Länge der Wartezeit jedesmal zufällig bestimmt wird sollte ( statisch gesehen) jeder gleich oft "der Schnellste" sein. D.h. dass im Endeffekt jeder ein gleichgrosses Stück der Bandbreite bekommt.

    Ob Statisch jeder mal das sich ausgleicht kann ich dir nicht sagen sowas habe ich noch nie gelesen bzw. gehört.

    Mir fehlt da irgendwie ein Mechanismus, der dafür sorgt, dass eine Station nach einer maximalen Wartezeit auf jeden Fall mal dran kommt. Denn sonst gibt es ja die theoretische Möglichkeit, dass eine Station rein zufällig immer die längste Wartezeit verpasst bekommt und somit niemalzu zum Zuge käme.

    Das kann passieren siehe Text oben.

    Wenn ich mir unsere Diskussion so ansehe habe ich das Gefühl, dass wir aneinander vorbeireden. Vielleicht sollte ich einfach mal einen praktischen Versuch aufbauen. Mittels netcat von client/dev/random nach server/dev/null schreiben, ob der Client damit wohl einen konstanten 10Mbit/s-Strom produziert?

    Ich hoffe wir reden nicht einander vorbei mind. hatte ich das Gefühl nicht 🙄
    Wenn du das praktisch versuchen willst dann musst du aber auch die Nebeneffekte mit einplannen (siehe oben) ala Kabeleigenschaft etc. wenn du exakte Ergebnisse haben willst.

    was hindert mich denn daran, die Verbindung in Timeslices aufzuteilen, die fair an alle Clients verteilt werden? Ein Client könnte dann bei niedrigem Aufkommen z.B. nur jede zehnte Timeslice nutzen und dem Router mitteilen, dass die nächsten 1000 Timeframes nur jedes 10 Timeslice genutzt wird.

    Sowas ist ja bei vielen Systemen gang und gäbe, warum macht man es beim WLAN nicht?

    Was sind Timeslices ? Oder meinst du IFS ?

    Und noch ne andere Frage: Wie werden die Zufallszahlen erzeugt?

    Gute Frage das habe ich auch mal mein ehmaligen Lehrer gefragt der wusste keine Antwort.
    Ich denke mal die Zufallszahl kommt dirket von der Netzwerkkarte ?Was anderes fällt mir jetzt nicht ein woher sie sonst kommen kann.

    MFG
    xmarvel


Anmelden zum Antworten