Real Time Control Protocol: diferència entre les revisions

De la Viquipèdia, l'enciclopèdia lliure
Contingut suprimit Contingut afegit
Línia 45: Línia 45:
: · El número de seqüència més alt rebut des d'aquesta font
: · El número de seqüència més alt rebut des d'aquesta font
: · [[Jitter]]
: · [[Jitter]]
: · Últim timestamp (conté la hora del dia en que l'informe va ser generat) rebut a través de RTCP des de la font.
: · Últim timestamp (conté l'hora del dia en que l'informe va ser generat) rebut a través de RTCP des de la font.
: · Retard des de l'últim informe d'emissor rebut a través de RTCP per a la font.
: · Retard des de l'últim informe d'emissor rebut a través de RTCP per a la font.



Revisió del 12:17, 25 juny 2008


El protocol RTCP (o RTP Control Protocol) és un protocol germà del RTP i està definit a RFC 3550.

RTCP proporciona informació de control que està associat amb un flux de dades per a una aplicació multimèdia (flux RTP). Treballa juntament amb RTP en el transport i empaquetat de dades multimèdia, però no transporta cap dada per sí mateix. S’usa habitualment per transmetre paquets de control als participants d’una sessió multimèdia d’streaming. La funció principal del RTCP és informar de la qualitat de servei proporcionada pel RTP.

Aquest protocol recull estadístiques de la connexió i també informació com ara bytes enviats, paquets enviats, paquets perduts o jitter entre d’altres. Una aplicació pot usar aquesta informació per incrementar la qualitat de servei, ja sigui limitant el flux o usant un codec de compressió mes baixa. En resum. RTCP s’usa per informar de la QoS.

RTCP per sí mateix no ofereix cap mena d’encriptació de flux o d’autenticació. Per a tals propòsits es pot usar SRTCP.

Funcions de RTCP

Informació del desenvolupament d'una aplicació

Aquesta funció és molt útil per a aplicacions de velocitat adaptativa. Un exemple de la seva utilitat seria reduir la congestió mitjançant l'ús d'un esquema de compressió més agressiu o enviar un stream de més alta qualitat quan hi ha poca congestió. També pot resultar útil per a diagnosticar problemes de xarxa.


Correlacionar i sincronitzar diferents media streams provinents de l'emissor

Aquí és molt important establir la diferència entre l'identificador de font de sincronització de RTP, l'SSRC i el CNAME del RTCP. Per exemple, un stream d'àudio i vídeo provinents del mateix emissor utilitzen diferents SSRC, ja que en el cas contrari es podrien donar col·lisions d'identificadors SSRC. Per a solucionar aquest problema, RTCP utilitza el concepte de nom canònic (CNAME) que s'assigna a l'emissor. Aquest CNAME és associat a varis valors SSRC. Així es garantitza que streams que no tenen el mateix ssrc es puguin sincronitzar i ordenar correctament.

Transferir la identitat d'un emissor

Es transmet en el paquet de descripció de la font explicat més endavant en l'apartat Tipus de paquets


Tipus de paquets

RTCP defineix varis tipus de paquets que inclouen:

- Informes d'emissor: Permeten a l'emissor actiu en una sessió informar sobre estadístiques de recepció i transmissió.
- Informes de receptor: Els utilitzen els receptors que no són emissors per a enviar estadístiques sobre la recepció.
- Descripció de la font: Porta els CNAMEs i altres dades que descriuen la informació dels emissors.
- Paquets de control específics de l'aplicació.

Diversos paquets RTCP poden ser enviats en un mateix missatge UDP.

A continuació explicarem la importància de l'existència d'aquests paquets.

En transmissions multicast la informació de control pot consumir un ample de banda considerable. Per a fer-se càrrec d'aquest problema RTCP ha establert un mecanisme per a reduir la transmissió d'informació de control a mesura que ingressen més usuaris, que consisteix en limitar la quantitat de trànsit de RTCP en un petit percentatge de tràfic de dades en RTP. Aquest mecanisme també assigna més ample de banda RTCP als emissors actius.

Un cop un participant sap quant ample de banda pot consumir amb el trànsit de RTCP l'aplicació comença a enviar informes periòdics de la tassa adequada. Els informes d'emissor i de receptor contenen informació sobre les dades rebudes de totes les fonts en el període d'informes més recent. El que les diferencia és que els informes d'emissor inclouen informació extra sobre l'emissor.

Tant els informes d'emissor (sender reports) com els de receptor (receiver reports) contenen un bloc de dades per font que ha estat escoltada des de l'últim informe. Cada bloc conté les següents estadístiques per a la font determinada:

· El seu SSRC
· La fracció de paquets de dades de la font que s'han perdut des de que l'ultim informe va ser enviat.
· Número total de paquets perduts amb origen en aquesta font des de la primera vegada que va ser escoltada.
· El número de seqüència més alt rebut des d'aquesta font
· Jitter
· Últim timestamp (conté l'hora del dia en que l'informe va ser generat) rebut a través de RTCP des de la font.
· Retard des de l'últim informe d'emissor rebut a través de RTCP per a la font.

Els receptors poden deduir moltes coses a partir d'aquestes informacions sobre l'estat de la sessió. Per exemple, poden veure si altres receptors estan obtenint millor qualitat d'un altre emissor que la de que ells disposen. Això pot ser un indici per a reservar recursos el símptoma d'un problema a la xarxa que ha de ser atès.


Paquet de descripció de la font

Aquest paquet conté com a mínim el SSRC i el CNAME de l'emissor. El nom canònic és derivat, de tal manera que totes les aplicacions que generen media streams que requereixin ser sincronitzades, escolliran el mateix CNAME encara que puguin escollir diferents SSRC. Això permet al receptor identificar el media stream que ve del mateix emissor.

Es poden incloure altres dades en aquest paquet, com ara el nom real de l'usuari i el seu e-mail. Aquests són utilitzats a la interfície de l'usuari per a permetre identificar les persones.

Capçalera RTCP

Capçalera MAC - Capçalera IP - Capçalera UDP - Capçalera RTCP - Dades


Capçalera RTCP

Versió: 2 bits Indica la versió RTP, que és la mateixa als paquets RTCP que als RTP

Padding: 1 bit Si està activat vol dir que el paquet conté alguns bits de padding al final que no formen part de la informació de control. L'últim byte del padding indica quants bytes de padding s'han d'ignorar.

Count: 5 bits Indica el nombre de blocs d'informes de receptor continguts en aquest paquet

Type: 8 bits Indica el tipus de paquet RTCP

Length: 16 bits Indica la llargada del paquet RTCP