Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reaalaja andmeedastus

Similar presentations


Presentation on theme: "Reaalaja andmeedastus"— Presentation transcript:

1 Reaalaja andmeedastus
RTCP, RTP, RTSP, ...

2 Sisukord Reaalaja andmeedastus Stream andmeedastus Protokollid
rakendused

3 Reaalaja andmeedastus
vastuvõtja saatja Paketid peavad jõudma kohale kindlal ajal Kui ei jõua, siis vastu ei võeta

4 Andmevoog (stream) vastuvõtja saatja 9 8 7 6 5 4 2 1 3 Paketid peavad jõudma kohale kindlal ajal kindlas järjestuses Kui ei jõua, siis vastu ei võeta

5 Värin (jitter), sünkroniseerimine
vastuvõtja saatja Värin – lubatud saabumisaja erinevus Sünkroniseerimine – tegevuste ajastamine

6 adresseerimine Transpordi kihi peal Transpordi aadress IP/port
7 Rakenduse 6 Esituse 5 Sessiooni 4 Transpordi 3 Võrgu 2 Andmekanali 1 Füüsiline Pordi number IP aadress Transpordi kihi peal Transpordi aadress IP/port

7 Protokollid Reaalaja transpordi protokoll – RTP – Real-time Transport Protocol – reaalaja andmete transpordiks Reaalaja transpordi juhtprotokoll – RTCP – RTP Control Protocol – reaalaja andmete transpordi juhtimiseks Reaalaja andmevoo protokoll – RTSP – Real-time Streaming Protocol – reaalaja andmevoo transpordiks

8 RTP RTP ei reserveeri ressursse ega garanteeri teenuse kvaliteeti
Andmeedastust juhib RTCP RTP ja RTCP on sõltumatud allasuvatest transpordi ja võrgu kihtidest.

9 RTP RTP pakub lõpp-punktide vahelist reaalaja karakteristikutega andmete edastuse teenust järjestamine ajatemplid, edastuse jälgimine UDP peal, selle kontrollsumma ja multipleksimise teenuste pärast RTP võib edastada andmeid paljudesse sihtkohtadesse, kui allasuv võrk pakub multisaadet Kui allasuv võrk pakub teenuse kvaliteeti vm, siis RTP-ga on võimalik seda. RTP: kannab reaalaja omadustega andmeid Payload format määrab, kuidas seda tüüpi andmeid nagu audio või video kodeerimine (encoding) kantakse RTP-s.

10 RTCP RTCP: jälgib teenuse kvaliteeti, annab edasi infot sessioonis osalejate kohta – seda funktsionaalsust võib täita eraldi sessiooni juhtimise protokoll.

11 Näide: lihtne multisaate helikonverents
2 porti: 1 audio andmete ja 1 juhtimiseks (RTCP) Audio andmed saadetakse väikeste plokkidena (näiteks 20 ms) Igal plokil on RTP päis, milles kirjas kodeerimisviis. (PCM, ADPCN või LPC ..) RTP pakett pannakse UDP paketi sisse. RTP päises on ploki järjenumber ja sünkroniseerimise info

12 Näide 2: heli ja video konverents
2 eraldi RTP sessiooni, kumbalegi portide paar Vastuvõtja saab valida heli ja/või video vahel Sünkroonne audio ja video mängimine on võimalik RTCP kaudu mõlema sessiooni kohta.

13 Parameetrid (1) RTP pakett – andmepakett, mis koosneb fikseeritud RTP päisest, võibolla tühjast kaassaatjate nimekirjast ja payload andmetest RTCP pakett – fikseeritud päisest nagu RTP paketil, struktuursed elemendid vastavalt paketi tüübile

14 Parameetrid (2) Port – hosti transpordi protokolli jaoks sihtkoha abstraktsioon, väiksed positiivsed täisarvud. (iga pordi küljes võib olla teenus) Transpordi aadress – võrguaadressi ja pordi numbri kombinatsioon, mis tähistab transpordi kihi lõpp-punkti RTP sessioon – osalejate vaheline assotsiatsioon, mis peab sidet RTP-ga

15 Parameetrid (3) Sünkroniseerimise allikas (syncronization source) – sama ajastus ja kaadrite järjestus. SSRC id on unikaalne selle RTP sessiooni jaoks – saatja (signaali allikas) Kaasnev sünkroniseerimise allikas – (Contributing syncronization source CSRC) – CSRC id on unikaalsed selle RTP sessiooni jaoks – mikseri kombineeritud sessiooni 1 saatja Monitor – rakendus, mis võtab vastu RTCP pakette RTP sessioonis osalejatelt, hindab vastuvõtjate vastuvõtu kvaliteeti, vigade analüüsi, ja statistikat.

