PDFprof.com Search Engine



Cours 4: Réseaux et multimédia

PDF
Images
List Docs
:

Cours 4: Réseaux et multimédia
Support des applications multimédia dans les réseaux de prochaine
INTRODUCTION ET HISTORIQUE DES
Les outils du multimédia
Streaming et Signalisation Plan Applications multimédia
Applications numériques
Fonctions et Applications
Chapitre 1 Ensembles et applications
APPLICATIONS ET FONCTIONS
MATHÉMATIQUES ET OUTILS NUMÉRIQUES AU COLLÈGE
Applications continues
Next PDF List

Applications reseauCours 4 : Reseaux et multimediaFlorian Sikoraflorian.sikora@dauphine.frLAMSADEM1 apprentissageAdapte des slides de Kurose & RossApplicationsStreaming sto ckeV oIPStreaming temps r eelCours 4 : MultimediaApplications reseau multimediasStreaming de donnees enregistreesVoix sur IPStreaming temps reel2/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelObjectifsIComprendre le transfert de donnees multimedias.IDeveloppement recent.IQ : Exemples?IJeux en ligne.IVoix sur IP.IVideo en streaming.IRadio par Internet.I ISensibles a la duree de transmission et delais.ITolerant a la perte.IEnjeu car Internet est \best-eort".3/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelObjectifsIComprendre le transfert de donnees multimedias.IDeveloppement recent.IQ : Exemples?IJeux en ligne.IVoix sur IP.IVideo en streaming.IRadio par Internet.I ISensibles a la duree de transmission et delais.ITolerant a la perte.IEnjeu car Internet est \best-eort".3/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelObjectifsIComprendre le transfert de donnees multimedias.IDeveloppement recent.IQ : Exemples?IJeux en ligne.IVoix sur IP.IVideo en streaming.IRadio par Internet.I ISensibles a la duree de transmission et delais.ITolerant a la perte.IEnjeu car Internet est \best-eort".3/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelEnjeuxILa video demande une tres grosse bande passante !IOn compare :IFrank regarde sur Facebook une photo de 200Ko toutes les 10secondes.IMelanie ecoute de la Musique sur deezer encodee a 128 Kbps.IVirginie regarde de la Video encodee a 2Mbps.IApres 1h07 :IF : 80 Mo.IM : 64 Mo.IV : 1 Go !!!ILa video devrait representer bient^ot 90% du trac internet ICompression possible 4/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelCours 4 : MultimediaApplications reseau multimediasStreaming de donnees enregistreesVoix sur IPStreaming temps reel5/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelAudioIAudio : signal analogique : doit ^etre echantillonne.IEchantillonnage a rythme xe :I8 000 echantillons par secondes pour le telephone.I44 100 pour un CD (44,1 kHz).IChaque echantillon est arrondi (quantication) a une valeurpredenie (perte).IValeur predenie est un nombre binaire, stocke sur un nombrexe de bits.IPar ex : sur 8 bits, 256 valeurs possibles.ISignal numerique : suite de representations binaires.6/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelAudioIPar ex, 8 000 echantillons/sec, 256 valeurs (sur 1 octet) :64 000 bit/sec.ISignal numerique re-converti chez le receveur pour retrouver lesignal analogique : perte.ICompromis taille du signal/qualite du signal.IExemples de taux d'echantillonnage :ICD : 44100162 (stereo) = 1;411 Mbit/sec.IMP3 : 96, 128, 160 kbit/sec.ITelephone sur Internet :>5;3 kbit/sec.7/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelVideo - Representation numeriqueIVideo : sequence d'images diusees a un taux constant (par ex.24 img/sec).IImage numerique : tableau de pixels.IUn pixel : bits.IQ : Comment encoder une video ?8/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelVideo - EncodageIUtilisation de la redondanceIAu sein d'une image (dans un ciel, deux pixels dierent peu ).IAu lieu d'envoyernpixels identiques, on envoie 2 valeurs : lacouleur et le nombre de repetitions IEntre deux images (peu de dierences dans un m^eme plan).ICodage des dierences pour limiter le nombre de bitsnecessaires.9/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelEncodageICompression : dire pixel identique si proche.10/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelEncodageICBR (Constant Bit Rate) :ITaux d'echantillonnage xe du debut a la n.IVBR (Variable Bit Rate) :ITaux variable.

