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