Multicasting a stream

Multicasting a stream
« kdy: 25. 09. 2018, 10:29:51 »
Uz davnejsie som zhanal informacie ohladom multicastingu a nie vzdy som asi vsetko spravne pochopil.
Preto sa chcem opytat ako funguju dnesne online streamovacie servery.
Server typ 1 unicasting: kde je video ulozene a klient 1,2,3,4,5 atd ... si ho prehravaju. Video ma napr. BR 5mbps. Ak si ho prehrava 5 klientov tak na servery vznikne traffic 5*5=25mbps. Kazdy si downloaduje to iste video. Mozno ze nejaka logika zistuje, ze kolko krat a cez ake routery video tieklo a ulozi sa na proxy server.

Server typ 2 multicasting: live video. Nejaky live prenos, ktory pozera sucasne niekolko 10000 klientov. To uz asi nebude fungovat tak, ze kazdy si to stahuje priamo zo servera, lebo server by asi ten traffic nevydrzal 10000*5=50000 (50gbps - to by asi neslo).

V LAN som skusil z DVB-T pomocou TVHeadend  poslat do IP siete stream, ale TVHeadend vie len unicasting, takze ak som si spustil ten isty stream na 3 PC, tak na servery bol traffic trojnasobny.

Nie som si isty, ale multicasting sa da robit v ramci jednej siete. Napr. tekom ma vo svojej sieti IPTV (magio) a tak si moze nastavit routery tak, aby z IPTV servera vychadzal 1 stream len 1 krat a routery to rozdistribuju (igmp) tam kde bude treba.

Ako to riesia ine spolocnosti, ktore ponukaju live streame nie len vo svojej sieti ??
« Poslední změna: 25. 09. 2018, 11:47:50 od Petr Krčmář »


NepiJ


Re:Multicasting a stream
« Odpověď #2 kdy: 25. 09. 2018, 13:09:50 »
Hoj,
v jedne siti se to naopak resi nejlepe - mas kontrolu nad vsemi prvky.

V UDP na multicastovejch adresach vysilas, pak na L3 prvcich pres PIM (multicastovej routing) to sypes do site a k tomu jeste pouzivas na jednotlivych prvcich igmp snooping a podobne nechutnosti.
Co je na tom fajn, je snizeni sirky vyuziteho pasma, co neni fajn je narocnost na kvalitu site - jednou ztracenej packet uz nikdy neobnovis, neb nemas jak.
Dneska stejne spousta lidi pouziva "zpetne prehravani" coz neni multicastova sluzba, takze ti takovi jedinci prozmenu z multicastu vypadnou a jedou unicastem.

.

Re:Multicasting a stream
« Odpověď #3 kdy: 25. 09. 2018, 18:15:35 »
Multicasting se nepoužívá. Konec.

santa77

Re:Multicasting a stream
« Odpověď #4 kdy: 25. 09. 2018, 21:56:11 »
"Bodka", to ze ho nepouzivas, neznamena ze sa nepouziva ;) PS: Tu niekde zacne zbytocna flame-ware...


j

Re:Multicasting a stream
« Odpověď #5 kdy: 26. 09. 2018, 14:34:27 »
Multicasting se nepoužívá. Konec.
Multicast je zaklad fungovani IPv6, bez nej IPv6 nefunguje. Konec ...

...
Multicast ma nasledujici predpoklady.
1) mas IPcko = nemas, protoze v IPv4 davno nejsou a nikdy nebyly. (tim se mysli multicastovy IPcko)
2) mas infrastrukturu, tady se setkas s pristupama od "proste to funguje" az po "ne a ne, a schvalne to zablokujem"

Jak to resej ti co streamujou? No jednoduse - tak ze to nefunguje. Podivej se co se deje pokazdy kdyz je nejakej fotbal nebo hokej ... se 100% jistotou vsechny streamy behem par minut padnou nahubu - v poradi v jakym se zajemci presunujou tam, kde to jeste funguje. A je to tak prave proto, ze pouzivaj unicast. Takze nejen ze se ti totez presnasi siti milionkrat, ale navic to milionkrat musi distribuovat zdroj.