16 Parameetrid (4) Mixer – vahepealne süsteem, mis võtab vastu RTP pakette allika(te)lt, võibolla muudab andmete formaati, ja kombineerib paketid mingil viisil ja saadab edasi uue RTP paketi. Loob oma ajastuse kombineeritud voole. Uue voo SSRC on mixer. Translaator – vahepealne süsteem, mis edastab RTP pakette ilma SSRC muutmata.

17 Ajamärgise vorming Absoluutne aeg kasutades NTP (Network Time Protocol) ajatemplit. Sekundite arv alates 1. Jaanuar h +00:00 GMT. 64-bitine märgita fikseeritud komaga arv. Täisarvu osa esimesed 32 b ja murdosa viimased 32 b. Kasutatakse ka kompaktset formaati: keskmised 32 b, st 16 täisosa ja 16 murdosa jaoks.

18 RTP paketi päis 0 1 2 3 01234567890123456789012345678901 V=2 P X CC M
V=2 P X CC M PT Järje nr (seq number) Ajamärgis (timestamp) Syncronization source (SSRC) id Contributing source (CSRC) id

19 RTP paketi päis (2) V versioon – 2 bitti – RTP versioon.
V=2 – RFC1889 V=1 – RTP esimene draft V=0 – “vat” audio tool, initial protocol implementation P – 1 bit – padding – täiteks lisatud P=1 – paketi lõpus on lisatud 1 või mitu baiti, mis ei kuulu andmete hulka – viimases baidis on kirjas, mitu baiti on padding P=0 – lisabitte ei ole X – 1 bit – extension X=1 – päisele järgneb veel 1 kindla formaadiga päis CSRC count (CC) – 4 bitti Näitab, mitu CSRC identifikaatorit järgneb päisele M – 1 bit – marker – mõeldud teatud sündmuste nagu kaadri piiride vm märkimiseks pakettide voos.

20 RTP paketi päis (3) PT – 7 bitti payload type - määrab payload tüübi ja rakenduse, mis seda andmevoogu kasutab Järjenumber – 16 bitti – RTP andmepakettide järjestamiseks. Algnumber on juhuslikult valitud. Järjenumber pannakse paketile saatjas ja vastuvõtja võib seda kasutada pakettide kao avastamiseks ja pakettide järjekorda seadmiseks. Ajamärgis – 32 bitti – RTP andmepaketi esimese baidi sampling hetk. Aeg kasvab monotoonselt ja ajas lineaarselt. Kasutatakse sünkroniseerimiseks ja värina (jitter) arvutamiseks. Kella täpsus peab olema piisav pakettide saabumise värina mõõtmiseks, sõltub ka payload tüübist, formaadist. Algne ajamärgis on juhuslik arv. Mitu järjestikust RTP paketti võivad olla sama ajamärgisega, kui nad on loodud loogiliselt samal ajahetkel

21 RTP paketi päis (4) SSRC – 32 bitti – samas RTP sessioonis ei tohi olla mitu sama id-ga sünkroallikat. Kuigi SSRC id arvutamise algoritmi tõenäosus leida mitu sama SSRC id-d on väike, peab RTP rakendus olema võimeline samu id-si avastama ja lahendama. Kui allika transpordi aadress muutub, siis valib ta uue SSRC id. CSRC list – 0-15 tk, 32 bitti iga – arv on kirjas CC (CSRC Count) väljal.

22 Reaalaja transpordi juhtprotokoll
RTCP Juhtpakettide perioodiline saatmine sessioonis osalejatele kasutades andmepakettidega sama edastusmehhanismi.

23 RTCP funktsioonid Pakkuda andmeedastuse kvaliteedi kohta tagasisidet. Kasulik adaptiivsel kodeerimisel või võrguteenuse pakkujal võrgu probleeme diagnoosida. RTP allika id nim CNAME kanooniline nimi. Vastuvõtjad vajavad CNAME osalejate jälgimiseks ja kui sessioonis on mitu andmevoogu, siis nende osalejatega seostamiseks, näiteks audio ja video sünkroniseerimiseks iga osaleja peaks saatma RTCP pakette kõikidele osalejatele, iga osaleja saaks sõltumatult jälgida teisi osalejaid Vähima vajaliku sessiooni juhtimise info edasi andmine, näiteks osaleja id näitamine kasutajaliidesel. Funktsioonid 1-3 on kohustuslikud RTP kasutamisel. RTP rakendused peaks võimaldama kasutada mutlisaadet

