Real-time Transport Protocol: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m r2.7.1) (Bot: Aggiungo: id:Realtime Transport Protocol |
Aggiunta voce correlata |
||
(30 versioni intermedie di 22 utenti non mostrate) | |||
Riga 1:
{{IPstack}}▼
▲L' '''RTP''' o '''Real-time Transport Protocol''' è un [[Protocollo di rete|protocollo]] del [[livello applicazioni]] per servizi in [[tempo reale]] in internet.
== Descrizione ==
È stato sviluppato da un gruppo di ricerca noto come '''Audio-Video Transport Working Group''', facente capo alla [[Internet Engineering Task Force|IETF]] (''Internet Engineering Task Force''). Il corrispondente [[Request for Comments|RFC]] è stato pubblicato nel 1996.
RTP doveva inizialmente essere un protocollo [[multicast]], ma viene più spesso impiegato in applicazioni [[unicast]]. È basato sul protocollo [[User Datagram Protocol|UDP]] e viene usato in congiunzione con [[RTCP]] (''RTP Control Protocol'') che monitora la [[qualità di servizio|qualità del servizio]] e trasporta le informazioni riguardo ai partecipanti ad una [[sessione]]. RTCP è sufficiente per sessioni “loosely controlled”, in cui cioè non
Questo protocollo permette distribuzione di servizi che necessitano di trasferimento in tempo reale, come l'[[interattività]] audio e video. Fra questi servizi si trovano anche:
Line 6 ⟶ 10:
* la numerazione sequenziale
* la marcazione temporale ([[timestamp]])
* il monitoraggio.
▲È stato sviluppato da un gruppo di ricerca noto come '''Audio-Video Transport Working Group''', facente capo alla [[Internet Engineering Task Force|IETF]] (Internet Engineering Task Force). Il corrispondente [[Request for Comments|RFC]] è stato pubblicato nel 1996.
▲RTP doveva inizialmente essere un protocollo [[multicast]], ma viene più spesso impiegato in applicazioni [[unicast]]. È basato sul protocollo [[User Datagram Protocol|UDP]] e viene usato in congiunzione con [[RTCP]] (RTP Control Protocol) che monitora la qualità del servizio e trasporta le informazioni riguardo ai partecipanti ad una sessione. RTCP è sufficiente per sessioni “loosely controlled”, in cui cioè non c’è un reale controllo dei partecipanti e set-up della sessione, e non è necessario che tutti i requisiti di controllo siano soddisfatti. Per questo RTP può essere coadiuvato da un protocollo apposito per la gestione delle sessioni (come [[Session Initiation Protocol|SIP]] o [[H.323]]).
Solitamente le applicazioni pongono l'RTP sopra l'[[User Datagram Protocol|UDP]] per le operazioni di [[multiplexing]] e [[checksum]], anche se può essere usato con altri protocolli di rete e trasporto sottostanti.
I numeri di sequenza ([[sequence numbers]]) che troviamo nel protocollo RTP permettono all'utente che riceve i dati di ricostruire la sequenza dei pacchetti del mittente. Le conferenze multicast multimediali non sono però la sua unica capacità, anche se è stato implementato inizialmente per tale scopo. Ad esempio, trovano posto in questo protocollo la memorizzazione di un [[flusso dati continuo]], le simulazioni interattive distribuite, le misurazioni e i controlli.
=== Header ===
{| width="500" align="right" border="1" class="wikitable"
|-
Line 50 ⟶ 47:
|}
I pacchetti RTP sono formati da un header di minimo 12 byte seguiti da un payload che dipende dalla specifica applicazione.
* '''Ver. (Version)''': (2bit) indica la versione del protocollo. La versione corrente è la numero 2.
* '''P (Padding)''': (1 bit) indica se è presente un byte di padding alla fine del pacchetto.
* '''X (Extension)''': (1 bit) indica la presenza di un Extension header tra
* '''CC (CSRC Count)''': (4 bit) contiene il numero di CSRC identifiers (definiti sotto) che seguono
* '''M (Marker)''': (1 bit) Usato dal livello applicativo e quindi definito dal profilo specifico. Se è settato, significa che il pacchetto ha una qualche speciale rilevanza per il livello applicativo.
* '''PT (Payload Type)''': (7 bit) indica il formato del payload e determina la sua interpretazione
* '''Sequence Number''': (16 bit) il sequence number viene incrementato di uno per ogni pacchetto RTP inviato e permette al ricevente di identificare perdite di pacchetti e ripristinare
* '''Timestamp''': (32 bit) utilizzato per permettere al ricevente di riprodurre il media ricevuto
* '''SSRC''': (32 bit) il synchronization source identifier identifica in modo univoco la fonte dello stream
* '''CSRC''': (da 0 a 15, 32 bit ciascuno) gli identificatori contributing source enumerano le fonti di uno stream generato da più fonti. Il numero di identificatori CSRC è dato dal valore del campo CC.
== Voci correlate ==
==Collegamenti esterni==▼
== Altri progetti ==
{{interprogetto}}
▲== Collegamenti esterni ==
* RFC 3550 Real-time Transport Protocol
* RFC 1889
▲{{IPstack}}
{{Portale|Telematica}}▼
[[Categoria:Protocolli di Internet]]
[[Categoria:Protocolli livello applicazione]]
[[Categoria:Software real-time]]
▲{{Portale|Telematica}}
▲[[cs:Real-time Transport Protocol]]
|