LAN Bandbreite nicht gleich priorisiert

T.I.M.

Captain
Registriert
Okt. 2008
Beiträge
3.196
hallo fbler!
folgende situation:
ich habe einen server mit windows server 2008r2 in meinem zimmer in einem wohnheim stehen. dieser ist per 100mbit lan mit dem rest des wohnheims verbunden und
per normaler windows dateifreigabe habe ich meine (hd)filme für das wohnheim freigegeben.

meistens funktioniert alles problemlos so wie es sein soll, d.h. wenn ein paar leute einen film direkt streamen und ein anderer eine datei kopiert, dann habe ich zwar 100% netzwerkauslastung im upload, aber der "streamer" kann trotzdem ruckelfrei weiterschauen.
sprich die bandbreite wird korrekt 50/50 bzw 33/33/33 usw aufgeteilt.

ab und zu besteht jedoch das problem, dass jemand was streamt (soweit so gut) aber dann jemand anfängt eine datei herunterzuladen (was meistens auch so funktioniert wie oben beschrieben). aber nun bekommt der "downloader" eine viel höhere priorität als alle anderen und er läd mit annähernd 12mb/s und die anderen dümpeln bei 100kb/s rum.

was ist der grund, hat jemand eine idee?
 
klar, das wäre die beste lösung. habe auch schon mit dem admin drüber geredet aber man bräuchte für jedes der 6 stockwerke einen gbit switch mit mindestens 20 ports, was das budget leider nicht hergibt.
die bandbreite reicht ja prinzipiell auch aus, das einzige problem ist eben die falsche priorisierung.
ich finde es seltsam, dass das auch nur manchmal so ist...
 
aber nun bekommt der "downloader" eine viel höhere priorität als alle anderen und er läd mit annähernd 12mb/s und die anderen dümpeln bei 100kb/s rum.
und wo siehst Du das?
 
Packen wir doch mal das Problem an der Wurzel.
Anstatt jetzt mit Software jeden zu begrenzen, wäre Gbit angebracht, da der Server doch etwas mehr Traffic abbekommt.
Würde ich auch so machen. Dann muss nur noch die Leistung der HDDs erhöht werden, z.B. mit einem Raid5.

Ihr habt gegen 200PCs daran hängen? Wenn ja schon nur 5 an 100Mbit saugen, ist es schon viel zu langsam!
Wenn niemand bezahlen will, ist es ja ganz einfach. Es bekommt nur noch jeder Zugriff, der spendet, tada. Du bezahlst schliesslich auch für deinen Server, bzw hast ihn mal bezahlen müssen.

Statt einem teuren 20 Port Switch könnte man ja auch 3 8 Port nehmen. 8 Port Switches gibt es ab 20 Euros.
 
Zuletzt bearbeitet:
und wo siehst Du das?
im ressourcenmonitor.
Ihr habt gegen 200PCs daran hängen?
ca 100.
ich möchte eigentlich kein geld dafür verlangen :)
es greifen maximal 3-4 leute gleichzeitig auf meinen server zu, da reichen 100mbit, wären da nicht die downloader...
ich habe eine vermutung, dass das problem nur auftritt, wenn jemand aus einem bestimmten stockwerk was herunterlädt, kann mir aber nicht erklären warum derjenige dann alle anderen extrem ausbremst.

edit: kann es sein, dass es an ipv6 liegt? die meisten verbinden sich mit ipv6 (laut ressourcenmonitor)
 
ich möchte eigentlich kein geld dafür verlangen

Du musst ja nicht daran verdienen, aber es darf dich auch nichts kosten (ausser viel Arbeit). Schlussendlich profitieren alle davon, oder immerhin fast alle.
 
Naja, ich wäre da vorsichtig mit geld und so.
Du bewegst dich eindeutig nicht mehr in einer Grauzone da du als Contentanbieter auftritts ohne Lizenzen (ich geh mal davon aus bei HD material), wenn du jetzt noch geld verlangst wirst du das gewerblich tuen auch wenn es nur den reinen selbsterhalt angeht. Schwärzt dich dann jemand an weil er sich unfair behandelt fühlt stehst du schlecht da.

Generell finde ich es mutig einen Server zu betreiben für 100 Leute und du dich dafür mit einem Bein hinter die Gittern stellst falls dir mal jemand ans bein pissen will.
 
Generell finde ich es mutig einen Server zu betreiben für 100 Leute und du dich dafür mit einem Bein hinter die Gittern stellst falls dir mal jemand ans bein pissen will.
hier pisst keiner irgendwem ans bein :)
aber es geht hier ja auch nicht um die rechtmäßigkeit meines handelns (und nein, ich will auf keinen fall geld dafür verlangen) sondern um den fehler im netzwerkaufbau.

edit:
Du musst ja nicht daran verdienen, aber es darf dich auch nichts kosten (ausser viel Arbeit)
es kostet mich auch nichts :). den server hatte ich vorher auch schon.
Ergänzung ()

hat sonst denn keiner eine idee?
während der datenübertragung habe ich zu google z.b. auch nur einen ping von 600-800ms,
ansonsten um die 20ms...
das darf doch nicht sein?
 