24 RTCP pakett if encrypted: random 32-bit integer |
|[ packet ][ packet ][-packet-] | receiver reports chunk chunk V item item item item |R[SR|# sender #site#site][SDES|# CNAME PHONE |#CNAME LOC][BYE##why] |R[ |# report # 1 # 2 ][ |# |# ][ ## ] |R[ |# # # ][ |# |# ][ ## ] |< UDP packet (compound packet) >| #: SSRC/CSRC

25 RTCP pakett (2) SR – sender report – sessiooni saatjad saadavad raporti oma saatmise ja vastuvõtmu statistika RR – receiver report – kes pole aktiivsed saatjad, raport SDES – Source description – allika kirjeldus, sh CNAME BYE – sessioonis osalemise lõpetamine APP – application specific functions

26 RTCP paketi tüübid RTCP paketi tüübid ... SR sender report 200
RR receiver report SDES source description BYE goodbye APP application-defined ...

27 SDES END end of SDES list 0 CNAME canonical name 1 NAME user name 2
user's electronic mail address 3 PHONE user's phone number LOC geographic user location TOOL name of application or tool 6 NOTE notice about the source PRIV private extensions

28 RTCP saatja raport |V=2|P| RC | PT=SR=200 | length | header | SSRC of sender | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | NTP timestamp, most significant word | sender info | NTP timestamp, least significant word | | RTP timestamp | | sender's packet count | | sender's octet count | | SSRC_1 (SSRC of first source) | report block | fraction lost | cumulative number of packets lost | 1 | extended highest sequence number received | | interarrival jitter | | last SR (LSR) | | delay since last SR (DLSR) | | SSRC_2 (SSRC of second source) | report : : 2 | profile-specific extensions |

29 RTCP vastuvõtja raport
|V=2|P| RC | PT=RR=201 | length | header | SSRC of packet sender | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ | SSRC_1 (SSRC of first source) | report block | fraction lost | cumulative number of packets lost | 1 | extended highest sequence number received | | interarrival jitter | | last SR (LSR) | | delay since last SR (DLSR) | | SSRC_2 (SSRC of second source) | report : : 2 | profile-specific extensions |

30 RTP turvalisus Autentimine ja terviklikkus – madalama taseme protokollidega tulevikus Konfidentsiaalsus – ainult õiged vastuvõtjad saaks lugeda vastuvõetud pakette. Saavutatakse andmete krüptimisega

31 RTSP Rakendustaseme protokoll reaalaja omadustega andmete edastuse juhtimiseks. Töötab RTP, UDP, multisaate UDP ja TCP peal. RTSP sessioon – täielik RTSP tehing, kus klient seab üles pideva meediavoo transpordi mehhanismi (SETUP), alustab voogu käsuga PLAY või RECORD ja lõpetab meediavoo käsuga TEARDOWN

32 RTSP omadused Laiendatav – uusi parameetreid ja meetodeid saab lisada
Analüüsitav – HTTP ja MIME analüsaatorid saavad RTSP-d analüüsida Turvaline – RTSP taaskasutab veebi turvamehhanisme Transpordist sõltumatu – UDP (rfc768), RDP (rfc1151 – vähe kasutatav) või TCP (rfc793) Multiserver võimalusega – meediavood võivad asuda erinevatel serveritel. Klient loob ühenduse kõikide vajalike serveritega. Sünkroniseerimine tehakse transpordi kihil Transpordi meetod kliendi ja serveri vahel kokku lepitav

33 RTSP meetodid DESCRIBE – presentatsiooni kirjeldus
ANNOUNCE – kirjelduse uuendamine SETUP – sessioni seadmiseks või sessiooni ajal transpordi parameetrite muutmiseks PLAY – server hakkab saatma andmeid PAUSE – ajutiselt andmevoo edastamise katkestamine TEARDOWN – andmevoo edastamise lõpetamine ja ressursside vabastamine GET_PARAMETER – presentatsiooni andmevoo mingi parameetri väärtuse saamine SET_PARAMETER – REDIRECT – kliendi ümbersuunamiseks teise serveri juurde RECORD – server salvestab presentatsiooni

34 RTSP turvalisus Sarnane HTTP serverile Lisaks
Teenuse blokeerimise rünnak (Denial-of-service attack) – SETUP käsuga saab määrata vastuvõtjate IP aadresse. RTSP server peaks klientide id kontrollima Sessiooni kaaperdamine – kui klient arvab ära RTSP sessiooni id, võib sellega mõjutada sessioonis osalejaid Autentimine – turvalise andmevoo kliente autentida Andmevoo edastamise küsimustega tegelevad alumised protokollid RTP, IP multisaade, RSVP, IGMP Kahtlase päringu vastus võiks olla veateade 403 Forbidden

35 Rakendused Videokonverents Video on Demand ...

36 RFC RFC1889 RTP: A Transport Protocol for Real-Time Applications. Audio-Video Transport Working Group, H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson. January (Format: TXT= bytes) (Status: PROPOSED STANDARD) RFC2326 Real Time Streaming Protocol (RTSP). H. Schulzrinne, A. Rao, R. Lanphier. April (Format: TXT= bytes) (Status: PROPOSED STANDARD)


Download ppt "Reaalaja andmeedastus"

Similar presentations


Ads by Google