Ako preniesť obrovské súbory cez sieť?

Niekedy sieťou presúvame len malé súbory. Raz za čas ale chceme poslať sieťou súbory, ktoré sú väčšie, alebo dokonca nekonečné – streamy. V tej chvíli môžeme mať veľký problém. Ako zariadiť, aby všetci klienti, ktorí sú na nejakej rovnakej časti siete sťahovali súbor, ktorý má veľkosť napríklad 50 GB?

Prečo potrebujeme multicast?

Uvediem príklad z košickej firmy. Bol piatok dopoludnia 10:00. O 12-tej bolo treba reinštalovať všetky klientské stanice tak, že fungovali nad novým operačným systémom Windows 8. Bavíme sa o tisíckach počítačov. Ak si to spočítame, máme úsporný image na vnútornom serveri, ktorý má veľkosť (iba) 10 GB. Skúste si spočítať rýchlosť, ktorú by sme museli mať, aby sme prehnali sieťou 10 TB za dve hodiny, teda 5 TB za hodinu, čo je skutočne veľa. Problém je to, že žiadne diskové pole nám to nedá. Aj keby sme kúpili momentálne najrýchlejšie od EMC, tak to nepôjde. Preto, že to by sme museli dávať skoro 1,5 GB / sekundu, čo nedáme. Problém je v tom, že tie diskové polia sú stavané na kapacitu na 200 Mb/s-300 Mb/s ale to je tak všetko, čo to pole dá. A to ešte musíme ísť cez 10 Gb/s linku, aby to vôbec šlo cez Fiberchannel. Ale to neurobíme. Ako to teda urobiť, keď si nemôžeme dovoliť to, že je firma chvíľu vypnutá?

Multicast

V Multicastu môžeme využívať základný spôsob vysielania, ktorý funguje úplne iným spôsobom ako bežná sieťová prevádzka. V bežnom prípade klient sťahuje údaje zo servera. V multicastu server niečo tlačí do klientov. To spojenie server „strká“ do niekoľkatich klientov zároveň v ten istý čas. To by ešte nebolo nič zvláštneho. Zvláštne je, že pri všetkých klientoch využijete len jeden paket. A to je zvláštne!

Multicast sa využíva na tri typy sieťovej prevádzky:

Nie spojenia ale streamy

Celý multicast stojí na tom, že neprebieha TCP spojenie s potvrdzovaním. Ťažko totiž môžeme urobiť spojenie servera s paralelne viacerými klientmi.  Preto sa multicast využíva v streamingu – ako VoIP alebo IPTV. Keď budeme tlačiť obsah do klientov, nemôžeme dať TCP spojenie, ale napr. UDP.

Ako začať programovať?

Úvod do programovania pre každého bez prechádzajúcich znalostí.

Stiahnite so náš ebook teraz výnimočne zdarma!!!

Marián Knězek

 

Súvisiace články: