MULTICAST ROUTING teoria i wykorzystanie w systemie LINUX

Coraz powszechniejszy w Internecie protokół dotyczy zaawansowanych metod trasowania (routingu) przy maksymalnej optymalizacji metod transmisji i wykorzystania istniejących łączy. Na czym polega jego działanie?

Coraz powszechniejszy w Internecie protokół dotyczy zaawansowanych metod trasowania (routingu) przy maksymalnej optymalizacji metod transmisji i wykorzystania istniejących łączy. Na czym polega jego działanie?

Wprowadzenie

MULTICAST ROUTING teoria i wykorzystanie w systemie LINUX

Rys. 1. Sposoby trasmisji

Wraz ze wzrostem liczby komputerów podłączonych do Internetu i wzrostem poziomu usług w Internecie, a co za tym idzie transmisją coraz większej masy danych do coraz większej rzeszy odbiorców, narodziła się potrzeba zoptymalizowania dotychczasowego sposobu przesyłu informacji. Mieliśmy dotąd 3 sposoby transmisji:

  • Unicast - gdzie informacja była przesyłana do konkretnego odbiorcy;

  • Broadcast - gdzie informacje były wysyłane do wszystkich, niezależnie od tego, czy ktoś informacji żądał, czy nie;

  • Anycast - informacja dociera do dowolnego z zadanych adresatów.

    Unicast to po prostu standardowy przesył między dwoma węzłami sieci. Przykładowo całe TCP/IP jest ze swojej natury zorientowane unicastowo. W 1993 r. po raz pierwszy w systemach BSD 4.4 zaimplementowano protokół multicast. Multicast to przesyłanie informacji do wielu odbiorców (ale nie wszystkich).

    Załóżmy taką sytuację: jest stacja nadawcza - np. internetowa rozgłośnia radiowa/telewizyjna, znajdująca się w mieście X - oraz oddaleni o k węzłów odbiorcy Y1...YN (rys. 3).

    W tradycyjnym modelu odbiorca Y(n) żąda informacji, a stacja X ją nadaje. Przy N odbiorcach dane przesyłane są dublowane. Jeśli nie ma to znaczenia w mniejszych sieciach, to przy K węzłach i M stacjach radiowych (np. łącza międzykontynentalne) takie dublowanie się informacji jest stratą cennych i drogich pasm i kanałów transmisji.

    Multicast to coś w rodzaju radia czy telewizji. Nadawana jest informacja, a odbiera ją tylko ten, kto "nastawi swój odbiornik na odpowiednią częstotliwość".

    Adresowanie multicastowe

    MULTICAST ROUTING teoria i wykorzystanie w systemie LINUX

    Rys. 2. Adresowanie multicastowe

    Adresowanie w Internecie bazuje na 32-bitowym adresie zwanym adresem IP. Składa się on z czterech ośmiobitowych pól. Przyjrzyjmy się dokładnemu podziałowi całej puli adresów:

    Jak widać, każdy datagram w Internecie, którego adres zaczyna się od sekwencji bitów 1110 (mniej inżyniersko: od adresu 224.0.0.0 do 239.255.255.255), to datagram multicastowy. Pozostałe bity to niejako nasza "częstotliwość", określająca grupę odbiorców. Nie można jednak wykorzystywać tych adresów dowolnie. Są one podzielone na funkcje. Jest kilka grup o określonych z góry funkcjach, które nie powinny być wykorzystywane do zwykłych celów. Przykładowo:

    • 224.0.0.1 - grupa wszystkich hostów (komputerów, serwerów) obsługujących multicast. Jeśli zastosujemy "ping" na ten adres, odpowiedzą wszystkie komputery, które obsługują multicast - oczywiście nie wszystkie na świecie, tylko wszystkie w naszej podsieci. Może to być rodzaj testu po konfiguracji komputera czy multicast działa (ping 224.0.0.1).

    • 224.0.0.2 - grupa wszystkich ruterów obsługujących multicast;

    • 224.0.0.4 - grupa ruterów DVMRP;

    • 224.0.0.5 - grupa ruterów OSPF;

    • 224.0.0.13 - grupa ruterów PIM;

    • oraz wiele innych, których opisywanie tutaj nie jest celowe.
    Wszystkie te grupy są zdefiniowane w RFC 2365.

    Generalnie cały zakres 224.0.0.0 - 224.0.0.255 jest przeznaczony dla sieci LAN i pakiety z tymi adresami nie wychodzą poza rutery - nawet multicastowe (tak jak np. pula 192.168.x.x nie jest standardowo trasowana przez jądro, przekazywana).

    Podobnie grupa 239.0.0.0 - 239.255.255.255 została już zarezerwowana do celów administracyjnych.

  • W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

    TOP 200