You are on page 1of 52

Ako funguje multicast

Čo je to multicast a na čo je dobrý?

 Ako funguje bežná televízia alebo rozhlas?


 Vysielač do „éteru“ vysiela televízny alebo rozhlasový signál
 Vysielač nevie, koľko poslucháčov má, ani kde sa nachádzajú, jeho
vysielanie sa odosiela len raz a je prítomné pre všetkých
 Vysielač sa nestará, ako sa jeho signál dostane k prijímačom
 Vysielanie sa šíri prostredím ku všetkým prijímačom
 Hoci vysielanie prichádza na antény všetkých prijímačov,
reprodukujú ho len tie, ktoré sú správne naladené
 V okolí prijímača môže byť veľa vysielačov a veľa dostupných
programov, ale prijímač sa venuje len tomu, na ktorý je naladený
 Predstavte si teraz, že toto isté chceme spraviť pomocou našich IP sietí!
 Technológia, ktorá nám to umožní, sa volá IP Multicast

Jargan/Kovacik
Čo je to multicast a na čo je dobrý?

 Multicast je technológia, ktorá nám umožňuje doručovať IP pakety od


jedného odosielateľa mnohým, avšak vždy jasne vyčleneným príjemcom
 Internetová televízia, rozhlas, videokonferencie (Magio, FiberTV, ...)
 Music-on-hold v IP telefónii
 Distribúcia informácií mnohým, potenciálne neznámym príjemcom
naraz
 Smerovacie a iné protokoly (RIPv2, EIGRP, OSPF, ...)
 Presný čas (NTP)
 Obrazy pracovných staníc (Symantec Ghost)
 IPv6 vo viacerých kľúčových oblastiach
 ... a mnohé ďalšie

Jargan/Kovacik
Požiadavky na technológiu Multicast

 Na technológiu Multicast máme niekoľko požiadaviek


 Zdroj nepotrebuje vedieť, kto sú príjemcovia, koľko ich je, ani kde sa
nachádzajú
 Zdroj odosiela multicastový tok dát iba jedenkrát, nezávisle od počtu
príjemcov
 O doručenie multicastového toku správnym príjemcom vrátane jeho
rozmnoženia sa stará sieť, pričom nemení povahu toku
 Doručovanie multicastového toku prebieha tak, aby ho dostávali len
príjemcovia, ktorí oň mali záujem
 Ak sa aj stane, že na stanicu prichádza multicastový tok,o ktorý
stanica nemá záujem, nijako ju to neobťažuje
 Príjemca vie sieti povedať, o aký multicastový tok má záujem
 Všetky zariadenia udržiavajú čo najmenší objem stavových info

Jargan/Kovacik
Unicast vs. Multicast

Jargan/Kovacik
Adresovanie multicastových tokov
 Multicastový tok je prúd úplne obyčajných IP paketov, ktoré majú akurát
vhodne nastavenú IP adresu cieľa
 Zdrojová IP adresa je bežná IP adresa stanice, ktorá paket odoslala
 Pri multicastových IP paketoch cieľová adresa popisuje multicastovú
skupinu
 Multicastová skupina je množina staníc, ktoré majú záujem prijímať ten
istý konkrétny tok paketov. Paket adresovaný multicastovej skupine bude
doručený všetkým jej členom, no nebude spracovaný jej nečlenmi
 Adresa multicastovej skupiny je niečo ako frekvencia rozhlasovej stanice
alebo číslo TV kanála –kto ho chce prijímať, musí sa naň naladiť
 Cieľová adresa nemá nijaký vzťah k adresám skutočných príjemcov
 Adresy multicastových skupín: trieda D (224-239.x.x.x)

Jargan/Kovacik
Rozdelenie multicastových IP adries

 Adresy typu local scope


 224.0.0.0 až 224.0.0.255
 Pakety nemajú opustiť broadcastovú doménu, z ktorej pochádzajú
 Mnohé adresy z tohto rozsahu sú v súčasnosti vyhradené
 Adresy typu global scope
 224.0.1.0 až 238.255.255.255
 Adresy typu administratively scoped
 239.0.0.0 až 239.255.255.255
 Tento rozsah je vhodný pre použitie v privátnych doménach
 Pridelenie adries multicastových skupín pre jednotlivé toky je vecou
