Réseaux Multimédia et Qualité de Service Objectifs
Transcription
Réseaux Multimédia et Qualité de Service Objectifs
Réseaux Multimédia et
Qualité de Service
M2 RISE
2011-2012
JJ Pansiot
2011
RMMQoS-chap1
1
Références
• Analyse structurée des réseaux, Jim Kurose, Keith Ross
Pearson Education (en particulier chapitre 6 Les réseaux et le
multimédia).
• Réseaux, 4ème édition, Andrew S. Tanenbaum, Pearson
Education, (en particulier chapitre 7.4 Multimédia).
• An Engineering Approach to Computer Networking, S.
Keshav, Addison Wesley, (en particulier chapitres 8 switching et
9 scheduling).
2011
RMMQoS-chap1
2
Objectifs
• Applications multimédia
– caractéristiques des flux multimédia
• Protocoles de bout en bout
– signalisation multimédia
• Dans le réseau
– mécanismes de commutation et ordonnancement
– = > QoS (Quality of Service = QdS )
– architectures de QoS
• Application et signalisation multimédia (en particulier VoIP) :
Emil Ivov
• Mécanismes et architectures pour la QoS : JJP
2011
RMMQoS-chap1
3
1
Remarque préliminaire
• Média :
– texte, image fixe, son, vidéo, …
• Multimédia
– présence de plusieurs média
• texte et image ….
• problèmes de codage, synchronisation, …
• ce qui va nous intéresser
– média continus (audio, vidéo)
– interaction avec le réseau
2011
RMMQoS-chap1
4
Multimédia, Qualité de Service?
Applications multimédia :
flux continus audio/ vidéo
à travers le réseau
QoS
Le réseau fournit aux
applications le niveau de
performance nécessaire à
leur bon fonctionnement
2011
RMMQoS-chap1
5
Applications Multimédia
Classes d’applications MM
1) Streaming audio et/ou video préenregistrés
2) Streaming audio et/ou video en
direct (“live”)
3) Applications audio et/ou video
interactives “temps-réel”
Principales caractéristiques:
• sensibles aux délais
– délai de bout en bout
– variation de délai :
• gigue (jitter)
• Tolérants aux pertes
redondance de l’information,
adaptation récepteur
• Inverse des applications
informatiques classiques :
– peu sensibles aux délais
– sensibles aux pertes
2011
RMMQoS-chap1
6
2
Streaming de média enregistrés
Streaming
• media stocké à la source (ex VoD)
• transmis au client
• streaming: le client commence à
“jouer” (restituer) avant que toutes les
données soient arrivées
• pas de stockage en réception
• contrainte temporelle : les données
doivent arriver à temps pour être jouées
(playout) de façon continue
2011
Note :
Si on attend le flux complet
<=> transfert de fichier
RMMQoS-chap1
7
Données cumulées
Streaming de média enregistrés
1. video
enregistrée
2. video
émise
délai
réseau
3. video reçue et
jouée par le client
temps
streaming : à cet instant le client joue
alors que le serveur émet
2011
RMMQoS-chap1
8
Streaming de média enregistrés : Interactivité
• Fonctionnalité magnétoscope : le client
peut faire pause, rembobiner, FF, etc
– 10 sec délai initial OK
– 1-2 sec avant effet commande OK
– Protocole RTSP souvent utilisé
• contrainte : les données doivent arriver
à temps pour le playout
2011
RMMQoS-chap1
9
3
Streaming de média en direct
Exemples
• radio sur internet
• télé sur Internet
Streaming
• buffer de réception (playback, playout buffer)
• délai de playback peut être > 10s
Interactivité
• pas de FF ( publicités :-((
• pause, rembobiner possibles (buffer cyclique)
2011
RMMQoS-chap1
10
Streaming de média en direct
• En général 1 vers N
– difficulté à étendre
• duplication dans le réseau
– => multicast IP, routage multicast
• multicast applicatif
– hiérarchie de serveurs de contenu
» délais
2011
RMMQoS-chap1
11
Multimedia interactif “temps réel”
• applications: téléphonie sur IP, vidéo conférence,
applications distribuées interactives (jeu, …)
• contraintes délais de bout en bout:
– audio: < 150 msec bon, < 400 msec acceptable
• délai total : application (paquetisation,
compression) et délai réseau
• délai supérieur empêche interactivité (cf satellite)
2011
RMMQoS-chap1
12
4
Multimedia interactif temps réel
• initialisation de session
– comment l appelé annonce son adresse/port,
codage ?
- voir protocoles SIP, H323
2011
RMMQoS-chap1
13
Multimédia sur Internet basique
TCP/UDP/IP: service best effort
• pas de garantie sur les délais (TCP,UDP), ni sur les
pertes (UDP)
• avec TCP :
– correction de pertes => retransmission => augmente les
délais et la gigue
• Actuellement les applications multimédia utilisent des
techniques de niveau applicatif
– codage redondant, playback buffer,
– réseaux de distribution de contenu
• CDN Content Delivery Networks comme Akamai
• ou Pair à Pair
– pour cacher les limitations d internet
2011
RMMQoS-chap1
14
Solutions possibles pour le support du MM
Architecture à intégration de
service (IntServ)
• Changements dans internet
pour que les applications
puissent réserver de la Bande
Passante (BP) de bout en
bout (principes analogues à
ATM)
• Nécessite des nouveaux
logiciels complexes dans le
réseau et les clients
2011
Architecture à différenciation de
service (DiffServ)
• Moins de changement que
IntServ, classe de service
améliorée pour le MM
Pas de changement du
réseau
• pas de changement interne
• Surdimensionnement BP
« overprovisionning »
• CDN, PàP, multicast applicatif
RMMQoS-chap1
15
5
Audio
2011
RMMQoS-chap1
16
Compression audio basique
•
•
•
Signal analogique
échantillonné à intervalle
constant
– téléphone classique : 8000
éch/sec
– CD audio : 44100 éch/sec
chaque échantillon quantifié
(arrondi)
– ex 28=256 valeurs
possibles
chaque échantillon codé
– 256 valeurs => 8 bits
2011
• Exemple du téléphone
8000 éch/sec, 256 valeurs
=-> 64000 bps
• Le récepteur retransforme
en signal analogique
( interpolation )
– perte de qualité
Exemples de débits
• CD: 1.411 Mbps
• MP3: 96, 128, 160 kbps
• téléphonie sur IP : 5,3 à 13
kbps
RMMQoS-chap1
17
Exemple
(a) signal (b) échantillonnage.
(c) quantification sur 4 bits
2011
RMMQoS-chap1
18
6
Compression audio et l oreille
(a) seuil d audibilité/fréquence
~ bande passante oreille
(b) effet de masquage
2011
RMMQoS-chap1
19
Compression audio
• en pratique
– échantillonnage/compression par sous
bande (par exemple 32 en Mpeg)
– quantification dépend de la sous-bande
– n envoyer que ce qui est audible
2011
RMMQoS-chap1
20
Paquetisation et Streaming Audio
technique de l interleaving la perte d un paquet diminue le
fréquence des paquets mais pas de trou silence (mais délai)
2011
RMMQoS-chap1
21
7
Streaming Audio
Le logiciel client média player met les données dans
un buffer, et les joue ensuite
2011
RMMQoS-chap1
22
Exemple téléphonie sur IP
• alternance périodes actives (parole) et silencieuses
– p.e. 64 kbps pendant activité
• paquets générés seulement pendant activité
– morceaux de 20 msec à 8 Ko/sec: 160 octets
• la couche appli ajoute un entête à chaque morceau
• puis encapsulé dans un datagramme UDP
• => un paquet UDP toutes les 20 ms
– (160+entêtes ) octets
2011
RMMQoS-chap1
23
Influence du réseau (audio interactive)
• pertes : un paquet IP peut se perdre
(congestion réseau)
• pertes dues au délai un paquet arrivé trop
tard est ignoré (p.e. paquet suivant déjà joué)
– délais : traitements et files d attentes dans le
réseau
– délais de traitement aux extrémités
(compression…)
– délai maximum tolérable environ: 400 ms
• tolérance aux pertes: dépend du codage, les
pertes peuvent être cachées
– de 1% à 10% peut être toléré
2011
RMMQoS-chap1
24
8
Gigue
réception
au client
délai réseau
variable
(gigue)
joué à
un débit
constant
données
bufferisées
données
cumulées
transmission
à débit
constant
délai de
playout
temps
• délai de réception entre deux paquets
– > 20 ms ou < 20 ms
• remplissage variable du buffer
2011
RMMQoS-chap1
25
Délai fixe de playout
• Le récepteur essaie de jouer chaque
morceau exactement d ms après sa
génération
– le morceau a une estampille t (cf RTP)
• jouer morceau à t+d .
– si morceau arrive après t+d
• morceau ignoré
• Compromis
– grand d : moins de pertes de paquet
– petit d : meilleure interactivité
2011
RMMQoS-chap1
26
Délai de playout adaptatif
• Objectif : minimiser le délai de playout DP tout en
gardant un taux de paquets hors délai faible
• Idée : ajuster dynamiquement le délai de playout
– Estimer le délai réseau et ajuster le DP au début de chaque
période d activité
– Les périodes de silence sont allongées ou raccourcies
• suivant que DP augmente ou diminue
– Les morceaux sont toujours joués tous les 20 ms pendant
activité
– estimation DP : moyenne glissante :
– nouveau_DP= (1-u)*ancien_DP + u*délai_dernier_paquet
– où u est un petit nombre p.e. 0,1 (contrôle la réactivité)
• cf estimation RTT dans TCP
2011
RMMQoS-chap1
27
9
DP adaptatif suite
• On peut aussi raffiner en estimant la variation de délai
(gigue)
nouvelle_gigue = (1-u) * ancienne_gigue + u * | délai_paquet - DP|
• le premier paquet d une période d activité est joué
avec un délai
DP + K * nouvelle_gigue
où K est un paramètre fixe
• Les paquets suivants de la même période d’activité
sont joués à intervalle constant
2011
RMMQoS-chap1
28
DP adaptatif suite
Comment déterminer le début d une période d activité
• en l absence de pertes
– différence des estampilles > 20 msec
• => nouvelle période
• avec pertes : regarder estampilles et numéros de
séquence
– différence des estampilles > 20 msec et séquence sans trou
=> nouvelle période.
2011
RMMQoS-chap1
29
Traitement des pertes
Utilisation de ARQ (exemple TCP)
=> ajoute au moins un RTT
inutilisable en interactif
Codes correcteurs (FEC):
codes simples pour corriger les pertes (≠ erreurs)
exemple codes Reed-Solomon
• pour chaque groupe de n paquets créer un paquet de redondance
– exemple OU exclusif des n paquets
•
•
envoyer n+1 paquets,
on peut reconstruire les n paquets si au plus un seul paquet perdu
•
peut être généralisé à k redondance pour n info
– inconvénient : débit utilisé augmenté de 1/n
– délai augmenté (groupe de n+1) au décodage
2011
RMMQoS-chap1
30
10
Traitement des pertes (2)
• DP doit être augmenté pour traiter un groupe de n+1
paquets
• Compromis
– augmenter n, moins de BP gaspillée
– augmenter n, DP + grand -interactif
– augmenter n, plus grande probabilité de perte d au
moins deux paquets
2011
RMMQoS-chap1
31
Traitement des pertes (3)
Autre idée : 2 codages de qualités (et volume) différentes
• le n-ième paquet contient
le n-ième morceau haute qualité
morceau précédent en basse qualité (redondance)
• en réception si (n-1)-ième paquet perdu,
• remplacer par basse qualité paquet suivant
• perte devient baisse de qualité
• DP augmenté d un intervalle (ie 20 ms)
• coût en BP dépend du rapport entre les deux qualités
• Idée généralisée dans le codage en couche
• n qualités en couches complémentaires
• récepteur adapte nombre de couches à la BP
2011
RMMQoS-chap1
32
Traitement des pertes (4)
Entrelaçage (interleaving)
morceaux découpés en n sous-morceaux
n sous-morceaux distribués dans n paquets consécutifs
un paquet perdu => n morceaux altérés légèrement
pas de BP supplémentaire
augmente le DP
traitement par groupe de n paquets
au codage ET au décodage
2011
RMMQoS-chap1
33
11
Média Vidéo
2011
RMMQoS-chap1
34
Video analogique
Format de balayage NTSC.
2011
RMMQoS-chap1
35
Codage vidéo
– une image de 1024 x 1024 pixels
• 24 bits par pixel => 3 Mo /image
– 25 images par seconde
• => 75 Mo/s = 600 Mb/s
– Nécessité de compresser fortement le
signal
• redondance spatiale (plages uniformes)
• redondance temporelle (images successives)
• limitations de l oeil
2011
RMMQoS-chap1
36
12
Codage JPEG : vue générale
préparation
des blocs
DCT
Quantification
Quantification
différentielle
RLE
encodage
statistique
JPEG en mode avec pertes
DCT = Transformée Cosinus Discrete
RLE : Run Length Encoding AAAAAA => 6A
Encodage statistique (ou entropique) Huffmann
blocs plus fréquents ont un code plus court
2011
RMMQoS-chap1
37
Codage JPEG (décomposition en blocs)
(a) entrée RGB 24 bits/pixel.
(b) découpage en YIQ (NTSC) ou YUV ou Y Cr Cb .
Luminance, chrominance, saturation
2011
RMMQoS-chap1
38
Codage JPEG : DCT
(b)
(a)
(a) Un bloc de la matrice Y (ou U, V)
(b) les coefficients DCT
2011
RMMQoS-chap1
39
13
Codage JPEG : quantification
Quantification des coefficients obtenus après la DCT
⇒ les coeff en haut à gauche (les + importants) sont moins arrondis
⇒ Un coefficient de 2i élimine les i bits de poids faible (et arrondi)
2011
RMMQoS-chap1
40
Codage JPEG : sérialisation et RLE
Ordre de parcours en “zig-zag” des coefficients
=> sérialisation.
Suite de 0 : RLE
2011
RMMQoS-chap1
41
Codage MPEG
Synchronisation des flux audio et vidéo dans MPEG-1.
2011
RMMQoS-chap1
42
14
MPEG : redondance temporelle
3 images consécutives
• peu de changements entre images successives
• idées
• codage différentiel / image précédente (exemple fond)
• codage mouvement d un bloc
2011
RMMQoS-chap1
43
Codeur MPEG
Régulateur
débit
+
DCT
-
(Q)
Input
Image prédite
Q-1
Pre
processing
Encodeur
longueur
variable
Quantificateur
IDCT
+
compensation
mouvement
mémoire
image
Vecteur mouvement
Mémoire
image
Buffer
Output
Estimation
RMMQoS-chap1
mouvement
2011
44
Types de trames mpeg
– trame I (intra)
• compressée en utilisant cette trame uniquement
• compression modérée mais décodage facile
– trame P (predicted)
• Codée avec compensation de mouvement ( I ou P précédente)
• meilleure compression
– trame B (bidirectional)
• Codée avec compensation de mouvement (I ou P précédente
ou suivante)
• entraîne des délais et un ré ordonnancement
• compression supplémentaire
2011
RMMQoS-chap1
45
15
exemple de GOP
(Group of Picture)
Remarque : on doit envoyer régulièrement des images I
• un récepteur peut arriver en cours de flux
• en cas de pertes de trames
• => compromis débit/fiabilité
2011
RMMQoS-chap1
46
Couches mpeg
Hiérarchie d informations en couches (et donc entêtes) :
• couche Sequence : taille image, fréquence image, table de
quantification, …
• couche GOP (Group of Picture) : en général au moins une trame I
• couche image : estampillage, type d image (I,P,B), résolution,
vecteurs de mouvements, …
• couche Slices (tranche): position de la tranche, quantification
– codage tranche indépendant des autres : confinement d erreur
•
couche Macrobloc (16 x 16) : position, vecteur de mouvements, quels
blocs sont codés
2011
RMMQoS-chap1
47
codages et débits vidéo
– MPEG 1 : Qualité CD vidéo (1,5 Mbit/s)
– MPEG 2 : Qualité DVD (3 à 6 Mbit/s voir plus HDTV)
• TNT gratuite
– MPEG 4 (5 Kb/s à 4 Mb/s) /DivX
• TNT HD, HDTV, télé mobiles
– H261 (norme UIT-T)
• adaptée à la visioconférence et visiophonie (bas débit)
• techniques similaires à MPEG
– DCT, quantification, compensation mouvement, …
• format CIF (360 x 288) 30 trames/s
– et QCIF (180 x 144)
2011
RMMQoS-chap1
48
16
Architecture distribution VoD
2011
RMMQoS-chap1
49
Serveurs VoD
Hiérarchie de stockage Volume/rapidité.
2011
RMMQoS-chap1
50
Architecture Serveur VoD
2011
RMMQoS-chap1
51
17
Caractéristiques des flux multimédia
– contraintes de gigue
• playback buffer
– et de délai si interactif
• limite sur le buffer
– débits élevés (vidéo HD)
– débits variables (ex MPEG)
– tolérance aux pertes
• persistance rétinienne, rafraîchissement
• importance variable des données (images I, P, B de
MPEG)
– diffusion (usage du multicast)
2011
RMMQoS-chap1
52
Multimédia et réseau
• Plusieurs mécanismes et protocoles
• Aux extrémités
– codage (compression, paquetisation, …)
• MPEG, H261, …
– transport de bout en bout
• RTP/UDP
– contrôle du transport
• RTCP
– gestion des utilisateurs, sessions, flux
• SIP, H323, RTSP …
2011
RMMQoS-chap1
53
MM et réseau
• Dans le réseau
– mécanismes de QoS (files, priorités, …)
• dans les routeurs/switchs
– gestion globale
• Intserv (intégration de services)
– réservation de ressources (RSVP) depuis extrémités
– Par flux
• Diffserv (services différenciés)
– marquage des paquets
– politique de QoS par classe
2011
RMMQoS-chap1
54
18
Multimédia : protocoles
Application
signalisation
Qualité de service
Transport média
Media
(H. 261, MPEG)
H. 323
SIP
RTSP
RSVP
RTCP
RTP
Noyau
TCP
UDP
IPv4, IPv6
PPP
2011
ATM
RMMQoS-chap1
Ethernet
55
RTP/RTCP
Paire de protocoles de l ietf
groupe AVT Audio Video Transport
RFC 1889 (1996)
RTP : Real Time Protocol
transporte les données
RTCP: Real Time Control Protocol
mécanismes de contrôle
émetteurs et récepteurs
Nouvelle version RFC 3550 (2003)
2011
RMMQoS-chap1
56
Architecture
émetteur
envoie RTP et RTCP
reçoit RTCP
récepteur
reçoit RTP et RTCP
envoie RTCP
possibilité plusieurs récepteurs
⇒ multicast
2011
RMMQoS-chap1
57
19
Multicast IP
• adresses de groupe 224.0.0.0/4
• un paquet envoyé à cette adresse
– dupliqué dans le réseau
– reçu par tous les récepteurs
• nécessite routage multicast dans le
réseau
• extensibilité en nombre de récepteurs
2011
RMMQoS-chap1
58
Architecture (suite)
RTP/RTCP + UDP =
fonctions de 3 couches OSI : transport + session +
présentation
RTP/RTCP peut fonctionner au dessus de protocoles ≠
de UDP (en théorie)
RTP/RTCP
fonctions dans l application (ex: JMF)
Les messages RTP/RTCP
–
–
–
ne sont pas interprétés par le réseau
=> pas d influence sur la QoS réseau
permettent aux applis de s adapter
•
modèle ALF : Application Level Framing
2011
RMMQoS-chap1
59
RTP : Vue générale
• Fonctionne au dessus d UDP (en général)
• Utilise l unicast ou le multicast
• Les données applicatives sont encapsulées dans des paquets
RTP
• Protocole simple :
– Permet de déterminer la base de temps des différents flux
• estampilles
– Permet de détecter les pertes de paquets
• numérotation
– Identifier le contenu des paquets (MPEG audio, JPEG animé, etc.)
• payload type
2011
RMMQoS-chap1
60
20
Entête 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
|!
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+!
!
CC : Nombre de CSRC qui suivent l entête RTP fixe P : padding présent X : extension d’entête présente
CSRC : contributing SRC (utilisé par mixer)
PT : Identifie le format des données contenues dans le paquet RTP. Il existe un profil prédéfini pour assurer la
correspondance entre le type de données et leur format (RFC 3551)
SN : Incrémenté de 1 pour chaque paquet RTP émis. Valeur initiale aléatoire
TS : Instant d'échantillonnage du 1er octet du paquet de données (gestion de la synchronisation et de la gigue).
Valeur initiale aléatoire
SSRC : Identifiant de la source d'émission des paquets synchronisés
!
2011
RMMQoS-chap1
61
RTP : Exemples de profils (PT) audio/video
0 à 23 audio
Type de profil
Format audio
Taux
d'échantillonnage
Débit
0
MIC/PCMU
Codage voix
8 kHz
64 kbit/sec
GSM
8 kHz
4,8 kbit/s
9
G.722
16 kHz
48 à 64 kbit/s
14
3
MPEG Audio
90 kHz
--
15
G. 728
8 kHz
16 kbit/s
24- vidéo ou combiné
2011
Type de profil
Format vidéo
26
JPEG animé
31
H.261
32
MPEG 1 vidéo
33
MPEG 2 vidéo
RMMQoS-chap1
62
RTP
• Le SSRC identifie la source d un flux
– ≠ adresse IP
– plusieurs flux => plusieurs SSRC
– correspondance établie en début de session
• RTCP (message SDES)
• le TS dépend fréquence d échantillonnage
– ex : audio à 8 KHz vidéo à 90 KHz
2011
RMMQoS-chap1
63
21
RTP : exemple audio
• audio échantillons 8 bits / 125 µs
• émetteur
– initialement TS et NS aléatoires (sécurité)
– répéter:
• noter timestamp premier échantillon TS
• accumule échantillons
• jusqu à max (ex : 160 = 20 ms) ou silence
– envoyer paquet RTP avec TS, NS
• NS := NS + 1 et recommencer
2011
RMMQoS-chap1
64
RTCP : RTP Control Protocol
• Protocole fonctionnant avec RTP
– optionnel
• Pour chaque flux RTP reçu,
– chaque récepteur génère un rapport de réception RTCP cyclique
• Pour chaque flux RTP émis,
– la source génère un rapport RTCP cyclique
• Permet de
– garder une trace de tous les participants à une session RTP
– Contrôler le débit auquel les participants transmettent leurs
données RTP
– Permet à une source de changer de politique (codecs, etc…)
– contrôler le contrôle RTCP …
2011
RMMQoS-chap1
65
RTCP : types de paquets
– SR : Sender Report = Rapport des émetteurs
• Statistiques d émission/réception
– RR : Receiver Report = Rapport des récepteurs
• Statistiques de réception
– BYE : Départ explicite
– SDES : Description de la source (CNAME, Email, etc.)
– APP: Extensions spécifiques à l application
2011
RMMQoS-chap1
66
22
RTCP (suite)
• Paquet RTCP
– Partie fixe similaire à l entête RTP
– Plusieurs paquets RTCP peuvent être concaténés
• p.e. combiner SR et RR
• => paquet composé (dans un paquet UDP)
• remarque : ports UDP
– port UDP pour un flux RTP
• choisi dynamiquement, en général pair (ex : 10000)
– port UDP pour signalisation RTCP
• en général RTP + 1 (ex : 10001)
– port doit être découvert au départ (voir SDP, SIP, …)
– => pas décodé automatiquement par wireshark/tcpdump
2011
RMMQoS-chap1
67
RTCP : Format message
Sender Report SR
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|
RC
|
PT=SR=200
|
length
| header!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
SSRC of sender
|!
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+!
|
NTP timestamp, most significant word
| sender!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ info!
|
NTP timestamp, least significant word
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
RTP timestamp
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
sender's packet count
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
sender's octet count
|!
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+!
à suivre!
2011
RMMQoS-chap1
68
SR (suite)
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+!
|
SSRC_1 (SSRC of first source)
| report!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block!
| fraction lost |
cumulative number of packets lost
|
1!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
extended highest sequence number received
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
interarrival jitter
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
last SR (LSR)
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
delay since last SR (DLSR)
|!
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+!
|
SSRC_2 (SSRC of second source)
| report!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block!
:
...
:
2!
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+!
|
profile-specific extensions
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
2011
RMMQoS-chap1
69
23
SR (suite)
• contient
– RC : Receiver Report count (# RR dans la paquet)
– Le SSRC du flux RTP
– La référence de temps quand le rapport a été émis
(NTP timestamp)
• NTP Network Time Protocol (RFC 1305)
– le timestamp RTP
– Le nombre de paquets envoyés
– Le nombre d octets envoyés
– un rapport pour chaque source reçue (similaire
RR)
2011
RMMQoS-chap1
70
RTCP : Format message (RR)
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|
RC
|
PT=RR=201
|
length
| header!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
SSRC of packet sender
|!
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+!
|
SSRC_1 (SSRC of first source)
| report!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block!
| fraction lost |
cumulative number of packets lost
|
1!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
extended highest sequence number received
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
interarrival jitter
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
last SR (LSR)
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
|
delay since last SR (DLSR)
|!
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+!
|
SSRC_2 (SSRC of second source)
| report!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block!
:
...
:
2!
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+!
|
profile-specific extensions
|!
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+!
2011
RMMQoS-chap1
71
RTCP : Format message (RR)
• Pour chaque flux RTP reçu
– Le SSRC du flux RTP
– La proportion de paquets perdus (obtenue en divisant le
nombre de paquets perdus par le nombre de paquets
envoyés au sein d un même flux RTP)
• -> peut déclencher un changement de codage de l’émetteur.
–
–
–
–
2011
Le dernier numéro de séquence du flux RTP
La gigue à la réception
Dernier SR reçu (en temps : NTP timestamp arrondi)
Délai passé depuis le dernier SR reçu
RMMQoS-chap1
72
24
RTCP : message SDES
• Pour chaque flux (SSRC) émis
– fournit des informations
– seul info obligatoire CNAME
• chaîne ASCII
• a priori de la forme user@host
• CNAME stable
– entre flux différents
– changements d IP, de SSRC
– autres champs possibles : Email, Phone, …
2011
RMMQoS-chap1
73
Intérêt des différents rapports
• Peuvent servir à la synchronisation des
différents flux de données d une session
RTP
– NTP timestamp
– Permet par exemple de synchroniser une bande
audio avec une bande vidéo envoyés dans 2 flux
RTP distincts par une source
• les timestamp RTP ne sont pas synchronisés entre eux
• Permet également d avoir des informations
d identification des participants
combien de récepteurs (s il y en a :-))
2011
RMMQoS-chap1
74
RTP et QoS
• Une source peut adapter son émission
– Les sources reçoivent les RR
– Si pertes ou gigue trop importante
– possibilité de changer le PT
• un network manager peut
– exécuter un moniteur
• écoute les rapports RTCP
2011
RMMQoS-chap1
75
25
RTCP et multicast
• Extensibilité (passage au facteur d échelle)
– Le trafic RTCP ne doit pas représenter plus de 5% du total de la
bande passante de la session
– Au moins 25% du trafic RTCP est utilisé pour les rapports de
l émetteur
• problème important pour de grandes sessions
– ex 10 000 récepteurs d une vidéoconférence
– si chaque récepteur envoie RR tous les 100 paquets data
• => 100 fois plus de paquets RR que de data
– Comment limiter le débit global RTCP ?
2011
RMMQoS-chap1
76
RTCP et multicast (suite)
• calculer somme débit moyen sources
– RTCP SR => D
• calculer nombre de récepteurs
– RTCP RR => #R
• calculer taille moyenne RR L
– dépend # sources
• fréquence rapports RR
< 0,05 * D /(#R *L)
Que se passe-t-il si #R augmente brusquement ?
=> améliorations dans RFC 3550
2011
RMMQoS-chap1
77
RTP : Mixers et Translator
• 2 services RTP
• Translator :
– Envoie les flux de différentes sources séparément (transmet les
paquets avec le SSRC intact : identification de la source initiale)
– Invisible par les récepteurs
– Permet le transcodage de flux (ex : limiter débit)
Emetteur 1
Translator 1
Translator 2
Récepteur
De E1 : SSRC =12
E1: SSRC =12
De E1 : SSRC =12
E2 : SSRC =3
De E2 : SSRC =3
2011
RMMQoS-chap1
De E2 : SSRC =3
78
Emetteur 2
26
RTP : Mixers et Translator
• Mixer :
– Combine les flux de différentes sources pour former un seul flux
– Devient la source de synchronisation
• Tous les paquets RTP sont « marqués » par le SSRC du mixer
• L identité des sources originales est inclue dans les options de l entête
RTP (liste CSRC : contributing SRC)
Emetteur 1
Récepteur
Mixer 1
E1: SSRC =12
De M1 : SSRC =32 CSRC {12,3}
E2 : SSRC =3
Emetteur 2
2011
RMMQoS-chap1
79
27
Documents pareils
RTP - LIP6
RTCP pour échanger les messages de contrôle
Chaque paquet TCP contient des champs de contrôle :
■ Acquittements, taille de la fenêtre, etc.
■ Solution adapté pour une boucle de contrôle étroite
RTP...