Przewodnik po multicastach

0

Transmisja multicast daje ogromne możliwości ograniczenia ruchu w sieci, jednak administratorzy bardzo niechętnie podchodzą do tego rozwiązania. Tymczasem rosnąca ilość przesyłanych danych, szczególnie wideo, może wymusić powszechne wdrożenie multicastingu. Dlatego przybliżamy techniczne aspekty stosowania mutlicastingu oraz przedstawiamy perspektywy, jakie ma ta technologia w sieciach polskich operatorów.

Multicasting IP to technologia wykorzystywana do strumieniowej transmisji danych, jak VoIP czy wideo. Najważniejszą zaletą multicastingu jest znaczne ograniczanie ilości przesyłanych danych i rozwiązanie problemów związanych z broadcastingiem. IP multicast pozwala wysyłać jeden strumień danych ze źródła do wielu lokalizacji docelowych.

Zastosowanie multicastingu IP sprawia, że dane są replikowane przez pośredniczące w komunikacji routery, żeby transmisja trafiła do wszystkich zainteresowanych lokalizacji. Replikacja na brzegu sieci, w miejscach, w których znajdują się odbiorcy, sprawia, że taka transmisja znacznie ogranicza wykorzystanie przepustowości.

Multicasting można stosować w przypadku dowolnej aplikacji, która przesyła dane do wielu odbiorców. Najszersze zastosowanie ma szansę znaleźć w przypadku telewizji IP i transmisji na żywo, ale można go wykorzystywać także do prowadzenia wideokonferencji, współpracy grupowej, replikacji serwerów, wykrywania i mapowania zasobów w sieci.

Multicast bazuje na koncepcji grupy – komputer, który ma odbierać strumień danych, musi się przyłączyć do właściwej grupy. Jest to realizowane z wykorzystaniem protokół Internet Group Management Protocol (IGMP) w sieci IPv4 lub MLD (Multicast Listener Discovery)w sieci IPv6. Dane wysyłane na adres grupy trafią do wszystkich jej członków.

TCP i UDP

Multicasting stosuje się w parze z protokołem UDP. Jest to protokół bezpołączeniowy. Kontrolę przepływu czy retransmisje zapewnia aplikacja.

Protokół TCP nadaje się do stosowania tylko w przypadku transmisji unicast, ponieważ jest protokołem zorientowanym na połączenia. Wymaga uzgodnienia połączenia, zapewnia obsługę kontroli przepływu danych oraz dostarczanie z potwierdzeniem.

Zakres adresów multicast
Adresy IP z zakresu od 224.0.0.0 do 239.255.255.255 są zarezerwowane dla grup multicast. Internet Assigned Numbers Authority (IANA) zarezerwowała adresy 224.0.0.0-224.0.0.255 do wykorzystania w sieciach lokalnych.

Przykładowo, adres 224.0.0.5 jest wykorzystywany przez routery OSPF, 224.0.018 jest przeznaczony dla VRRP. Co więcej, organizacja IANA zarezerwowała zakres adresów multicast 224.0.1.0-238.255.255.255 dla aplikacji wykorzystujących transmisję multicast. Pełna informacja o zakresach adresów zarezerwowanych dla multicastingu jest na stronie www.iana.org/assignments/multicast-addresses.

Protokół IGMP

Protokół IGMPv2 został opisany w dokumencie RFC 2236. Definiuje on trzy typy wiadomości IGMP:

  • Membership report: komputer, które chce się przyłączyć do wybranej grupy multicast, wysyła tę wiadomość z informacją, o grupie, do której chce się przyłączyć.
  • Membership query: routery przygotowane do obsługi multicastów w lokalnym segmencie wysyłają regularnie zapytania IGMP membership query, aby sprawdzić, czy wciąż są komputery zainteresowane odbieraniem transmisji multicast z danej grupy. Jeśli nie wykryją takich, transmisja do tych segmentów zostanie wstrzymana.
  • Leave group: komputery mogą wysłać wiadomość do lokalnego routera multicast informując, że chcą opuścić grupę, co spowoduje wstrzymanie transmisji do nich.

Ilustracja przedstawia przykładowy raport IGMP informujący o przyłączeniu się do grupy. W tym przykładzie komputer przyłączył się do grupy VRRP pod adresem IP 224.0.0.18.

Protokół MLD
MLD jest odpowiednikiem IGMP w sieciach IPv6. Jednak numeracja wersji MLD nie odpowiada numeracji wersji IGMP – MLDv1 odpowiada IGMPv2, MLDv2 odpowiada IGMPv3. Komunikaty MLD są transportowane przez ICMPv6.

IGMP Snooping
Przełączniki warstwy drugiej traktują ruch multicast jak broadcast lub jako nieznany, co powoduje, że zalewają ramkami multicast każdy port należący do VLAN’u. Takie działanie jest nie do przyjęcia, ponieważ marnotrawi przepustowość łączy. Problem można rozwiązać, stosując statyczne definicje tras, ale jest to mało skalowalne rozwiązanie.

Mechanizm IGMP snooping pozwala przełącznikom warstwy drugiej zajrzeć do warstwy trzeciej i monitorować pakiety IGMP przepływające między routerami i urządzeniami końcowymi. Wykorzystując IGMP snooping, przełączniki są w stanie, na podstawie otrzymanych raportów o członkostwie w danej grupie multicast, skojarzyć numery portów urządzeń końcowych z grupami multicast.

W efekcie tylko urządzenia należące do grupy będą otrzymywały ruch multicastowy. IGMP snooping najlepiej sprawdza się w przełącznikach warstwy 3 wyposażonych w specjalizowany układ ASIC, który realizuje sprzętowo IGMP snooping.

Protokoły routingu multicast
Aby móc dostarczyć ruch multicast, routery multicast tworzą i zarządzają drzewem dystrybucji, które umożliwia przesyłania ruchu właściwymi trasami. Koncepcja przekazywania ruchu multicast jest określana mianem Reverse Path Forwarding (RPF) i bazuje na założeniu, że routery multicast są w stanie przekazywać ruch multicastowy począwszy od źródła transmisji, a skończywszy na odbierających ją urządzeniach końcowych.

Routing multicastowy można nazwać przeciwieństwem routingu unicastowego. Celem routingu unicast jest określenie, gdzie skierować pakiet, aby dotarł do miejsca przeznaczenia. W przypadku routingu multicast należy ustalić, skąd pakiet przyszedł.

W transmisji multicast adres docelowy, zawarty w pakietach, to adres grupy multicast, co oznacza, że nie wskazuje on faktycznego miejsca przeznaczenia. Przekazywanie ruchu jest zorientowane połączeniowo. Odbiorcy muszą najpierw dołączyć do grupy, żeby znaleźć się w drzewie dystrybucji, zanim zaczną odbierać dane. Drzewa dystrybucji określają, jak przekazywać ruch multicastowy.

Odbierając pakiet multicast, router sprawdza jego adres źródłowy w tablicy routingu unicast, aby określić, czy pakiet z tego źródła został odebrany na właściwym dla danej podsieci interfejsie. Jeśli przeliczenie RPF (Reverse Path Forwarding) da wynik pozytywny, pakiet zostanie przesłany dalej. W przeciwnym razie pakiet zostanie odrzucony.

PIM Dense Mode (tryb skupiony)
PIM Dense Mode (PIM-DM) jest protokołem routing multicast zaprejoktowanym przy założeniu, że odbiorcy wszystkich grup unicastowych są stosunkowo gęsto rozmieszczeni w sieci. Inaczej mówiąc, zakłada się, że podsieci należą do niemal wszystkich grup multicast i w związku z tym trzeba do nich przesyłać ruch z różnych źródeł.

Wykorzystując PIM-DM, ruch multicast jest wysyłany do wszystkich hostów w sieci i tylko te routery, które nie są zainteresowane danym strumieniem, wysyłają specjalny komunikat PIM Prune, w celu usunięcia ich z drzewa dystrybucji. W efekcie ruch jest przesyłany tylko do tych części sieci, które musza go odbierać.

