Ich versteh jetzt nicht, was du genau meinst, weil du ja anscheinend weißt was Bandbreitenreservierung ist?
Naja, ich weiss manches, aber manches auch nicht. Und bei Deinem Text blieben in meinem Kopf eine menge Fragen, zB der use-case (Endanwender mit DSL, SOHO oder irgendwas industrielles, und welche payload) oder die eingesetzte Technik.
Ich könnte mir zB vorstellen (ich weiss aber nix konkretes), dass die Leute, die da bei billiger-telefonieren ihre 010xx Vorwahlen anbieten, auch nur irgendwo nen Asterisk haben und ungenutzte interconti-Bandbreiten bartern. (Die Qualität deutet zuweilen auf sowas hin.)
Jup, das zwackt aber dauerhaft bei den anderen Diensten ab.
Das hatte auch ne andere Vorgeschichte. Ganz einfach (ist ein paar Jahre her), die nachbarn haben sich mangels DSL per modem ins Internet eingewählt, und da hab ich gesagt, nehmt doch einfach mein WLAN. Das Ergebnis war, dass ich von aussen nicht mehr auf meinen Server gekommen bin, und die Ursache war auch schnell klar: die hatten ein uraltes Windows, das nie einen patch gesehen hat (geschweige denn einen Virenwarner oder sowas), und dank der neuen Bandbreite haben sie sich wohl erstmal auf unkoscheren Seiten umgetan - und dann war die Kiste damit beschäftigt, E-Mails zu versenden was die Leitung hergibt. Nicht dass mich das gestört hätte, aber ich hab dann Vorkehrungen getroffen, dass immer ein bischen Bandbreite für meine remote shell frei bleibt.
Ich wollte dass die Reservierung dynamisch ist, dh. wenn ich downloade, dann solldie Leitung frei sein. Wenn ein Anruf kommt, soll der pipe soviel abgezwackt werden wie nötig (+eben ein wenig Luft, ist unvermeidbar)
Man könnte - das kommt mir jetzt grad so in den Sinn - wenn man Telefonie selber routet (aka Telefonanlage in Software), dann sollte der Asterisk ja wissen, wieviele Gespräche er grad aktiv hat, und kann die pipe entsprechend dynamisch umkonfigurieren. (Das mit dem Telefonie routen ist eine der Herausforderungen, die ich grad noch vor mir herschiebe - sieht aber verlockend aus.)
fq_codel ist schnell und 'seamless', wenn man so sagen will.
Da wäre interessant zu erfahren, wie Du es praktisch konfigurierst.
Die Konfiguration scheint nämlich einigermaßen verwickelt -
der Kollege hier nutzt zB eine Syntax, die nicht in der manpage steht, und die zwar akzeptiert wird, aber scheinbar wirkungslos ist.
Und ich hab zwischenzeitlich ein bischen rumgebastelt, und eine vage Ahnung gekriegt, worum es gehen könnte (bisher hab ich nur entweder fixe Bandbreitengrenzen für bestimmte Dienste gemacht oder Gewichtugen mit "queue weight".)
Was bei der Testseite rauskommt, sieht dann so aus:
- unlimited: qualität = A buffering = C
- mit pipe-limit: qualität = C buffering = F
- mit pipe + fq_codel + queue: qualität = C buffering = A
- mit pipe + wf2q+ + queue mit 'mask all': qualität = A buffering = A
- mit pipe + qfq + queue mit 'mask all': qualität = A+ buffering = A
Ich will nicht behaupten dass ich verstehe was das alles bedeutet, und was dieser Test misst oder was dabei systemische Fehler sein könnten, oder gar was das dann in der realen Praxis bewirken mag...