RTP-RTCP
Transcription
RTP-RTCP
RTP - Introduction (2/2) RTP - Introduction (1/2) ¾ RTP = Real-time Transport Protocol ¾ Contrainte Temps réel = TCP inadapté ¾ Utilisation UDP = Impossibilité de reconstituer le flux ¾ Informations nécessaires pour le séquencement et l’horodatage ¾ Protocole RTP au dessus d’UDP comporte les champs nécessaires pour reconstituer le flux ¾ RTP conçu pour les applications multicast Unicast est un cas particulier Internet Multimédia (1/17) © André Aoun-2003 RTP - Historique (1/2) © André Aoun-2003 RTP - Historique (2/2) ¾ Premières expériences sur le réseau de test de l’ARPA au début des années 90. ¾ MBONE (depuis 93), réseau expérimental pour l’étude de la transmission audio et vidéo temps réel ¾ VAT (Visual Audio Tool) = Application d’audioconférence développée par Van Jacobson au Network Research Group du LBNL (Lawrence Berkeley National Laboratory) ¾ VIC (Video Conferencing tool) = Application pour la vidéo inspiré de l’IVS (INRIA Videoconferencing System) Internet Multimédia (3/17) Internet Multimédia (2/17) © André Aoun-2003 ¾ D’autres outils développés tels que le WB (White Board) pour le partage des données et SD (Session Directory) pour le répertoire de session ¾ Groupe de travail IETF: AVT-WG (Audio Video Transport) ¾ RTP approuvé en 1995 comme proposition de standard et en 1996 comme standard ¾ RTP intégré dans l’architecture H.323 de l’ITU ¾ Adhésion des grands acteurs de l’informatique (Microsoft, Netscape, Intel…) Internet Multimédia (4/17) © André Aoun-2003 1 RTP - Fonctions (1/5) RTP - Fonctions (2/5) ¾ RTP intégré dans l’application (pas d’implémentation de kernel ou de librairie) ¾ RTP ne réserve pas des ressources dans le réseau puisque c’est un protocole de bout en bout ¾ RTP indépendant du protocole sous-jacent ¾ RTP n’apporte aucune fiabilité contrairement à TCP mais peut s’appuyer sur des couches basses du réseau qui rendent un service fiable (IPv4, IPv6, ATM…) ¾ RTP n’interfère pas dans le processus de transmission mais fournit les informations nécessaires à l’application pour reconstituer le flux ¾ RTP ne garantit pas le délai de livraison puisqu’il ne contrôle pas les différents nœuds du réseau ¾ Détecte la perte de paquets et en informe la source ¾ Identifie le contenu des paquets et permet la transmission sécurisée Internet Multimédia (5/17) © André Aoun-2003 Internet Multimédia (6/17) © André Aoun-2003 RTP - Fonctions (3/5) RTP - Fonctions (4/5) Les applications vivent avec un réseau sur lequel aucune modification n’est possible ¾ Mixer: 9 Mélange des flots vidéos individuels pour simuler une ¾ ¾ Modification du comportement des applications en fonction du comportement du réseau (exemple, modification des codages) Internet Multimédia (7/17) © André Aoun-2003 image de groupe composite: n flots deviennent un flot 9 Gestion de la bande passante pour s’adapter au récepteur 9 Synchronization Source est le mixer et les sources mixées s’appellent des CSRC (Contributing Source) Internet Multimédia (8/17) © André Aoun-2003 2 RTP - Fonctions (5/5) RTP - Adressage ¾ Translator: 9 Changement de codage • Quelques profils audio : GSM, PCMA, G.722 • Quelques profils vidéo : JPEG, H.261, MPEG 1 et ¾ Un flot RTP est identifié par l’association des numéros de port UDP. MPEG 2 9 Franchissement de Firewalls (ex. Si le firewall filtre les paquets IP multicast ou UDP, deux translateurs RTP, placés devant et derrière le firewall assurent le passage sécurisé à travers une communication point à point) 9 Synchronization Source ID intact (à l’inverse du Mixer) Internet Multimédia (9/17) © André Aoun-2003 ¾ RTP transporte chaque média dans une session distincte (Audio dans une session et video dans une autre session) : 9 Les changements de codage sont possibles sur un flot seulement 9 Les bases de temps sont indépendantes 9 Les mesures intéressent un seul média 9 Choix de l’utilisateur quant aux médias reçus Internet Multimédia (10/17) © André Aoun-2003 RTP – Entête du paquet (1/2) RTP – Entête du paquet (2/2) • Ver: version sur 2 bits. (=2) • P: Bourrage (=1 pour indiquer qu’après le contenu utile, • M: bit de signalisation pour des comportements particuliers (ex. fin de séquences d’images) • PT: Payload Type identifiant le contenu (ex. =0 pour PCM Loi mu) • Sequence Number: numéro de séquence du paquet • Timestamp: horodatage effectué à l’instant même de l’échantillonnage du premier octet vidéo ou audio, un ou plusieurs octets de « bourrage » représentent des infos complémentaires) • X: Extension (=1 pour indiquer qu’il y a des extensions d’entête) • CC (sur 4 bits): CSRC Count (nombre de sources contributrices) Internet Multimédia (11/17) © André Aoun-2003 Internet Multimédia (12/17) © André Aoun-2003 3 RTCP (1/2) RTCP (2/2) ¾ RTCP (Real-time Transport control Protocol) accompagne RTP. ¾ RTCP assure un trafic de contrôle = Feedback du récepteur pour l’émetteur sur la qualité de transmission et d’autres informations. ¾ RTCP est basé sur la transmission périodique de paquets de contrôle à tous les participants dans une session ¾ RTCP transporte un identificateur originel de la source RTP, appelé Nom Permanent ou CNAME (Canonical NAME) ¾ Paramètres génériques : 9 Le taux de pertes 9 La gigue (variance des délais) ¾ La connaissance de ces paramètres aide : 9 Les applications adaptatives • Ajouter de la redondance en fonction des pertes • Augmenter la mise en mémoire en fonction de la gigue 9 L’administrateur du réseau • Reconnaissance des failles ¾ Plusieurs genres de rapport possibles: Receiver Report (RR), Sender Report (SR), … Internet Multimédia (13/17) © André Aoun-2003 Internet Multimédia (14/17) RTCP – RR (1/2) © André Aoun-2003 RTCP – RR (2/2) ¾ Information sur chaque source (SSRC) : 9 Pertes (depuis le dernier rapport, depuis le début) 9 Information concernant le RTT (Round Trip Time) – ¾ Information sur chaque source (SSRC) : 9 Gigue: Variation du délai d’arrivée Temps aller-retour depuis la source Internet Multimédia (15/17) © André Aoun-2003 Internet Multimédia (16/17) © André Aoun-2003 4 RTCP – SDES, BYE et APP ¾ Exemples de rapports SDES (Source Description): 9 CNAME: format du type user@host ou host 9 Name: nom usuel que se donne le participant à la session 9 EMAIL 9 PHONE: numéro de tel en remplacant le code d’accès à l’international par « + » 9 LOC: par ex. « Paris, France » 9 TOOL: nom et si possible version de la source de l’application qui génère le flux 9 PRIV: pour usage privé 9 NOTE: pour transmettre des messages temporaires (par ex. « Je suis en ligne ») ¾ BYE pour terminer une session RTP ¾Internet APP spécifique à l’application Multimédia (17/17) © André Aoun-2003 5