PIM Sparse Mode (tryb limitowany)
PIM Sparse Mode (PIM-SM) to protokół, który próbuje ograniczać dystrybucję danych, tak aby odbierała je minimalna liczba routerów sieci – ruch jest wysyłany tylko do odbiorców, którzy wyrazili zainteresowanie treścią. W tym trybie zakłada się, że w sieci jest niewielu odbiorców transmisji multicast. To oznacza, ze większość podsieci nie będzie odbierała multicastów.

Aby otrzymać transmisję multicast, router musi poinformować swoich sąsiadów, że chce ją odbierać. Routery wykorzystują komunikaty PIM Join oraz PIM Prune, aby przyłączać się do drzewa dystrybucji i opuszczać je.

Przyszłość multicastów
Multicasting był wbudowany w sieci IP od początku ich istnienia, jednak administratorzy nie włączali go, uważając, że jest to tylko marnowanie ich czasu. Mimo to producenci sieci wyposażali routery w obsługę multicastingu, widząc w tym szansę na sprzedaż bardziej wydajnych urządzeń (obsługa multicastingu wymaga dodatkowej mocy obliczeniowej). Dopóki jednak nie pojawiły się serwisy takie, jak YouTube, a komputery PC nie dysponowały mocą obliczeniową potrzebną do wyświetlania wideo, zainteresowanie multicastingiem było szczątkowe. Obecnie multicast spotyka się przede wszystkim we wdrożeniach telewizji IP (IPTV).

Transmisja multicast pozwala znacznie ograniczyć wykorzystanie łącza. Mimo tej istotnej zalety Polscy operatorzy nie oferują obecnie tego typu usługi. Jedną z przyczyn są stosunkowo wąskie zastosowania multicastingu. Zupełnie nie nadaje się on dla użytkowników przeglądających strony WWW czy odbierających pocztę WWW. Sprawdzi się jedynie tam, gdzie jednocześnie wielu użytkowników chce obierać te same dane. Najlepszym przykładem takiej sytuacji jest telewizja IP (IPTV). Ale problemy powstają już w przypadku Video on Demand – wprawdzie użytkownicy odbierają te same treści, ale transmisja jest inicjowana w różnych momentach (obejściem problemu jest dostarczanie treści w pewnych odstępach czasu, np. co 15 minut).

Z debaty, która odbyła się we wrześniu na konferencji PLNOG 3 (Polish Network Operators Group), wynika, transmisja multicastowa w sieciach polskich operatorów będzie możliwa najwcześniej za 2-3 lata. Cześć z operatorów uważa, że nastąpi to jeszcze później, a niektórzy wątpią, czy multicasty w ogóle pojawią się w polskim Internecie.

Inaczej jest w USA, gdzie sytuacja już teraz zmusza operatorów do wdrażania multicastingu. Pierwszym problemem, który napotykają tamtejsi operatorzy, jest wyczerpywanie się wolnych adresów IPv4, co w najbliższych dwóch latach powinno doprowadzić do upowszechnienia się protokołu IPv6. Drugim problemem jest wyczerpywanie się przepustowości w warstwie pierwszej i drugiej. Nie chodzi tu o przepustowość Internetu, ale o przepustowość sieci intranetowych operatorów, które są mocno obciążane przez ruch P2P.

Operatorzy, jak Comcast czy Verizon gwałtownie wdrażają multicasting IP, w niedługim czasie zrobią to zapewne również operatorzy sieci kablowych i telefonicznych. Nawet oferta FiOS firmy Verizon, bazująca na łączach optycznych fiber-to-the-home, zapewnia obsługę multicastingu.

Multicasting jest atrakcyjny również dla operatorów sieci kablowych. W ramach dostępnej, ograniczonej przepustowości, muszą oni transmitować kilkadziesiąt kanałów telewizyjnych, do czego zobowiązani są umowami z klientami i nadawcami. Tymczasem badania pokazują, że 90 % klientów ogląda tylko 10 wybranych kanałów i nic więcej. Multicasting rozwiązuje ten problem – przepustowość nie jest rezerwowana dla nieoglądanych kanałów, a jednocześnie kanały te są w każdej chwili dostępne dla użytkowników.

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