Protokol za prenos u realnom vremenu (engl.Real-time Transport Protocol), definisan je u potpunosti documentom RFC3550, kao dopuna RFC1889. Izvršava se korišćenjem UDP protokola, u kome je brzina prenosa podataka bitnija od kvaliteta primljenih signala.[1] Služi za prenos u realnom vremenu sa jednog na drugi kraj mreže vremenski osetljivih podataka kao što su audio i video podaci, nezavisno od tipa mreže.[2] RTP je prevashodno dizajniran za podršku višestranih multimedijalnih konferencija, ali se koristi za različite vrste aplikacija.
Zbog grešaka u prenosu, paketi mogu da se izgube, zakasne i prenesu bez poštovanja redosleda. Protokol za prenos u realnom vremenu, ne obezbeđuje isporuku podataka na vreme i ne uključuje vremenska odstupanja ili mehanizam reprodukcije. Međutim, on u svom zaglavlju nosi podatke koji omogućavaju da se utvrdi koje su poruke izgubljene u prenosu i na osnovu toga ispravlja redosled paketa na prijemu. Sam RTP protokol međutim, ne može da rezerviše resurse na mreži, niti obezbeđuje kvalitet prenosa, pa se za ove funkcije koriste dopunski protokoli.[2]
Kontrola funkcionisanja RTP protokola vrši se preko protokola kontrole prenosa u realnom vremenu RTCP (engl.Real-time Transport Control Protocol).
Princip prenosa IP paketa
Prenos podataka se sastoji od nekoliko koraka. Prvo se vrši digitalizacija signala, što kao rezultat daje niz bitova sa protokom određene brzine. Nakon toga se putem algoritama digitalnog filtriranja vrši obrada signala, koji se zatim komprimuju u cilju smanjenja ukupnog broja bitova potrebnih za njegov prenos.[1] U sedećem koraku ovakva informacija se pretvara u IP paket:
Struktura RTP paketa
IP zaglavlje
UDP zaglavlje
RTP zaglavlje
RTP korisnički sadržaj
Podaci se prenose preko RTP paketa. Na početku se nalazi zaglavlje koje sadrži informacije o korisničkom sadržaju, kao što su podaci o izvorima, njihovoj veličini, načinu šifrovanja i dr. Da bi RTP paket mogao da se prenese preko IP mreže koristi se UDP datagram protokol, a ovaj se smešta u IP paket.[3]
Ovako formiran IP paket šalje se preko Interneta kao bilo koji drugi paket podataka. Usmerivači, na temelju adrese koje određuju mesto ulaska i izlaska iz IP mreže prosleđuju paket do odredišta. U posljednjoj fazi, na prijemu, obavlja se inverzan proces od onog na predaji. Nakon ekstrakcije signala iz IP paketa vrši se dekompresija signala i pretvara u analogni oblik, u cilju reprodukcije.
Zaglavlje RTP paketa
Zaglavlje RTP paketa sadrži seriju podataka:[4][2]
Zaglavlje RTP paketa
redni broj bita
0-1
2
3
4-7
8
9-15
16-31
0
Verzija
P
X
CC
M
PT
Redni broj poruke (SN)
32
Vreme nastanka (TS)
64
Identifikator izvora (SSRC)
96
Lista učesnika (CSRC) ...
96+32×CC
Definicija učesnika
Dužina zaglavlja proširenja
128+32×CC
Zaglavlje proširenja (EH) ...
verzija (V - version) dužina 2 bita – označava veriju RTP protokola. Sadašnja standardna verzija ima vrednost V=2
dopuna (P - padding) dužine 1 bit. U koliko je ovaj bit postavljen, paket sadrži jedan ili više bajtova dopune na kraju paketa, npr. za sisteme sa šifrovanim podacima
indikator postojanja proširenja (X) dužine 1 bit koji ukazuje na postojanje zaglavlja proširenja između standardnog zaglavlja i korisničkog saržaja (Payload Type)
brojač učesnika (CC - CSRC Count) dužine 4 bita definiše broj učesnika čiji se podaci nalaze posle zaglavlja
oznaka (M - marker) dužine 1 bit poruke sa posebnim sadržajem
vrsta korisničkog sadržaja (PT Payload Type) dužine 7 bita definiše format korisničkog dela i određuje na koji način će se njegov sadržaj interpretirati. Njegove vrednosti po definiciji su opisane u dokumentu RCF 3551. U koliko prijemnik ne razume definiciju korisničkog saržaja on će taj sadržaj ignorisati
redni broj (SN - sequence number) poruke dužine 16 bita, počinje od slučajne vrednosti i povećava se za 1 za svaku sledeću poruku
veme nastanka (TS - timestamp) dužine 32 bita pokazuje vreme nastanka prvog bajta korisničkog sadržaja. Uzastopne RTP poruke mogu imati istu vrednost vremena nastanka ukoliko je sadržaj koji nose nastao u istom postupku
lista učesnika (CSRC - Contributing source) dužine 32 bita navode se učesnici na osnovu kojih je mikser formirao zbirni tok podataka, od kojih zatim formira izvorne podatke u obliku SSRC. Njihov broj je definisan u CC polju. Učesnici dobijaju brojeve od 0 do 15 i svaki od njih je dužine 32 bita. Moguće je definisati samo 15 učesnika. Ovaj deo postoji samo u slučaju da je u indikatoru X naznačeno da postoji proširenje
identifikator izvora (SSRC - synchronization source identifier) dužine 32 bita omogućava da se u jednoj multimedijskoj vezi (sesiji) prepoznaju svi izvori
definicija učesnika, dužine 16 bita rezerviše se za specifikacije učesnika (profila) koji je zahtevao proširenje, odnosno uslovi pod kojima njihovi dodaci mogu da se primene i funkcionišu
dužina zaglavlja proširenja 16 bita, definiše broj 32 bitnih reči u proširenju
proširenje (EH - Extension header) dužine 32 bita ukoliko je postavljen, RTP zaglavlje može da ima tačno jednu ekstenziju
^Larry L. Peterson; Bruce S. Davie (8. 3. 2007). Computer network. Morgan Kaufmann. стр. 430—431. ISBN978-0-12-370548-8.CS1 одржавање: Формат датума (веза)