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 :
Version Priorité Etiquette du flux
En-tête Longueur "charge payante" Prochain en-tête Nombre limite de )5004
sauts
IP Adresse source
Adresse destination
En-tête
UDP
Port source (5004)
Longueur datagramme
Port destination (5004)
Checksum
)Numéro pair
En-tête
RTP
Données
¾ Un ou plusieurs octets de
padding en fin de
données possible
¾ Marqueur dépend de
Version Padding Extension Nb. CSRC Marqueur Type de paquet Numéro de séquence application
Estempille temporelle
SSRC Identifier
CSRC Identifier #1
CSRC Identifier #2 ¾ CSRC : utile avec mixer ...
CSRC Identifier #n
Données d'application
IF G.Beuchot 7
Types de données
Code Description Code Description Code Description
0 Audio PCMU 11 Audio L16 mono 28 Vidéo nv
1 Audio 1016 12 AudioTPS0 29 Vidéo PicW
2 Audio G721 13 AudioVSC 30 Vidéo CPV
3 Audio GSM 14 Audio MPA 31 Vidéo H261
4 Non assigné audio 15 Audio G728 32 Vidéo MPV
5 Audio DVI4 (8khz) 16-22 Audio non assigné 33 Vidéo MP2T
6 Audio DVI4 (16 khz) 23 Vidéo RGB 8 34-71 Vidéo non assigné
7 Audio LPC 24 Vidéo HDCC 72-76 Réservé
8 Audio PCMA 25 Vidéo CelB 77-95 Non assigné
9 Audio G722 26 Vidéo JPEG 96-127 Dynamique
10 Audio L16 stéréo 27 Vidéo CUSM
IF G.Beuchot 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 :
) Rapport émetteur
) Rapport récepteur
) Description source
) Paquet Goodbye
) Pacquets spécifiques application , paquets composés...
IF G.Beuchot 9