- Mitglied seit
- 15 Jul 2004
- Beiträge
- 486
- Punkte für Reaktionen
- 0
- Punkte
- 0
Ich möchte heute mal erläutern weshalb herkömmliche Trafficshaper im VoIP Bereich leider immer wieder Probleme bereiten. Dabei möchte ich erläutern weshalb diese Trafficshaper nicht funktionieren können.
Ich habe es die Tage schon einmal erklärt und möchte dies nun in einem vernünftigen Beitrag mit vernünftiger Überschrift tun
Hier der alte Beitrag:
http://www.ip-phone-forum.de/forum/viewtopic.php?t=13879
QoS ist mehr als eine Trafficshaper. Ein Trafficshaper hat eigentlich zur Aufgabe dafür zusorgen das Down- und Up-Stream nicht zusammen brechen bei großer Belastung. Hier drauf werde ich gleich aber noch genauer drauf eingehen.
Schauen wir jetzt den SFQ an. Dieser Scheduler ist ganz rechte etwas für VoIP. Er legt 127 Bänder an und verteilt jedes Paket auf diese Bänder. Durch seinen Algorithmus sorgt er, dass alle Verbindungen gleich behandelt werden. Doch leider gibt es einen großen Haken: eMule, das böse Haustier. Diese P2P – Programme erzeugen mehrere hunderte sogar bis tausende Verbindungen gleichzeitig. Und wenn nun alle Verbindungen gleich behandelt werden, stehen die VoIP Verbindungen nicht gut dar.
Der Token Bucket Filter (TBF) dabei sorgt dabei das jede Klasse eine bestimmte bzw. die gleiche Anzahl von Tokens bekommen. Sendet eine Klasse mehr als sie eigentlich kann, müssen die Pakete warten bis wieder Tokens verfügbar sind. Sendet eine Klasse weniger als Sie könnte kann Sie Tokens weiter geben. Aber warum kann man den bei Trafficshapern Prioritäten vergeben? Diese dienen lediglich dazu um zu entscheiden wer zuerst die Tokens erbt die eine andere Klasse nicht benötigt.
Sie sehen ja selbst, hier wird lediglich die Bandbreite verteilt. Trafficshaper, verwenden diesen Scheduler gerne, da man gleichzeitig dafür sorgt, dass die Leitung immer für Bestätigungspakete freigehalten wird in dem man die maximalen Werte der Leitung nicht überschreitet.
Nehmen wir uns den Hierarchical Token Bucket (HTB) zur Brust Dieser basiert auf dem TBF und beinhaltet auch die gleichen Optionen zur Steuerung. Allerdings verteilt er die Tokens etwas anders. Dieser Scheduler kann etwas besser eingestellt werden und wird hauptsächlich für Trafficshaper verwendet. Ich möchte euch gerne eine Beispiel aus dem Linux-Magazin zeigen um zu verdeutlichen weshalb dieser Scheduler nichts für VoIP ist:
Ich denke ich muss hier nicht weiter eingehen. Man sieht, dass die meisten Trafficshaper eigentlich überhaupt nicht VoIP tauglich sind. Man sollte aber auch beachten Trafficshaper QoS Scripte die eigetnlich nur dafür sorgen, dass die Leitung nicht überlastet wird und damit die Verbindungen und deren Leistungen einbrechen.
AVM benennt Ihre QoS-Scripte als Trafficshaping weshalb das Wort im eigentlichen Sinne missverstanden wird. Es hat schon seinen Grund warum es das Wort QoS und Trafficshaper gibt.
Allerdings möchte ich einen Scheduler nennen der die Lösung für VoIP bietet: HFSC. Ich selber aber hatte noch keine Zeit gefunden mich mit diesem Scheduler genauer zu befassen. Glücklicherweise hat Udosw hier im Forum sogar meinen Hinweis genutzt (glaub ich) und hat sogar schon ein vorhandenes Script angepasst an HFSC.
Hier der Link zum Thread:
http://www.ip-phone-forum.de/forum/viewtopic.php?t=14148
Ich hoffe, dass das Script von Ihm euch helfen wird die Probleme mit QoS zu lösen. Evtl. werden auch paar Hersteller von Routern bald diese HFSC Scheduler unterstützten und VoIP wird dann noch mehr Spaß machen, als es das schon macht.
Ich habe es die Tage schon einmal erklärt und möchte dies nun in einem vernünftigen Beitrag mit vernünftiger Überschrift tun
Hier der alte Beitrag:
http://www.ip-phone-forum.de/forum/viewtopic.php?t=13879
QoS ist mehr als eine Trafficshaper. Ein Trafficshaper hat eigentlich zur Aufgabe dafür zusorgen das Down- und Up-Stream nicht zusammen brechen bei großer Belastung. Hier drauf werde ich gleich aber noch genauer drauf eingehen.
Schauen wir jetzt den SFQ an. Dieser Scheduler ist ganz rechte etwas für VoIP. Er legt 127 Bänder an und verteilt jedes Paket auf diese Bänder. Durch seinen Algorithmus sorgt er, dass alle Verbindungen gleich behandelt werden. Doch leider gibt es einen großen Haken: eMule, das böse Haustier. Diese P2P – Programme erzeugen mehrere hunderte sogar bis tausende Verbindungen gleichzeitig. Und wenn nun alle Verbindungen gleich behandelt werden, stehen die VoIP Verbindungen nicht gut dar.
Der Token Bucket Filter (TBF) dabei sorgt dabei das jede Klasse eine bestimmte bzw. die gleiche Anzahl von Tokens bekommen. Sendet eine Klasse mehr als sie eigentlich kann, müssen die Pakete warten bis wieder Tokens verfügbar sind. Sendet eine Klasse weniger als Sie könnte kann Sie Tokens weiter geben. Aber warum kann man den bei Trafficshapern Prioritäten vergeben? Diese dienen lediglich dazu um zu entscheiden wer zuerst die Tokens erbt die eine andere Klasse nicht benötigt.
Sie sehen ja selbst, hier wird lediglich die Bandbreite verteilt. Trafficshaper, verwenden diesen Scheduler gerne, da man gleichzeitig dafür sorgt, dass die Leitung immer für Bestätigungspakete freigehalten wird in dem man die maximalen Werte der Leitung nicht überschreitet.
Nehmen wir uns den Hierarchical Token Bucket (HTB) zur Brust Dieser basiert auf dem TBF und beinhaltet auch die gleichen Optionen zur Steuerung. Allerdings verteilt er die Tokens etwas anders. Dieser Scheduler kann etwas besser eingestellt werden und wird hauptsächlich für Trafficshaper verwendet. Ich möchte euch gerne eine Beispiel aus dem Linux-Magazin zeigen um zu verdeutlichen weshalb dieser Scheduler nichts für VoIP ist:
Angenommen jedes zu sendende Paket ist 1500 Byte groß und alle Klassen senden mit maximaler Kapazität. Aufgrund der Leitungskapazität von 1000 KBit/s dauert es 12 Millisekunden, um ein Datenpaket zu versenden: 11.500 Byte/Paket * 8 Bit/Byte / 1.000.000 Bit/s = 12 ms/Paket. Sendet die VoIP-Anwendung mit 100 Kbit/s, dann sind das bei 1500-Byte-Paketen etwa acht Pakete pro Sekunde: 1.000.000 Bit/s / ( 1500 Byte/Paket * 8 Bit/Byte) = 8,33 Pakete/s. Um die garantierte Rate von 100KBit/s für diese Klasse einzuhalten, muss die QDIsc (ich habe Sie Scheduler genannt) spätestens alle 120 Millisekunden ein Datenpaket der Klasse versenden: 1 Paket / 8,33 Pakete/s = 0,12s. Daraus ergibt sich eine Maximalverzögerung von etwas 130 ms pro Paket. (120+12)
Das Beispiel illustriert die enge Verflechtung von Bandbreite und Verzögerungszeit.
Ich denke ich muss hier nicht weiter eingehen. Man sieht, dass die meisten Trafficshaper eigentlich überhaupt nicht VoIP tauglich sind. Man sollte aber auch beachten Trafficshaper QoS Scripte die eigetnlich nur dafür sorgen, dass die Leitung nicht überlastet wird und damit die Verbindungen und deren Leistungen einbrechen.
AVM benennt Ihre QoS-Scripte als Trafficshaping weshalb das Wort im eigentlichen Sinne missverstanden wird. Es hat schon seinen Grund warum es das Wort QoS und Trafficshaper gibt.
Allerdings möchte ich einen Scheduler nennen der die Lösung für VoIP bietet: HFSC. Ich selber aber hatte noch keine Zeit gefunden mich mit diesem Scheduler genauer zu befassen. Glücklicherweise hat Udosw hier im Forum sogar meinen Hinweis genutzt (glaub ich) und hat sogar schon ein vorhandenes Script angepasst an HFSC.
Hier der Link zum Thread:
http://www.ip-phone-forum.de/forum/viewtopic.php?t=14148
Ich hoffe, dass das Script von Ihm euch helfen wird die Probleme mit QoS zu lösen. Evtl. werden auch paar Hersteller von Routern bald diese HFSC Scheduler unterstützten und VoIP wird dann noch mehr Spaß machen, als es das schon macht.