URL: https://linuxfr.org/users/cmal/journaux/une-bosse-sur-la-ligne-pour-combattre-le-bufferbloat Title: Une bosse sur la ligne pour combattre le bufferbloat ? Authors: cmal Date: 2018年08月10日T13:25:14+02:00 License: CC By-SA Tags: réseau, bufferbloat, la_brique_internet, openwrt et internet Score: 31 Salut nal, T'as rien compris au titre ? C'est normal. **ATTENTION:** Je vais pas te faire un cours de réseau complet. Déjà, parce que c'est pas mon domaine. Et puis parce que j'ai juste assez de connaissances pour faire « oui-oui » de la tête quand j'ai lu l'article original en anglais, mais pas assez pour avoir vraiment bien tout compris de A jusqu'à Z (et donc te réexpliquer). apenwarr a récemment publié un article (en anglais) sur son blog nommé « [A little bump in the wire that makes your Internet faster](https://apenwarr.ca/log/?m=201808) », soit « Une petite bosse dans le fil qui rend ton Internet plus rapide ». En gros, ça part du constat que les routeurs xDSL fournis par nos escrocs préférés (les FAI) sont optimisés dans leur config pour une connexion correspondant au débit théorique maximum, celui que les départements marketing nous foutent sous le nez à longueur de temps. Or, quand on atteint pas en pratique ce débit pour lequel les queues sur le routeur ont été optimisées, cela amène à une grande augmentation de la latence sur les sessions TCP. Si ça ne t'est jamais arrivé sur ta connexion, tant mieux !!!!! Moi perso, ça m'arrive souvent (plusieurs heures par jour) de même pas pouvoir poster un formulaire HTTP (genre ouvrir une issue sur Github) tellement la connexion est saturée (une connexion ADSL pour 40 personnes). D'où mon intérêt pour la solution présentée... Du coup, notre amiE propose de mettre en place un petit appareil sur le réseau qui va mettre en place un certain nombre de queues et de règles de façonnage de trafic (trafic shaping en VO). Cet appareil sera placé entre la box ADSL et le réseau local. De son côté, ça se passe sur un routeur D-Link DIR-825... mais tout ça peut se faire sur n'importe quelle machine avec en gros deux ports ethernet à disposition. Logiciellement, la solution mise en place est `fq_codel`. C'est un mélange entre FQ et CoDel : - FQ (Fair Queuing) met en place une queue par flux réseau et alterne équitablement entre elles, en privilégiant les petits flux réseaux. Par exemple, une session interactive SSH (petit flux) sera privilégiée par rapport à un transfert de fichier en scp (gros flux) - CoDel (Controled Delay) ralentit les flux réseaux (en jetant des paquets) en fonction du temps que le flux met à traverser le réseau, sans attendre que la queue soit pleine (souvent, un routeur ne jette des paquets que quand sa queue est pleine) Il paraît que tout ça est intégré à nos distros préférées, et qu'il existe un paquet SQM sur OpenWRT/LEDE (← les deux projets [ont refusionné](https://openwrt.org/about#announcing_the_openwrtlede_merge)). Il faut juste spécifier manuellement la capacité de ta ligne, et c'est parti :  Après, l'article original décrit comment configurer son routeur pour séparer clairement le WAN, un port qui donne accès uniquement en LAN pour la configuration du routeur, et un port bridgé avec le WAN qui donne accès à Internet passant par la "bosse" fq_codel. Mais comme j'ai dit que je ferais pas un cours de réseau, je vais pas détailler tout ça. Si tu parles anglais, je te renvoie vers l'[article original](https://apenwarr.ca/log/?m=201808), sinon j'espère que d'autres libristes qui s'y connaissent bien en réseau sauront francophoniquement éclairer ta lanterne dans un autre journal. # Conclusion Voici les résultats de test de débit que apenwarr a pris avant et après la mise en place de sa bosse. Situation|Download (Mbit/s)|Upload (Kbit/s)|Latence (ms) :---:|:---:|:---:|:---: Avant|4.6|72|80 Après|3.2|360|31 On voit que si la vitesse en download a été réduite de plus de 1Mbit/s, la latence est passée de 80ms à 30ms, et l'upload de 70Kb/s à 360Kb/s. Ce qui en pratique permet des connexions beaucoup plus rapides ! Car de nombreuses applications et de nombreux protocoles (dont le web) requièrent de faire un certain nombre d'allers-retours (roundtrips) et dans ces cas là la latence devient souvent le facteur limitant. En gros, pour un usage moyen d'internet (d'autres usages sont possibles !) une connexion en fibre optique en gigabit ne te servirait à rien du tout si elle avait la latence d'une connexion satellite. Bon, moi je vais essayer de me trouver un routeur compatible OpenWRT pour mettre en place ça chez moi. Si t'as une idée d'où trouver un routeur comme ça (gratuit ou d'occas) autour de Paris, fais moi signe dans les commentaires :) Après la [Brique Internet](https://labriqueinter.net), voici donc venue la Bosse Internet. Peut-être ce concept peut-il intéresser des camarades de la FFDN pour intégrer ce genre de solutions à leur brique ? Ou pour prendre en considération dans la configuration des routeurs des abonnéEs ? N'hésite pas à en parler à l'équipe de ton FAI local, que ça soit autour d'une bière ou d'un jus de pomme ! # Est-ce que t'en as besoin ? Au final, j'ai tellement gratté du français que j'ai même oublié de glisser le mot « [bufferbloat](https://en.wikipedia.org/wiki/Bufferbloat) » (en anglais) dans le journal. C'est le terme générique qui désigne les queues et buffers mal configurées causant des problèmes de latence sur le réseau. D'après Wikipedia, la première étude sur les bufferbloats remonte à 1985... Autant dire que si beaucoup de choses ont changé sur le réseau depuis, ce problème est toujours omniprésent. D'où le projet [bufflerbloat.net](https://www.bufferbloat.net/projects/) qui regroupe des gens travaillant sur la question, des routeurs aux drivers wifi de nos laptops. Alors, est-ce que tu es toi aussi victime de bufferbloat? Le projet bufflerbloat.net propose [des tests](https://www.bufferbloat.net/projects/bloat/wiki/Tests_for_Bufferbloat/). En gros, le plus simple pour tester ça en deuspi c'est de lancer en arrière-plan un ping, et en même temps un test de connexion (par exemple sur [speedtest.net](http://www.speedtest.net)). Si le test de connexion fait monter ton ping (dans mon cas passant de 25ms à plus de 100ms), alors tu peux toi aussi te lancer dans la chasse au bufferbloat !