Ressource
  2020, 04 Avril . Actualités à la une . Lycée . Parents . Éducateurs . Professeurs du secondaire . Article ou présentation . .

Transport de données

Les services en ligne sont actuellement très sollicités entre      postes très dispersés, avec certains qui font du Skype/Zoom/etc à 15 voire 30, dans des conditions qui restent étonnamment fluides. Mais comment Internet peut-il fonctionner si bien dans ces conditions ?
Arnaud Legout, Olivier
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 milieux des années 2000 à aujourd’hui
    
    Reprenons les éléments de la stabilité d’Internet.
    1) le multiplexage : quelque soit le trafic qui est produit, il n’est jamais continu. Le principe du multiplexage est que lorsque tu as un trou dans ton trafic, ce trou est utilisé par    quelqu’un d’autre. Pour faire simple, ç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. 
    
    2) 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 cherche à 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. 
    
    3) 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 un problème pour 
  •  les applications interactives, typiquement le Web où l’usage    actuel demande une très faible latence dans l’affichage des pages Web,
  • les jeux ou la latence dois être largement en dessous de 100ms    (j’ai en mémoire 30ms),
  • la vidéo conférence ou 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). 
 Le plus gros générateur de trafic est le streaming vidéo    aujourd’hui.
    
4) 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 (contente 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 data centers, 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 populaire 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.
Pour conclure, l’architecture d’internet fait que les points de    congestion potentiel sont bien connus, et très surveillés. C’est en général les points de peering entre les opérateurs (c’est à dire l’endroit    ou l’on passe d’un opérateur à un autre), le reste du réseau étant    en général bien surdimensionné. 
 J’ai essayé de faire un survol rapide, il y a évidemment des    raccourcis et des simplifications. 
 
Dernière modification : avril 2020.
show post QRcode

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