Bufferbloat ist ein komplexes Phänomen und es ist nicht zielführend, dem einfach mit noch mehr Bandbreite zu begegnen.
Es ist auch keine Limitierung des WAN-Interfaces im eigentlichen Sinne, auch nicht des Providers. Schließlich kann man ja auch mit voller Bandbreite runterladen. Vielmehr geht es u.a. darum, dass insbesondere bei asynchronen Up- bzw Downloadraten wie sie daheim üblich sind, das klassische TCP-Handshake zum Problem werden kann. Jedes Paket will bei TCP bestätigt werden und so gehört zu jedem Download auch ein gewisser Upload. Dabei wird im Router zunächst eine Warteschlange bzw ein Puffer mit Paketen gefüllt, die dann nach und nach abgefrühstückt werden. Solche Puffer können zig Tausende von Paketen enthalten. Das allein bewirkt jedoch noch keinen bufferbloat. Dieser kommt erst dann zum Tragen, wenn innerhalb dieses Puffers Pakete unterschiedlicher Priorität vorhanden sind.
Beim Streamen wird der Player naturgemäß versuchen, seinen eigenen Puffer nicht leerlaufen zu lassen. Daher lädt er konstant bzw. in Etappen nach und füllt dabei jedes Mal die Warteschlange am Router mehr oder weniger komplett, weil ja über LAN und so, 1 Gbit/s. Der Router kann aber nur mit dem WAN-Speed weiterleiten und so läuft der Puffer voll. Dem Player ist es relativ egal wie lange die Pakete da rumgammeln, solange er die Antwort vom Server bekommt bevor der Videopuffer leerläuft und das Video stehen bleibt. Dem Gamer-PC ist jedoch eine zeitnahe Antwort wichtig, aber dessen Pakete müssen sich an der Warteschlange ganz hinten anstellen, weil der Videoplayer ja schon alles belegt hat.
Schlimmer wird es dann noch, wenn einige der Pakete im Puffer gar nicht mehr gültig sind und somit eh nutzlos einen Platz belegen.
Nun gibt es verschiedene Mechanismen wie so ein Puffer arbeiten kann. Ganz banal wäre eben ein FIFO, first in, first out. Gerade dabei entsteht so ein Stau. Erweiterte Mechanismen wie zB fq-codel, bei denen die Pakete statt in einen riesigen Puffer gelagert werden wie es sonst üblich ist zufällig in einen von 1024 kleineren Puffer verteilt werden, die dann ihrerseits über Verweildauer der Pakete Staus erkennen und sporadisch aufräumen. So werden die Pakete vereinfacht ausgedrückt durcheinandergewürfelt statt sie in einer laaaaaaaaaaangen Reihe feinsäuberlich hintereinander aufzustellen.
Tiefer ins Detail möchte ich nicht gehen, weil schon eine grobe Erklärung recht komplex ist. Fakt ist, dass bufferbloat ein Phänomen ist und bei zeitkritischen Verbindungen zum Problem werden kann - selbst wenn die Internetleitung im Schnitt nicht ausgelastet ist wie an den Nachlade-Bursts von
@0x8100 schön zu sehen ist. Der Player wird hier nämlich höchstwahrscheinlich eine konstante Datenrate anzeigen obwohl er etappenweise eben doch die Leitung vollständig auslastet.
Eine Bandbreitenlimitierung einzelner Geräte kann hierbei auch helfen, die Probleme zu minimieren. Dadurch werden Pakete zB von Player nicht angenommen bzw sofort verworfen, wenn sie zu schnell reinkommen und somit landen sie gar nicht erst im Puffer.