Actualite
  2020, 04 Avril . .

Transport de données : comment Internet tient la charge en mode confinement

CC-BY
Confinement oblige, les services en ligne sont actuellement énormément sollicités : télétravail, réunions par skype, ou autre à 15, voir 30 personnes, école à la maison, cinéma avec Netflix, jeux en ligne… Mais comment Internet peut-il fonctionner dans ces conditions ?
Ci-dessous une synthèse des échanges sur le sujet entre collègues Inria (Olivier Ridoux, Fabrice Neyret , Serge Abiteboul, Arnaud Legout et Florian Dufour).

Commençons d’abord par quelques rappels sur la « robustesse » d’Internet.

La stabilité et la robustesse à l’échelle (scalability) d’Internet repose sur 5 niveaux :
  • le multiplexage du trafic (IP et la notion de datagramme)
  • le contrôle de congestion dans le réseau (TCP),
  • le contrôle de débit adaptatif fait au niveau des applications,
  • la réplication des contenus proche des consommateurs,
  • le dimensionnement du réseau.
Toutes ces points existent depuis les années 1990 et énormément d’intelligence a été mis dedans depuis 30 ans : ça n’est donc pas un hasard si Internet fonctionne malgré plusieurs révolutions dans les usages qui ont conduit à une profonde modification du trafic :
  • mail et accès serveurs distants dans les années 1980 
  • Web dans les années 1990
  • réseaux sociaux et Web participatif dans les années 2000
  • P2P et vidéo streaming milieu des années 2000 à aujourd’hui
Reprenons les éléments de la stabilité d’Internet :
  • le multiplexage 

Quelque soit le trafic qui est produit, il n’est jamais continu. Le principe du multiplexage est que lorsque vous avez un trou dans votre trafic, ce trou est utilisé par quelqu’un d’autre. Ça fonctionne très bien et ça a été beaucoup étudié. 

En pratique on trouve tout de même des composantes auto similaires à  de nombreuses échelles de temps, et pour les supporter la solution c’est le surdimensionnement du réseau. 
  • le contrôle de congestion TCP 

TCP est un protocole de congestion à boucle fermé créé en 1988 et  amélioré très régulièrement même si la base reste la même. On peut voir Internet comme un système dynamique composé de milliard de boucles de contrôle qui cherchent à trouver le point d’équilibre pour une utilisation  optimale des ressources. Ça aussi ça fonctionne très bien.

Cependant, TCP n’est pas très bien adapté à certains cas et la  tendance est d’utiliser UDP (l’autre protocole de transport qui ne fait pas de contrôle de congestion) et de gérer l’adaptation au niveau applicatif. Le principal argument pour faire cela est de prendre en compte les besoins de l’application dans le contrôle de congestion, ce que TCP ne peut pas faire à cause de l’isolation des couches protocolaires. 
  • le contrôle adaptatif applicatif 

Pour de nombreuses applications, TCP pose quelques problèmes : il est difficile de garantir un délai (dans l’interactivité, mais également dans la vitesse de convergence) avec TCP. Cela pose plusieurs problèmes :

=> les applications interactives, typiquement le Web où l’usage actuel demande une très faible latence dans l’affichage des pages Web,

=> les jeux où la latence doit être largement en dessous de 100ms (voire 30ms), 

=> la vidéo conférence où l’on veut un très faible délai
Pour tout ce qui est vidéo conférence, des protocoles de contrôle de congestion en couche sont utilisés. C’est-à-dire que la qualité de la vidéo se dégrade et s’améliore en fonction du débit disponible (évalué en général avec les pertes) en exploitant un encodage vidéo utilisant des couches cumulatives, à chaque couche la qualité s’améliore.
Les outils de vidéo conférence fonctionnent en général en pair à pair (ce qui ne va pas sans poser des problèmes de protection de la vie privée, mais c’est une autre histoire…). 
Aujourd’hui, le plus gros générateur de trafic est le streaming vidéo.
  • la réplication de contenus