administrátora siete (a existujúcich štandardov)
 Ako sa stanica dozvie, čo sa v ktorej multicastovej skupine vysiela, je
samostatná story

Jargan/Kovacik
Prenos multicastových IP paketov v rámcoch

 Keď sa multicastový IP paket odosiela sieťovým rozhraním, vkladá sa do


L2 rámca
 Zaoberajme sa sieťou Ethernet
 V HDLC, PPP, Frame Relay, ATM je to paradoxne jednoduchšie
 Tento rámec má byť potenciálne doručený celej skupine príjemcov, nielen
jednej stanici
 Akú cieľovú adresu má mať tento rámec?
 Nemôže mať adresu jedného konkrétneho príjemcu
 Nemôže obsahovať zoznam všetkých príjemcov
 Nemôže mať broadcast adresu
 Potrebujeme nejaký trik!

Jargan/Kovacik
Multicastové adresovanie na L2
 Doposiaľ sme predpokladali, že MAC adresa v Eth rámci označuje jedno
konkrétne sieťové rozhranie
 V skutočnosti existujú MAC adresy, ktoré označujú nejakú skupinu
počítačov (v broadcastovej doméne)
 Sieťovej karte je možné prikázať, aby okrem svojej vlastnej MAC adresy
počúvala aj na ďalších skupinových MAC adresách (HW podpora riadená
ovládačom karty)
 MAC adresa: 6B, prvé 3B: OUI, druhé 3B: S/N
 Tvar prvého bajtu MAC adresy:

U/L: Universal (0), Local (1)


I/G: Individual (0), Global (1)

Jargan/Kovacik
Multicastové adresovanie na L2

 IANA vyčlenila pre IPv4 multicastingrozsah MAC 01:00:5e:00:00:00 až


01:00:5e:7f:ff:ff

 Prvých 25 bitov v každej MAC má fixnú hodnotu, ktorá sa musí dodržať


 Zostávajúcich 23 bitov v MAC slúži na popísanie multicastovej skupiny

Jargan/Kovacik
Mapovanie multicastových IP adriesna
multicastové MAC adresy
 Bežné IP adresy sa mapujú na MAC adresy pomocou ARP, tento princíp
však neplatí o adresách triedy D
 Namiesto neho sa pri multicastových adresách typu D používa iná,
jednoduchá, avšak nie bijektívna operácia
 Spodných 23 bitov multicastovej IP sa prenesie do spodných 23 bitov
multicastovej MAC adresy

Jargan/Kovacik
Mapovanie multicastových IP adries na
multicastové MAC adresy

Jargan/Kovacik
IGMP

Jargan/Kovacik
Internet Group Management Protocol (IGMP)

 Stanica sa stáva členom multicastovej skupiny tak, že svojej bráne ohlási


svoj záujem byť členom skupiny
 Ak smerovač dostane multicastový tok adresovaný danej skupine,
bude vedieť, že ho má preposlať aj do siete, kde sa nachádza táto
stanica
 Stanica si neprideľuje dodatočnú IP adresu, iba svojej sieťovej karte
prikáže, aby akceptovala aj rámce adresované na príslušnú MAC
adresu multicastovej skupiny
 Protokol na prihlásenie/odhlásenie sa stanice do multicastovej skupiny sa
volá IGMP
 IGMP je komunikácia medzi stanicou a jej bránou
 Existujú v súčasnosti 3 verzie, najpoužívanejšia je verzia 2

Jargan/Kovacik
IGMPv2

 Tri základné druhy správ


 Membership query
 Periodicky generované smerovačmi
 Môžu byť všeobecné (odosielané na IP 224.0.0.1) a špecifické
(odosielané na IP skupiny)
 Membership report
 Odosielané stanicou na IP adresu skupiny, do ktorej si stanica želá
byť prihlásená
 Leave group
 Stanica touto správou ohlasuje opustenie skupiny, posielaná na
224.0.0.2

Jargan/Kovacik
IGMPv2: Prihlásenie sa do skupiny

Jargan/Kovacik
IGMPv2: Opustenie skupiny

Jargan/Kovacik
IGMPv2: Opustenie skupiny

