RTP Real-Time Protocol
Transcription
RTP Real-Time Protocol
RTP Real-Time Protocol Protocole pour le transport de données « temps-réel » Architecture Inet ( pour Internet) : RFC 1889 Inclus dans les processus d ’application (procédures) IF G.Beuchot 1 Présentation ¾ Fonctions de transport pour des applications émettant ou recevant du trafic temps-réel : audio / vidéo ¾ ne garantit pas la Qualité de service ¾ Réservation de ressource déléguée à RSVP (ou autre) ¾ Utilise en général UDP ¾ 2 sous-ensembles : )RTP )RTCP : Real-Time Control Protocol ¾ Bibliothèque de procédures utilisables par les applications IF G.Beuchot 2 Session RTP ¾ Session RTP multipoint : ) ensemble de participants utilisant RTP ¾ Pour chaque participant : )session définie par une paire d ’adresses déstination ➟ Adresse IP multicast (IPv6..) ➟ Paire de ports : Port RTP et Port RTCP ¾ Recommandé : une session par média : ) audio - vidéo par exemple )pour chaque session : même adresse multipoint, ports différents )application resynchronise son et images ¾ Emetteur identifié par un unique SSRC )Synchronisation Source Identifier )Plusieurs émetteurs peuvent utilisés plusieurs sources (même SSRC) identifiées par CSRC (Contributing Source Identifier) ➟ Chaque paquet RTP transporte SSRC et les CSRC associées. IF G.Beuchot 3 Séquencement - Synchronisation temporelle ¾ Chaque paquet RTP transporte : )Un numéro de séquence ➟ Détection des paquets perdus ➟ Réordonnancement ➟ Valeur initiale aléatoire ¾ Pour resynchroniser les flux audio - vidéo : )estampille temporelle dans chaque paquet ➟ Instant d ’échantillonnage du premier octet du paquet ➟ Playback précis ➟ resynchronisation des sources retard pur mais pas de distorsion IF G.Beuchot 4 RTCP : Commande de session ¾ Messages RTCP décrivent et gèrent la session ¾ RTP laisse aux participants le soin d ’identifier le nombre d ’émetteurs et de récepteurs )Nombre de participants variable … ¾ Récepteur acquiert des informations sur le trafic généré par chaque émetteur et les quantités de données transmises aux autres récepteurs ¾ RTP rapporte aux émetteurs les trafic généré par les autres émetteurs ¾ Hétérogénéité permises grâce aux )Mélangeurs (Mixers) )Traducteurs (Translators) IF G.Beuchot 5 Traducteurs et Mélangeurs ¾ Entités entre émetteurs et récepteurs )changent, pour un ensemble de récepteurs ➟ le format des paquets ➟ le débit )« nuage » (cloud) de récepteurs) ¾ Traducteurs )Spécifique d ’un flux : SSRC inchangé dans les paquets )pour sous-réseaux ➟ par exemple de chaque coté d ’un coupe-feu ➟ exemple : 3 sources de 1Mb/s sur un réseau à 10 Mb/s et récepteurs sur réseau distant avec connexion à 2 Mb/s ➟ On ramène les sources à 512 kb/s (perte de qualité) ¾ Mélangeurs )Sources mixées sur un flux simple avec autre SSRC (exemple 128kb/s) IF G.Beuchot 6 Format des paquets ¾ Port par défaut : En-tête Version Priorité Longueur "charge payante" IP En-tête UDP En-tête RTP Etiquette du flux Prochain en-tête Nombre limite de sauts Adresse source Adresse destination Port source (5004) Longueur datagramme Port destination (5004) Checksum Données Version Padding Extension Nb. CSRC Marqueur Type de paquet Numéro de séquence Estempille temporelle SSRC Identifier CSRC Identifier #1 CSRC Identifier #2 )5004 )Numéro pair ¾ Un ou plusieurs octets de padding en fin de données possible ¾ Marqueur dépend de application ¾ CSRC : utile avec mixer ... CSRC Identifier #n Données d'application IF G.Beuchot 7 Types de données Code 0 1 2 3 4 5 6 7 8 9 10 Description Audio PCMU Audio 1016 Audio G721 Audio GSM Non assigné audio Audio DVI4 (8khz) Audio DVI4 (16 khz) Audio LPC Audio PCMA Audio G722 Audio L16 stéréo IF Code 11 12 13 14 15 16-22 23 24 25 26 27 G.Beuchot Description Audio L16 mono AudioTPS0 AudioVSC Audio MPA Audio G728 Audio non assigné Vidéo RGB 8 Vidéo HDCC Vidéo CelB Vidéo JPEG Vidéo CUSM Code 28 29 30 31 32 33 34-71 72-76 77-95 96-127 Description Vidéo nv Vidéo PicW Vidéo CPV Vidéo H261 Vidéo MPV Vidéo MP2T Vidéo non assigné Réservé Non assigné Dynamique 8 RTCP ¾ En-tête proche de RTP (type de paquet = 200) ) Estampille temporelle NTP (network time protocol) ➟ attention an 2000 …. (nb de seconde depuis janvier 1900) ) Estampille temporelle RTP ) Nombre de paquets et d ’octets émis ¾ pour chaque SSRC ) ) ) ) ) ) perte cumulée de paquets Numéro de séquence reçu le plus élevé fraction perdue Jitter (estimation de la variance sur instant d ’arrivée) dernier rapport délai depuis dernier rapport ¾ Types : ) ) ) ) ) IF Rapport émetteur Rapport récepteur Description source Paquet Goodbye Pacquets spécifiques application , paquets composés... G.Beuchot 9