Články
TCP/IP - skupinové vysílání IP Multicast a Cisco
Jak multicast funguje
Vysílač (zdroj dat) odesílá pakety na multicastovou adresu (která neslouží k identifikaci příjemce, ale skupiny), zdrojová adresa je jeho normální unicastová adresa. Na routerech se pak paket odesílá do všech směrů, kde je nějaký příjemce (provádí se duplikace paketu). Mezi routery se multicast pakety přenáší pomocí multicast směrovacího protokolu (nejčastěji) PIM. Ten vytváří distribuční strom skrze síť a provádí přeposílání paketů. Příjemci (stanice) se musí zaregistrovat do multicast skupiny pomocí protokolu IGMP. Tok paketů je určován příjemci, detaily závisí na použitém směrovacím protokolu (případně variantě PIM protokolu).

Multicast na síťové kartě
Na 2. vrstvě OSI modelu (L2) se používají speciální multicast MAC adresy (které se vytváří z multicast IP adres). Tak jako síťová karta na nejnižší vrstvě kontroluje přicházející rámce a vyšším vrstvám posílá pouze provoz určený pro ni (s její cílovou MAC adresou nebo broadcast provoz), tak má podporu pro multicast a podle nastavení z vyšších vrstev filtruje multicast a dále posílá pouze rámce, které jsou určeny skupině, která klienta zajímá.
Multicast v rámci jednoho subnetu - switch
V rámci běžného switche se multicast chová jako broadcast, tedy jsou jím zaplaveny všechny porty. Broadcast je vlastně speciálním případem multicastu (příjemci jsou všichni na stejném subnetu). Například v IPv6 již broadcast neexistuje, ale používá se link local multicast. Multicast je sice rozesílán všude v rámci broadcast domény. Ale díky tomu, že se používá cílová IP adresa, tak podle ní může klient filtrovat, zda chce paket přijmout. Na rozdíl od broadcastu, kde se klient musí dívat až na datový obsah.
Důvod, proč se multicast chová jako broadcast v daném subnetu, i když chceme doručovat pouze určitým klientům, je následující. Na switchi v rámci L2 (ethernet rámce) nemůžeme zjistit, který klient (na kterém portu) chce odesílaný rámec přijmout. U unicastu je cílová MAC rámce adresou klienta a tu switch zná (má ji v CAM tabulce), ale to neplatí u multicastu, kde je cílová MAC adresa adresou skupiny. Aby mohl switch provádět lepší rozhodnutí, tak musí analyzovat veškerý multicast provoz a podle join a leave zpráv sestavovat tabulku, kam multicast směrovat. Cisco má metodu zvanou CGMP (Cisco Group Management Protocol), ale dnes se používá hlavně IGMP Snooping.
Multicast mezi subnety - router
Na routeru se již řeší více úloh. Router musí zjistit, do kterých přímo připojených sítí má multicast odesílat. Tedy řeší přihlašování klientů do multicast skupin. K tomu se používá protokol IGMP. Router periodicky odesílá do připojených sítí dotaz na multicast adresu 224.0.0.1 a stanice odpovídají (s různým zpožděním, aby nedošlo k zahlcení) s informací, kterou multicast skupinu chtějí přijímat (posílá se jedna zpráva pro každou skupinu), na adresu skupiny (kterou chce přijímat). Po přijetí dotazu host čeká, a pokud v dané době zaznamená odpověď jiného klienta pro stejnou skupinu, kterou chce přijímat, tak již odpověď sám neposílá (znamená to, že jsou na stejném subnetu, takže mu daný multicast provoz stejně přijde). SW na stanicích tedy musí také podporovat IGMP stejně jako router.
Druhý úkol routerů je optimální směrování multicastu do vzdálených sítí. Vytváří se minimální strom spojů, který se dynamicky aktualizuje. Dnes se používá primárně protokol PIM. Když si situaci představíme, tak komunikace probíhá tak, že server začne vysílat nějaký multicast provoz a ten se dostane na lokální router. Na druhé straně (třeba i v jiném státě přes internet) máme klienta, který chce daný provoz přijímat. Ten si vyjedná se svým lokálním routerem, že je členem dané multicast skupiny. A nyní se musí vyřešit ta složitá situace, aby se provoz dostal z jednoho routeru na druhý. Nejčastěji se používá jedna ze dvou variant PIM protokolu. Dense mode vychází z představy, že téměř všichni chtějí provoz přijmout, takže jej odesílá do všech směrů (na všechny routery mimo toho, od kterého přišel). Pokud některý sousední router provoz nechce, tak to musí oznámit. Naproti tomu Sparse mode neposílá provoz žádnému routeru, který si o něj nepožádá.

