Académique Documents
Professionnel Documents
Culture Documents
MULTIMÉDIA
PROTOCOLES RTP/RTP
CRTP
Idboufker Noureddine
PhD-PMP-PRINCE2-ITIL-ISO27002, Huawei Certified
n.idboufker@uca.ma
n_idboufker@yahoo.fr
https://www.linkedin.com/in/idboufkernoureddine/
Transport en mode paquet
• Contraintes de transport
– Délai de transit ou latence <= 150ms
– Gigue <= 100ms
– Écho <= 50ms
– Perte de paquets <= 10%
• Problématique
– Transport en temps réel
Application
Présentation : Codec
Session Perte
H= ensemble
de fonctions
à fournir par
le système Transport
Réseau
Liaison
Physique
Métrique Multiplicative : Packet Loss
Forwarding
IP IP IP IP IP
Tail-
drop
3
2
3 2
• Tolérance
Couches Hautes
Couches orientées Couches orientées
Gestion des applications Protocole Gestion des applications
Transport de proche en
proche Support Physique de transmission
La couche transport
Protocole TCP
• PAS de CONTEXTE:
– Envoi de messages de bout en bout avec minimum de
fonctionnalités.
• SÉCURISATION :
– Somme de contrôle (Dont pseudo-entête)
Le protocole UDP
32 bits
0 31
ADRESSE IP SOURCE
Pseudo
ADRESSE IP DESTINATION
Entête
RÉSERVÉ LONGUEUR UDP
• TCP • UDP
1. Phase de signalisation 1. Pas de signalisation
Lourde 2. Taille datagramme petite
2. Traitement d’erreurs 3. Pas de contrôle
3. Traitement du désordre 1. Flux
4. Contrôle de 2. Congestion
1. Flux 4. Pas de fiabilité
2. Congestion
5. Taille Segment
1. Grande
Traitement des pertes en VoIP
• Utiliser TCP ?
– Pertes dans le réseau détectées par le récepteur TCP
– Traitement des pertes par TCP inadéquat en VoIP
• Re-émission du segment TCP perdu: augmentation de gigue !!
• Réduction de la fenêtre d’émission: diminution du débit et
augmentation du délai !!
• Utiliser UDP ?
– Absence de traitement des pertes
– Pertes dans le réseau non détectées par le récepteur UDP
• UDP ne peut pas reconstituer le flux audio !!
Traitement des pertes en VoIP
• Type 1 • Type 2
– Fiabilité – Temps réel
– Débit variable – Débit constant
– TCP – UDP
Traitement des pertes en VoIP
Emission
Ack
Canaux pour une session audio
• RTCP
1. Monitoring des livraisons,
2. la récupération des variations de délai et de perte de
paquets
3. …..
La synchronisation d’horloge
• RTP utilise des estampilles temporelles pour dater les paquets émis.
• Ces informations sont la base de calculs permettant d’évaluer le
délai et la gigue introduits par un système de communication.
• La pertinence de ces informations dépend toute entière de la
précision et de la synchronisation des horloges utilisées dans les
machines qui vont appuyer leurs calculs sur ces valeurs.
• Comment garantir cette nécessaire synchronisation ?
Synchronisation
• Le NTP est né d'une initiative de D.L. Mills via RFC958 de Septembre 1985.
• Network Time Protocol ou (NTP) est un protocole qui permet de synchroniser, via un
réseau IP, l'horloge locale d'ordinateurs sur une référence d'heure.
• NTP fut conçu pour offrir une précision de synchronisation inférieure à la seconde.
Horloge de Référence
Startum 1
Serveurs Primaires
Startum 2
Serveurs Secondaires
Startum 3
Serveurs Tertiaires
Startum 4
Serveurs Quaternaires
• RTP permet de séparer les flux audio et vidéo, ce qui offre aux
récepteurs une plus grande flexibilité en leur permettant de
choisir indifféremment de recevoir l’un ou l’autre, avec un
système de priorité.
• RTP permet pour des applications vidéo, de décoder et placer
au bon endroit sur l’écran chaque paquet sans attendre ses
prédécesseurs et pour des applications de voix de reconstituer
les échantillons de parole.
Synchronisation des flux
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 |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| contributing source (CSRC) identifiers |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| optional header extension |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Format RTP
• V=2: indique la version du protocole RTP utilisée. Actuellement, c’est la 2 qui est
exploitée
• P pour padding (sur 1 bit) :
– bit indiquant si un bourrage est effectué dans les champs de données
du flux multimédia.
– Rappelons que la longueur des données doit être un multiple de 4
octets, d’où la nécessité d’octets de bourrage, notamment pour le
dernier paquet.
– Si P= 1 : le paquet contient des octets de bourrage à la fin, le dernier
octet indique le nombre d'octets devant être ignoré de la charge utile.
Format RTP
• X : Extension bit :
– si X=1 présence d’un paquet d’extension pour l’en-tête de longueur variable
• CC pour CSRC Count (sur 4 bits) :
– nombre de sources ayant contribuées à la génération du
paquet.
• M:
– Marker bit :Il s’agit d’un bit de signalisation. Son interprétation
est définie par un profil d'application (profile) .
Format RTP
– Un protocole comme RTP utilise des estampilles temporelles pour dater les paquets
émis.
• De la même façon, si les flux vidéo et audio sont envoyés séparément, ce qui
peut se révéler pratique si tous les intervenants d’une conférence ne peuvent
ou ne veulent supporter les flux vidéo mais se contentent des flux audio,
l’estampille temporelle assure la concordance de la voix avec la vidéo.
Horodatage
• Pour l’audio:
– l’horloge timestap incrémente par 1 pour chaque paquet
RTP reçu (Ex. 125microsec pour 8khz)
– Si l’application génére des paquets de 160 oct chaque
20ms, le timestamp s’incrémente pour chaque 160oct
reçu
– meme en l’absence de média utilisateur si y’a pas de
VAD le timestamp continue à s’incrémenter
Numéro de Séquence
1. Mixer
2. Translater
Mixer
• Les paquets émis par une source, quelle qu’elle soit contienne une
information d’identification de la SSRC qui les émet.
• Ces paquets peuvent contenir également l’identification des CSRC qui
sont les sources réelles des informations lorsqu’il s’agit d’un paquet
construit par transformation.
Format 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 |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| contributing source (CSRC) identifiers |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| optional header extension |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Rôle du Mixer
T1
de T1 : SSRC=1
T3
SSRC=M
CSRC=1
CSRC=2
de T2 : SSRC=2
T2
• Mixer
T1
de T1 : SSRC=1
de T1 : SSRC=1
de T2 : SSRC=2
T3
de T2 : SSRC=2
T2
• Politique de sécurité
• Adaptation de débit
• Conversion protocolaire ATMàIP; H.323àSIP
Rôle du Translator
• Translator
– Reçoit plusieurs flux de plusieurs sources appelées SSRCs
(Synchronization SouRCe)
– Modifie éventuellement leurs formats, le codage, le débits
– Traite éventuellement leur problème de sécurité (firewall)
– Renvoie les flux traités des différentes SSRCs
– Adaptation de fonctionnalités hétérogènes
Utilisation Mixer & Translator
T1
From T1 :
T3
SSRC=1
From T1 : SSRC=1
From T2 : SSRC=2 SSRC=3
CSRC=1
CSRC=2
T2
From T2 :
SSRC=2
1. Politique de sécurité
2. Adaptation de débit
3. Conversion de protocole ATMàIP
Protocole RTCP
Application VoIP
Rapport
RTP-1 RTCP-1
Réseau Réseau
Application VoIP
Protocole RTCP
• 4 fonctions principales
– fournit un compte-rendu de l’état du réseau
– Transporte un identifiant persistent pour une source RTP:
• CNAME = canonical Name : identificateur pour chaque source RTP
– Détermine la cadence d’envoi des messages RTCP en
fonction du nombre d’utilisateurs
– En option peut transporter des informations de contrôle de
session
Canaux pour une session audio
Port 1026
Flux RTP
RTCP (SR)
Port 1027
RTCP (RR)
Canaux pour une session audio
Flux RTP
Flux RTP
- inclut le CNAME
4. BYE: Fin de participation
5. APP: Application spécifique
Paquet BYE
V P RC PT=Bye=203 Lenght
SSRC/CSRC Header
……
Lenght Reason for leaving
RTCP: Sender Report
0 1 2 3
0 1 2 3 4 5 6 7 8 9 012 3 4 5 6 7 8 9 0 1 2 3 4 56 7 8 9 01
Extension
RTCP: Receiver Report
0 1 2 3
0 1 2 3 4 5 6 7 8 9 012 3 4 5 6 7 8 9 0 1 2 3 4 56 7 8 9 01
SSRC emetteur
Extension
Optimisation VoIP
0 31
ADRESSE IP SOURCE
ADRESSE IP DESTINATION
OPTIONS BOURRAGE
0 31
0 1 2 3
01234567890123456789012345678901
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| Contenu RTP| Numéro de séquence |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| horodatage |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifiant de synchronisation de la source (SSRC) |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| Identifiant(s) de source de contribution (CSRC) |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Champs variables
• Principe
– Ne pas transporter les infos des entêtes inchangées ou prédictibles
– Compresser les autres infos contenues dans les entêtes
– Production d’En-têtes compressés de taille 1 à 5 octets
• cRTP (compressed RTP)
– IETF RFC 2508
• Simple et bien adapté aux accès modem
• Entêtes comprimés de 2 à 5 octets
Mécanismes cRTP
Header
40 bytes
• La compression de
l’en-tete RTP nous fait
2 or 4 bytes 20-160 bytes gagner la BP
Header Payload