Až dosud jsme se v tomto seriálu zabývali technologiemi, které už dávno prokázaly, že patří do pomyslné internetové síně slávy. V dnešním pokračování se budeme zabývat multicastem, jenž o své místo na slunci stále bojuje a je otázka, zda se nakonec opravdu prosadí. Oč jde? Multicast se podobá například rozhlasovému vysílání. Zdroj vysílá data v jediné kopii a přijímat je může zároveň libovolný počet příjemců, pokud se naladí na správnou vlnu. V případě IP multicastu je ale rozdíl v tom, že v rámci jedné relace může zároveň vysílat i několik zdrojů.
Aplikace tohoto typu se v internetu zatím většinou řeší hrubou silou. Vezměme například běžná internetová rádia: pro každého klienta, který se připojí, se vytváří pomocí protokolu TCP samostatné datové spojení. To ovšem znamená, že server musí stejná data – v tomto případě zakódovaný zvuk – posílat v tolika kopiích, kolik je aktuálně připojených klientů. U velmi populárních zdrojů to může znamenat enormní zátěž jak pro vlastní server, tak i pro jeho připojení do internetu. Nejde ale jen o rádia. Viděli jsme například, jak zájem veřejnosti po červnových volbách do poslanecké sněmovny odrovnal server www.volby.cz. Stejně tak šly třebas po útocích na newyorská dvojčata do kolen všechny populární internetové deníky, rádia i televize. Funkční tehdy zůstaly jen ty zdroje, které vysílaly pomocí multicastu.
Deeringův model
Multicast je věcí poměrně novou. Objevil se v disertační práci, kterou v roce 1991 na Stanfordově univerzitě obhájil Steve Deering, mimochodem později také jeden z hlavních architektů IPv6. Základní idea je celkem jednoduchá: data vysílaná zdrojem se replikují podle potřeby ve směrovačích a posílají dále na ta síťová rozhraní, za nimiž se nacházejí zaregistrovaní příjemci dané relace.
Multicastové pakety se poznají snadno podle cílové adresy. Ta totiž v tomto případě neidentifikuje – alespoň ne přímo – příjemce dat, ale označuje skupinu, v jejímž rámci probíhá určitá datová relace, například videokonference nebo vysílání internetového rádia. V IPv4 se pro tento účel používá blok adres 224.0.0.0/4, zatímco v IPv6 je to blok FF::/8. Těmto adresám se říká multicastové, resp. skupinové. Pro odlišení od multicastu se standardní internetová spojení mezi dvěma účastníky označují jako unicast.
Multicast v lokální síti
Šíření multicastu v lokální síti (bez směrovačů) obvykle nevyžaduje žádná speciální opatření. Ve standardu Ethernetu je multicast definován a je pro něj vyhrazen blok MAC adres. Stačí tedy, aby se multicastové IP adresy vhodným způsobem zobrazily na MAC adresy a zbytek už obstará Ethernet.
| Reprezentantem IP multicastu v lokálních sítích je Internet Group Membership Protocol (IGMP), který byl, zřejmě kvůli zpestření nudných internetových standardů, pro použití v IPv6 přejmenován na Multicast Listener Discovery (MLD). Hlavní úlohou IGMP i MLD je informovat směrovače v lokální síti o přítomnosti koncového počítače, který má zájem o příjem určité multicastové skupiny. Od multicastových odesílatelů se naproti tomu žádná explicitní registrace nežádá: ti se totiž „prozradí“ přímo svými daty, jakmile je začnou vysílat. |
Autor: Martin Noska
Vytištěno z www.computerworld.cz
dne: 12/05/2008 10:42:20 AM