Úvod > Články > Streaming media (4): transportní protokoly RTP/RTCP

Streaming media (4): transportní protokoly RTP/RTCP

Minule jsme naznačili, že tradiční struktura protokolů TCP/IP zrovna není ideální pro přenos streaming media. Dnes se podíváme, jak to vypadá s transportními protokoly vhodnými pro streaming media.

TCP (Transmission Control Protocol), klasický spolehlivý transportní protokol architektury TCP/IP zajišťující doručení paketů prostřednictvím mechanizmů potvrzování (acknowledgment) a opětovného vysílání (retransmission), není vhodný pro přenosy v reálném čase. Neposkytuje totiž časové údaje o odeslání jednotlivých paketů a nepodporuje skupinové vysílání, které se pro aplikace v reálném čase velmi často používá.

Ale nejnevhodnější vlastností TCP v tomto případě je jeho zabudované řízení chyb: opětovný přenos ztraceného nebo chybného segmentu. Při přenosu v reálném čase je potřeba naopak ztracené nebo poškozené pakety ignorovat: jejich opětovný přenos je zbytečný, protože paket už je nepoužitelný. Vzhledem k dnešní nadbytečnosti audio a video signálů (i s kompresí) lze jednoduše ztracené pakety ignorovat.

UDP (User Datagram Protocol) jako jednodušší transportní protokol nezajišťující spolehlivé doručení paketů je vhodnější transportní mechanizmus pro provoz v reálném čase. Ale protože se mu nedostává některých vlastností potřebných pro specifika přenosu v reálném čase, je potřeba ještě další doplňující protokol nad UDP, RTP. Protokolová architektura pro aplikace v reálném čase s RTP je naznačena na obrázku.

Obrázek: Protokolová architektura s RTP

Real-time Transport Protocol: RTP

Přenosový protokol v reálném čase (RTP, Real-time Transport Protocol, RFC 3550) je protokol zajišťující podporu pro koncové multimediální přenosy v reálném čase. Nezaručuje doručení dat ani správné pořadí jednotlivých paketů (to záleží na momentálních možnostech sítě), ale definuje jejich pořadová čísla, podle kterých mohou multimediální aplikace rozpoznat chybějící pakety. Zakládá se na synchronizaci časového přenosu a zjištění ztráty nebo nesprávného pořadí dat. RTP nejčastěji používá protokol UDP (čísla portů 5004, 5005, 6970), ale může využít i jiné protokoly. Bezpečnou variantu RTP představuje protokol SRTP (Secure Real-time Transport Protocol), specifikovaný v RFC 3711.

RTP protokol byl navržen jak pro individuální tak skupinové přenosy, pro jednosměrný i obousměrný přenos. Je tedy použitelný pro aplikace videokonference i pro IP telefonii, používají ho protokoly SIP i H.323.

K multimediálnímu obsahu RTP připojuje záhlaví, které obsahuje pořadové číslo paketu (sequence number) pro zjištění ztrát nebo duplicity paketů a označení typu obsahu (payload identification), tj. informaci o formátu multimediálního souboru, který tvoří obsah paketu (např. JPEG, G.722, H.261). Kódování obsahu se může změnit, pokud se má přizpůsobit rozdílům v šířce pásma. Dále RTP pakety obsahují indikaci začátku a konce rámce (frame indication), identifikaci zdroje (source identification) a synchronizaci (intramedia synchronization) pro detekci různého kolísání zpoždění v rámci daného toku a pro potřebnou kompenzaci tohoto kolísání při vlastním přehrávání obrazů a zvuků.

Formát RTP datagramu je jednoduchý a obecný, takže vyhovuje všem aplikacím v reálném čase (existuje pouze jeden typ zprávy RTP). Mezi typy dat RTP zprávy jsou G.721 audio, GSM audio, G.722 audio, MPEG audio, G.728 audio, H.261, MPEG-1 a MPEG-2 video.

Komprese RTP