Jargan/Kovacik
IGMPv2: Opustenie skupiny

Jargan/Kovacik
IGMPv2: Opustenie skupiny

Jargan/Kovacik
IGMPv2: Opustenie skupiny

Jargan/Kovacik
Efektívne doručovanie multicastov na L2

 Problém:Doručovanie multicastových
rámcov na L2
 Bežné L2 prepínače spracúvajú
multicasty rovnako ako rámce idúce na
neznámeho príjemcu –rozošlú ho von
všetkými portmi v danej VLAN
 Stanice, ktoré sa do danej multicastovej
skupiny neprihlásili, sa síce týmito tokmi
nezaoberajú, no predsa...
 Bolo by vhodné, aby prepínač posielal
multicasty len tým staniciam, ktoré sa
do zvolenej skupiny zapísali

Jargan/Kovacik
Efektívne doručovanie multicastov na L2
 Čo by sme získali, ak by prepínač rozumel IGMP správam?
 Zo správy Membership Report prijatej na porte by vedel, že je k nemu
pripojená stanica, ktorá sa hlási do istej skupiny
 Z IP adresy multicastovej skupiny by si prepínač vypočítal MAC
adresu a pridal ju v CAM tabuľke na port, ktorým správa vošla
 Multicastový tok dát by sa rozposielal iba portmi, na ktorých sa
naozaj nachádzajú prihlásení príjemcovia
 Podobne zo správy Leave Group by prepínač vedel, že stanica opúšťa
multicastovú skupinu
 Z CAM tabuľky by pri porte, ktorým správa vošla, odstránil MAC
adresu multicastovej skupiny
 Multicastový tok by sa týmto portom prestal odosielať
 Cisco prepínače naozaj IGMP správam rozumejú a tento proces
„špehovania“ IGMP paketov sa volá IGMP Snooping

Jargan/Kovacik
IGMP Snooping

 Prepínače rozumejú protokolu IGMP


 Prepínač analyzuje obsah IGMP správ,
aby vedel, na ktorom porte sú členovia
ktorých skupín
 Na súčasných prepínačoch Catalyst je
IGMP Snooping automaticky aktívny
 Výnimku z IGMP Snoopingu tvoria
MAC adresy zodpovedajúce rozsahu
224.0.0.x (01:00:5e:00:00:xx), ktoré sú
vždy rozposielané všetkými portmi
 Typické napr. pre smerovacie
protokoly

Jargan/Kovacik
DISTRIBUČNÉ STROMY

Jargan/Kovacik
Multicastové distribučné stromy

 Cesta, ktorou tečie multicastový tok dát od odosielateľa cez medziľahlé


smerovače až po koncových príjemcov v jednej konkrétnej skupine,
vytvára strom, ktorý sa nazýva multicastový distribučný strom
 Dva druhy stromov:
 Zdrojové distribučné stromy, čiže stromy najkratších vzdialeností
(shortest path trees,SPTs)
 Koreň týchto stromov je vždy v odosielateľovi
 Zdieľané (shared) distribučné stromy
 Jeden strom je zdieľaný pre viacerých odosielateľov v tej istej
skupine
 Koreňom tohto stromu je jeden dohodnutý smerovač, tzv.
rendezvous point

Jargan/Kovacik
Multicastové distribučné stromy

Jargan/Kovacik
Multicastové distribučné stromy

Jargan/Kovacik
Multicastové distribučné stromy

Jargan/Kovacik
Multicastové distribučné stromy

Jargan/Kovacik
SMEROVANIE

Jargan/Kovacik
Smerovanie multicastových tokov

 Smerovanie multicastov má oproti bežnému smerovaniu trochu inú


povahu
 Primárnym cieľom je správne replikovať multicastový tok, t.j. vedieť,
ktorými rozhraniami odoslať jeho kópiu
 Multicastová smerovacia tabuľka preto neobsahuje zoznam všetkých
skutočných príjemcov, ale zoznam aktívnych multicastových skupín a
výstupných sieťových rozhraní
 Na výstupnom rozhraní môže byť priamo pripojená sieť s koncovými
príjemcami toku, alebo sa za ním nachádza ďalší smerovač a dakde
za ním príjemcovia
 O priamo pripojených príjemcoch smerovač vie vďaka IGMP
 Nemáme však zatiaľ signalizáciu o vzdialených príjemcoch za
