Réseaux Multimédia et Qualité de Service Objectifs
Transcription
Réseaux Multimédia et Qualité de Service Objectifs
Réseaux Multimédia et Qualité de Service M2 RISE 2011-2012 JJ Pansiot 2011 RMMQoS-chap1 1 Références • Analyse structurée des réseaux, Jim Kurose, Keith Ross Pearson Education (en particulier chapitre 6 Les réseaux et le multimédia). • Réseaux, 4ème édition, Andrew S. Tanenbaum, Pearson Education, (en particulier chapitre 7.4 Multimédia). • An Engineering Approach to Computer Networking, S. Keshav, Addison Wesley, (en particulier chapitres 8 switching et 9 scheduling). 2011 RMMQoS-chap1 2 Objectifs • Applications multimédia – caractéristiques des flux multimédia • Protocoles de bout en bout – signalisation multimédia • Dans le réseau – mécanismes de commutation et ordonnancement – = > QoS (Quality of Service = QdS ) – architectures de QoS • Application et signalisation multimédia (en particulier VoIP) : Emil Ivov • Mécanismes et architectures pour la QoS : JJP 2011 RMMQoS-chap1 3 1 Remarque préliminaire • Média : – texte, image fixe, son, vidéo, … • Multimédia – présence de plusieurs média • texte et image …. • problèmes de codage, synchronisation, … • ce qui va nous intéresser – média continus (audio, vidéo) – interaction avec le réseau 2011 RMMQoS-chap1 4 Multimédia, Qualité de Service? Applications multimédia : flux continus audio/ vidéo à travers le réseau QoS Le réseau fournit aux applications le niveau de performance nécessaire à leur bon fonctionnement 2011 RMMQoS-chap1 5 Applications Multimédia Classes d’applications MM 1) Streaming audio et/ou video préenregistrés 2) Streaming audio et/ou video en direct (“live”) 3) Applications audio et/ou video interactives “temps-réel” Principales caractéristiques: • sensibles aux délais – délai de bout en bout – variation de délai : • gigue (jitter) • Tolérants aux pertes redondance de l’information, adaptation récepteur • Inverse des applications informatiques classiques : – peu sensibles aux délais – sensibles aux pertes 2011 RMMQoS-chap1 6 2 Streaming de média enregistrés Streaming • media stocké à la source (ex VoD) • transmis au client • streaming: le client commence à “jouer” (restituer) avant que toutes les données soient arrivées • pas de stockage en réception • contrainte temporelle : les données doivent arriver à temps pour être jouées (playout) de façon continue 2011 Note : Si on attend le flux complet <=> transfert de fichier RMMQoS-chap1 7 Données cumulées Streaming de média enregistrés 1. video enregistrée 2. video émise délai réseau 3. video reçue et jouée par le client temps streaming : à cet instant le client joue alors que le serveur émet 2011 RMMQoS-chap1 8 Streaming de média enregistrés : Interactivité • Fonctionnalité magnétoscope : le client peut faire pause, rembobiner, FF, etc – 10 sec délai initial OK – 1-2 sec avant effet commande OK – Protocole RTSP souvent utilisé • contrainte : les données doivent arriver à temps pour le playout 2011 RMMQoS-chap1 9 3 Streaming de média en direct Exemples • radio sur internet • télé sur Internet Streaming • buffer de réception (playback, playout buffer) • délai de playback peut être > 10s Interactivité • pas de FF ( publicités :-(( • pause, rembobiner possibles (buffer cyclique) 2011 RMMQoS-chap1 10 Streaming de média en direct • En général 1 vers N – difficulté à étendre • duplication dans le réseau – => multicast IP, routage multicast • multicast applicatif – hiérarchie de serveurs de contenu » délais 2011 RMMQoS-chap1 11 Multimedia interactif “temps réel” • applications: téléphonie sur IP, vidéo conférence, applications distribuées interactives (jeu, …) • contraintes délais de bout en bout: – audio: < 150 msec bon, < 400 msec acceptable • délai total : application (paquetisation, compression) et délai réseau • délai supérieur empêche interactivité (cf satellite) 2011 RMMQoS-chap1 12 4 Multimedia interactif temps réel • initialisation de session – comment l appelé annonce son adresse/port, codage ? - voir protocoles SIP, H323 2011 RMMQoS-chap1 13 Multimédia sur Internet basique TCP/UDP/IP: service best effort • pas de garantie sur les délais (TCP,UDP), ni sur les pertes (UDP) • avec TCP : – correction de pertes => retransmission => augmente les délais et la gigue • Actuellement les applications multimédia utilisent des techniques de niveau applicatif – codage redondant, playback buffer, – réseaux de distribution de contenu • CDN Content Delivery Networks comme Akamai • ou Pair à Pair – pour cacher les limitations d internet 2011 RMMQoS-chap1 14 Solutions possibles pour le support du MM Architecture à intégration de service (IntServ) • Changements dans internet pour que les applications puissent réserver de la Bande Passante (BP) de bout en bout (principes analogues à ATM) • Nécessite des nouveaux logiciels complexes dans le réseau et les clients 2011 Architecture à différenciation de service (DiffServ) • Moins de changement que IntServ, classe de service améliorée pour le MM Pas de changement du réseau • pas de changement interne • Surdimensionnement BP « overprovisionning » • CDN, PàP, multicast applicatif RMMQoS-chap1 15 5 Audio 2011 RMMQoS-chap1 16 Compression audio basique • • • Signal analogique échantillonné à intervalle constant – téléphone classique : 8000 éch/sec – CD audio : 44100 éch/sec chaque échantillon quantifié (arrondi) – ex 28=256 valeurs possibles chaque échantillon codé – 256 valeurs => 8 bits 2011 • Exemple du téléphone 8000 éch/sec, 256 valeurs =-> 64000 bps • Le récepteur retransforme en signal analogique ( interpolation ) – perte de qualité Exemples de débits • CD: 1.411 Mbps • MP3: 96, 128, 160 kbps • téléphonie sur IP : 5,3 à 13 kbps RMMQoS-chap1 17 Exemple (a) signal (b) échantillonnage. (c) quantification sur 4 bits 2011 RMMQoS-chap1 18 6 Compression audio et l oreille (a) seuil d audibilité/fréquence ~ bande passante oreille (b) effet de masquage 2011 RMMQoS-chap1 19 Compression audio • en pratique – échantillonnage/compression par sous bande (par exemple 32 en Mpeg) – quantification dépend de la sous-bande – n envoyer que ce qui est audible 2011 RMMQoS-chap1 20 Paquetisation et Streaming Audio technique de l interleaving la perte d un paquet diminue le fréquence des paquets mais pas de trou silence (mais délai) 2011 RMMQoS-chap1 21 7 Streaming Audio Le logiciel client média player met les données dans un buffer, et les joue ensuite 2011 RMMQoS-chap1 22 Exemple téléphonie sur IP • alternance périodes actives (parole) et silencieuses – p.e. 64 kbps pendant activité • paquets générés seulement pendant activité – morceaux de 20 msec à 8 Ko/sec: 160 octets • la couche appli ajoute un entête à chaque morceau • puis encapsulé dans un datagramme UDP • => un paquet UDP toutes les 20 ms – (160+entêtes ) octets 2011 RMMQoS-chap1 23 Influence du réseau (audio interactive) • pertes : un paquet IP peut se perdre (congestion réseau) • pertes dues au délai un paquet arrivé trop tard est ignoré (p.e. paquet suivant déjà joué) – délais : traitements et files d attentes dans le réseau – délais de traitement aux extrémités (compression…) – délai maximum tolérable environ: 400 ms • tolérance aux pertes: dépend du codage, les pertes peuvent être cachées – de 1% à 10% peut être toléré 2011 RMMQoS-chap1 24 8 Gigue réception au client délai réseau variable (gigue) joué à un débit constant données bufferisées données cumulées transmission à débit constant délai de playout temps • délai de réception entre deux paquets – > 20 ms ou < 20 ms • remplissage variable du buffer 2011 RMMQoS-chap1 25 Délai fixe de playout • Le récepteur essaie de jouer chaque morceau exactement d ms après sa génération – le morceau a une estampille t (cf RTP) • jouer morceau à t+d . – si morceau arrive après t+d • morceau ignoré • Compromis – grand d : moins de pertes de paquet – petit d : meilleure interactivité 2011 RMMQoS-chap1 26 Délai de playout adaptatif • Objectif : minimiser le délai de playout DP tout en gardant un taux de paquets hors délai faible • Idée : ajuster dynamiquement le délai de playout – Estimer le délai réseau et ajuster le DP au début de chaque période d activité – Les périodes de silence sont allongées ou raccourcies • suivant que DP augmente ou diminue – Les morceaux sont toujours joués tous les 20 ms pendant activité – estimation DP : moyenne glissante : – nouveau_DP= (1-u)*ancien_DP + u*délai_dernier_paquet – où u est un petit nombre p.e. 0,1 (contrôle la réactivité) • cf estimation RTT dans TCP 2011 RMMQoS-chap1 27 9 DP adaptatif suite • On peut aussi raffiner en estimant la variation de délai (gigue) nouvelle_gigue = (1-u) * ancienne_gigue + u * | délai_paquet - DP| • le premier paquet d une période d activité est joué avec un délai DP + K * nouvelle_gigue où K est un paramètre fixe • Les paquets suivants de la même période d’activité sont joués à intervalle constant 2011 RMMQoS-chap1 28 DP adaptatif suite Comment déterminer le début d une période d activité • en l absence de pertes – différence des estampilles > 20 msec • => nouvelle période • avec pertes : regarder estampilles et numéros de séquence – différence des estampilles > 20 msec et séquence sans trou => nouvelle période. 2011 RMMQoS-chap1 29 Traitement des pertes Utilisation de ARQ (exemple TCP) => ajoute au moins un RTT inutilisable en interactif Codes correcteurs (FEC): codes simples pour corriger les pertes (≠ erreurs) exemple codes Reed-Solomon • pour chaque groupe de n paquets créer un paquet de redondance – exemple OU exclusif des n paquets • • envoyer n+1 paquets, on peut reconstruire les n paquets si au plus un seul paquet perdu • peut être généralisé à k redondance pour n info – inconvénient : débit utilisé augmenté de 1/n – délai augmenté (groupe de n+1) au décodage 2011 RMMQoS-chap1 30 10 Traitement des pertes (2) • DP doit être augmenté pour traiter un groupe de n+1 paquets • Compromis – augmenter n, moins de BP gaspillée – augmenter n, DP + grand -interactif – augmenter n, plus grande probabilité de perte d au moins deux paquets 2011 RMMQoS-chap1 31 Traitement des pertes (3) Autre idée : 2 codages de qualités (et volume) différentes • le n-ième paquet contient le n-ième morceau haute qualité morceau précédent en basse qualité (redondance) • en réception si (n-1)-ième paquet perdu, • remplacer par basse qualité paquet suivant • perte devient baisse de qualité • DP augmenté d un intervalle (ie 20 ms) • coût en BP dépend du rapport entre les deux qualités • Idée généralisée dans le codage en couche • n qualités en couches complémentaires • récepteur adapte nombre de couches à la BP 2011 RMMQoS-chap1 32 Traitement des pertes (4) Entrelaçage (interleaving) morceaux découpés en n sous-morceaux n sous-morceaux distribués dans n paquets consécutifs un paquet perdu => n morceaux altérés légèrement pas de BP supplémentaire augmente le DP traitement par groupe de n paquets au codage ET au décodage 2011 RMMQoS-chap1 33 11 Média Vidéo 2011 RMMQoS-chap1 34 Video analogique Format de balayage NTSC. 2011 RMMQoS-chap1 35 Codage vidéo – une image de 1024 x 1024 pixels • 24 bits par pixel => 3 Mo /image – 25 images par seconde • => 75 Mo/s = 600 Mb/s – Nécessité de compresser fortement le signal • redondance spatiale (plages uniformes) • redondance temporelle (images successives) • limitations de l oeil 2011 RMMQoS-chap1 36 12 Codage JPEG : vue générale préparation des blocs DCT Quantification Quantification différentielle RLE encodage statistique JPEG en mode avec pertes DCT = Transformée Cosinus Discrete RLE : Run Length Encoding AAAAAA => 6A Encodage statistique (ou entropique) Huffmann blocs plus fréquents ont un code plus court 2011 RMMQoS-chap1 37 Codage JPEG (décomposition en blocs) (a) entrée RGB 24 bits/pixel. (b) découpage en YIQ (NTSC) ou YUV ou Y Cr Cb . Luminance, chrominance, saturation 2011 RMMQoS-chap1 38 Codage JPEG : DCT (b) (a) (a) Un bloc de la matrice Y (ou U, V) (b) les coefficients DCT 2011 RMMQoS-chap1 39 13 Codage JPEG : quantification Quantification des coefficients obtenus après la DCT ⇒ les coeff en haut à gauche (les + importants) sont moins arrondis ⇒ Un coefficient de 2i élimine les i bits de poids faible (et arrondi) 2011 RMMQoS-chap1 40 Codage JPEG : sérialisation et RLE Ordre de parcours en “zig-zag” des coefficients => sérialisation. Suite de 0 : RLE 2011 RMMQoS-chap1 41 Codage MPEG Synchronisation des flux audio et vidéo dans MPEG-1. 2011 RMMQoS-chap1 42 14 MPEG : redondance temporelle 3 images consécutives • peu de changements entre images successives • idées • codage différentiel / image précédente (exemple fond) • codage mouvement d un bloc 2011 RMMQoS-chap1 43 Codeur MPEG Régulateur débit + DCT - (Q) Input Image prédite Q-1 Pre processing Encodeur longueur variable Quantificateur IDCT + compensation mouvement mémoire image Vecteur mouvement Mémoire image Buffer Output Estimation RMMQoS-chap1 mouvement 2011 44 Types de trames mpeg – trame I (intra) • compressée en utilisant cette trame uniquement • compression modérée mais décodage facile – trame P (predicted) • Codée avec compensation de mouvement ( I ou P précédente) • meilleure compression – trame B (bidirectional) • Codée avec compensation de mouvement (I ou P précédente ou suivante) • entraîne des délais et un ré ordonnancement • compression supplémentaire 2011 RMMQoS-chap1 45 15 exemple de GOP (Group of Picture) Remarque : on doit envoyer régulièrement des images I • un récepteur peut arriver en cours de flux • en cas de pertes de trames • => compromis débit/fiabilité 2011 RMMQoS-chap1 46 Couches mpeg Hiérarchie d informations en couches (et donc entêtes) : • couche Sequence : taille image, fréquence image, table de quantification, … • couche GOP (Group of Picture) : en général au moins une trame I • couche image : estampillage, type d image (I,P,B), résolution, vecteurs de mouvements, … • couche Slices (tranche): position de la tranche, quantification – codage tranche indépendant des autres : confinement d erreur • couche Macrobloc (16 x 16) : position, vecteur de mouvements, quels blocs sont codés 2011 RMMQoS-chap1 47 codages et débits vidéo – MPEG 1 : Qualité CD vidéo (1,5 Mbit/s) – MPEG 2 : Qualité DVD (3 à 6 Mbit/s voir plus HDTV) • TNT gratuite – MPEG 4 (5 Kb/s à 4 Mb/s) /DivX • TNT HD, HDTV, télé mobiles – H261 (norme UIT-T) • adaptée à la visioconférence et visiophonie (bas débit) • techniques similaires à MPEG – DCT, quantification, compensation mouvement, … • format CIF (360 x 288) 30 trames/s – et QCIF (180 x 144) 2011 RMMQoS-chap1 48 16 Architecture distribution VoD 2011 RMMQoS-chap1 49 Serveurs VoD Hiérarchie de stockage Volume/rapidité. 2011 RMMQoS-chap1 50 Architecture Serveur VoD 2011 RMMQoS-chap1 51 17 Caractéristiques des flux multimédia – contraintes de gigue • playback buffer – et de délai si interactif • limite sur le buffer – débits élevés (vidéo HD) – débits variables (ex MPEG) – tolérance aux pertes • persistance rétinienne, rafraîchissement • importance variable des données (images I, P, B de MPEG) – diffusion (usage du multicast) 2011 RMMQoS-chap1 52 Multimédia et réseau • Plusieurs mécanismes et protocoles • Aux extrémités – codage (compression, paquetisation, …) • MPEG, H261, … – transport de bout en bout • RTP/UDP – contrôle du transport • RTCP – gestion des utilisateurs, sessions, flux • SIP, H323, RTSP … 2011 RMMQoS-chap1 53 MM et réseau • Dans le réseau – mécanismes de QoS (files, priorités, …) • dans les routeurs/switchs – gestion globale • Intserv (intégration de services) – réservation de ressources (RSVP) depuis extrémités – Par flux • Diffserv (services différenciés) – marquage des paquets – politique de QoS par classe 2011 RMMQoS-chap1 54 18 Multimédia : protocoles Application signalisation Qualité de service Transport média Media (H. 261, MPEG) H. 323 SIP RTSP RSVP RTCP RTP Noyau TCP UDP IPv4, IPv6 PPP 2011 ATM RMMQoS-chap1 Ethernet 55 RTP/RTCP Paire de protocoles de l ietf groupe AVT Audio Video Transport RFC 1889 (1996) RTP : Real Time Protocol transporte les données RTCP: Real Time Control Protocol mécanismes de contrôle émetteurs et récepteurs Nouvelle version RFC 3550 (2003) 2011 RMMQoS-chap1 56 Architecture émetteur envoie RTP et RTCP reçoit RTCP récepteur reçoit RTP et RTCP envoie RTCP possibilité plusieurs récepteurs ⇒ multicast 2011 RMMQoS-chap1 57 19 Multicast IP • adresses de groupe 224.0.0.0/4 • un paquet envoyé à cette adresse – dupliqué dans le réseau – reçu par tous les récepteurs • nécessite routage multicast dans le réseau • extensibilité en nombre de récepteurs 2011 RMMQoS-chap1 58 Architecture (suite) RTP/RTCP + UDP = fonctions de 3 couches OSI : transport + session + présentation RTP/RTCP peut fonctionner au dessus de protocoles ≠ de UDP (en théorie) RTP/RTCP fonctions dans l application (ex: JMF) Les messages RTP/RTCP – – – ne sont pas interprétés par le réseau => pas d influence sur la QoS réseau permettent aux applis de s adapter • modèle ALF : Application Level Framing 2011 RMMQoS-chap1 59 RTP : Vue générale • Fonctionne au dessus d UDP (en général) • Utilise l unicast ou le multicast • Les données applicatives sont encapsulées dans des paquets RTP • Protocole simple : – Permet de déterminer la base de temps des différents flux • estampilles – Permet de détecter les pertes de paquets • numérotation – Identifier le contenu des paquets (MPEG audio, JPEG animé, etc.) • payload type 2011 RMMQoS-chap1 60 20 Entête RTP 0 1 2 3! 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! |V=2|P|X| CC |M| PT | sequence number |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | timestamp |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | synchronization source (SSRC) identifier |! +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+! ! CC : Nombre de CSRC qui suivent l entête RTP fixe P : padding présent X : extension d’entête présente CSRC : contributing SRC (utilisé par mixer) PT : Identifie le format des données contenues dans le paquet RTP. Il existe un profil prédéfini pour assurer la correspondance entre le type de données et leur format (RFC 3551) SN : Incrémenté de 1 pour chaque paquet RTP émis. Valeur initiale aléatoire TS : Instant d'échantillonnage du 1er octet du paquet de données (gestion de la synchronisation et de la gigue). Valeur initiale aléatoire SSRC : Identifiant de la source d'émission des paquets synchronisés ! 2011 RMMQoS-chap1 61 RTP : Exemples de profils (PT) audio/video 0 à 23 audio Type de profil Format audio Taux d'échantillonnage Débit 0 MIC/PCMU Codage voix 8 kHz 64 kbit/sec GSM 8 kHz 4,8 kbit/s 9 G.722 16 kHz 48 à 64 kbit/s 14 3 MPEG Audio 90 kHz -- 15 G. 728 8 kHz 16 kbit/s 24- vidéo ou combiné 2011 Type de profil Format vidéo 26 JPEG animé 31 H.261 32 MPEG 1 vidéo 33 MPEG 2 vidéo RMMQoS-chap1 62 RTP • Le SSRC identifie la source d un flux – ≠ adresse IP – plusieurs flux => plusieurs SSRC – correspondance établie en début de session • RTCP (message SDES) • le TS dépend fréquence d échantillonnage – ex : audio à 8 KHz vidéo à 90 KHz 2011 RMMQoS-chap1 63 21 RTP : exemple audio • audio échantillons 8 bits / 125 µs • émetteur – initialement TS et NS aléatoires (sécurité) – répéter: • noter timestamp premier échantillon TS • accumule échantillons • jusqu à max (ex : 160 = 20 ms) ou silence – envoyer paquet RTP avec TS, NS • NS := NS + 1 et recommencer 2011 RMMQoS-chap1 64 RTCP : RTP Control Protocol • Protocole fonctionnant avec RTP – optionnel • Pour chaque flux RTP reçu, – chaque récepteur génère un rapport de réception RTCP cyclique • Pour chaque flux RTP émis, – la source génère un rapport RTCP cyclique • Permet de – garder une trace de tous les participants à une session RTP – Contrôler le débit auquel les participants transmettent leurs données RTP – Permet à une source de changer de politique (codecs, etc…) – contrôler le contrôle RTCP … 2011 RMMQoS-chap1 65 RTCP : types de paquets – SR : Sender Report = Rapport des émetteurs • Statistiques d émission/réception – RR : Receiver Report = Rapport des récepteurs • Statistiques de réception – BYE : Départ explicite – SDES : Description de la source (CNAME, Email, etc.) – APP: Extensions spécifiques à l application 2011 RMMQoS-chap1 66 22 RTCP (suite) • Paquet RTCP – Partie fixe similaire à l entête RTP – Plusieurs paquets RTCP peuvent être concaténés • p.e. combiner SR et RR • => paquet composé (dans un paquet UDP) • remarque : ports UDP – port UDP pour un flux RTP • choisi dynamiquement, en général pair (ex : 10000) – port UDP pour signalisation RTCP • en général RTP + 1 (ex : 10001) – port doit être découvert au départ (voir SDP, SIP, …) – => pas décodé automatiquement par wireshark/tcpdump 2011 RMMQoS-chap1 67 RTCP : Format message Sender Report SR 0 1 2 3! 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! |V=2|P| RC | PT=SR=200 | length | header! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | SSRC of sender |! +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+! | NTP timestamp, most significant word | sender! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ info! | NTP timestamp, least significant word |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | RTP timestamp |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | sender's packet count |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | sender's octet count |! +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+! à suivre! 2011 RMMQoS-chap1 68 SR (suite) +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+! | SSRC_1 (SSRC of first source) | report! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block! | fraction lost | cumulative number of packets lost | 1! -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | extended highest sequence number received |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | interarrival jitter |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | last SR (LSR) |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | delay since last SR (DLSR) |! +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+! | SSRC_2 (SSRC of second source) | report! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block! : ... : 2! +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+! | profile-specific extensions |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! 2011 RMMQoS-chap1 69 23 SR (suite) • contient – RC : Receiver Report count (# RR dans la paquet) – Le SSRC du flux RTP – La référence de temps quand le rapport a été émis (NTP timestamp) • NTP Network Time Protocol (RFC 1305) – le timestamp RTP – Le nombre de paquets envoyés – Le nombre d octets envoyés – un rapport pour chaque source reçue (similaire RR) 2011 RMMQoS-chap1 70 RTCP : Format message (RR) 0 1 2 3! 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! |V=2|P| RC | PT=RR=201 | length | header! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | SSRC of packet sender |! +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+! | SSRC_1 (SSRC of first source) | report! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block! | fraction lost | cumulative number of packets lost | 1! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | extended highest sequence number received |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | interarrival jitter |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | last SR (LSR) |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! | delay since last SR (DLSR) |! +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+! | SSRC_2 (SSRC of second source) | report! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block! : ... : 2! +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+! | profile-specific extensions |! +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+! 2011 RMMQoS-chap1 71 RTCP : Format message (RR) • Pour chaque flux RTP reçu – Le SSRC du flux RTP – La proportion de paquets perdus (obtenue en divisant le nombre de paquets perdus par le nombre de paquets envoyés au sein d un même flux RTP) • -> peut déclencher un changement de codage de l’émetteur. – – – – 2011 Le dernier numéro de séquence du flux RTP La gigue à la réception Dernier SR reçu (en temps : NTP timestamp arrondi) Délai passé depuis le dernier SR reçu RMMQoS-chap1 72 24 RTCP : message SDES • Pour chaque flux (SSRC) émis – fournit des informations – seul info obligatoire CNAME • chaîne ASCII • a priori de la forme user@host • CNAME stable – entre flux différents – changements d IP, de SSRC – autres champs possibles : Email, Phone, … 2011 RMMQoS-chap1 73 Intérêt des différents rapports • Peuvent servir à la synchronisation des différents flux de données d une session RTP – NTP timestamp – Permet par exemple de synchroniser une bande audio avec une bande vidéo envoyés dans 2 flux RTP distincts par une source • les timestamp RTP ne sont pas synchronisés entre eux • Permet également d avoir des informations d identification des participants combien de récepteurs (s il y en a :-)) 2011 RMMQoS-chap1 74 RTP et QoS • Une source peut adapter son émission – Les sources reçoivent les RR – Si pertes ou gigue trop importante – possibilité de changer le PT • un network manager peut – exécuter un moniteur • écoute les rapports RTCP 2011 RMMQoS-chap1 75 25 RTCP et multicast • Extensibilité (passage au facteur d échelle) – Le trafic RTCP ne doit pas représenter plus de 5% du total de la bande passante de la session – Au moins 25% du trafic RTCP est utilisé pour les rapports de l émetteur • problème important pour de grandes sessions – ex 10 000 récepteurs d une vidéoconférence – si chaque récepteur envoie RR tous les 100 paquets data • => 100 fois plus de paquets RR que de data – Comment limiter le débit global RTCP ? 2011 RMMQoS-chap1 76 RTCP et multicast (suite) • calculer somme débit moyen sources – RTCP SR => D • calculer nombre de récepteurs – RTCP RR => #R • calculer taille moyenne RR L – dépend # sources • fréquence rapports RR < 0,05 * D /(#R *L) Que se passe-t-il si #R augmente brusquement ? => améliorations dans RFC 3550 2011 RMMQoS-chap1 77 RTP : Mixers et Translator • 2 services RTP • Translator : – Envoie les flux de différentes sources séparément (transmet les paquets avec le SSRC intact : identification de la source initiale) – Invisible par les récepteurs – Permet le transcodage de flux (ex : limiter débit) Emetteur 1 Translator 1 Translator 2 Récepteur De E1 : SSRC =12 E1: SSRC =12 De E1 : SSRC =12 E2 : SSRC =3 De E2 : SSRC =3 2011 RMMQoS-chap1 De E2 : SSRC =3 78 Emetteur 2 26 RTP : Mixers et Translator • Mixer : – Combine les flux de différentes sources pour former un seul flux – Devient la source de synchronisation • Tous les paquets RTP sont « marqués » par le SSRC du mixer • L identité des sources originales est inclue dans les options de l entête RTP (liste CSRC : contributing SRC) Emetteur 1 Récepteur Mixer 1 E1: SSRC =12 De M1 : SSRC =32 CSRC {12,3} E2 : SSRC =3 Emetteur 2 2011 RMMQoS-chap1 79 27
Documents pareils
RTP - LIP6
RTCP pour échanger les messages de contrôle
Chaque paquet TCP contient des champs de contrôle :
■ Acquittements, taille de la fenêtre, etc.
■ Solution adapté pour une boucle de contrôle étroite
RTP...