12.07.2015 Views

RTP : protocole de transport - RFC

RTP : protocole de transport - RFC

RTP : protocole de transport - RFC

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>RFC</strong> 3550 page - 30 - Schulzrinne & autresLes données dépendantes <strong>de</strong> l'application peuvent apparaître ou non dans un paquet APP. Elles sont interprétées parl'application et non par <strong>RTP</strong>. Leur longueur DOIT être un multiple <strong>de</strong> 32 bits.7. Traducteurs et mixeurs <strong>RTP</strong>En plus <strong>de</strong>s systèmes d'extrémité, <strong>RTP</strong> prend en charge la notion <strong>de</strong> "traducteurs" et <strong>de</strong> "mixeurs", qui pourraient êtreconsidérés comme <strong>de</strong>s "systèmes intermédiaires" au niveau <strong>de</strong> <strong>RTP</strong>. Bien que cette prise en charge ajoute <strong>de</strong> la complexitéau <strong>protocole</strong>, la nécessite <strong>de</strong> ces fonctions a été clairement établie par <strong>de</strong>s expériences avec <strong>de</strong>s applications audio et vidéoen diffusion groupée sur l'Internet. Les exemples d'utilisations <strong>de</strong> traducteurs et <strong>de</strong> mixeurs donnés au paragraphe 2.3proviennent <strong>de</strong> la présence <strong>de</strong> pare-feu et <strong>de</strong> connexions à faible ban<strong>de</strong> passante, qui vont vraisemblablement durer.7.1 Description généraleUn traducteur/mixeur <strong>RTP</strong> connecte <strong>de</strong>ux "nuages" <strong>de</strong> niveau <strong>transport</strong> ou plus. Normalement, chaque nuage est défini parun réseau commun et un <strong>protocole</strong> <strong>de</strong> <strong>transport</strong> (par exemple, IP/UDP) plus une adresse <strong>de</strong> diffusion groupée et un accès <strong>de</strong><strong>de</strong>stination <strong>de</strong> niveau <strong>transport</strong> ou une paire d'adresses d'envoi individuel et d'accès. (Les traducteurs <strong>de</strong> <strong>protocole</strong> <strong>de</strong> niveau<strong>transport</strong>, tels que <strong>de</strong> IP version 4 en IP version 6, peuvent être présents au sein d'un nuage <strong>de</strong> façon invisible à <strong>RTP</strong>.) Unsystème peut servir <strong>de</strong> traducteur ou mixeur pour un certain nombre <strong>de</strong> sessions <strong>RTP</strong>, mais chacune est considérée commeune entité logique distincte.Afin d'éviter <strong>de</strong> créer une boucle lorsque un traducteur ou mixeur est installé, les règles suivantes DOIVENT être observées:ooChacun <strong>de</strong>s nuages connectés par <strong>de</strong>s traducteurs et mixeurs participant à une session <strong>RTP</strong> DOIT être distinct <strong>de</strong>s autrespar au moins un <strong>de</strong> ces paramètres (<strong>protocole</strong>, adresse, accès), ou DOIT être isolé <strong>de</strong>s autres au niveau réseau.Une déduction <strong>de</strong> la première règle est qu'il NE DOIT PAS y avoir plusieurs traducteurs ou mixeurs connectés enparallèle à moins que par quelque arrangement ils partitionnent l'ensemble <strong>de</strong>s sources à transmettre.De même, tous les systèmes d'extrémité <strong>RTP</strong> qui peuvent communiquer à travers un ou plusieurs traducteurs ou mixeurs<strong>RTP</strong> partagent le même espace <strong>de</strong> SSRC, c'est-à-dire que les i<strong>de</strong>ntifiants <strong>de</strong> SSRC DOIVENT être uniques parmi tous cessystèmes d'extrémité. Le paragraphe 8.2 décrit l'algorithme <strong>de</strong> résolution <strong>de</strong> collision par lequel les i<strong>de</strong>ntifiants <strong>de</strong> SSRCsont conservés uniques et les boucles détectées.Il peut y avoir <strong>de</strong> nombreuses variétés <strong>de</strong> traducteurs et mixeurs conçues pour différents objets et applications. Quelquesexemples sont d'ajouter ou retirer le chiffrement, changer le codage <strong>de</strong>s données ou les <strong>protocole</strong>s sous-jacents, oudupliquer entre une adresse <strong>de</strong> diffusion groupée et une ou plusieurs adresses d'envoi individuel. La distinction entretraducteurs et mixeurs est qu'un traducteur passe séparément à travers les flux <strong>de</strong> données provenant <strong>de</strong> différentes sources,alors qu'un mixeur les combine pour former un nouveau flux:Traducteur :Il transmet les paquets <strong>RTP</strong> avec leur i<strong>de</strong>ntifiant <strong>de</strong> SSRC intact ; cela donne aux receveurs la possibilité d'i<strong>de</strong>ntifier lessources individuelles même si les paquets provenant <strong>de</strong> toutes les sources passent à travers le même traducteur et portentl'adresse réseau <strong>de</strong> source du traducteur. Certains types <strong>de</strong> traducteurs vont passer les données inchangées, mais d'autresPEUVENT changer le codage <strong>de</strong>s données et donc le type <strong>de</strong> charge utile et l'horodatage <strong>de</strong>s données <strong>RTP</strong>. Si plusieurspaquets <strong>de</strong> données sont recodés en un seul, ou vice versa, un traducteur DOIT allouer un nouveau type <strong>de</strong> charge utile auxpaquets sortants. Les pertes dans le flux entrant <strong>de</strong> paquets peuvent induire les trous correspondants dans les types <strong>de</strong>charge utile sortants. Les receveurs ne peuvent pas détecter la présence d'un traducteur à moins qu'ils ne sachent parquelque autre moyen quel type <strong>de</strong> charge utile ou d'adresse <strong>de</strong> <strong>transport</strong> a été utilisée par la source originale.Mixeur :Il reçoit les flux <strong>de</strong> paquets <strong>de</strong> données <strong>RTP</strong> d'une ou plusieurs sources, change éventuellement le format <strong>de</strong>s données,combine les flux d'une certaine manière puis transmet le flux combiné. Comme l'écoulement temporel entre plusieurssources d'entrées n'est généralement pas synchronisé, le mixeur va faire <strong>de</strong>s ajustements temporels entre les flux et générersa propre synchronisation pour le flux combiné, <strong>de</strong> sorte qu'il est la source <strong>de</strong> synchronisation. Et donc, tous les paquets <strong>de</strong>données transmis par un mixeur DOIVENT être marqués avec le propre i<strong>de</strong>ntifiant <strong>de</strong> SSRC du mixeur. Afin <strong>de</strong> préserverl'i<strong>de</strong>ntité <strong>de</strong>s sources originales qui contribuent au paquet mixé, le mixeur DEVRAIT insérer leurs i<strong>de</strong>ntifiants <strong>de</strong> SSRCdans la liste <strong>de</strong>s i<strong>de</strong>ntifiants <strong>de</strong> CSRC suivis <strong>de</strong> l'en-tête <strong>RTP</strong> fixe du paquet. Un mixeur qui est aussi lui-même une sourcecontributive pour <strong>de</strong>s paquets DEVRAIT explicitement inclure son propre i<strong>de</strong>ntifiant <strong>de</strong> SSRC dans la liste <strong>de</strong> CSRC pource paquet.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!