BTW: Pokud si chces hrat na multicast tak zcela zapomen ze existujou nemanagovatelny switche. Protoze ten ti z multicastu udela broadcast.

avc

Re:Multicasting a stream
« Odpověď #6 kdy: 26. 09. 2018, 15:02:53 »
V kratkosti.

Na to aby si mohol vyuzitvat multicast, tak ako si ho zjavne ty prestavujes to znamena vysielanie dat na urcitu skupinu IP adries alebo MAC adries popripade inych identifikator potrebujes pouzivat jednu siet resp. siet, kde tvoj operator (provider) ma nejaku moc. Dovod je ten, ze mutlicastove "groupy" sa nedeleguju mimo siet.
V IPv4 je to D rozsah.

Cize, pokial pozeras 'live stream' povedzme, ze z youtube, tak na 99% mas unicast. Operatori to robia tak, ze maju CDN/cache servery, a dany stream ma nejaku latenciu voci realite. To preto, aby data boli zosynchronizovane v CDN serveroch.

j

Re:Multicasting a stream
« Odpověď #7 kdy: 26. 09. 2018, 17:26:22 »
V kratkosti.
...
tak presne takhle to nefunguje ....

Multicast funguje tak, ze mas multicastovou IP (a jak sem rek, v IPv4 ji nemas, protoze jich bylo malo od zacatku a tudiz byly nedostupny). A kazdy router vi, ze je to multicastova IP a podle toho se k ni chova. Tzn klient defakto nekomunikuje ze zdrojem, ale se svym nejblizsim routerem, kde si prihlasi odber. A router udela presne totez se svym "nadrizenym" (v souladu s routovaci tabulkou samo) routerem, vuci kterymu vystupuje jako klient. Pripadne pokud zjisti, ze dany odber uz prihlaseny ma, tak jen prida dalsiho klienta. (na urovni LANky si tuhle komunikaci mimo jiny odchyti switch - pokud to teda umi - a chova se vpodstate jako router = data posila jen na porty na kterych sou klienti s prihlasenym odberem). Samo kdyz odber zrusi posledni klient routeru, tak router sam se odhlasi taky.

V pripadne funkcni infrastruktury to pak vypada tak, ze zdroj vysila jeden stream k nejblizsimu routeru, ten stream duplikuje na 1-N rozhrani ... a posila ho k dalsim routerum na ceste ke klientum ... ale kazdym smerem se prenasi jen jednou. Tzn pokud by milion zakazniku nejakyho ISP cumelo na nejakej fotbal, tak na vstupu k ISP by to cely generovalo rekneme 10Mbit (a stejnych 10Mbit by musel zvladnout vysilat zdroj - coz je trivialni). A v jeho cely infrastrukture by to na zadnym jednom spoji negenerovalo vic nez prave tech 10Mbit.

Apropos, na IPv4 pouziva multicast (mimo jiny) DLNA = hromada "smart" TV.

A proc to obecne nefunguje? No prece proto, ze "zakaznici to nechtej" - aneb nezapomente pri nakupu auta rict, ze tam chcete motor a kola.

avc

Re:Multicasting a stream
« Odpověď #8 kdy: 26. 09. 2018, 17:38:33 »
V kratkosti.
...
tak presne takhle to nefunguje ....

