Chapitre 5
CONVERSATION TEMPS-
RÉEL
SERVICES ET TECHNOLOGIES ÉMERGENTS 1
LIMITES DU SERVICE BEST-EFFORT
Perte de paquets: congestion du réseau
Tolérance de 1 à 10%
Délai de bout-en-bout: les paquets arrivent trop en retard pour la lecture
Délai=traitement+attente+transmission+propagation
Maximum tolérable=400ms (150ms inaperçu)
Gigue: fortement influencé par les délais d’attente
Il est possible d’éliminer le phénomène de gigue:
Numéros de séquence
Marquage du temps
Retard de lecture
SERVICES ET TECHNOLOGIES ÉMERGENTS 2
ÉLIMINATION DE LA GIGUE
Chaque paquet de données contient un numéro de séquence: augmente de 1 à
chaque nouveau paquet
Chaque paquet contient un marquage du temps (timestamp)
Le destinataire retarde la lecture des paquets:
Retard fixe ou adaptatif
SERVICES ET TECHNOLOGIES ÉMERGENTS 3
RETARD DE LECTURE FIXE
Retard de lecture p-r
Transmission
à débit
constant
paquets
Lecture manquée
Retard de lecture p’-r
temps
r
p p’
Le délai doit être suffisamment long pour absorber la gigue
Un délai long pourrait nuire à la qualité de conversation
Donc, on a besoin d’un compromis
SERVICES ET TECHNOLOGIES ÉMERGENTS 4
RETARD DE LECTURE ADAPTATIF
Objectif: minimiser le délai, garder le taux de perte ≤10%
Approche: ajustement adaptatif du délai de playout
Estimer le délai dans le réseau et sa variance
Ajuster le retard de lecture au début de chaque fragment
Entraîne la compression et l’étirement des périodes de silence
ri-ti=délai réseau
Réception
ri pi
Envoie
ti
di=estimée de la moyenne du délai réseau après réception du paquet i
d i (1 u )d i 1 u (ri ti ) où u est une constante (e.,g., u=0,01)
SERVICES ET TECHNOLOGIES ÉMERGENTS 5
ESTIMATION DE LA DÉVIATION MOYENNE
vi (1 u )vi 1 u ri ti d i
vi=estimation de la déviation moyenne du délai
di et vi sont calculées pour chaque paquet mais ne sont utilisées qu’au
début du fragment
Si i est le 1er paquet d’un fragment, son temps de lecture est
pi ti d i Kvi
K est une constante (e.g., K=4)
Les autres paquets sont lus de façon périodique
SERVICES ET TECHNOLOGIES ÉMERGENTS 6
RECOUVREMENT DES ERREURS: REDONDANCE
Codage Codage
nominal LBR
SERVICES ET TECHNOLOGIES ÉMERGENTS 7
RECOUVREMENT DES ERREURS: INTERLEAVING
Améliore la qualité perçue: Remplacer un gros gap par des petits gaps sans
bande passante supplémentaire
Par contre, beaucoup de délai supplémentaire
SERVICES ET TECHNOLOGIES ÉMERGENTS 8
PILE DE PROTOCOLES RTP
Application PCM G.729
MPEG MPEG … Contenu
dépend
Audio Vidéo media du
RTCP codec
RTP RTP 12 octets
Transport
UDP
UDP 8 octets
Réseau IP IP 20 octets
Liaison
Technologie LAN ou WAN
Physique
SERVICES ET TECHNOLOGIES ÉMERGENTS 9
PROTOCOLE RTP
Pourquoi un autre protocole de transport?
Fournit des fonctions de transport de bout-en-bout pour les applications temps réel,
comme l’audio et la vidéo
Conçu pour les communications multipoint
Real-Time Transport Protocol (RTP)=média + contrôle
Média (RTP):
Timing, horodatage des paquets
Détection de perte, séquencement des paquets
Identification du codage
Identifications des sources
Contrôle (RTCP)
Feedback de QoS (RTCP-XR pour le feedback VoIP)
SERVICES ET TECHNOLOGIES ÉMERGENTS 10
CHAMPS D’ENTÊTE DES PAQUETS RTP 1 2 3 4 5 6 7 8 9
1 1 1 3
0 6 7 2
V= Contr.
2
P X
Count
M Payload Type Sequence number
Timestamp
synchronization source (SSRC) identifier
contributing source (CSRC) identifiers
P: Padding ; X: Header extension; M: Marker (selon le profile: début fragment, frontière image)
Payload Type (7bits): identifie le format de données dans le payload, par ex., si audio, identifie le codage utilisé. (PT=8 pour G.711-A)
Si l’expéditeur change de codage en milieu d’appel, le PT change
Numéro de séquence (16 bits): s’incrémente de 1 à chaque nouveau paquet
Timestamp (32 bits): reflète l’instant d’échantillonnage du 1er octet dans le payload.
La granularité est déterminée par le PT, par ex, un pas de 160 pour 20 ms @8000Hz
Un gap est synonyme d’un silence
SSRC (32 bits): identifie la source du flux RTP (ce n’est pas l’adresse IP de la source)
CSRC si le flux est mixé
SERVICES ET TECHNOLOGIES ÉMERGENTS 11
DÉTERMINATION DU DÉBUT DE FRAGMENT
Si pas de perte, le récepteur regarde les timestamps successifs
Si ti-ti-120ms, donc c’est le début d’un fragment
En cas de perte, le récepteur doit regarder les timestamps et les numéros de
séquence
Si ti-ti-120ms et pas de de gap dans les numéros de séquence, donc c’est le début d’un fragment
Les numéros de séquence permettent de déterminer si l’écart de temps est dû à la
perte de paquets ou à un changement de fragment
SERVICES ET TECHNOLOGIES ÉMERGENTS 12
MIXEUR ET TRADUCTEUR RTP
Le mixer (mixeur) reçoit des flux de données de plusieurs sources SSRCs,
en modifie éventuellement le format et renvoie un seul flux de données
agrégé (nouvelle source)
Le translator change l’encodage sur le même flux
Les fonctions Mixer et Translator sont généralement mises en œuvre
dans un Gateway
SERVICES ET TECHNOLOGIES ÉMERGENTS 13
RTCP: RTP CONTROL PROTOCOL
Fonctionne conjointement avec RTP, décrit aussi dans RFC3550
numéro de port RTCP=numéro de port RTP + 1
Chaque participant à une session RTP, envoie périodiquement des paquets RTCP
Chaque paquet RTCP contient un sender et/ou receiver report (SR et/ou RR):
ensemble de statistiques
Nombre de paquets envoyées
Nombre de paquets perdus
Gigue, etc.
RTCP-XR: Extended Report pour la VoIP (RFC3611)
SERVICES ET TECHNOLOGIES ÉMERGENTS 14
ADAPTATION AU DÉBIT RTCP
Concerne surtout les sessions multicast: 1 source, plusieurs destinataires
RTCP tente de limiter son trafic à 5% de la bande passante de la session
Exemple: une source vidéo envoie à un débit de 2Mbps. RTCP tente de limiter le
trafic à 100 kbps.
RTCP alloue 75% de ce débit aux récepteurs et 25% à la source.
Le 75kbps est partagé équitablement entre les récepteurs
Avec R récepteurs, chacun transmet à 75/R kbps
SERVICES ET TECHNOLOGIES ÉMERGENTS 15