Zuletzt bearbeitet:
Hey,
Das Problem liegt nicht nur an deinem Server. Stichwort Quality Of Service (QoS).
QoS dient dazu Traffic im Netzwerk zu Priorisieren. Dies muss aber von allen Geräten (Switch, Router) unterstützt werden.
Dazu gibt je nach Verfahren im Layer 2 und Layer 3 Header des Pakets bestimmte Bits, die sogenannten Class Of Service (CoS bzw. IP Precedence) Bits auf Layer 2 und die DSCP Bits auf Layer 3.
Bei CoS z. B. gibt es 8 Klassen:

0 routine - emails www traffic
1 priority
2 immidate - Best Effort
3 flash - z. B. Voice Signaling
4 flash-override - Video Streams
5 Mission Critical - z. B. Voice Traffic
6 internet - Netzwerk Traffic (keine Anwenderdaten)
7 network - Routing Updates etc.

Diese werden vom Client gesetzt und an den Switch weiter gereicht. Dieser muss den werten die er übergeben bekommt vertrauen. Tut er dies nicht überschreibt er die gesetzten Werte mit 0 was alltäglichem Traffic wie E-mails oder im WWW surfen entspricht.

Es gibt mehrere Verfahren wie man markierten Traffic und nicht markierten Traffic behandelt. Per Default ist z. B. bei Cisco Switchen der FIFO - First in Frist out - Algorithmus eingeschaltet. Welchen Algorithmus deine Hardware unterstützt musst du selbst heraus finden.

Priorisierung heißt in diesem Zusammenhang jedoch nicht Reservierung der Bandbreite. Man kann je nach Gerät verschiedene Queues (Warteschlangen) definieren. Den Warteschlangen kann man verschiedene Gewichtungen zuteilen (Auf Basis der CoS/DSCP Bits). Pakete, welche in der höher priorisierten Queue liegen werden zuerst abgearbeitet, so dass zeitkritischer traffic kein Delay/Verzögerung in der Ende zu Ende übertragung erfährt.

Sollte mal kein Traffic wie in deinem Fall für Video Streaming genutzt werden kann die volle Bandbreite auch für andere Dienste wie Datenübertragung genutzt werden. Sollte jedoch dann ein Videostream gestartet werden, werden Pakete (z. B. FTP) gedroppt, damit die zeitkritischen Pakete schneller an ihr Ziel kommen. Das droppen der FTP Pakete ist nicht weiter schlimm, da so die Window Size der TCP Verbindung nach unten korrigiert wird und durch TCP keine Pakete verloren gehen.

Ich gehe mal davon aus, dass ihr in eurem Wohnheim "Managed" Switche habt mit der entsprechenden Technologie, um Video Streaming zu priorisieren. Dies muss jedoch durch gehend im gesamten Netzwerk geschehen, da sonst ein Switch die Priorisierung wieder auf 0 setzt und somit der gesamte Aufwand umsonst war/ist.


Mal ein Versuch das ganze einfach darzustellen:

Dein Server setzt bei Video Stream die CoS Bits auf 4 (Binär 100), dazu muss er erst einmal erkennen können, ob der Client einen Video Stream startet oder eine FTP Verbindung. Er reicht die markierten Pakete weiter an den Switche.
Der Switch vertraut den Werten, welcher er vom Endgerät erhält und ordnet das Paket in der höher priorisierten Queue ein. Pakete die gerade übertragen werden, werden zu ende übertragen (Processing Delay). Anschließend wird erst die höher priorisierte Queue abgearbeitet. Dies geschieht auch, sofern konfiguriert, auf allen Uplink Verbindungen zu den anderen Switchen.

Dein Video Stream ist priorisiert, es sollten keine Bildruckler mehr auftreten.

Was passiert nun aber, wenn 5 Leute gleichzeitig Video Streams schauen und 2 Leute gleichzeitig per FTP Dateien vom Server ziehen?
Neueingabe Die höher priorisierte Queue wäre ja ständig voll und die anderen Pakte würden nie übertragen werden. Hiefür gibt es die verschieden Queueing Algorithmen, damit die einzelen Queues gerecht abgearbeitet werden.

So ist doch etwas ausführlicher geworden.... Das war QoS in kürze ist aber längst noch nicht das ganze Konstrukt.

Wie du Server-Seitig CoS oder DSCP Bits setzten kannst kann ich dir nicht sagen. Es gibt aber auch die Möglichkeit auf dem Switch die Markierung durchzuführen - Stichwort Policy Maps. Viel wichtiger ist, dass du erst einmal herausfindest, wann du entscheiden kannst, ob gerade Video Streams oder FTP Downloads stattfinden. Wenn du eine einfache Windows Freigabe hast könntest du auf die SMB ports filter und bei FTP auf Port 21 und danach die Markierung setzten.
Welche Ports Windows nutzt, wenn man direkt aus einer Freigabe ein Video abspielt müsstet du mal mit Wireshark analysieren.

Hoffe dir ein wenig geholfen zu haben. :) Ansonsten erkundige dich mal nach QoS, CoS und DSCP ein erster Link wäre Cisco QoS IOS 12.2 schon ein wenig älter aber recht gut erklärt.
 
Zurück
Oben