Multicast funguje tak, ze mas multicastovou IP (a jak sem rek, v IPv4 ji nemas, protoze jich bylo malo od zacatku a tudiz byly nedostupny). A kazdy router vi, ze je to multicastova IP a podle toho se k ni chova. Tzn klient defakto nekomunikuje ze zdrojem, ale se svym nejblizsim routerem, kde si prihlasi odber. A router udela presne totez se svym "nadrizenym" (v souladu s routovaci tabulkou samo) routerem, vuci kterymu vystupuje jako klient. Pripadne pokud zjisti, ze dany odber uz prihlaseny ma, tak jen prida dalsiho klienta. (na urovni LANky si tuhle komunikaci mimo jiny odchyti switch - pokud to teda umi - a chova se vpodstate jako router = data posila jen na porty na kterych sou klienti s prihlasenym odberem). Samo kdyz odber zrusi posledni klient routeru, tak router sam se odhlasi taky.

V pripadne funkcni infrastruktury to pak vypada tak, ze zdroj vysila jeden stream k nejblizsimu routeru, ten stream duplikuje na 1-N rozhrani ... a posila ho k dalsim routerum na ceste ke klientum ... ale kazdym smerem se prenasi jen jednou. Tzn pokud by milion zakazniku nejakyho ISP cumelo na nejakej fotbal, tak na vstupu k ISP by to cely generovalo rekneme 10Mbit (a stejnych 10Mbit by musel zvladnout vysilat zdroj - coz je trivialni). A v jeho cely infrastrukture by to na zadnym jednom spoji negenerovalo vic nez prave tech 10Mbit.

Apropos, na IPv4 pouziva multicast (mimo jiny) DLNA = hromada "smart" TV.

A proc to obecne nefunguje? No prece proto, ze "zakaznici to nechtej" - aneb nezapomente pri nakupu auta rict, ze tam chcete motor a kola.

Multicastove skupiny nie su delegovane mimo vnutornu siet, ze viete popisat PIM a IGMP protokol neznamena, ze moje tvrdenia su nespravne.

RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:Multicasting a stream
« Odpověď #9 kdy: 27. 09. 2018, 10:22:52 »
V kratkosti.
...
tak presne takhle to nefunguje ....

V pripadne funkcni infrastruktury to pak vypada tak, ze zdroj vysila jeden stream k nejblizsimu routeru, ten stream duplikuje na 1-N rozhrani ... a posila ho k dalsim routerum na ceste ke klientum ... ale kazdym smerem se prenasi jen jednou. Tzn pokud by milion zakazniku nejakyho ISP cumelo na nejakej fotbal, tak na vstupu k ISP by to cely generovalo rekneme 10Mbit (a stejnych 10Mbit by musel zvladnout vysilat zdroj - coz je trivialni). A v jeho cely infrastrukture by to na zadnym jednom spoji negenerovalo vic nez prave tech 10Mbit.

Apropos, na IPv4 pouziva multicast (mimo jiny) DLNA = hromada "smart" TV.

A proc to obecne nefunguje? No prece proto, ze "zakaznici to nechtej" - aneb nezapomente pri nakupu auta rict, ze tam chcete motor a kola.

Nefunguje to proto, ze takhle to opravdu nefunguje. Multicast neni provozovan na vrstve, ktera se klasicky routruje a tvori podsite ve smyslu prefix/maska.

Spravne by melo byt - klient komunikuje se svym nejblizsim SWITCHem, ktery umi IGMP snoop a ten si pak pripadne vyzada od nadrazeneho switche v topologii dany stream. Tyhle streamy se pak v pripade vice zajemcu o stejnou adresu duplikuji na vsechny porty daneho switche. Jak je videt, fungovat to muze jenom na jedne LAN siti, protoze rozsah multicastovych D adres je privatni pro kazdou LAN.

Meli jsme na kolejich pres MC reseno vysilani DVB-T (a jeste od dob analogu se to enkodovalo do mpeg2) a vetsinu doby to jelo dobre. Aby to jelo ve vice arealech, tak to vyzadovalo ze bud byl streamovaci server zapojen skrze vlany do vsech podsiti, anebo centralni router mel seznam adres, ktere smel distribuovat skrze vice LAN siti. Takze to vyzadovalo rucni konfiguraci kdyz se zmenil napr. pocet kanalu.