Selon les besoins (plan dans le noir, imagesrapides, son tenu, changements de rythmes )11/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelEncodage videoIEntrelace (i) :IDoubler le nombre d'images par seconde percues avec le m^emedebit.IUne fois les lignes paires, une fois les lignes impaires.IProgressif (p) :IToutes les lignes en m^eme temps.I720p vs 1080i par exemple.12/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelApplicationsITrois grands types d'applications possibles :1.Streaming stocke (audio, video).IPeut ^etre joue avant d'^etre entierement telecharge.IStocke sur un serveur (peut ^etre envoye plus rapidement querecu : necessite un buer c^ote client) (ou P2P (Spotify)).IExemple : Youtube, Netix (VOD de lms par abonnement auxUSA, 30% du trac USA), television en replay I50% du trac en Am. du Nord en 2011 (30% en 2009), 33% enEurope (Chires Sandvine).2.Conversations (audio/video sur IP)IExemple : Skype, Google 3.Straming live audio/video :IExemple sopcast, twitch 13/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelCours 4 : MultimediaApplications reseau multimediasStreaming de donnees enregistreesVoix sur IPStreaming temps reel14/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - IdealILe client joue directement ce qu'il recoit.15/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - ProblemesILecture continue :IUne fois que la lecture a commencee, doit lire comme sur lavideo stockee.IMais il peut y avoir des delais sur le reseau : besoin d'un buerc^ote client.IDemandes du client : pause, avance rapide, saut dans la video,retour arriere IPaquets pouvant ^etre perdus : retransmission.16/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - RevisiteIBuering c^ote client pour compenser.17/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - BueringICommence a remplir un buer jusqu'a ce que la lecturecommence a un certain temps.ILe buer est rempli a un taux variable, mais la lecture est ataux constant.18/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - BueringISixr: buer ne se vide pas et absorbe les variabilites dex.ICompromis sur la taille du buer : moins de probleme si attendplus longtemps, mais debut de lecture retardee.19/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistreeICertains utilisent UDP, d'autres TCP.ISi TCP, chier multimedia obtenu via un GET HTTP (donc viaTCP)ITaux variable a cause des contr^oles (de congestion) TCP 20/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - AdaptiviteIStreaming HTTP : tous les clients recoivent la m^eme video.IMais les clients ont desbandes passantes dierentes!IDynamic Adaptive Streaming over HTTP (DASH).ILa m^eme video est encodee avec dierente qualites (youtube )sur le serveur, en morceaux (chunks).IPeriodiquement, le client mesure sa bande passante et recuperele chunk adapte (grace a un chier manifest stocke sur leserveur donnant les URL).IC'est le client qui fait le travail : choisi quand, a quel encodageet ou (peut preferer un serveur pres de lui).21/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - StockageIProbleme : comment proposer du contenu (millions de videos)a des centaines de milliers d'utilisateurs simultanes ?IOption 1 : un \mega serveur".IUn seul point d'attaque (liaison serveur).IPoint de congestion de reseau.ITres eloigne de clients potentiels.IPlusieurs copies d'une m^eme video envoye sur une m^eme liaison.IPas applicable a l'echelle !!!22/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - StockageIProbleme : comment proposer du contenu (millions de videos)a des centaines de milliers d'utilisateurs simultanes ?IOption 1 : un \mega serveur".IUn seul point d'attaque (liaison serveur).IPoint de congestion de reseau.ITres eloigne de clients potentiels.IPlusieurs copies d'une m^eme video envoye sur une m^eme liaison.IPas applicable a l'echelle !!!22/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - StockageIProbleme : comment proposer du contenu (millions de videos)a des centaines de milliers d'utilisateurs simultanes ?IOption 1 : un \mega serveur".IUn seul point d'attaque (liaison serveur).IPoint de congestion de reseau.ITres eloigne de clients potentiels.IPlusieurs copies d'une m^eme video envoye sur une m^eme liaison.IPas applicable a l'echelle !!!22/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - StockageIProbleme : comment proposer du contenu (millions de videos)a des centaines de milliers d'utilisateurs simultanes ?IOption 2 : stockage de copies d'une m^eme video sur plusieurssites geographiquement distribues (CDN Content DistributionNetworks).IPeuvent ^etre prives (Google ) ou tiers (Akamai ).23/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - StockageIProbleme : comment proposer du contenu (millions de videos)a des centaines de milliers d'utilisateurs simultanes ?IOption 2 : stockage de copies d'une m^eme video sur plusieurssites geographiquement distribues (CDN Content DistributionNetworks).IPeuvent ^etre prives (Google ) ou tiers (Akamai ).23/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - CDNIBob (le client) demande une video du typehttp://netcinema.com/6Y7B23V.ICette video est stockee sur un CDN a l'adressehttp://KingCDN.com/NetC6y&B23V.24/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - CDNIBob (le client) demande une video du typehttp://netcinema.com/6Y7B23V.ICette video est stockee sur un CDN a l'adressehttp://KingCDN.com/NetC6y&B23V.24/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - CDNIBob (le client) demande une video du typehttp://netcinema.com/6Y7B23V.ICette video est stockee sur un CDN a l'adressehttp://KingCDN.com/NetC6y&B23V.24/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - CDNIBob (le client) demande une video du typehttp://netcinema.com/6Y7B23V.ICette video est stockee sur un CDN a l'adressehttp://KingCDN.com/NetC6y&B23V.24/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - CDNIBob (le client) demande une video du typehttp://netcinema.com/6Y7B23V.ICette video est stockee sur un CDN a l'adressehttp://KingCDN.com/NetC6y&B23V.24/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelStreaming de video enregistree - CDNIBob (le client) demande une video du typehttp://netcinema.com/6Y7B23V.ICette video est stockee sur un CDN a l'adressehttp://KingCDN.com/NetC6y&B23V.24/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelCDN - etude de cas GoogleIBeaucoup de services \dans le cloud" (gmail, youtube,recherche, maps ).IGrand reseau prive (2012).I8 mega data centers (6 USA, 2 europe), ayant de l'ordre de100 000 serveurs chacun.