Depuis l’explosion du Web, on s’est vite rendu compte qu’il était impossible de servir avec une bonne qualité le monde entier depuis un serveur centralisé. Cela a donné lieu aux recherches sur les CDN (content delivery network) où l’idée est d’avoir des serveurs (ou même des datacenters) dans le monde entier et de pousser nos contenus dans ces datacenters, puis de rediriger les requêtes des clients vers les serveurs les plus proches. 
Tout le monde utilise cela aujourd’hui pour les sites web populaires et pour le vidéo streaming. 
La synchronisation du contenu sur les serveurs  (en particulier pour le Web qui est bien plus dynamique que la vidéo) est un sujet difficile, mais ici aussi ça fonctionne bien. 
Depuis le début du confinement les serveurs d’applications peuvent être surchargés : les espaces publics numériques (EPN) par exemple, peinent en ce moment, d’ailleurs peu de systèmes tiendraient une pareille montée en charge.
Les réseaux des opérateurs télécoms eux tiennent plutôt bien avec des problèmes locaux ou de gestion de trafic : problèmes sur la voix dans quelques endroits par exemple.
Par ailleurs des points d’interconnexion entre réseaux, notamment vers les US, sont stressés : dans ce contexte Netflix, YouTube et d’autres ont décidé de réduire leur débit sur l’Europe : on n’est pas obligé d’avoir une super résolution. Disney a accepté de retarder la sortie de sa chaine Disney+ juste pour la France. C’est important quand on sait que la VOD (Netflix, Youtube…) occupe une partie importante de bande.
En plus des CDNs (RDC en français pour réseau de diffusion de contenu), Netflix paie les FAI (Fournisseurs d’Accès à Internet) pour qu’ils hébergent des caches, dans lesquels les films ou séries les plus regardés sont copiés quotidiennement. Ainsi, quand on regarde une vidéo « populaire » sur Netflix, il y a de grande chance que ce soit un serveur situé sur le réseau d’un de nos FAI qui nous fournisse celle-ci, sans passer par du peering.
C’est d’ailleurs apparemment ce que Disney+ n’a pas mis en place, et qui aurait permis à Orange de faire pression pour repousser sa sortie en France. Disney+ n’a que des CDNs, donc augmentera la quantité de données passant par le peering. Pour un fournisseur de contenus, le fait d’avoir des serveurs au plus près des FAI est un avantage pour eux en terme de qualité de service, qu’ils paient en coût d’infrastructure et dans des accords commerciaux de peering avec les FAI. Il faut reconnaitre que cela soulage le reste du réseau qui voit passer moins de flux. On peut imaginer que la remise de la sortie de Disney+ s’accompagne de discussions commerciales entre Disney et les FAI.
Dans ce contexte, un principe essentiel pour supporter la liberté de choix des consommateurs et une concurrence plus juste des services en ligne est la neutralité du net, qui se définie comme la non-discrimination de l’acheminement du trafic selon l’origine ou la destination des contenus. Cette neutralité adoptée dans un premier temps aux États-Unis a été abandonnée par la FCC (Federal Communications Commission). Elle est défendue en Europe. Une congestion exceptionnelle de trafic ne peut être une raison pour l’abandonner car la règle européenne autorise les FAI à ralentir des flux particuliers pour maintenir l’ensemble du système. Elle autorise aussi de ralentir certains types de contenus, par exemple des flux vidéos. Par contre, on ne peut ralentir de tels types de manière sélective comme de ralentir les flux de Netflix et pas ceux de YouTube.

Pour conclure

L’architecture d’Internet fait que les points de congestion potentiels sont bien connus, et très surveillés. Quand un service en ligne fonctionne mal en ce moment, d’où peut venir le problème ? De votre téléphone peut-être. De votre Wifi, c’est possible si vous êtes trop en compétition à l’utiliser. Si vous êtes connectés avec un téléphone mobile, c’est possible que la station 4G soit trop utilisée en ce moment. Sinon est-ce que le problème vient du réseau de télécommunication de FAI, probablement Orange, SFR, Bouygues Tel, ou Free ? C’est peu probable car leurs systèmes semblent bien résister même s’ils sont plus stressés qu’en temps normal. La congestion peut se situer dans le passage d’un réseau à un autre, un point d’interconnexion entre réseaux – Internet est un réseau de réseaux. C’est de tels points de peering entre les réseaux (c’est à dire l’endroit où l’on passe d’un réseau à un autre) que viennent parfois les problèmes. En particulier, les points de passages vers les États-Unis sont beaucoup mis à l’épreuve. Pourtant, eux aussi semblent tenir. En fait, il est aussi possible que ce soient les serveurs de l’application que vous utilisez qui soient sous-dimensionnés. Ça peut être le cas de services de l’Éducation Nationale qui ont vu leurs usages exploser. Pour ce qui est du réseau, il est dimensionné pour résister aux pics, comme les films après dîner ; il est même prévu pour les augmentations de trafic « normales », attendues en permanence. Pour l’instant, il tient.
Ces temps difficiles montrent surtout l’importance de l’accès à Internet de toute la population et de la nécessité que toute cette population sache se servir du numérique.

Sur le même sujet

Mais aussi et encore

Dernière modification : avril 2020.
show post QRcode

Vous pourriez aussi être intéressé-e-s par :
…/…