RTP - protokolla ( Real-time Transport Protocol ) toimii sovelluskerroksessa (OSI-7) ja sitä käytetään reaaliaikaisen liikenteen välittämiseen . Protokollan kehitti IETF :n Audio-Video Transport Working Group, ja se julkaistiin ensimmäisen kerran vuonna 1996 nimellä RFC 1889 ( RFC 1889 on vanhentunut vuoden 2003 RFC 3550 :n jälkeen).
RTP-protokolla sisältää otsikossaan dataa, joka tarvitaan audiodatan tai videokuvan palauttamiseen vastaanottavassa solmussa, sekä tiedot tiedon koodaustyypistä ( JPEG , MPEG jne.). Tämän protokollan otsikossa lähetetään erityisesti aikaleima ja paketin numero. Näiden parametrien avulla voidaan minimaalisilla viiveillä määrittää kunkin paketin dekoodausjärjestys ja -hetki sekä interpoloida kadonneita paketteja.
RTP:llä ei ole vakiovarattua porttinumeroa. Ainoa rajoitus on, että yhteys muodostetaan käyttämällä parillista numeroa ja seuraavaa paritonta numeroa käytetään RTCP-viestintään . Se tosiasia, että RTP käyttää dynaamisesti määritettyjä porttiosoitteita, vaikeuttaa sen kulkemista palomuurien läpi. Yleensä STUN -palvelinta käytetään tämän ongelman ohittamiseen .
Yhteyden muodostaminen ja katkaiseminen ei sisälly RTP-ominaisuuksien luetteloon, tällaiset toiminnot suoritetaan signalointiprotokollalla (esimerkiksi RTSP tai SIP - protokolla).
RTP on suunniteltu reaaliaikaiseksi , päästä päähän -protokollaksi tietojen suoratoistoon . Protokolla sisältää kyvyn kompensoida värinää ja havaita sekvenssin ulkopuolisia datapaketteja - tyypillisiä tapahtumia IP-verkoissa tapahtuvan lähetyksen aikana. RTP tukee usean kohteen tiedonsiirtoa Multicastin kautta . [1] RTP:tä pidetään päästandardina puhe- ja videolähetyksissä IP-verkoissa ja yhdessä koodekkien kanssa.
Reaaliaikaisia virtoja luovat sovellukset vaativat tiedon oikea-aikaista toimittamista ja voivat sietää jonkin verran pakettihäviöitä tämän tavoitteen saavuttamiseksi. Esimerkiksi audiosovelluksen pakettihäviö voi johtaa sekunnin murto-osaan hiljaisuudesta, jota ei välttämättä havaita sopivilla virheiden piilotusalgoritmeilla. [2] TCP-protokollaa , vaikka se on standardoitu RTP-lähetyksiin, [3] ei yleensä käytetä RTP-sovelluksissa, koska TCP:n lähetyksen luotettavuus aiheuttaa aikaviiveitä. Sen sijaan useimmat RTP-toteutukset perustuvat UDP :hen . Lisäksi SCTP- ja DCCP -siirtoprotokollia varten on muita määritelmiä , mutta niitä ei käytetä laajasti. [4] [5]
RTP-spesifikaatiossa kuvataan neljä aliprotokollaa:
Jokaiselle mediavirralle luodaan RTP-istunto. Istunto koostuu IP-osoitteesta ja porteista RTP:tä ja RTCP:tä varten. Esimerkiksi ääni- ja videovirroilla on erilaiset RTP-istunnot, jolloin vastaanotin voi varata tietyn virran tätä varten. [6] Istunnon muodostavat portit kommunikoivat keskenään muiden protokollien avulla, kuten SIP (sisältää SDP [7] -protokollan viesteissään ) ja RTSP (käyttäen SDP:tä Setup-menetelmässä). Määrityksen mukaan RTP:llä ei ole vakiovarattua porttinumeroa. Ainoa rajoitus on, että yhteys muodostetaan käyttämällä parillista numeroa ja seuraavaa paritonta numeroa käytetään RTCP-viestintään . RTP ja RTCP käyttävät yleensä etuoikeutettomia UDP-portteja (16k-32k), mutta muita portteja voidaan käyttää, koska RTP itsessään on riippumaton kuljetuskerroksesta.
|
0-1 - Ver . (2 bittiä) ilmaisee protokollan version. Nykyinen versio on 2.
2 - P (yksi bitti) käytetään tapauksissa, joissa RTP-paketti on täytetty tyhjillä tavuilla lopussa.
3 - X :ää (yksi bitti) käytetään ilmaisemaan paketissa mukana olevat protokollalaajennukset.
4-7 - CC (4 bittiä) sisältää pysyvää otsikkoa seuraavien CSRC-tunnisteiden lukumäärän.
8 - M (yksi bitti) on käytössä sovellustasolla ja profiilin määrittelemä. Jos tämä kenttä on asetettu, pakettidatalla on jokin erityinen merkitys sovellukselle.
9-15 - PT (7 bittiä) ilmaisee hyötykuorman muodon ja määrittää sen tulkinnan sovelluksen toimesta.
64-95 - SSRC ilmaisee kellon lähteen.
EHL (Extension Header Length) - otsikkolaajennuksen tietolohkossa olevien 32-bittisten sanojen määrä.
L on paketin viimeinen tavu, joka määrittää täytealueen pituuden tavuina (käytetään viimeisen paketin kohdistamiseen).
TCP /IP-perusprotokollat OSI -mallin kerroksittain | |
---|---|
Fyysinen | |
kanavoitu | |
verkkoon | |
Kuljetus | |
istunto | |
Edustus | |
Sovellettu | |
Muuta sovellettu | |
Luettelo TCP- ja UDP-porteista |