Orange connait bien tous les paramètres qui rentre en compte pour la QoE / QoS, ils ont de nombreux experts dans le domaine.
Si on exclut des destinations qui passent Cogent / Telia, Orange est opérateur exemplaire et je vous et au défit de trouver des saturations récurrentes en FttH, des latences significativement trop élevées, des pertes de paquet ou de la gigue.
Beaucoup d’opérateurs dans le monde aimenraient avoir un réseau de la qualité d'Orange, que ce soit sur le fixe ou le mobile.
Orange va jusqu’à analyser les problématiques mêmes minimes comme celle-ci dessous et à pousser les correctifs pour que tous en profitent.
Chaque trois semaines, des centaines de correctifs dans le noyau Linux sont distribués, ils corrigent quoi ?
Il n'y a pas que des failles de sécurité qui sont corrigées. Il y a aussi des bugs qui peuvent vous impacter.
Je vais m'attarder sur un exemple précis de régression qui entraînait des période(s) de 200 millisecondes où le transfert réseau est interrompu, entraînant une baisse de débit moyen pouvant aller jusqu’à 10%, pour les connexions TCP impactées par cette violation de la RFC793. Les RFC sont des documents décrivant les aspects et spécifications techniques d'Internet. Celle-ci date de 1981 et décrit le standard TCP (Transmission Control Protocol) que nous utilisons systématiquement sur Internet, au-dessus d'IPv4 ou d'IPv6. L'alternative possible à TCP est UDP.
Ce bug qui impactait tous les serveurs équipés d'un Linux récent a été découvert et corrigé par... Orange France.
J'ai vraiment été admiratif du travail des équipes d'Orange, qui consiste, quand il y a un bug, à ne pas se limiter à trouver un contournent, mais à chercher l'origine du bug dans le code et proposer un correctif au mainteneur du code en question, pour que le monde entier profite du correctif.
Concrètement pour Ubuntu, le 1er décembre 2020, le noyau 5.4.0-56-generic #62-Ubuntu SMP Mon Nov 23 19:20:19 UTC 2020 était déployé pour succéder au noyau 5.4.0-54-generic.
Le noyau 5.4.0-55-generic qui intègre plus de 1300 correctifs de bug n'a pas été publié, car la CVE-2020-4788 classée "medium" est arrivée pendant sa phase de validation de non régression. Le 5.4.0-56-generic intègre le 5.4.0-55-generic et rajoute la correction de la CVE-2020-4788.
Dans la liste des 1300 correctifs, il y a tcp: fix receive window update in tcp_add_backlog(), le bug trouvé et corrigé par Orange. On va voir ce qui se cache derrière, les impacts et pourquoi ce type de bug est complexe à trouver.
La régression, découverte par Orange en octobre 2020, était dans le fichier tcp_ipv4.c:tcp_add_backlog(). Non seulement cela pouvait dégrader les performances réseau dans certaines circonstances mais c'était également la source d'un bug dans netfilter, un pare-feu intégré au sein du noyau Linux. Le patch (bugfix) proposé par Orange a été backporté dans la branche stable du noyau Linux et intégré par les différentes distributions plus ou moins rapidement. Pour Ubuntu, il a été poussé à tous le 1er décembre 2020 avec des centaines d'autres correctifs, dont une faille de sécurité, c'est donc proposé comme une mise à jour de sécurité.
Voici quelques diapositives, publiées avec l'accord d'Orange, qui explique la problématique technique :