Pro zabránění smyčkám se v multicastu používá metoda zvaná Reverse Path Forwarding (RPF), router přijímá multicast provoz pouze ze směrů, z kterých vede zpáteční cesta ke zdroji vysílání (jeho IP adresa je v každém paketu).
Vlastnosti Multicastu
- IP multicast - komunikace jednoho několika, efektivní využití infrastruktury
- základem jsou multicastové skupinové adresy (group address), multicastový distribuční strom (distribution tree) a klientem řízené vytváření stromu
- vysílač používá skupinovou adresu jako cílovou adresu, příjemci užívají tuto adresu, aby informovali síť, že chtějí tuto komunikaci přijímat
- nějaký obsah je spojen se skupinou 239.1.1.1, vysílač odesílá data na tuto adresu, příjemci se připojí do této skupiny pomocí protokolu IGMP
- pokud získá skupina nějaké členy, tak se pro ni vytvoří distribuční strom, nejčastěji pomocí protokolu PIM, ten zajistí, že se pakety dostanou od vysílače ke všem příjemcům ve skupině
- vysílač nemusí vědět o příjemcích, vytvoření stromu je iniciováno aktivními prvky blízko příjemců nebo přímo příjemci, síť zařizuji doručení příjemcům
- multicast routery musí vědět o všech distribučních stromech, které prochází skrze něj, ale o ostatních neví nic, pro každý strom si vytváří záznam, ale pouze po dobu existence přenosu, nepoužívá se agregace
Multicast IP adresy
Multicast adresní rozsahy:
- 224.0.0.0 až 224.0.0.255 - určené pro síťové protokoly uvnitř LAN, mají TTL = 1, takže nepřejdou přes router
- 224.0.1.0 až 238.255.255.255 - jsou globální multicast adresy, které se používají mezi organizacemi a přes internet
- 239.0.0.0 až 239.255.255.255 - je omezený rozsah adres, pro použití uvnitř organizace (LAN)
Některé speciální adresy:
- 224.0.0.1 - všechny systémy
- 224.0.0.2 - všechny lokální (na stejném subnetu) routery
- 224.0.0.5 - OSPF všechny routery
- 224.0.0.6 - OSPF DR a BDR routery
- 224.0.0.10 - EIGRP routery
IGMP - Internet Group Management Protocol
- používá se mezi klientem a aktivním prvkem (routry, switche)
- IGMP slouží k registraci jednotlivých hostů do multicast skupin
- multicast router odesílá membership query message (host query message), aby objevil, jaké multicast skupiny mají členy na připojené síti, to se odesílá všem pomocí IP
224.0.0.1s TTL = 1 - hosté odpovídají pomocí IGMP report message, která značí, že chtějí přijímat multicast pakety pro danou skupinu
- designated router (designated querier) se používá u multiaccess, pro podsíť je jediný, kdo posílá host query message, pro IGMP verze 1 se volí pomocí multicast routovacího protokolu, pro verzi 2 a 3 je to multicast router s nejvyšší IP adresou, Point-to-point linky nezobrazují informace o DR
- IGMP verze 3 umožňuje filtrování zdrojů, tedy aby si host řekl routeru, které zdroje chce přijímat
- IGMP odhlašovací (leave) zprávy jsou IP datagramy s cílovou adresou
224.0.0.2, TTL 1
IGMP snooping
Jedná se o ochranný/optimalizační mechanizmus pro L2 switche. Standardně se multicast na switchi šíří jako broadcast, tedy na všechny porty mimo příchozího. IGMP snooping zajišťuje zkoumání multicast provozu a detekci join a leave zpráv. Podle toho se učí, na kterém portu se nachází router a kde klienti, a sestavuje tabulku, podle které přeposílá multicast pouze na ty porty, kde klient tento provoz požaduje. Také odpovědi klientů odesílá pouze na router a ne ostatním klientům. Dynamicky tedy konfiguruje porty pro příjem multicastu.
Multicast MAC adresa
Multicast MAC vždy začíná 01.00.5e - rezervovaná část značící multicast. Pak vezmeme posledních 23 bitů IP adresy, před to dáme 0 a převedeme na hexa, to je druhá část MAC. Příklad IP 228.10.10.7 a 229.138.10.7 mohou být reprezentovány pomocí MAC 0100.5e0a.0a07.
PIM - Protocol Independent Multicast
- používá se mezi lokálním a vzdáleným multicast routerem pro směrování multicastu od serveru k řadě klientů
- je to skupina routovacích protokolů, které zařizují distribuci jeden-mnoha nebo mnoho-mnoha přes internet
- pro směrování používá klasické routovací protokoly
Rendezvous Point (RP) - setkávací místo pro zdroje a příjemce multicast provozu (obecně známé místo pro obě strany), jedná se společný o kořen pro sdílené stromy, zdroje multicastu posílají provoz na tento bod a ten je přeposílá přes sdílené stromy všem členům skupin, díky RP se lépe využijí síťové zdroje, ale nezaručuje optimální cestu
Sparse Mode - PIM-SM
Vychází z představy, že klienti, kteří chtějí přijímat multicast, se v síti nachází velmi řídce. Takže Sparse mode posílá provoz pouze routerům, kteří si o něj požádají.
Používá jednosměrné sdílené stromy s kořenem v RP a může vytvářet stromy nejkratších cest pro zdroje, vyžaduje na síti Rendezvous Point (RP). Zdroje posílají multicast přímo připojeným routerům (DR), DR (router s nejvyšší IP) je zabalí a jako unicast pošle na RP, ten je posílá členům multicast skupiny. RP oznamuje zdroje a vytváří cestu od zdroje ke členům skupiny, teprve potom posílá multicast datagramy.
Rozšířený routovací protokol pro multicast. Použijeme, pokud ostatní routery jsou různé. Dobře škálovatelný. Router se musí přihlásit do skupiny, aby přijímal provoz.
Dense Mode - PIM-DM
Dense mode vychází z představy, že téměř všichni chtějí provoz přijmout, takže jej odesílá do všech směrů (na všechny routery mimo toho, od kterého přišel). Pokud některý sousední router provoz nechce, tak to musí oznámit.
Vytváří strom nejkratších cest, používá flood and prune metodu (nejprve zaplaví doménu multicastem a pak ořezává větve, kde nejsou příjemci). Interfacy se přidávají do multicast routovací tabulky na routeru. Špatně škálovatelný, je ideální pro LAN, kde jsou členové hustě (densely) umístěni v síti.
Sparse-Dense Mode - PIM-SDM
Pokud máme Rendezvous Point (RP), tak funguje jako PIM-SM, pokud ne, tak funguje jako PIM-DM.
Bidirectional Mode - PIM-BM
Vytváří obousměrné sdílené stromy, ale nikdy ne strom nejkratších cest, takže může mít delší end-end vzdálenost, ale dobře škáluje.
Source Specific Multicast - PIM-SSM
Vytváří stromy, které mají kořen pouze v jednom zdroji. Adresa vysílače je známá a příjemci se registrují přímo ke zdroji vysílání.
Konfigurace multicastu v Cisco IOSu
ROUTER(config)#ip multicast-routing // zapne multicast na routeru ROUTER(config)#ip pim sparse-mode // nastaví PIM mód ROUTER(config)#ip pim rp-address 10.10.10.1 // definice Rendezvous Point (RP) SWITCH(config)#ip igmp snooping // zapne IGMP snooping pro switch SWITCH(config)#ip igmp snooping vlan 100 // zapne IGMP snooping pro VLAN 100 ROUTER#show ip pim interface SWITCH#show ip igmp snooping SWITCH#show mac-address-table multicast ROUTER#clear ip mroute * // vymaže IP multicast routovací tabulku
Související články:
Počítačové sítě - Computer networks
- OSI model [05.03.2007 08:09]
- Počítačové sítě a jejich typy [09.07.2007 15:32]
- VLAN - Virtual Local Area Network [02.06.2007 15:54]
- Počítačové sítě - základní topologie [30.07.2007 14:47]
- Ethernet - CSMA/CD, kolizní doména, duplex [03.08.2007 12:40]
- TCP/IP - model, encapsulace, paket vs. rámec [16.08.2007 16:43]
- TCP/IP - metody vysílání dat [02.09.2007 15:05]
- TCP/IP - adresy, masky, subnety a výpočty [05.09.2007 14:53]
- TCP/IP - navázání a ukončení spojení [13.09.2007 16:10]
- TCP/IP a ethernet - cesta v síti, aktivní síťové prvky [17.09.2007 10:22]
- TCP/IP - Routing - směrování [21.09.2007 15:34]
- TCP/IP - nalezení MAC adresy k IP - ARP [25.09.2007 17:35]
- Počítačové sítě - Computer Networks [30.09.2007 13:28]
- DNS (Domain Name System) zaměřeno na Microsoft [26.11.2007 14:26]
- Wake on LAN - lokální i vzdálený subnet [10.08.2008 20:42]
- TCP/IP - Internet Protocol Version 6 - IPv6 [05.03.2009 15:41]
- TCP/IP - skupinové vysílání IP Multicast a Cisco [10.03.2009 20:05] právě čtete
- Běžné útoky na switche, Cisco Dynamic ARP Inspection [18.06.2009 10:15]
- Cisco - Router Switching metody a související termíny - CAM, FIB, CEF [28.06.2009 17:15]
- Výstavba moderní sítě [28.04.2010 14:41]
- Cisco Network Design - Enterprise Architecture [24.09.2010 13:47]
- VPN 1 - IPsec VPN a Cisco [10.04.2011 19:59]
Cisco IOS
- Cisco IOS 1 - úvod, příkaz show [08.03.2007 13:00]
- Cisco IOS 2 - verze, upgrade a záloha IOSu [16.03.2007 14:28]
- Cisco IOS 3 - nastavení interface/portu - access, trunk, port security [09.04.2007 11:09]
- Cisco IOS 4 - reset, password recovery [25.04.2007 17:34]
- Cisco IOS 5 - komunikace se switchem [16.05.2007 16:15]
- Cisco IOS 6 - úvodní konfigurace switche [08.06.2007 17:31]
- Cisco IOS 7 - konfigurace VLAN, VTP [18.06.2007 14:12]
- Cisco IOS 8 - ACL - Access Control List [10.08.2007 15:40]
- Cisco IOS 9 - Spanning Tree Protocol [20.08.2007 17:55]
- Cisco IOS 10 - Rapid Spanning Tree Protocol [01.09.2007 14:11]
- Cisco IOS 11 - IEEE 802.1x, autentizace k portu, MS IAS [10.10.2007 14:38]
- Cisco IOS 12 - IEEE 802.1x a pokročilejší funkce [24.10.2007 16:42]
- Cisco IOS 13 - DHCP služby na switchi [06.01.2008 11:24]
- Cisco IOS 14 - tipy pro běžnou práci [29.02.2008 08:15]
- Cisco IOS 15 - zálohy a obnovy konfigurace a obrazů [13.03.2008 09:43]
- Cisco IOS 16 - HSRP - Hot Standby Routing Protocol [27.05.2008 16:05]
- Cisco IOS 17 - více switchů jako Stack - technologie StackWise [29.07.2008 20:27]
- Cisco IOS 18 - inter-VLAN routing a ACL - směrování mezi VLANy [24.12.2008 11:50]
- Cisco QoS 1 - úvod do Quality of Service a DiffServ [18.01.2009 13:31]
- Cisco QoS 2 - Classification and Marking, Modular QoS CLI [26.01.2009 17:21]
- Cisco QoS 3 - omezování rychlosti - Policing, Shaping [01.02.2009 12:20]
- Cisco QoS 4 - garance rychlosti - řazení do front - Queuing [08.02.2009 13:13]
- Cisco QoS 5 - QoS na switchi, MLS, SRR, Auto QoS [14.02.2009 14:55]
- Cisco QoS 6 - praktické příklady použití QoSu [28.02.2009 16:33]
- TCP/IP - Internet Protocol Version 6 - IPv6 [05.03.2009 15:41]
- TCP/IP - skupinové vysílání IP Multicast a Cisco [10.03.2009 20:05] právě čtete
- Cisco Routing 1 - obecné vlastnosti směrovacích protokolů [20.03.2009 14:43]
- Cisco Routing 2 - EIGRP - Enhanced Interior Gateway Routing Protocol [29.03.2009 19:04]
- Cisco Routing 3 - OSPF - Open Shortest Path First [03.04.2009 10:54]
- Cisco Routing 4 - IS-IS - Intermediate System to Intermediate System [09.04.2009 08:48]
- Cisco IOS 19 - Private VLAN a Protected Port [20.05.2009 18:41]
- Cisco Routing 5 - BGP - Border Gateway Protocol [18.04.2009 13:50]
- Cisco Routing 6 - srovnání routovacích protokolů [28.04.2009 16:27]
- Cisco IOS 20 - VLAN access-map - VLAN map - VACL [29.05.2009 15:05]
- Cisco IOS 21 - EtherChannel, Link Agregation, PAgP, LACP, NIC Teaming [08.06.2009 09:41]
- Běžné útoky na switche, Cisco Dynamic ARP Inspection [18.06.2009 10:15]
- Cisco - Router Switching metody a související termíny - CAM, FIB, CEF [28.06.2009 17:15]
- Cisco IOS 22 - monitoring/kontrola/zrcadlení provozu - SPAN a RSPAN [15.07.2009 11:52]
- Cisco IOS 23 - Autentizace uživatele na switchi vůči Active Directory [15.09.2009 17:09]
- Cisco QoS 7 - doplňující informace [05.11.2009 09:31]
- Novinky ve switchích řady Catalyst 3750X a 2960S [10.02.2011 17:30]
Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže. Pokud chcete poradit s nějakým problémem či diskutovat na nějaké téma, tak použijte fórum.

Komentáře
Seznam multicast IP adres www.networksorcery.com/enp/protocol/ip/multicast.htm
odpověď na [1]Samuraj:
proč neodkázat rovnou dokument ze kterého byla tabulka vygenerována?
http://www.iana.org/assignments/multicast-addresses/
Jak je to s routováním multicastu v IPv6 oproti IPv4?? Obzvláště mě zajímá inter-domain routing, využívá se tam taky PIM protokol nebo je funkčnost nahrazena embedded Rendezvous Pointem v IPv6 multicast adrese?