Testeur rnis.com

Comprendre la VoIP


Commutation par paquets


   Lors d'un transfert d'informations sur un réseau IP, ces informations sont découpées en paquets qui peuvent suivre des chemins différents de l'émetteur vers le destinataire. Cela s'appelle la commutation par paquets qui s'oppose à la commutation par circuits (un circuit physique ou logique relie l'émetteur au destinataire). Découper les données en paquets permet de multiplexer le flux. Les paquets provenant de plusieurs sources différentes sont mélangés sur le réseau afin de pouvoir offrir plusieurs connections sur un seul lien.    Le principal inconvénient du multiplexage est la gigue qu'il peut engendrer. Si tous les créneaux créés par le multiplexage sont occupés, la source doit attendre qu'un de ces créneaux soit libre. Dans le cadre d'une application comme la VoIP, cette attente se traduit par un retard baptisé gigue (jitter en anglais). Ce délai peut être variable mais doit être faible pour garantir une bonne qualité dans une conversation VoIP. Lorsque la gigue devient trop importante, les conversations deviennent hachées voire inintelligible.    Les protocoles utilisés pour le transport de la VoIP se doivent donc de prévoir et corriger cette gigue. Le RTP (pour Real Time Protocole) dispose d'un mécanisme pour palier à ce défaut.

Description du protocole RTP :


   Le protocole RTP utilise le protocole UDP pour le transport de données. Il rajoute à ce protocole basique des fonctionnalités temporelles dédiées aux transmissions temps réelles. On trouve notamment dans l'entête des informations sur le type de média transportés, le séquencement et la synchronisation des datagrammes. De telle façon, le récepteur peut déduire de ces informations la gigue produite par le transfert et la corriger par l'usage de tampons. Le récepteur peut aussi repérer les paquets arrivant dans le désordre et bien les replacer dans le tampon. L'en-tête RTP comporte les informations suivantes :

<--------------------------- 32 bits --------------------------->
V=2 P X CC M Sequence number
Timestamp
Identifiant de la source de synchronisation (SSRC)
Identifiants de la source de contribution (CSRC)
  • Le champ Version V de 2 bits de longueur indique la version du protocole (V=2)
  • Le champ padding P : 1 bit, si P est égal à 1, le paquet contient des octets additionnels de bourrage (padding) pour finir le dernier paquet.
  • Le champ extension X : 1 bit, si X=1 l'en-tête est suivie d'un paquet d'extension
  • Le champ CSRC count CC : 4 bits, contient le nombre de CSRC qui suivent l'entête
  • Le champ marker M: 1 bit, son interprétation est définie par un profil d'application (profile)
  • Le champ payload type PT : 7 bits, ce champ identifie le type du payload (audio, vidéo, image, texte, html, etc.)
  • Le champ séquence number : 16 bits, sa valeur initiale est aléatoire et il s'incrémente de 1 à chaque paquet envoyé, il peut servir à détecter des paquets perdus
  • Le champ timestamp : 32 bits, reflète l'instant où le premier octet du paquet RTP à été échantillonné. Cet instant doit être dérivé d'une horloge qui augmente de façon monotone et linéaire dans le temps pour permettre la synchronisation et le calcul de la gigue à la destination
  • Le champ SSRC : 32 bits, identifie de manière unique la source, sa valeur est choisie de manière aléatoire par l'application. Le champ SSRC identifie la source de synchronisation (ou dit simplement "la source"). Cet identificateur est choisi de manière aléatoire avec l'intérêt qu'il soit unique parmi toutes les sources d'une même session La liste des CSRC identifie les sources (SSRC) qui ont contribué à l'obtention des données contenues dans le paquet qui contient ces identificateurs. Le nombre d'identificateurs est donné dans le champ CC
  • Le champ CSRC : 32 bits, identifie les sources contribuant.


Description du protocole RTCP :


   Le protocole RTCP est complémentaire du protocole RTP dans le sens où il ne sers qu'a transmettre à intervalles des paquets de contrôle contenant des statistiques et des informations sur la session ouverte. On peut notamment l'utiliser pour avertir de conditions de trafic réseau dégradées. Pendant une session, tous les participants émettent des paquets RTCP. Les statistiques circulent sous forme de rapports :
Les SR (Sender Report - rapport d'émetteur) et les RR (Receivers Report - rapport de récepteur) contiennent par exemple le nombre de paquets envoyés depuis le début de la session ou encore le nombre d'octets déjà envoyés ainsi que le taux de pertes.


En résumé :


Pour faire circuler la voix sur un réseau à commutation de paquets, il faut utiliser un protocole de transport gérant le temps réel comme RTP. Cela est aussi valable pour tout type de données ayant des contraintes de temps réel (comme la vidéoconférence par exemple). Le protocle RTP ne permet pas de garantir une communication sans gigue mais permet juste de réduire ses effets avec l'utilisation conjointe de tampon chez le récepteur. En effet, grâce aux données de l'entête RTP (les champs timestamp et sequence number), il est possible de détecter le retard des paquets ainsi que la perte de ceux-ci. Le protocole RTCP, souvent utilisé conjointement avec RTP, apporte les statistiques sur la qualité du réseau afin de mieux gérer l'envoi des données et ainsi s'adapter.

Précédent

Suivant


Recherchez sur le site
Accueil
Contact Wavetel : Test et mesures en télécommunications. Wavetel.fr

Contact Webmaster          Plan

Get Firefox! Valid XHTML 1.0! Powered with PhpMyVisit Powered with RobotStats