Menu Zavrieť

4.15. Multicastové smerovanie

Multicastové smerovanie má za úlohu dopraviť správy medzi všetkými členmi danej multicastovej skupiny. Multicastová skupina je identifikovaná špeciálnou IP adresou, ktorá nie je pridelená žiadnej stanici. V protokole IPv4 sme hovorili o triedach IPv4 adries. IPv4 adresy triedy D sú práve IPv4 adresy multicastových skupín. V protokole IPv6 je multicastové adresovanie možné aj v rámci siete či autonómneho systému (IPv6 nemá podporu pre broadcastové správy).

Pred tým ako sa pustíme do multicastového smerovania, musíme spomenúť protokol IGMP: Internet group management protocol (RFC 3376). Tento protokol slúži iba na komunikáciu medzi stanicou a jej predvolenou bránou. Má za úlohu umožniť stanici prihlásiť sa k nejakej multicastovej skupine. Protokol IGMP umožňuje bráne informovať všetky lokálne siete o ponúkaných multicastových skupinách, ku ktorým sa v prípade záujmu môžu stanice pripojiť. Tieto skupiny sa brána dozvie buď od multicastového smerovacieho protokolu, alebo jednoducho preto, že aj iná stanica v niektorej z jej sietí je členom danej multicastovej skupiny.

Stanica si môže vybrať z ponúkaných skupín, alebo požiadať o členstvo v nejakej z týchto skupín tiež cez protokol IGMP. Stanica môže tiež požiadať o členstvo aj v inej multicastovej skupine, ktorá nebola ponúkaná (používateľ si ju mohol nájsť napríklad cez nejakú webovú stránku). Ak stanica požiada o členstvo v skupine, je už na bráne, aby pomocou multicastového smerovacieho protokolu zabezpečila, že bude prijímať správy pre túto multicastovú skupinu, aby ich mohla posielať tejto stanici.

IGMP vyžaduje, aby brána raz za čas informovala o možnosti byť členom multicastovej skupiny aj stanici, ktorá už je členom. Ak táto stanica neodpovie opätovnou požiadavkou o členstvo v skupine, je z tejto skupiny automaticky vylúčená.

Multicastový smerovací protokol musí zabezpečiť, aby každý člen multicastovej skupiny dostával spoločné správy. Prístupy na spôsob distribúcie týchto správ sme už spomínali pri broadcastovom smerovaní: RPF (tu nazývaný „source based tree“ teda strom založený na zdroji) a spanning tree (tu nazývaný „group-shared tree“ teda zdieľaný strom skupiny). Prvý prístup je používaný v protokole DVMRP = distance-vector multicast routing protocol(RFC 1075) a v protokole PIM-DM = protocol independent multicast routing protocol – dense mode (RFC 3973). Druhý prístup sa používa v protokole PIM-SM = PIM – sparse mode (RFC 4601,RFC 3569,RFC 4607).

Pri RPF prístupe je ťažké určiť, do ktorého spojenia treba skopírovať multicastovú správu, aby tieto správy neboli zbytočne rozosielané uzlom, ktoré nechcú a nemusia byť súčasťou multicastového rozosielacieho stromu. Vykoná sa teda to, že sa broadcastovým spôsobom rozpošle informácia o možnosti prijímania správ danej multicastovej skupiny. Koncové routre, ktoré nemajú pripojených žiadnych členov danej multicastovej skupiny, pošlú orezávaciu správu, že o dané dáta nemajú záujem. V prípade vnútorného routra, ktorý rozosielal informáciu o skupine ďalším susedom, môže odoslať orezávaciu správu, iba ak od všetkých týchto susedov prídu orezávacie správy. Orezávacie správy sa posielajú vždy tým routrom, ktoré danému routru poslali správu o možnosti pripojenia k multicastovej skupine. Ak router orezávaciu správu nepošle, po čase začne dostávať správy tejto multicastovej skupiny, ktoré musí ďalej posielať všetkým neorezaným routrom a prihláseným staniciam v niektorej zo svojich lokálnych sietí.

Ak sa používa prístup založený na spanning tree, všetci účastníci sa pripájajú k stromu rozosielania cez unicastovú pripájaciu správu na centrálny uzol. Žiadne orezávanie sa robiť nemusí, lebo routre, ktoré nie sú súčasťou spanning tree žiadne informácie o tejto skupine nedostávajú (nevedia, že existuje). Špeciálnym prípadom kedy sa spanning tree vyplatí je, ak je v skupine vždy len jeden zdroj vysielania. V tom prípade je odosielateľ automaticky zvolený za centrálny uzol a správy putujú po optimálnych cestách.

Multicast má podporu aj pre celý internet cez protokol MSDP = Multicast source discovery protocol (RFC 3618RFC 4611). Opäť ide o hierarchický typ smerovania, ktoré funguje ako multicastový variant BGP protokolu.