susednými smerovačmi –na to potrebujeme samostatný protokol

Jargan/Kovacik
Kontrola Reverse Path Forwarding
 Smerovač však nemôže akceptovať multicast bez rozmyslu
 Mohlo by to veľmi ľahko viesť k slučkám
 Netreba sa zaoberať tokmi, ktoré vchádzajú nepatričnými
rozhraniami
 Multicastový tok musí vchádzať rozhraním, ktoré vedie nazad k
zdroju tohto toku
 Táto kontrola sa robí podľa obyčajnej smerovacej tabuľky a
volá sa Reverse Path Forwarding
 Multicastový paket musí vojsť rozhraním, ktoré podľa bežnej
smerovacej tabuľky leží na najlepšej cestek zdroju toku, inak
sa ním smerovač nezaoberá
 Práve postupnosť smerovačov a ich rozhraní späťk
odosielateľovi vlastne vytvára distribučný strom
 Multicastové smerovanie sa teda pozerá aj na odosielateľa, aj na
príjemcu

Jargan/Kovacik
Smerovací protokol Protocol-Independent
Multicast (PIM)

 Pre smerovanie multicastov je teda potrebné v sieti zostaviť pre danú


multicastovú skupinu distribučný strom
 Určiť správne vstupné rozhranie (RPF)
 Určiť potrebné výstupné rozhrania
 O zostavenie tohto distribučného stromu sa stará práve smerovací
protokol Protocol-Independent Multicast
 Pomocou PIM jeden smerovač hovorí druhému, či od neho chce alebo
nechce dostávať konkrétny multicastový tok
 PIM nie je smerovací protokol v pravom zmysle slova
 PIM pracuje v dvoch rôznych režimoch:
 Dense mode: multicastový tok sa implicitne posiela do celej siete. Kto
ho nechce, odhlási sa od neho.
 Sparse mode: multicastový tok sa implicitne neposiela nikam, kým
niekto výslovne oň neprejaví záujem

Jargan/Kovacik
PIM Dense MODE

Jargan/Kovacik
PIM-DM: Počiatočná fáza

Jargan/Kovacik
PIM-DM: „Odpílenie“ vetiev

Jargan/Kovacik
PIM-DM: Výsledný zdrojový strom

Jargan/Kovacik
PIM Sparse Mode

Jargan/Kovacik
PIM-SM: Vytvorenie zdieľaného stromu

Jargan/Kovacik
PIM-SM: Registračný proces

Jargan/Kovacik
PIM-SM: Ukončenie registračného procesu

Jargan/Kovacik
PIM-SM: Tok dát cez RP smerovač

Jargan/Kovacik
PIM-SM: Prechod na zdrojový strom

Jargan/Kovacik
PIM-SM: Prechod na zdrojový strom

Jargan/Kovacik
PIM-SM: Prechod na zdrojový strom

Jargan/Kovacik
PIM-SM: Prechod na zdrojový strom

Jargan/Kovacik
PIM-SM: Prechod na zdrojový strom

Jargan/Kovacik
Aktivácia smerovania multicastov

 Aktivuje smerovanie multicastov


 Príkaz je potrebné zadať na každom smerovači, implicitne je smerovanie
multicastov vypnuté

Jargan/Kovacik
Aktivovanie PIM na rozhraní

 Aktivuje PIM na rozhraní a zvolí formu (sparse-dense dovoľuje


kombináciu SM a DM; DM bude použité, ak pre danú skupinu nie je
známy RP)
 Príkaz je potrebné použiť na všetkých rozhraniach, ktoré majú
prenášať multicastový tok
 Aktivácia PIM na rozhraní zároveň aktivuje aj podporu IGMP na ňom

Jargan/Kovacik
Statická konfigurácia RP

 Pri statickej konfigurácii RP je potrebné na každom smerovači vrátane RP


zadať tento príkaz
 Smerovač, ktorý má byť RP, sa vlastne odkáže sám na seba
 Ostatné smerovače sa odkážu na RP
 Veľmi vhodné je používať adresu loopbacku

Jargan/Kovacik
Vzorová topológia

Jargan/Kovacik

You might also like