V globalnim Internetu multicast fungovat nemuze. Neexistuje totiz sprava tech D adres, aby byli unikatni a definovane (ale tusim ze existuji nejake konstantni adresy, skrze ktere lze cucat urcite globalne distribuovane informace)

PS. delal jsem klienta pro MC a patch do PHP ktery pridal podporu na prihlaseni se k mc skupine skrze sockety. Tvurci PHP me vyfakovali, ze pry to nemam overeno na BSD, solarisu a vsech platformach, takze se to tehdy neprijalo, pritom slo jen o predani dvou socket_optionu ktere beztak nabizi kazdy rozumni OS

jouda

Re:Multicasting a stream
« Odpověď #10 kdy: 27. 09. 2018, 13:06:04 »
Multicasting se nepoužívá. Konec.
Multicasting se pouziva. Napriklad O2 IPTV funguje tak, ze se jejich set-top-box po prepnuti programu prihlasi do dane multicastove grupy.

jeniceek

Re:Multicasting a stream
« Odpověď #11 kdy: 27. 09. 2018, 13:19:16 »
Ano ale tam na to maji vlastni VLANu (nebo Virtual Circuit v ADSL), takže mají pod kontrolou celou tu vrstvu až k set-top-boxu, protože se ta VLANa bridguje s portem na O2 TV.

j

Re:Multicasting a stream
« Odpověď #12 kdy: 27. 09. 2018, 14:45:52 »
...
Ne, zjisti si ja a co je to vubec je multicast, nez tu zacnes blabolit. Multicast naprosto vpohode po internetu fungovat muze, a taky (prevazne v akademickych sitich) zcela bezne funguje. Pres celou planetu a desitky routeru v ceste.

Jak je videt, vis o tom naprosto kulovy. Tady mas rozsah muticast adres pro ipv6 https://tools.ietf.org/html/rfc7346 Jestli ses aspon castecne gramotnej, mas tam mimo jiny globalni multicast adresy, a to je presne to co potrebujes na to abys moh sirit multicast po internetu.

Tady k tomu mas trebas nejaky pindy http://ipengineer.net/2013/10/ipv4-ipv6-global-multicast-addressing/ mas tam dokonce vysvetleny jak funguje to routovani co podle tebe nefunguje ...

Jedina podminka pro to aby to funguvalo je prave a vyhradne to, ze vsechny routery v ceste to musi umet, respektive, ony to umi, ale musi to mit povolene/nakonfigurovane.

DgBd

  • ****
  • 282
    • Zobrazit profil
    • E-mail
Re:Multicasting a stream
« Odpověď #13 kdy: 27. 09. 2018, 14:54:50 »
Multicast funguje v rámci různých sítí. Třeba CESNETem se šíří multicastové vysílání televizního signálu přenášeného ze Slovenska. Pokud znáte správnou multicastovou adresu pro SDR, tak si ve škole můžete pustit televizi. Pokud to vaši ajťáci nakonfigurovali :-)

PetrM

Re:Multicasting a stream
« Odpověď #14 kdy: 27. 09. 2018, 15:50:16 »
Jinak pokud by někdo neuměl anglicky, tak to Pavel Satrapa popsal pěkně česky - https://i.iinfo.cz/files/root/k/pavel_satrapa_ipv6_2008.pdf kapitola 8.

A je to jeden z pádných argumentů pro zavedení IPv6 - když se dostaneme do finále jakýhokoliv MS, tak pravidelně NIX vydá oslavnou zprávu, jak zase trhli rekord v trafficu a všude jinde vypadne to, že ta a ta IPTV to zas nedala a pět minut po začátku to chcíplo... S MC by se tohle nedělo a ještě by ISPík ušetřil za konektivitu (včetně CGNATu), kterou musí držet tak, aby se 25% zákazníků mohlo dívat live na iVysílání ČT, iPrimu a podobně a plno lidí při tom mohlo poslouchat live IP rádia.