Pour le contenu dynamique (gmail,recherches ).ITrentaine de clusters (ordre de 100-500 serveurs chacuns),partout dans le monde pres des ISP tier 1.

Pour le contenustatique (youtube ).IDes centaines de clusters proches des FAI.25/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelEtude de cas : YoutubeIChires 2012 :I3eme site mondial, 4% des pages vues.I72h de video uploadee chaque minute (plusieurs annees parjour).I4 milliards de vues par jour, 1 milliard unique par mois.ILarge utilisation du CDN de Google.IRedirection par DNS du client vers le cluster le plus proche (enterme de RTT).ISi le cluster n'a pas la video, client renvoye vers un autrecluster.IStreaming HTTP.IConversions en dierentes qualites sur les data center google(et pas chez le client).26/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelCours 4 : MultimediaApplications reseau multimediasStreaming de donnees enregistreesVoix sur IPStreaming temps reel27/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelVoix sur IP (VoIP)ILa VoIP doit maintenir une conversation.IDelais importants prejudiciables.I<150 ms : bien.I>400 ms : pas bien.28/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelVoix sur IP (VoIP)ISignal (personne parlant dans son micro relie a l'ordinateur)constitue de :IMoments actifs (paroles).ISilences.IPar exemple, generation de paquets uniquement pour lesmoments de paroles (a 8000 octets/s (ou 64 kBits/s)),regroupes en morceaux toutes les 20 ms (donc 160 octets).IAjout d'un en-t^ete a ces 160 octets.IEncapsule dans un paquet UDP (ou TCP) : ajout d'en-t^etessupplementaires.29/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelVoix sur IP (VoIP)IDans le meilleur des mondes :IEnvoi toutes les 20 ms.IReception toutes les 20ms, dans l'ordre.ILe destinataire peut lire directement ce qu'il recoit.IMais :IPaquets perdus.IDierence de vitesses.IDiculte de determiner quel morceau lire, quand 30/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelVoix sur IP (VoIP)IDans le meilleur des mondes :IEnvoi toutes les 20 ms.IReception toutes les 20ms, dans l'ordre.ILe destinataire peut lire directement ce qu'il recoit.IMais :IPaquets perdus.IDierence de vitesses.IDiculte de determiner quel morceau lire, quand 30/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelVoix sur IP (VoIP)IDans le meilleur des mondes :IEnvoi toutes les 20 ms.IReception toutes les 20ms, dans l'ordre.ILe destinataire peut lire directement ce qu'il recoit.IMais :IPaquets perdus.IDierence de vitesses.IDiculte de determiner quel morceau lire, quand 30/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelGigue de paquetsITemps de transmission d'un paquet inuence par delaisd'attente au sein des routeurs rencontres sur le parcours.ITemps aleatoire, variable de paquet en paquet : gigue (jitter).IPar exemple, deux paquets envoyes a 20ms d'ecart.ILe premier rencontre des routeurs sans les d'attentes.ILe second est dans les embouteillages.IIntervalle superieur a 20ms a l'arrivee.IInverse possible.IResolution a l'aide de numeros de sequences, marqueur etbuer de lecture.31/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelGigue de paquetsITemps de transmission d'un paquet inuence par delaisd'attente au sein des routeurs rencontres sur le parcours.ITemps aleatoire, variable de paquet en paquet : gigue (jitter).IPar exemple, deux paquets envoyes a 20ms d'ecart.ILe premier rencontre des routeurs sans les d'attentes.ILe second est dans les embouteillages.IIntervalle superieur a 20ms a l'arrivee.IInverse possible.IResolution a l'aide de numeros de sequences, marqueur etbuer de lecture.31/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelGigue : buering32/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelGigue : buering a retard xeIChoix d'un delai xe depms.IChaque morceau est tente d'^etre lupms apres sa generation.IS'il n'est pas arrive a cet instant : paquet perdu.ICompromis sur le choix deq:IPetitp: meilleure interaction.IGrandp: moins de pertes de morceaux.33/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelGigue : buering a retard xeIChoix d'un delai xe depms.IChaque morceau est tente d'^etre lupms apres sa generation.IS'il n'est pas arrive a cet instant : paquet perdu.ICompromis sur le choix deq:IPetitp: meilleure interaction.IGrandp: moins de pertes de morceaux.33/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelGigue : buering a retard xeIEnvoi de paquets toutes les 20ms durant la parole.I2 cas de gure :IChoix d'unpcourt : perte de paquets.IChoix d'unp0plus long : lecture toute les 20ms OK.34/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelGigue : buering a retard variableIFairevarier le delaiplut^ot que de choisir un temps xe pouravoir un delai le plus petit possible !IBut : ajuster le delai de lecture en fonction du temps detransmission du reseau.IEstimation du delai pour le paquetien fonction du tempsmoyen pris par les paquets precedents et de sa variance 35/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelPerte de paquetsIBut : recuperer des paquets perdus selon un certain delai.ITemps reel :IRetransmettre un paquet ayant manque son creneau de lectureest inutile (trop tard).IRetransmettre un paquet rejete au niveau d'un routeur est vouea l'echec.ISystemes d'anticipations :ICorrection d'erreurs sans voie de retour (FEC).IEntrelacement (interleaving).36/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelPerte de paquetsIBut : recuperer des paquets perdus selon un certain delai.ITemps reel :IRetransmettre un paquet ayant manque son creneau de lectureest inutile (trop tard).IRetransmettre un paquet rejete au niveau d'un routeur est vouea l'echec.ISystemes d'anticipations :ICorrection d'erreurs sans voie de retour (FEC).IEntrelacement (interleaving).36/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelCorrection d'erreurs sans voie de retour :algorithme simpleIBut : envoyer susamment de bits pour retrouver un paquetperdu sans exiger sa retransmission.IAlgorithme simple :IPournmorceaux, creer un nouveau morceau qui est le XOR desnmorceaux.IEnvoyern+ 1 morceaux : augmentation de la quantite dedonnees par 1=n.IPeut reconstruire lesnmorceaux originaux si au plus unmorceau est perdu parmis lesn+ 1, sans delai.INe fonctionne pas siplus d'une erreur.IAugmente beaucoup sinpetit (33% pour 3).IDestinataire doitattendrede recevoir lesn+ 1 avant de lire.37/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelCorrection d'erreurs sans voie de retour :algorithme simpleIBut : envoyer susamment de bits pour retrouver un paquetperdu sans exiger sa retransmission.IAlgorithme simple :IPournmorceaux, creer un nouveau morceau qui est le XOR desnmorceaux.IEnvoyern+ 1 morceaux : augmentation de la quantite dedonnees par 1=n.IPeut reconstruire lesnmorceaux originaux si au plus unmorceau est perdu parmis lesn+ 1, sans delai.INe fonctionne pas siplus d'une erreur.IAugmente beaucoup sinpetit (33% pour 3).IDestinataire doitattendrede recevoir lesn+ 1 avant de lire.37/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelCorrection d'erreurs sans voie de retour :algorithme simpleIBut : envoyer susamment de bits pour retrouver un paquetperdu sans exiger sa retransmission.IAlgorithme simple :IPournmorceaux, creer un nouveau morceau qui est le XOR desnmorceaux.IEnvoyern+ 1 morceaux : augmentation de la quantite dedonnees par 1=n.IPeut reconstruire lesnmorceaux originaux si au plus unmorceau est perdu parmis lesn+ 1, sans delai.INe fonctionne pas siplus d'une erreur.IAugmente beaucoup sinpetit (33% pour 3).IDestinataire doitattendrede recevoir lesn+ 1 avant de lire.37/57ApplicationsStreaming sto ckeV oIPStreaming temps r eelCorrection d'erreurs sans voie de retour :algorithme piggybackIIdee : envoyer en plus un ux de donnees a uneresolutioninferieurea celle de l'original.IPar exemple, ux de donnees au debit MIC 64kbit/s a un uxGS