Protokol RTP může úspěšně využít komprese při přenosu videa, jednak v datové části zprávy (RFC 2435 řeší formát dat RTP pro komprimované video v JPEG), a jednak v záhlaví (RFC 2508 specifikuje kompresi záhlaví IP/UDP/RTP pro pomalé spoje).
 
Komprimovaný RTP (CRTP, Compressed RTP) je určen pro omezení objemu záhlaví datových jednotek IP, UDP a RTP. Protokol je velmi účinný zejména na spolehlivých a rychlých dvoubodových spojích. V méně spolehlivých sítích s dlouhými zpožděními, ztrátami paketů a doručením paketů mimo pořadí ale CRTP nepracuje ideálně pro aplikace IP telefonie. Pro tento případ se používá jeho vylepšení ve formě ECRPT (Enhanced CRPT; RFC 3545).

Real-time Transport Control Protocol: RTCP

Jak bylo řešeno výše, RTP neposkytuje žádný mechanizmus na zajištění doručení, včasného doručení paketů, ani pro doručení paketů ve správném pořadí. Doručování paketů je monitorováno pomocí podpůrného řídicího protokolu RTCP. Tyto dva protokoly jsou často brány dohromady a označovány jako RTP/RTCP.

Řídicí protokol pro přenos v reálném čase (RTCP, Real-time Transport Control Protocol) spolupracuje s protokolem RTP. Používá periodické vysílání paketů od každého účastníka relace RTP všem ostatním účastníkům za účelem řízení výkonnosti a pro diagnostické účely. RTCP pomáhá RTP monitorovat doručení dat v rozsáhlých sítích se skupinovým vysíláním. Monitorování pomáhá příjemci detekovat ztrátu paketů a provést kompenzaci kolísání zpoždění v síti. RTCP používá UDP port o jedničku vyšší než používá RTP.
RTCP vytváří zpětnou vazbu mezi účastníky relace protokolu RTP, ve které periodicky probíhá výměna RTCP paketů. RTCP pakety obsahují informace, podle kterých může strana vysílající multimediální proud dynamicky měnit např. rychlost přenosu na základě požadavků strany přijímající. Protokol RTCP tak poskytuje služby řízení toku a kontroly zahlcení sítě.

Zdroje

Další informace o protokolech pro streaming media lze nalézt např. v následujících nových publikacích:

Širokopásmový Internet aneb Přístupové a domácí sítě, Computer Press, ISBN 80-251-0139-8, 2004
TCP/IP v kostce, Kopp, ISBN 80-7232-236-2, 2004

Příště se budeme věnovat protokolu SCTP.

18. 10. 2004

Autor: Ing. Rita Pužmanová, CSc., MBA

Témata

telekomunikace

Sdílejte

Přečtěte si také

 

Guardian opouští platformu X kvůli znepokojivému obsahu

Britský deník Guardian oznámil, že již nebude přispívat na platformu X. Stejně jako mnohým dalším britským...

 

Austrálie plánuje zákaz sociálních médií pro uživatele mladší 16 let

Australská vláda oznámila, že plánuje zakázat používání sociálních sítí uživatelům mladším 16 let. Chce omezit...

 

Francouzská vydavatelství podala žalobu na platformu X

Francouzské vydavatelské domy podaly žalobu na platformu X. Viní ji z neoprávněného využívání jejich obsahu bez...

Nejčtenější články

Rusko udělilo Googlu pokutu, na zaplacení by mu nestačily ani všechny peníze světa

 

Ruský soud uložil společnosti Google pokutu dva a půl sextilionů rublů – dvojka následovaná 36 nulami – za omezování...

Vánoce u T-Mobile: Sluchátka a telefon za 1 Kč i data za půlku

 

T-Mobile si letos pro své zákazníky přichystal celou řadu vánočních dárků. Od tradičních telefonů a sluchátek za 1...

Nova ukončila spolupráci s Vodafonem a T-Mobilem, stahuje Voyo z TV balíčků

 

Skupina Nova se rozhodla, že omezí spolupráci s operátory Vodafone a T-Mobile. Platforma Voyo už od února nebude...