DASH = Dynamic Adaptive Streaming over HTTP
Un article de Wikipedia en Anglais :
Dynamic Adaptive Streaming over HTTPJ'aimerais bien savoir quel choix a fait le DASH sans devoir comparer la quantité de données téléchargées sur une longue période.
Pour ceux qui souhaitent voir comment sont transférées les données en HTML5 avec Netflix, voici une capture Wireshark de la série "Prison Break" en HTML5 (Saison 1, Épisode 1)
Je précise que mon écran est d'une résolution 1024x768 (théoriquement il ne devrait pas m'envoyer du Full HD)
J'utilise Google Chrome 37 sous Ubuntu 14.04 LTS.
La capture :
201409_netflix_html5_ubuntu_ecran_1024x768.pcapng.gz (ce fichier s'ouvre directement avec les versions de wireshark récentes)
On remarque :- Netflix démarre directement avec 5 connexions TCP simultanées vers la même IP. Les connexions inutilisées sont fermées après 60 secondes d'inactivité.
- Sur ma connexion Numericable 100 Mb/s, c'est le transitaire Level3 qui est utilisé. Probablement que le trafic est trop important pour passer par les 40 Gb/s du lien France-IX de Numericable (qui fait passer du trafic autre)
- Les 20 premières secondes il va télécharger 200 secondes de vidéo à un débit de l'ordre de 40 Mb/s si la connexion le permet. Pour ce faire, il va utiliser 3 connexions TCP en simultané.
- Ensuite il télécharge des petits paquets de 4 secondes de vidéo, toutes les 4 secondes, de façon à avoir toujours 200 secondes de vidéos téléchargé en avance, ce qui permet d'encaisser un coup dur, comme un incident réseau de courte durée (avec changement de routage BGP, ce qui met quelques secondes a converger) ou une perte du signal Wi-fi avec connexion sur un autre point d’accès. Bien que les autres connexions TCP sont toujours ouvertes, il utilise toujours la même connexion TCP. Probablement que si le paquet de 4 secondes n'est pas arrivé alors qu'il doit télécharger le suivant, il utiliserait une autre connexion TCP (quitte a la ré-ouvrir, car une connexion TCP inutilisée est fermée après 60 secondes).