Modula´rnı´ komunikacˇnı´ reflektor s DV prˇenosem Eva Hladka´
Fakulta informatiky, Masarykova univerzita v Brneˇ, Botanicka´ 68a, Brno 602 00, Czech Republic Email:
[email protected]
Petr Holub
Fakulta informatiky a ´ stav vy´pocˇetnı´ techniky, U Masarykova univerzita v Brneˇ, Botanicka´ 68a, Brno 602 00, Czech Republic Email:
[email protected]
Abstrakt. Prˇenosy videa s vysoky´m rozlisˇenı´m generujı´ datove´ toky v sı´ti o rˇa´du desı´tek Mb/s. V prˇ´ıspeˇvku je popsa´no jak rˇesˇit prˇenosy videodat ve forma´tu Digital Video (DV) pro vı´ce nezˇ dva koncove´ body pomocı´ modula´rnı´ho reflektoru, kde reflektor je softwarove´ zarˇ´ızenı´ pracujı´cı´ v uzˇivatelske´m prostoru se za´kladnı´ vlastnostı´ multiplikovat a distribuovat data vsˇem u´cˇastnı´ku˚m komunikace. Popsany´ reflektor byl implementova´n a cˇla´nek uva´dı´ vy´konnostnı´ parametry dane´ho rˇesˇenı´ a odhad sˇka´lovatelnosti. Klı´cˇova´ slova: skupinova´ komunikace, reflektor, video prˇenosy, DV forma´t, sˇka´lovatenost
´ VOD I. U Soucˇasne´ vysokorychlostnı´ sı´teˇ je mozˇno vyuzˇ´ıvat pro prˇenosy videa s vysoky´m rozlisˇenı´m, cozˇ otevı´ra´ mozˇnosti pro celou rˇadu novy´ch aplikacı´ vyuzˇ´ıvajı´cı´ch vysı´la´nı´ jednosmeˇrne´ (naprˇ. vysı´la´nı´ televize) a vı´cesmeˇrove´ (naprˇ. aplikace pro vzda´lenou spolupra´ci). Cˇasty´m pozˇadavkem je zası´la´nı´ videa ne jednomu, ale cele´ skupineˇ uzˇivatelu˚. Idea´lneˇ sˇka´lujı´cı´m prostrˇedkem pro takove´ prˇenosy jsou sluzˇby multicastu [1]. Tyto sluzˇby ovsˇem nepokry´vajı´ cely´ Internet a beˇzˇny´m jevem je bud’ naprosto chybeˇjı´cı´ podpora multicastu v loka´lnı´ sı´ti koncovy´ch uzˇivatelu˚ nebo sˇpatna´ konfigurace aktivnı´ch prvku˚ tak, zˇe klient nema´ mozˇnost se u´cˇastnit vsˇech probı´hajı´cı´ch multicastovy´ch prˇenosu˚ a Internet je tedy tvorˇen rˇadou podsı´tı´, ktere´ mezi sebou multicast prˇena´sˇejı´ bud’ omezeneˇ nebo vu˚bec. Proble´my spojene´ s provozem multicastu trvajı´ vı´ce nezˇ desetiletı´ a proto i nadeˇje na brzke´ rˇesˇenı´ proble´mu˚ sˇ´ırˇenı´ multicastove´ho provozu je velmi mala´. Tato skutecˇnost na´s vedla k hleda´nı´ alternativnı´ho rˇesˇenı´. Mozˇnou simulacı´ nativnı´ skupinove´ komunikace (multicastu) v prˇ´ıpadeˇ, zˇe pozˇadavkem nenı´ neomezena´ sˇka´lovatelnost, je serializace paralelnı´ho sche´matu skupinove´ komunikace. Oproti multicastu s pozˇadavkem replikace dat uvnitrˇ sı´teˇ dle potrˇeby jsou v se´riove´ simulaci stejne´ kopie dat z jednoho cˇi vı´ce mı´st v sı´ti rozesı´la´ny postupneˇ uzˇivatelu˚m. V tomto cˇla´nku se budeme zaby´vat distribucı´ videa ve forma´tu Digital Video (DV) [2] skupineˇ komunikujı´cı´ch u´cˇastnı´ku˚ s vyuzˇitı´m simulace multicastu pomocı´ replikacˇnı´ho prvku nazvane´ho reflektor [3]. Architektura skupinove´ komunikace vyuzˇ´ıvajı´cı´
Milosˇ Lisˇka
Fakulta informatiky, Masarykova univerzita v Brneˇ, Botanicka´ 68a, Brno 602 00, Czech Republic Email:
[email protected]
reflektory na jedne´ straneˇ trpı´ do jiste´ mı´ry eliminovatelny´mi proble´my se sˇka´lovatelnostı´, na straneˇ druhe´ ale umozˇnˇuje rˇadu pokrocˇily´ch sluzˇeb ktere´ jsou v nativnı´m multicastove´m prostrˇedı´ prakticky nerealizovatelne´ a umozˇnˇuje take´ budovat ad hoc komunikacˇnı´ prostrˇedı´. Cˇla´nek je organizova´n na´sledujı´cı´m zpu˚sobem: kapitola II pojedna´va´ o architekturˇe a za´kladnı´ch vlastnostech reflektoru, kapitola III shrnuje pokrocˇile´ sce´na´rˇe vyuzˇitı´ reflektoru, kapitola IV poda´va´ za´kladnı´ prˇehled prˇenosu videa ve forma´tu DV po IP sı´tı´ch vcˇetneˇ popisu uzˇivatelsky´ch na´stroju˚, kapitola V popisuje vy´konnostnı´ charakteristiky prˇenosu DV v prostrˇedı´ zalozˇene´m na reflektorech, kapitola VI je veˇnova´na mozˇne´mu zlepsˇenı´ sˇka´lovatelnosti vytvorˇenı´m sı´teˇ reflektoru˚, kapitola VII shrnuje prˇ´ıbuzne´ technologie a kapitola VIII uzavı´ra´ problematiku prˇenosu DV v prostrˇedı´ reflektoru˚. II. SIMULACE MULTICASTU POMOCI´ REFLEKTORU Reflektor nazy´va´me sı´t’ovy´ prvek, ktery´ replikuje a prˇ´ıpadneˇ take´ zpracova´va´ prˇ´ıchozı´ data typicky ve formeˇ UDP datagramu˚ pro prˇijı´majı´cı´ klienty a tato data sekvencˇneˇ odesı´la´ pouze s vyuzˇitı´m unicastove´ sı´t’ove´ komunikace. V prˇ´ıpadeˇ, zˇe jsou data odesı´la´na vsˇem klientu˚m, je pocˇet kopiı´ stejny´ jako pocˇet prˇijı´majı´cı´ch klientu˚. Na´sˇ na´vrh reflektoru vycha´zı´ ze trˇ´ı smeˇru˚ vy´voje v komunikacˇnı´ch sı´tı´ch – prˇekryvovy´ch sı´tı´ (overlay networks), uzˇivatelem rˇ´ızene´ho prˇ´ıstupu (user empowered approach) a programovatelny´ch sı´tı´ (active networks). Reflektor je navrzˇen jako uzˇivatelem rˇ´ızeny´ modula´rnı´ programovatelny´ smeˇrovacˇ s mozˇnostı´ prˇisestavenı´ modulu˚ pro specia´lnı´ zpracova´nı´ prˇeposı´lany´ch datagramu˚. Reflektor pracuje pouze v uzˇivatelske´m prostoru, cozˇ umozˇnˇuje beˇh bez nutnosti administra´torsky´ch opra´vneˇnı´ na hostitelske´m pocˇ´ıtacˇi. Zpracova´nı´ a replikace dat probı´ha´ na´sledujı´cı´m zpu˚sobem: data prˇijata´ prˇijı´majı´cı´mi moduly jsou zarˇazena do fronty ke zpracova´nı´ a vyhodnocena modulem modulem pro autentizaci, autorizaci a accounting. Jsou-li data tı´mto modulem autorizova´na k dalsˇ´ımu zpracova´nı´, prˇedajı´ se modulu pro udrzˇova´nı´ sezenı´ (session management), ktery´ si zaznamena´ aktivitu klienta v dane´ skupineˇ, a da´le jsou data zpracova´na dle
konfigurace reflektoru prˇ´ıslusˇny´mi moduly (procesory). Pote´ jsou data rozesla´na klientu˚m dane´ skupiny odesı´lacı´m modulem dle distribucˇnı´ho seznamu zı´skane´ho z modulu pro udrzˇova´nı´ sezenı´. Z du˚vodu optimalizace vy´konu je minimalizova´n pocˇet vytva´rˇeny´ch kopiı´ dat a u jednoduchy´ch sce´na´rˇu˚ reflektor pracuje v rezˇimu zerocopy. Modul pro udrzˇova´nı´ sezenı´ je zodpoveˇdny´ za prˇida´va´nı´ novy´ch klientu˚ do komunikacˇnı´ch skupin (klient je zarˇazen do seznamu v okamzˇiku, kdy je od neˇj prˇijat prvnı´ datagram) a za periodicke´ odstranˇova´nı´ klientu˚, kterˇ´ı se od reflektoru odpojili. Za´kladnı´ zabezpecˇenı´ skupinove´ komunikace je rˇesˇeno pomocı´ modulu pro autentizace, autorizaci a accounting (AAA), jenzˇ umozˇnˇuje komunikujı´cı´ skupinu omezit na vybrane´ IP adresy a prˇ´ıpadneˇ take´ neprˇ´ımo pomocı´ autentizace uzˇivatele jme´nem a heslem. Nenı´-li zkonfigurova´no pomocı´ AAA modulu jinak, je ktere´mukoli klientovi umozˇneˇno se prˇipojit ke skupineˇ a stacˇ´ı mu pouze zacˇ´ıt zası´lat datagramy na reflektor. Reflektor obsahuje moduly poskytujı´cı´ administrativnı´ rozhranı´ prˇes zabezpecˇene´ protokoly jako je HTTP s podporou SSL/TLS nebo SOAP s podporou GSI [4]. Komunikace mezi klientem a administrativnı´m rozhranı´m probı´ha´ pomocı´ jazyka RAP [5]. Toto rozhranı´ umozˇnˇuje klientu˚m po u´speˇsˇne´ autentizaci a autorizaci rˇ´ıdit chova´nı´ reflektoru za beˇhu: je mozˇne´ meˇnit autorizacˇnı´ informace pro prˇeposı´la´nı´ datagramu˚, nahra´vat, zastavovat a restartovat jednotlive´ moduly reflektoru cˇi modifikovat jejich chova´nı´. Virtua´lnı´ multicast implementovany´ pomocı´ centra´lnı´ho reflektoru prˇina´sˇ´ı proble´my s omezenou sˇka´lovatelnostı´. Tyto proble´my lze cˇa´stecˇneˇ rˇesˇit pomocı´ sı´tı´ reflektoru˚ propojeny´ch mezi sebou tunely, ktere´ mohou by´t vytva´rˇeny bud’ staticky nebo dynamicky (naprˇ. pomocı´ smeˇrovacı´ch algoritmu˚ typu distance vector nebo na ba´zi neˇktery´ch efektivneˇjsˇ´ıch smeˇrovacı´ch algoritmu˚ peer-to-peer sı´tı´ jako Pastry [6] apod.). Prˇ´ıklad takove´ho rˇesˇenı´ je uveden v kapitole VI. Sı´teˇ reflektoru˚ mohou by´t take´ vyuzˇity pro vytvorˇenı´ prostrˇedı´, ktere´ je rezistentneˇjsˇ´ı vu˚cˇi vy´padku˚m nezˇ beˇzˇna´ sı´t’[7]. III. POKROCˇILE´ VLASTNOSTI SIMULACE MULTICASTU ˚ S VYUZˇITI´M REFLEKTORU
Dı´ky replikaci dat pro kazˇde´ho klienta zvla´sˇt’je mozˇne´ implementovat zpracova´nı´ odlisˇne´ pro ru˚zne´ klienty a modularita reflektoru umozˇnˇuje moduly s pokrocˇilejsˇ´ımi funkcemi prˇida´vat a konfigurovat za beˇhu reflektoru. V na´sledujı´cı´ch odstavcı´ch jsou uvedeny prˇ´ıklady takove´ho zpracova´nı´. a) Zmeˇna ko´dova´nı´ multimedia´lnı´ch dat: Moduly zpracova´vajı´cı´ data mohou transformovat data mezi ru˚zny´mi forma´ty (naprˇ. prˇeva´deˇt video ve forma´tu DV do forma´tu H.261). Reflektor tedy mu˚zˇe slouzˇit jako bra´na, ktera´ umozˇnˇuje prˇipojenı´ klientu˚m s omezenou podporou kompresnı´ch forma´tu˚, s nedostatecˇnou vy´pocˇetnı´ kapacitou cˇi pro klienty, kterˇ´ı jsou prˇipojeni pomocı´ pomaly´ch sı´t’ovy´ch linek, a prˇitom nezabranˇuje zbytku sku-
piny komunikovat pomocı´ forma´tu˚ s vysˇsˇ´ı kvalitou a na´rocˇnostı´. b) Skla´da´nı´ neˇkolika obrazu˚: Skla´da´nı´ obrazu z neˇkolika soubeˇzˇny´ch zdroju˚ videa je uzˇitecˇne´ naprˇ´ıklad v prˇ´ıpadeˇ kolaborativnı´ho prostrˇedı´ s veˇtsˇ´ım mnozˇstvı´ u´cˇastnı´ku˚, kdy na koncovy´ch stanicı´ch jizˇ nenı´ dostatecˇna´ vy´pocˇetnı´ a zobrazovacı´ kapacita pro zobrazova´nı´ mnoha proudu˚ videa od vsˇech klientu˚ soucˇasneˇ. Je take´ mozˇno propojit tunelem reflektor s funkcı´ skla´da´nı´ obrazu˚ a reflektor bez te´to funkce a prˇipojit klienty dle kapacity jejich prˇipojenı´. To je jedna z variant skupinove´ komunikace klasicky´m multicastem nerˇesˇitelna´. c) Synchronizace: V prˇ´ıpadeˇ paralelnı´ch proudu˚ dat enkapsulovany´ch do protokolu RTP [8] je mozˇno prova´deˇt mezi teˇmito proudy synchronizaci [9]. RTP pakety obsahujı´ relativnı´ cˇasove´ znacˇky ktere´ mohou by´t prˇeva´deˇny na absolutnı´ cˇas na odesı´lajı´cı´ stanici pomocı´ cˇasovy´ch znacˇek v relativnı´m i absolutnı´m cˇase uvedeny´ch v komplementa´rnı´ch RTCP paketech. Prova´dı´me-li synchronizaci mezi zdroji z ru˚zny´ch odesı´lajı´cı´ch pocˇ´ıtacˇu˚, je trˇeba synchronizovat jejich cˇas naprˇ. pomocı´ protokolu NTP. Vyuzˇitı´m pokrocˇily´ch vlastnostı´ virtua´lnı´ho multicastu na ba´zi reflektoru˚ je mozˇno take´ vytvorˇit silneˇ zabezpecˇene´ kolaborativnı´ prostrˇedı´, kdy kazˇdy´ klient udrzˇuje s reflektorem spolehlivy´ zabezpecˇeny´ kana´l (TCP kana´l sˇifrovany´ pomocı´ SSL) pomocı´ neˇhozˇ jsou vymeˇnˇova´ny sˇifrovacı´ klı´cˇe mezi klientem a reflektorem. UDP datagramy jsou pak sˇifrovaneˇ odesı´la´ny z klienta na reflektor, kde jsou zpracova´ny a opeˇt zasˇifrovaneˇ odesla´ny na prˇijı´majı´cı´ klienty. Takto upraveny´ reflektor spolu s modifikovany´mi klientsky´mi na´stroji MBone Tools byl studova´n v [10]. Reflektor je mozˇne´ vyuzˇ´ıt i v sı´t’ove´m prostrˇedı´ omezene´m firewally a prˇekladem adres (NAT), kde lze vyuzˇ´ıt tunelova´nı´ UDP datagramu˚ pomocı´ TCP spojenı´ prˇes neˇktery´ z povoleny´ch portu˚ [3], [11]. IV. PRˇENOS VIDEA VE FORMA´TU DV S VYUZˇITI´M REFLEKTORU
Digital Video (DV) [2], [12] je v soucˇasnosti jeden z beˇzˇny´ch forma´tu˚ pro kompresi a ukla´da´nı´ digita´lnı´ho videa. Jeho vy´hodou je vysoka´ kvalita v plne´m rozlisˇenı´ (naprˇ. pro normu PAL se jedna´ o rozlisˇenı´ 720 × 576 se snı´mkovou frekvencı´ 25 snı´mku˚/s), velmi mala´ degradace obrazu vlivem komprese, a to i prˇi neˇkolikana´sobne´ rekompresi v du˚sledku vı´cena´sobne´ho zpracova´nı´, a take´ relativneˇ snadna´ dostupnost zarˇ´ızenı´, ktere´ s DV forma´tem doka´zˇ´ı prˇ´ımo pracovat pomocı´ rozhranı´ IEEE– 1394 (kamery, prˇevodnı´ky, rekorde´ry atd.). DV komprese pouzˇ´ıva´ vzorkova´nı´ 4:1:1 pro normu NTSC a 4:2:0 pro normu PAL a vyuzˇ´ıva´ pouze intra-frame kompresi velmi podobnou kompresi MPEG s pevneˇ stanoveny´m pocˇtem bitu˚ za sekundu. Zvuk se ko´duje spolecˇneˇ s prˇ´ıslusˇny´m ra´mcem videa. Vzorkovacı´ frekvence zvukove´ stopy je 32 kHz, 44,1 kHz nebo 48 kHz a kvantova´nı´ vyuzˇ´ıva´ 12, 16 nebo 20 bitu˚. Kvalita zvuku tedy mu˚zˇe by´t vysˇsˇ´ı nezˇ kvalita za´znamu na CD a limitujı´cı´m faktorem obvykle
TABULKA I
Konfigurace testovacı´ho prostrˇedı´ znacˇka/model procesor pameˇt’ sı´t’ova´ karta operacˇnı´ syste´m
test4 – 2× Intel Xeon 2.80 GHz 1024 MB Intel 82545EM 64 bit/66 MHz Linux 2.4.23
brand DELL PowerEdge 1600 SC 2× Intel Xeon 2.80 GHz 1024 MB Broadcom BCM5701 64 bit/100 MHz FreeBSD 5.2-RELEASE
by´va´ kvalita akvizicˇnı´ch zarˇ´ızenı´. Dı´ky skutecˇnosti, zˇe DV nevyuzˇ´ıva´ inter-frame kompresi, je mozˇne´ pomocı´ forma´tu DV take´ realizovat prˇenosy s nı´zkou latencı´ – prˇi vyuzˇitı´ vhodny´ch koncovy´ch zarˇ´ızenı´ je mozˇne´ latenci snı´zˇit na prˇiblizˇneˇ 100 ms [13] (prˇi vyuzˇitı´ nekomprimovane´ho analogove´ho videa se latence pohybuje kolem 70 ms). Prˇenos DV v IP sı´tı´ch je specifikova´n v RFC 3189 a RFC 3190 a probı´ha´ nad UDP datagramy prostrˇednictvı´m protokolu RTP. Cˇisteˇ softwarova´ implementace prˇenosu DV v IP sı´tı´ch byla realizova´na v ra´mci projektu DVTS1 [14], [15]. V ra´mci tohoto projektu byly vytvorˇeny na´stroje pro odesı´la´nı´ a prˇ´ıjem DV pro operacˇnı´ syste´my Linux, Free/Net/OpenBSD a Windows a take´ prototypove´ a neprˇ´ılisˇ stabilnı´ aplikace pro zobrazova´nı´ DV v prostrˇedı´ MS Windows a X Windows (xdvshow). Vzhledem k proble´mu˚m se stabilitou zobrazovacı´ch na´stroju˚ z projektu DVTS jsme se rozhodli vytvorˇit na za´kladeˇ programu xdvshow vlastnı´ softwarovou implementaci pro operacˇnı´ syste´my Linux a FreeBSD. Ta umozˇnˇuje zobrazova´nı´ videa jak ve forma´tu PAL tak i NTSC pomocı´ knihovny libdv [16] dostupne´ jako opensource produkt2 . Nasˇe implementace vyuzˇ´ıva´ robustnı´ vı´cevla´knovou architekturu, ktera´ separuje prˇ´ıjem dat ze sı´teˇ od renderova´nı´ a zobrazova´nı´ samotne´ho obrazu. Zobrazova´nı´ je mozˇne´ bud’ cˇisteˇ prˇes rozhranı´ X11, nebo s vyuzˇitı´m SDL knihovny [17]. V prˇ´ıpadeˇ pouzˇitı´ SDL je mozˇne´ prˇehra´vat video take´ v celoobrazovkove´m rezˇimu, a to bud’ sˇka´lovaneˇ interpolacı´ na vysˇsˇ´ı rozlisˇenı´, nebo nesˇka´lovaneˇ s vyplneˇnı´m zbytku obrazovky cˇerny´m ra´mem v prˇ´ıpadeˇ nedostatecˇne´ho vy´pocˇetnı´ho vy´konu pouzˇite´ho hardware. Tato nova´ implementace take´ podporuje spolupra´ci s vy´sˇe popsany´m reflektorem. Protozˇe zobrazovacı´ klient je pouze pasivnı´ a odesı´la´nı´ DV je prova´deˇno jiny´m na´strojem, jsou reflektoru zası´la´ny v pravidelny´ch cˇasovy´ch intervalech RTCP pakety na port, ktery´ je o jednicˇku vysˇsˇ´ı nezˇ port s DV streamem zabaleny´m v RTP tak, aby mohl reflektor prova´deˇt u´drzˇbu sezenı´ (session management) a prˇ´ıpadneˇ mohl od pasivnı´ch klientu˚ sbı´rat statisticke´ u´daje o kvaliteˇ prˇ´ıjmu. 1 Dals ˇ´ı rozvoj standardu prˇenosu DV v IP sı´tı´ch je nynı´ zajisˇt’ova´n pomocı´ organizace DVTS Consortium, v nı´zˇ nynı´ participuje i Masarykova univerzita v Brneˇ. Projekt DVTS vyvı´jejı´cı´ samotny´ software vsˇak ustrnul ve vy´voji z du˚vodu odchodu hlavnı´ho vy´voja´rˇe. 2 Pu ˚ vodnı´ implementace xdvshow z projektu DVTS umozˇnˇuje pouze zobrazova´nı´ videa v NTSC forma´tu.
gerard DELL PowerEdge 1600 SC 2× Intel Xeon 2.80 GHz 1024 MB Intel PRO/1000 32 bit/66 MHz FreeBSD 5.2-RELEASE TABULKA II
Vy´konnost reflektoru pro zvysˇujı´cı´ se pocˇet DV klientu˚. # klientu˚ 1 (+1) 2 (+1) 3 (+1) 4 (+1) 5 (+1) 6 (+1) 7 (+1)
Vy´stupnı´ vytı´zˇenı´ reflektoru [Mb/s] teoreticke´ experimenta´lnı´ 30 29.913 ± 0.027 120 118.21 ± 0.12 270 270.6 ± 2.1 480 480.2 ± 2.8 750 742.0 ± 4.2 1080 908.2 ± 2.4 1470 916.0 ± 1.2
V. EXPERIMENTA´LNI´ VY´SLEDKY Vy´sˇe uvedeny´ reflektor byl implementova´n a pro oveˇrˇenı´ pouzˇitelnosti jsme provedli za´kladnı´ meˇrˇenı´ vy´konosti. Testovacı´ prostrˇedı´ se sesta´valo ze trˇ´ı vy´konny´ch pocˇ´ıtacˇu˚, ktere´ fungovaly jako genera´tor provozu (gerard), reflektor (test4) a prˇijı´macˇ (brand), spojene´ pomocı´ gigabitove´ho prˇepı´nacˇe HP ProCurve 6108. Konfigurace pocˇ´ıtacˇu˚ jsou uvedeny v tab. I Vy´konnost reflektoru v kombinaci s DV klienty byla meˇrˇena jako za´vislost vy´konu reflektoru na pocˇtu klientu˚ odesı´lajı´cı´ch a prˇijı´majı´cı´ch DV data s rychlostı´ 30 Mb/s. V pru˚beˇhu experimentu se zvysˇoval pocˇet aktivnı´ch klientu˚ a v pru˚beˇhu cele´ho experimentu zu˚sta´val jeden pasivnı´ klient (pouze prˇijı´majı´cı´ klient), ktery´ soucˇasneˇ slouzˇil jako meˇrˇ´ıcı´ sonda. Vy´sledky shrnute´ v tab. II a na obr. 1 a 2 ukazujı´, zˇe syste´m je pouzˇitelny´ pro spolupra´ci azˇ peˇti klientu˚ pracujı´cı´ch s vysoce kvalitnı´m videem ve forma´tu DV. Z vy´sledku˚ je zrˇejme´, zˇe na vy´konne´m PC je reflektor plneˇ schopen saturovat gigabitove´ ethernetove´ prˇipojenı´ v ra´mci mozˇnostı´ dany´ch architekturou PC a dany´m operacˇnı´m syste´mem. Z vy´sledku˚ je take´ zjevna´ omezena´ sˇka´lovatelnost prostrˇedı´ zalozˇene´ho na reflektorech, kterou je mozˇne´ rˇesˇit pomocı´ vytvorˇenı´ sı´teˇ reflektoru˚ (kap. VI). Da´le jsme otestovali vy´konnost reflektoru v cˇisteˇ prˇeposı´lajı´cı´m (forward) rezˇimu, ktery´ se ukazuje jako na´rocˇneˇjsˇ´ı pro zpracova´nı´ nezˇ beˇzˇny´ replikacˇnı´ mo´d reflektoru. To odpovı´da´ skutecˇnosti, zˇe je vı´ce dat prˇena´sˇeno prˇes PCI sbeˇrnici nezˇ v prˇ´ıpadeˇ replikacˇnı´ho rezˇimu. Vy´sledky shrnute´ graficky na obr. 3 ukazujı´, zˇe prakticky
Obr. 1. Za´vislost pocˇtu DV klientu˚ na ztra´ta´ch na reflektoru
Obr. 3. Cˇisteˇ prˇeposı´lacı´ propustnost reflektoru 35
Agregovaný výstupní provoz na reflektoru [Mb/s] 40
29.913
118.9
270.6
479.9
755.1
916.0
916.4
30
Ztráty přijatý ých paketů [%]
Ztráty přijatých paketů [%]
35 30 25 20
25
20
15
10
15
5
10
0
5 0
1
2
3
4 Počet klientů
5
6
7
0
100
200
300 400 500 600 700 Odeslaná šířka pásma [Mb/s]
800
900
1000
Obr. 4. Full-mesh model tunelova´nı´ mezi reflektory.
Obr. 2. Charakteristiky reflektoru v za´vislosti na pocˇtech klientu˚ 1000 přij man data na klienta agregovan odes l n z reflektoru teoretick z vislost Saturace GE
900
800
Š řka p sma [Mb/s]
700 600 500
400
kde m je pocˇet reflektoru˚ a n je celkovy´ pocˇet prˇipojeny´ch klientu˚. Pomeˇr pocˇtu vy´stupnı´ch toku˚ mezi reflektory s nr a nr − 1 klienty je
300 200 100 0
1
2
3
4 Počet klientů
5
6
nr − 1 outnr −1 . = outnr nr
7
bez vy´padku˚ je schopen reflektor v tomto rezˇimu pracovat do pru˚toku 450 Mb/s. VI. SˇKA´LOVATELNOST Jak je zmı´neˇno v kap. II a V, sˇka´lovatelnost a vy´konnost komunikacˇnı´ho prostrˇedı´ zalozˇene´ho na reflektorech lze zlepsˇit vyuzˇitı´m vı´ce reflektoru˚ propojeny´ch pomocı´ tunelu˚. Nejjednodusˇsˇ´ı model, ktery´ soucˇasneˇ mu˚zˇe slouzˇit jako odhad nejhorsˇ´ı efektivity, je vytvorˇenı´ u´plne´ho grafu, tak zˇe kazˇdy´ reflektor komunikuje prˇ´ımo s kazˇdy´m, jak je zna´zorneˇno na obr. 4. Prˇedpokla´dejme sı´t’ reflektoru˚, v nı´zˇ je ke kazˇde´mu reflektoru prˇipojeno nr nebo nr − 1 klientu˚ (jedna´ se o co nejrovnomeˇrneˇjsˇ´ı rozdeˇlenı´ klientu˚ mezi reflektory). Lze odvodit, zˇe pocˇet vstupnı´ch toku˚ kazˇde´ho reflektoru je in = n,
(1)
pocˇet vy´stupnı´ch toku˚ pro reflektor s nr klienty je outnr = nr (m + n − 2),
(2)
(3)
n e a pocˇet vy´stupnı´ch Vezmeme-li v u´vahu, zˇe nr = d m proudu˚ na samostatneˇ pouzˇite´m reflektoru je outs = n(n − 1), lze odvodit, zˇe pomeˇr mezi pocˇtem vy´stupnı´ch toku˚ v sı´ti reflektoru˚ outnr a samostatneˇ stojı´cı´m reflektorem outs je prˇiblizˇneˇ
outnr m+n−2 ≈ outs m(n − 1)
(4)
Z grafu ilustrujı´cı´ho maxima´lnı´ vy´stupnı´ tok na jeden reflektor pro sı´teˇ s ru˚zny´m pocˇtem reflektoru˚ (obr. 5) je zrˇejme´, zˇe z pu˚vodnı´ch maxima´lneˇ sˇesti DV klientu˚ prˇi pouzˇitı´ jednoho reflektoru a gigabitove´ho prˇipojenı´ se kapacita prostrˇedı´ zvy´sˇila azˇ na 15 u´cˇastnı´ku˚ prˇi pouzˇitı´ sı´teˇ 12 reflektoru˚ s gigabitovy´m prˇipojenı´m. VII. PRˇI´BUZNE´ PRA´CE ˇResˇenı´ proble´mu˚ skupinove´ komunikace (multicast) pomocı´ ru˚zny´ch typu˚ prˇemosteˇnı´ a reflektoru˚ ma´ dlouhou historii. Snad nejle´pe je to videˇt na videokonferencˇnı´m syste´mu VRVS [18], ktery´ strˇ´ıdaveˇ vyuzˇ´ıval syte´mu zrcadel a multicastu.
Obr. 5. Za´vislost vy´stupnı´ho datove´ho toku na reflektorech v za´vislosti na pocˇtu DV klientu˚ pro konfigurace sı´tı´ s pocˇtem reflektoru˚ m = 1, 2, 4, 8, 12.
statneˇ pro kazˇde´ oko, cozˇ umozˇnˇuje na´sledne´ na´rocˇneˇjsˇ´ı zpracova´nı´ obrazu, nezˇ je mozˇne´ v prˇ´ıpadeˇ jednoho kombinovane´ho obrazu.
1000
800 700 Šířka pásma [Mb/s]
PODEˇKOVA´NI´
m_tot=1 m_tot=2 m_tot=4 m_tot=8 m_tot=12 Saturace GE
900
Tato pra´ce byla rˇesˇena za podpory Vy´zkumne´ho za´meˇru Opticka´ sı´t’ na´rodnı´ho vy´zkumu a jejı´ nove´ aplikace MSˇM 6383917201. Autorˇi by take´ ra´di podeˇkovali Jirˇ´ımu Denemarkovi a Toma´sˇi Rebokovi z FI MU za pomoc prˇi implementaci reflektoru a meˇrˇicı´ch na´stroju˚.
600 500 400
LITERATURA A ODKAZY
300 200 100 0
1
2
3
4
5
6
7 8 9 10 Počet klientů
11
12
13
14
15
Pu˚vodnı´ na´vrh reflektoru popisovane´ho v prˇ´ıspeˇvku navazoval na pra´ci J. Higfielda [19]. Jednalo se velmi jednoduchy´ program, jehozˇ jedinou funkci bylo poslouchat na prˇedem urcˇene´m portu UDP datagramy a prˇeposı´lat je vsˇem aktivnı´m u´cˇastnı´ku˚m komunikace (teˇm, kterˇ´ı beˇhem urcˇene´ho intervalu neˇjaka´ data zaslali). Syste´m VRVS vyuzˇ´ıva´ pro skupinovou komunikaci pevneˇ danou sı´t’ zrcadel. Komunikujı´cı´ jsou prˇipojeni ke geograficky nejblizˇsˇ´ımu zrcadlu bez mozˇnosti volby a prˇ´ıpadne´ kontroly. Zrcadla jsou poskytova´na jako sluzˇba, bez mozˇnosti za´sahu do ko´du cˇi administrace. Unika´tnı´m rysem je mozˇnost propojenı´ H.323 a MBone videokonferencı´. AccessGridove´ videokonference [20] vyuzˇ´ıvajı´ pro skupinovou komunikaci nativnı´ multicast, ale pro mı´sta bez multicastove´ konektivity byly vytvorˇeny dva typy reflektoru˚: QuickBridge [21] a Multi-Session Bridge [22]. QuickBridge pracuje jako spoj do multicastove´ sı´teˇ. Je instalova´n uvnitrˇ MBone a klient vneˇ se na neˇj prˇipojuje unicastem. Je to jednoduchy´ reflektor vyuzˇ´ıvajı´cı´ autentizaci pomocı´ IP adresy a pracujı´cı´ s databa´zı´ AG bodu˚ a odpovı´dajı´cı´ch multicastovy´ch adres a portu˚. MultiSession Bridge je obdobny´ syste´m provozovany´ na centra´lnı´ch AccessGrid serverech v Argonne National Laboratory. VIII. ZA´VEˇR Kombinace reflektoru s prˇenosem DV mu˚zˇe by´t vyuzˇita pro videokonferencˇnı´ aktivity vyzˇadujı´cı´ vysokou kvalitu obrazu. Prˇ´ıkladem mohou by´t telemedicı´nske´ prˇenosy operacı´ cˇi obrazu z kamery prˇipojene´ k mikroskopu, kde maxima´lnı´ kvalita obrazu umozˇnˇuje le´karˇu˚m stanovovat prˇesneˇji a spolehliveˇji diagno´zu. Dalsˇ´ı aplikacı´ v oblasti vzdeˇla´va´nı´ mu˚zˇe by´t vysı´la´nı´ prˇedna´sˇek mezi neˇkolika geograficky vzda´leny´mi poslucha´rnami v rea´lne´m cˇase s vyuzˇitı´m IP sı´tı´. Zajı´mavou aplikacı´ mu˚zˇe by´t prˇenos stereoskopicke´ho videa ve forma´tu DV. Zde je mozˇno vyuzˇ´ıt synchronizacˇnı´ schopnosti reflektoru a posı´lat videodata samo-
[1] R. Wittmann, M. Zitterbart. Multicast communication: protocols, programming, and applications. Morgan Kaufmann Publishers, 1999. [2] Internation Electrotechnical Commission. IEC 61834: Recording – Helical-scan digital video cassette recording system using 6,35 mm magnetic tape for consumer use (525-60, 625-50, 1125-60 and 1250-50 systems), 1998, 1999, 2001. Parts 1–10, http://www.iec.ch. [3] Eva Hladka´, Petr Holub, Jirˇ´ı Denemark. “User empowered virtual multicast for multimedia communication,” v Proceedings of ICN 2004, 2004. [4] “GSI SOAP,” http://www.doesciencegrid.org/Grid/ projects/soap/. [5] Jirˇ´ı Denemark, Petr Holub, Eva Hladka´. “RAP - Reflector Administration Protocol,” techicka´ zpra´va 9/2003, CESNET, 2003. [6] A. Rowstron, P. Druschel. “Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems,” v IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), Heidelberg, Germany, 2001, pp. 329–350. [7] David Andersen, Hari Balakrishnan, Frans Kaashoek, Robert Morris. “Resilient overlay networks,” v 18th ACM Symp. on Operating Systems Princpiles (SOSP), Banff, Canada, Oct. 2001. [8] H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson. “RTP: A Transport Protocol for Real-Time Applications,” RFC 3550, July 2003. [9] Toma´sˇ Rebok, Petr Holub. “Synchronizing RTP Packet Reflector,” techicka´ zpra´va 7/2003, CESNET, 2003. [10] Toma´sˇ Boucˇek. “Kryptograficke´ zabezpecˇenı´ videokonferencı´,” diplomova´ pra´ce, Vojenska´ akademie Brno, 2002. [11] Zdeneˇk Salvet. “Enhanced UDP packet reflector for unfriendly environments,” techicka´ zpra´va 16/2001, CESNET, 2001. [12] Specifications of Consumer-Use Digital VCRs using 6.3mm magnetic tape. Video Equipment Division, AVC Company, Matsushita Electric Industrial Co., Ltd. 1–15, Matsuo-Cho, KadomaShi, Osaka, 571-8504, JAPAN, Dec. 1994. unofficially called Blue Book. [13] “McGill Ultra-Videoconferencing System: FAQ,” http:// ultravideo.mcgill.edu/faq/. [14] Akimichi Ogawa, Katsushi Kobayashi, Kazunori Sugiura, Osamu Nakamura, Jun Murai. “Design and implementation of DV based video over RTP,” v Packet Video Workshop 200, 2000. http: //www.sfc.wide.ad.jp/DVTS/pv2000/index.html. [15] Akimichi Ogawa. “DVTS: Digital video transport system,” 19992002. http://www.sfc.wide.ad.jp/DVTS/. [16] Charles Krasic, Erik Walthinsen. “Quasar dv codec: libdv,” http://libdv.sourceforge.net/. [17] “SDL: Simple Directmedia Layer,” http://www.libsdl.org/ /. [18] P. Galvez, G. Denis, H. Newman. “Networking, Videoconferencing and Collaborative Environments,” v Proceedings of CHEP’98, Chicago, September 1998. [19] Julian Highfield. “UDP packet reflector hacks – RTP unicast mirror rum,” . [20] L. Childers, T. Disz, R. Olson, M. E. Papka, R. Stevens, T. Udeshi. “Access grid: Immersive group-to-group collaborative visualization,” v Proceedings of Immersive Projection Technology, Ames, Iowa, 2000. [21] M. Daw. “How to install and use a quick multicast bridge (QuickBridge),” . [22] G. A. Roediger. “The Multi-Session Bridge,” http://www.hep. net/chep98/PDF/230.pdf.