Maciej Piechowiak, Piotr Zwierzykowski IP multicast - przegląd protokołów rutinguPolitechnika Poznańska, Instytut Elektroniki i Telekomunikacji

Pełen tekst

(1)

Piotr Zwierzykowski

Instytut Elektroniki i Telekomunikacji Politechniki PoznaĔskiej

ul. Piotrowo 3a, 60-965 PoznaĔ Maciej Piechowiak

Instytut Mechanikiĝrodowiska i Informatyki Stosowanej Akademii Bydgoskiej

ul. Chodkiewicza 30, 85-064 Bydgoszcz

IP MULTICAST – PRZEGLĄD PROTOKOàÓW ROUTINGU

*

Streszczenie: W celu stworzenia topologii sieciowej dla ruchu grupowego, potrzebne jest zdefiniowane proto-koáów dziaáających w oparciu o algorytmy, które za-pewniáyby konstruowanie wydajnych drzew dystrybu-cyjnych dla ruchumulticast oraz umoĪliwiáy transmi-sjĊ pakietów poprzez te struktury. W artykule przed-stawiono algorytmy i wykorzystujące je protokoáy routingu dla poáączeĔ typu multicast w sieciach IP ze szczególnym uwzglĊdnieniem sieci Internet.

1. WPROWADZENIE

Transmisja multicast jest poĞrednią formą komuni-kacji miĊdzy powszechnie znaną techniką unicast – cha-rakteryzującą poáączenie miĊdzy dwoma punktami (jeden-do-jeden), a techniką rozsiewczą broadcast (polegającą na wysyáaniu pakietów do wszystkich hostów w danej sieci). Pozwala ona dostarczaü dane tylko do wybranej grupy odbiorców, którzy identyfikowani są za pomocą adresu grupowego (multicast address).

Pomysá wykorzystania techniki multicast w sieciach IP zrodziá siĊ juĪ w koĔcu lat 80, jednak dopiero od kilku lat jest ona gáównym przedmiotem badaĔ z zakresu sieci teleinformatycznych [1-2]. To zainteresowanie wyniknĊáo przede wszystkim z gwaátownego rozwoju Internetu – wzrostu liczby nowo przyáączonych punktów sieci, a takĪe wdroĪeniem nowych technologii, które w ostatnich latach spowodowaáy wzrost przepustowoĞci sieci i pozwo-liáy rozwinąü siĊ sieciowym aplikacjom multimedialnym. Aplikacje takie, ze wzglĊdu na swój charakter, wymagają innego podejĞcia w dystrybuowaniu danych.

Rys. 1.1. Model komunikacyjny poáączeĔ multicast

* Praca powstaáa w ramach projektu KBN 4 T11D 02022

W tradycyjnym modelu unicast wysáanie tego samego pakietu do okreĞlonej liczby odbiorców w sieci wiąĪe siĊ z nawiązaniem poáączenia (sesji TCP/IP) z kaĪdym z ho-stów biorących udziaá w transmisji. Wynika z tego, Īe nadawca musi znaü adresy poszczególnych odbiorców i powieliü ten sam pakiet. Liczba aktywnych poáączeĔ, a co za tym idzie – liczba zwielokrotnionych pakietów – roĞnie liniowo ze wzrostem liczby odbiorców w sieci.

Model komunikacyjny dla poáączeĔ multicast (rys. 1.1) pozwala na redukcjĊ ruchu poprzez przekazywanie poje-dynczych pakietów przez routery w dóá do gaáĊzi, w któ-rych znajdują siĊ hosty zainteresowane uczestnictwem w grupie. Taki model komunikacyjny wymaga specjalnych algorytmów budujących wydajne struktury transportu pakietów w sieci – drzewa dystrybucyjne.

W rozdziale 2. skupiono siĊ na przeglądzie wykorzysty-wanych algorytmów i technik tworzenia takich drzew, jako podstawy popularnych protokoáów routingu IP multi-cast (omówionych w rozdziale 3.).

2. ALGORYTMY ROUTINGU MULTICAST 2.1. Algorytmy wyznaczania drzew o najkrótszych

ĞcieĪkach

Gáównym zadaniem grupy algorytmów znajdujących drzewa o najkrótszych ĞcieĪkach (SPT – Shortest Path Tree) jest wyznaczenie drzew dystrybucyjnych obejmuj ą-cych wszystkich odbiorców danej grupy z początkiem (korzeniem) w punkcie nadawcy w taki sposób, aby odle-gáoĞü od nadawcy do kaĪdego z odbiorców wzdáuĪ drzewa byáa minimalna. Najbardziej znanym algorytmem realizu-jącym tą funkcjonalnoĞü jest algorytm Dijkstry [3]. Tech-nika SPT zakáada istnienie jednego nadawcy w caáym drzewie. W przypadku istnienia wielu róĪnych Ĩródeá, osobne drzewa muszą byü wyznaczane dla kaĪdego z nadawców. Z tego wzglĊdu powstaáy dynamiczne wersje przywoáanych algorytmów.

2.1.1. Algorytm wektora odlegáoĞci

W algorytmie wektora odlegáoĞci (Distance Vector Algorithm) router, do którego bezpoĞrednio podáączony jest nadawca informuje sąsiednie routery, Īe koszt (odle-gáoĞü) miĊdzy nim, a nadawcą wynosi 1. Routery te wy-znaczają na podstawie otrzymanych informacji odlegáoĞci od nadawcy i spoĞród tych wartoĞci wybierają najmniej-szą. W nastĊpnym kroku kaĪdy z routerów rozgáasza obli-czony koszt do sąsiednich urządzeĔ i proces siĊ powtarza.

2003

Poznañskie Warsztaty Telekomunikacyjne Poznañ 11-12 grudnia 2003

(2)

Podstawową wadą powyĪszego rozwiązania jest záa ska-lowalnoĞü – algorytm bardzo wolno odpowiada na zmiany topologii sieci, a wymiana duĪej liczby komunikatów miĊdzy urządzeniami wydatnie wpáywa na zmniejszenie efektywnego pasma w sieci [4].

2.1.2. Algorytm stanu áącza

Algorytm stanu áącza (Link State Algorithm) bazuje na tradycyjnym algorytmie Dijkstry znajdowania najkrót-szejĞcieĪki i charakteryzuje siĊ tym, Īe kaĪdy router po-siada informacje o topologii sieci (niezaleĪnie wyznacza optymalny koszt do kaĪdego z wĊzáów w drzewie) [4]. Uaktualnianie informacji o topologii sieci polega na prze-syáaniu miĊdzy sąsiednimi routerami komunikatów Link State zawierających koszt poáączenia miĊdzy nimi i od-powiednim zmodyfikowaniu tabel routingu. Wykorzysta-na jest tutaj technika zalewania pakietami (flooding), przy czym komunikaty Link State wysyáane są w obie strony – w stronĊ urządzenia bliĪej nadawcy (up), jak i odbiorcy (down). W wyniku uaktualnienia kaĪdy router posiada kompletną informacjĊ o topologii sieci i moĪe wyznaczyü drogĊ o najmniejszym koszcie miĊdzy nadawcą, a po-szczególnymi odbiorcami z wykorzystaniem algorytmu Dijkstry.

Gáówną zaletą tej techniki jest niezaleĪnoĞü w wyznacza-niu tras przez poszczególne routery. ĩaden z nich nie musi polegaü na poĞrednich obliczeniach wykonywanych przez urządzenia „powyĪej” (jak to miaáo miejsce w algorytmie wektora odlegáoĞci). Proces pobierania informacji tylko z sąsiedniego routera wydatnie zmniejsza liczbĊ i rozmiar wymienianych w sieci komunikatów i zwiĊksza skalowal-noĞü drzewa.

2.2. Algorytmy wyznaczania drzew o najmniejszym koszcie

W przeciwieĔstwie do algorytmów znajdowania naj-krótszych ĞcieĪek w drzewie, których gáównym zadaniem jest zminimalizowanie kosztu (odlegáoĞci) miĊdzy nadaw-cą, a kaĪdym z odbiorców, algorytmy wyznaczania drze-wa o najmniejszym koszcie (Minimum Cost Tree Algori-thm) skupiają siĊ na zmniejszeniu caákowitego kosztu danego drzewa (suma kosztów wszystkich poáączeĔ w drzewie musi byü minimalna).

2.2.1. Algorytm minimalnego drzewa rozpinającego Gáównym zadaniem tego algorytmu jest wyznacze-nie drzewa rozpinającego, obejmującego nadawcĊ i od-biorców, w ten sposób, aby caákowity koszt drzewa byá minimalny (Minimum Spanning Tree Algorithm). Kla-syczny algorytm Prima sáuĪy do wyznaczania tego typu drzew, jednak traktuje on wszystkie wĊzáy drzewa jako czáonków danej grupy, a nie wszystkie hosty w sieci mu-szą nimi byü.

2.2.2. Algorytm minimalnego drzewa Steinera

NiedogodnoĞü powyĪszej techniki usuwa algorytm minimalnego drzewa Steinera (Minimum Steiner Tree), którego zadaniem jest utworzenie minimalnego drzewa rozpinającego skáadającego siĊ tylko z czáonków danej grupy multicast, a takĪe uwzglĊdniającego punkty nie

bĊdące takimi czáonkami, których doáączenie do drzewa pozwala zminimalizowaü caákowity koszt struktury. Zna-lezienie takiego drzewa jest problemem NP-zupeánym. W trakcie projektowania wydajnych algorytmów dla transmisji multicast, bierze siĊ pod uwagĊ dwa podstawo-we parametry charakteryzujące áącze, czyli koszt i opóĨ-nienie, a nastĊpnie zmierza siĊ do zminimalizowania tych wartoĞci.

Algorytmy znajdowania najkrótszej ĞcieĪki w drzewie (SPT) minimalizują odlegáoĞci miĊdzy nadawcą, a kaĪdym z odbiorców, co przekáada siĊ na zmniejszenie opóĨnienia miĊdzy koĔcami. Wygenerowane w ten sposób drzewo nie jest jednak drzewem minimalnym. Z kolei drzewo Steinera minimalizuje caákowity koszt áączy – nie jest jednak optymalne, gdyĪ standardowo wystĊpują tutaj wiĊksze opóĨnienia miĊdzy koĔcowymi routerami. Zada-niem algorytmów multicast powinno byü zatem znalezie-nie optymalnego rozwiązania korzystając z wyznaczonej dla kaĪdego áącza funkcji wagowej. Zadania te realizują algorytmy heurystyczne szukające minimalnego drzewa rozpinającego z zachowaniem wymagaĔ dotyczących opóĨnienia. Algorytm te moĪna podzieliü na: wymuszone drzewo Steinera (Constrained Steiner Tree),wymuszone drzewo o najtaĔszych krawĊdziach (Constrained Cheapest Edge Tree) oraz wymuszone drzewo najkrótszej ĞcieĪki (Constrained Shortest Path Tree).

2.3. Techniki tworzące drzewa Ĩródáowe

Zamiast tworzyü drzewo rozpinające dla caáej pod-sieci, technika drzew Ĩródáowych (Source-Based Trees) pozwala stworzyü strukturĊ drzewa dla kaĪdej pary nadawca-grupa odbiorców (S,G). DziĊki temu kaĪdy host moĪe byü czáonkiem wielu drzew, jeĞli oczywiĞcie naleĪy do wiĊcej niĪ jednej grupy multicast.

2.3.1. Algorytm RPB

Dziaáanie algorytmu RPB (Reverse-Path Broadca-sting) polega na okreĞleniu drogi jaką przebyá pakiet od Ĩródáa do routera, który dokonuje oceny. JeĞli jest to naj-krótsza moĪliwa droga áącząca router ze Ĩródáem, to pa-kiet przekazywany jest do wszystkich sąsiednich routerów w dóá (w stronĊ odbiorcy), poza tym który dany pakiet wysáaá. W przeciwnym wypadku pakiet jest odrzucany. àącza w kierunku nadawcy, tzn. te poprzez które routery otrzymują pakiety, okreĞlane są mianem rodzica (parent), z kolei te wzdáuĪ których pakiety są przekazywane w kierunku odbiorców – okreĞla siĊ mianem dziecka (child). Do kaĪdego z routerów prowadzi wiĊc jedno áącze parent, które jednoczeĞnie jest elementem najkrótszej drogi od Ĩródáa i tyle poáączeĔ typu child, ile routerów znajduje siĊ w jego sąsiedztwie. Algorytmy RPB cechuje wydajnoĞü i áatwoĞü implementacji. Dane od Ĩródáa do odbiorców przekazywane są róĪnymi drogami, co zapobiega koncen-tracji ruchu w niektórych partiach sieci [5].

2.3.2. Algorytm TRPB

Algorytm TRPB (Truncated Reverse-Path Broadcasting) rozwija funkcjonalnoĞü algorytmu RPB. Podczas przekazywania pakietów bierze pod uwagĊ in-formacje dotyczące czáonkostwa w grupach multicast, przekazywanych przez protokóá IGMP [6]. JeĞli wiĊc w

(3)

topologii sieci istnieje router nie zawierający w swej pod-sieci Īadnego hosta bĊdącego czáonkiem jakiejkolwiek grupy multicast, nie otrzyma on pakietów kierowanych wzdáuĪ drzewa do poszczególnych odbiorców.

Algorytm ten likwiduje niepotrzebny ruch w podsieciach granicznych, które nie zawierają czáonków danej grupy multicast. JednakĪe nie bierze on pod uwagĊ czáonkostwa w tych grupach w obrĊbie podsieci poĞrednich.

2.3.3. Algorytm RPM

RPM (Reverse-Path Multicasting) jest algorytmem, który tworzy drzewo dystrybucyjne w oparciu o podsieci zawierające aktywnych czáonków grup multicast oraz routery, znajdujące siĊ na drodze do podsieci zawierają-cych czáonków grup. Pozwala wiĊc blokowaü ruch nie tylko do podsieci danego routera, w której nie wystĊpują czáonkowie grup (odcinanie liĞci), lecz takĪe zatrzymaü ruch do routerów powyĪej, na drodze do nadawcy (odci-nanie gaáĊzi).

Pierwszy etap algorytmu polega na wysáaniu pakietów do wĊzáów drzewa za pomocą techniki TRPB. Gdy Īadna z podsieci doáączonych do routera nie zawiera czáonków grup multicast, router wysyáa komunikat zwrotny z Īąda-niem odciĊcia go od struktury drzewa dystrybucyjnego (prune) do routera powyĪej (parent link) z ustawionym znacznikiem TTL o wartoĞci 1. JeĞli router bliĪej nadawcy takĪe nie zawiera w swych podsieciach czáonków grup multicast, to równieĪ wysyáa komunikat z Īądaniem od-ciĊcia. Pozwala to optymalizowaü drzewo poprzez usuwa-nie wiĊkszych gaáĊzi [5].

3. PROTOKOàY ROUTINGU MULTICAST 3.1. DVMRP

Protokóá DVMRP (Distance Vector Multicast Ro-uting Protocol) stosowany w poáączeniach multicast wy-korzystuje drzewa dystrybucyjne generowane „od Ĩró-dáa”. Pierwotne wersje protokoáu bazowaáy na algorytmie RIP (Routing Information Protocol) wykorzystując jedno-czeĞnie technikĊ TRBP [7]. Od wersji 3.0 oprogramowa-nia mrouted, wspierającego routing w sieci MBone, DVMRP dziaáa w oparciu o algorytm RPM.

Routery wykorzystujące DVMRP obsáugują bezpoĞrednie poáączenia pomiĊdzy podsieciami oraz tzw. poáączenia tunelowane, czyli przebiegające poprzez inne podsieci, które bezpoĞrednio nie biorą udziaáu w transmisji multi-cast.

W sposób charakterystyczny dla algorytmu RPM, pierw-szy pakiet transmitowany w obrĊbie pary: Ĩródáo-grupa multicast, wysyáany jest do kaĪdej z podsieci (o ile war-toĞü wskaĨnika TTL na to pozwala). Po tej operacji route-ry stanowiące w sieci liĞcie, czyli nie transmitujące pakie-tów do Īadnych dalszych podsieci, mogą odáączyü siĊ od drzewa dystrybucyjnego (jeĞli w obrĊbie swoich podsieci nie posiadają aktywnych czáonków grupy). Pierwszą ope-racją realizowaną przez protokóá DVMRP jest wiĊc rozsy-áanie wiadomoĞci odáączenia (prune message). Ze wzglĊ-du na dynamikĊ powstaáego drzewa (routery mogą odáą-czaü siĊ od drzewa dystrybucyjnego na skutek komunika-tów IGMP) istnieje potrzeba okresowej weryfikacji po-wstaáej struktury. Ta funkcjonalnoĞü protokoáu DVMRP polega na periodycznym rozsyáaniu wiadomoĞci

zalewają-cej (flooding) docierajązalewają-cej ponownie do kaĪdej podsieci, w celu okreĞlenia ewentualnych, nowych czáonków grupy. Operacja ta jest szczególnie istotna z powodu wykorzy-stywania protokoáu UDP (User Datagram Protocol) do transmisji wiadomoĞci odáączania. Ze wzglĊdu na to, Īe UDP nie gwarantuje dotarcia informacji, szybka aktuali-zacja drzewa dystrybucyjnego zapobiega ewentualnym nadmiarowym pakietom transmitowanym niepotrzebnie do podsieci, które nie oczekują na te dane.

Ostatnią operacją realizowaną przez DVMRP jest funkcja ponownego doáączenia (grafting). UmoĪliwia to szybkie uaktualnienie drzewa dystrybucyjnego w przypadku po-jawienia siĊ hosta zgáaszającego chĊü uczestnictwa w danej grupie multicast. Router, który w swej podsieci wykryje nowego czáonka grupy wysyáa komunikat graft w stronĊ routerów wyĪej, które uaktualniają swe tablice trasowania przyáączając nową gaáąĨ. Takie rozwiązanie zapewnia szybkie podáączenie nowego uĪytkownika, zanim sieü przeprowadzi operacjĊ odtwarzania caáej struk-tury drzewa.

Ze wzglĊdu na wykorzystanie powszechnie znanego algo-rytmu RIP, DVMRP cechuje wzglĊdnie prosta implemen-tacja. Ponadto technikĊ tą charakteryzuje maáe wykorzy-stanie mocy obliczeniowej procesora, co w rezultacie pozwala obsáuĪyü nawet duĪe sieci. Periodyczne zalewa-nie sieci pakietami w celu aktualizacji drzew dystrybucyj-nych jest jednak czynnikiem niekorzystnym wydatnie zmniejszającym przepustowoĞü w duĪych sieciach.

3.2. HDVMRP

HDVMRP (Hierarchical Distance Vector Multicast Routing Protocol) pozwala transmitowaü pakiety w sie-ciach podzielonych na regiony (odzwierciedlające podziaá na domeny). KaĪda z domen otrzymuje swój unikalny identyfikator. W obrĊbie takiej domeny moĪe funkcjono-waü dowolny protokóá IP multicast (protokoáy pierwszego poziomu), natomiast miĊdzy tymi obszarami stosuje siĊ protokóá DVMRP implementowany w routerach granicz-nych (protokóá drugiego poziomu obsáugujący routing miĊdzydomenowy). MoĪliwa jest równieĪ trzypoziomowa hierarchia routingu (poprzez wprowadzenie superregio-nów), jednak skomplikowana enkapsulacja pakietów sprawia, Īe jest to maáo wydajny protokóá routingu.

HDVMRP wykorzystywany jest w przypadku duĪych obszarów sieciowych w celu podziaáu ich na mniejsze jednostki, pozwalając znacznie ograniczyü ruch miĊdzy domenami [5].

3.3. MOSPF

ZaleĪnoĞü DVMRP od protokoáów unicast powodu-je,Īe staje siĊ on niepraktyczny w segmentach sieci, które wykorzystują inne protokoáy routingu, np. OSPF (Open Shortest Path First). MOSPF (Multicast Extensions to Open Shortest Path First) rozszerza funkcjonalnoĞü trady-cyjnego protokoáu OSPF o wsparcie dla transmisji multi-cast – wykorzystuje informacje gromadzone przez OSPF w oparciu o algorytm stanu áącza i na ich podstawie budu-je drzewa dystrybucyjne multicast [8]. Zapewnia takĪe wspóápracĊ z routerami z zaimplementowanym OSPF, co pozwala na przekazywanie pakietów unicast w drzewie multicast.

(4)

Podobnie jak wczeĞniej omówione techniki, routery MOSPF wykorzystują IGMP w celu wykrywania aktyw-nych czáonków grup w swych podsieciach i utrzymują bazy danych takich lokalnych grup. KaĪdy z nich posiada kompletną topologiĊ sieci oraz informacje na temat uczestnictwa w grupach i na tej podstawie wyznacza naj-krótsze trasy miĊdzy nadawcą, a czáonkami grup w sieci. Gáówne cechy MOSPF:

x kaĪdy z routerów wyznacza to samo drzewo dystrybu-cyjne o najkrótszych ĞcieĪkach generowane od Ĩródáa, x bazy danych o grupach multicast przechowywane w

routerach są zsynchronizowane – pozwala to na tworze-nie i aktualizacje drzew dystrybucyjnych w pamiĊciach routerów (w kierunku od Ĩródáa do odbiorców); oznacza to, Īe zbĊdna staje siĊ technika zalewania pakietami wszystkich punktów sieci w celu aktualizacji drzewa, x tworzenie drzew dystrybucyjnych w trybie na Īądanie

sprawia, Īe aktualizacja informacji pomiĊdzy routerami jest rozáoĪona w czasie, co ogranicza nadmierne wyko-rzystywanie zasobów routerów; moĪe to sprawiü pewne problemy w przypadku licznych zmian w topologii w obrĊbie niewielkiego obszaru sieci, lecz w obliczu usys-tematyzowanych, dáugich sesji, taki tryb jest bardzo wydajny i stabilny.

Przesyáanie datagramów w obrĊbie obszarów okreĞlone jest za pomocą pamiĊci przekazywania, w którą wyposa-Īony jest kaĪdy router MOSPF. W przypadku przesyáania danych miĊdzy róĪnymi obszarami sieci, MOSPF okreĞla router miĊdzyobszarowy (inter-area multicast forwarder), który odpowiedzialny jest za przekazywanie informacji o czáonkostwie w grupach i datagramów z danymi. CzĊsto jako wsparcie dla tego rozwiązania konfiguruje siĊ rów-nieĪ graniczny router OSPF – ABR (Area Border Router), który równieĪ pracuje jako przekaĨnik ruchu multicast pomiĊdzy obszarami.

Routery peániące rolĊ áączników pomiĊdzy róĪnymi ob-szarami, tworzą podsumowania dotyczące czáonkostwa w grupach w doáączonych do nich obszarach i transmitują te dane do obszaru gáównego (backbone), zawierającego informacje na temat wszystkich pozostaáych obszarów. Odbywa siĊ to z wykorzystaniem komunikatów LSA (Link State Advertisement). Problem ĞciĞle związany z operowaniem pomiĊdzy obszarami to odáączanie routerów (prunning). Proces ten musi byü poddawany specjalnej kontroli, aby z drzewa nie zostaáy usuniĊte routery trans-mitujące dane do innych obszarów. Protokóá MOSPF cechuje szybka adaptacja do zmian zachodzących w topo-logii, a takĪe brak techniki zalewania (flooding). Poprzez wspóápracĊ z OSPF pozwala przekazywaü zarówno ruch unicast, jak i multicast. MOSPF jest jednak protokoáem o znacznej záoĪonoĞci obliczeniowej (wymaga od kaĪdego routera wyznaczenia drzew o najkrótszych ĞcieĪkach miĊdzy nadawcą, a grupą odbiorców dla kaĪdej grupy multicast). Nie jest teĪ dobrym rozwiązaniem w topolo-giach o duĪym rozproszeniu czáonków grup (sparse mo-de).

3.4. PIM (Protocol-Independent Multicast)

GrupĊ protokoáów PIM (Protocol-Independent Multicast)

tworzą dwa protokoáy PIM-DM (Protocol-Independent Multicast Dense Mode) i PIM-SM (Protocol-Independent Multicast Sparse Mode), które charakteryzują siĊ one tym

samym zbiorem komunikatów i wiadomoĞci kontrolnych. PIM-DM stosowany jest w Ğrodowisku, w którym czáon-kowie grup multicast rozlokowani są na niewielkim ob-szarze, czyli gĊsto (dense). Wtedy moĪliwe jest osiągniĊ-cie duĪych przepáywnoĞci i protokóá dziaáa najwydajniej. PIM-SM jest z kolei rozwiązaniem stosowanym w przy-padku rzadkiego rozmieszczenia czáonków grup (sparse) w wielu regionach sieci (przepáywnoĞci są wtedy relatyw-nie mrelatyw-niejsze). PIM jest relatyw-niezaleĪny od protokoáu routingu unicast (w przeciwieĔstwie do DVMRP i MOSPF). 3.4.1. PIM-DM

Podobnie jak DVMRP, PIM-DM [9] wykorzystuje technikĊ floodingu w celu budowy drzewa – kaĪdy z ro-uterów rozsyáa pakiety do wszystkich swoich interfejsów, z wyjątkiem tego interfejsu, z którego pakiety napáynĊáy. PodobieĔstwo wynika równieĪ z zastosowania algorytmu RPM (Reverse-Path Multicasting) w celu odcinania od drzewa gaáĊzi nie biorących udziaáu w transmisji.

W niektórych przypadkach PIM-DM moĪe siĊ okazaü protokoáem mniej wydajnym od DVMRP, gdyĪ nie za-pewnia dostatecznie wnikliwej kontroli interfejsów route-rów, co sprawia, Īe nie są one wraĪliwe na ruch zalewają-cy. Routery oparte na PIM-DM przechowują dane o wia-domoĞciach Īądania odáączenia (prune messages), w od-niesieniu do par Ĩródáo – grupa, w swoich pamiĊciach. Niejednokrotnie jednak moĪe siĊ zdarzyü, Īe z powodu braku dostĊpnych zasobów (pamiĊci), router usunie naj-starszy zapis. W wyniku tego sieü moĪe zostaü obciąĪona dodatkowymi pakietami, przesyáanymi w celu ponownego okreĞlenia drzewa dystrybucyjnego (dla usuniĊtego wpisu Ĩródáo – grupa). Ta wada jednak nie jest zbyt istotna, gdyĪ PIM-DM przeznaczony jest dla sieci o duĪych prze-páywnoĞciach a periodyczny ruch zalewowy generowany przez protokóá nie obciąĪa sieci w znaczący sposób. Pro-tokoáy PIM wymagają obecnoĞci routera desygnowanego w kaĪdej podsieci. W ten sposób tylko jedno urządzenie zajmuje siĊ transmisją komunikatów IGMP i kontrolą czáonkostwa w grupach.

Zarówno dla PIM-DM, jak i PIM-SM sposób wyboru routera desygnowanego jest taki sam: jeĞli w podsieci istnieje wiĊcej niĪ jeden router, to routerem desygnowa-nym zostaje ten, który posiada wyĪszy adres IP. O ile rozsyáanie zapytania IGMP nie koniecznie musi byü reali-zowane przez router desygnowany, musi on zapewniü przesyáanie wiadomoĞci odáączenia (prune) oraz przyáą-czenia (join) do tzw. punktu spotkania (rendezvous point). Router desygnowany gromadzi równieĪ informacje na temat aktywnych punktów spotkaĔ dla kaĪdej grupy mul-ticast. Routery posiadające zaimplementowany protokóá PIM zawierają procedury do wyboru alternatywnej drogi spoĞród moĪliwych dróg o jednakowym koszcie. JeĞli istnieją dwie drogi miĊdzy dwoma punktami w sieci i kaĪdej z nich przypisany jest taki sam koszt, pakiet zosta-je przesáany do urządzenia, które posiada wyĪszy adres IP Zgodnie z rys. 3.1 router A przekazuje pakiet do routerów B i C. W podsieci routera B taki pakiet zostanie przesáany do czáonka grupy. PoniewaĪ w otoczeniu C nie ma aktyw-nych czáonków grup multicast, wyĞle on do A komunikat zĪądaniem odáączenia. Gdyby sytuacja taka miaáa miejsce odáączony zostaáby takĪe router B.

(5)

wysyáa Īądanie przyáączenia do kolejnego routera w kie-runku rendezvous point. W ten sposób tworzy siĊ struktu-ra, która ostatecznie poáączy nowego czáonka grupy z routerem bĊdącym punktem spotkaĔ.

Dla danej domeny obsáugiwanej przez protokóá PIM-SM, istnieje tylko jeden zestaw routerów – punktów spotkaĔ i kaĪdy z nich peáni rolĊ równorzĊdną, obsáugując jedną grupĊ uĪytkowników w danej chwili.

W topologii sieci lokalnej opartej na PIM-SM wystĊpuje router desygnowany i charakteryzuje siĊ takimi samymi cechami jak w przypadku PIM-DM. Gdy otrzyma on raport IGMP informujący o tworzeniu nowej grupy, okre-Ğla czy grupa ta musi byü oparta na punkcie spotkaĔ. JeĞli tak jest, router desygnowany tworzy wpis w swojej pa-miĊci dotyczący pary: dowolne Ĩródáo – grupa i transmi-tuje wiadomoĞü przyáączenia (join message) w trybie unicast do najbliĪszego, dostĊpnego dla danej grupy, punktu spotkaĔ.

Rys. 3.1. Wspóádzielenie áącza przez routery PIM. PIM zapewnia mechanizm rozwiązujący ten problem: wszystkie wiadomoĞci z Īądaniem odáączenia muszą byü wysyáane na adres multicast 224.0.0.2 (okreĞlający wszystkie routery w podsieci). Tak wiĊc wiadomoĞü z Īądaniem odáączenia wysáana przez router C, dotrze za-równo do routera A, jak i B. Router A nie odáączy grupy od razu a jedynie zaplanuje takie dziaáanie. Tymczasem router B po otrzymaniu tej wiadomoĞci wyĞle wiadomoĞü przyáączenia na wspólny adres 224.0.0.2. Router A po jej otrzymaniu zrezygnuje z operacji odáączenia grupy [10].

Routery poĞrednie równieĪ dokonują wpisów dotyczących nowej grupy w swoich pamiĊciach, o ile takie wpisy jesz-cze nie istnieją. Dopiero po zakoĔjesz-czeniu tej operacji, utworzona zostanie droga do dystrybucji pakietów dla nowej grupy.

3.4.2. PIM-SM JeĞli nadawca jako pierwszy wyĞle pakiet, desygnowany

router dokona enkapsulacji pakietu i przeĞle go w trybie unicast do punktu spotkaĔ, przypisanego grupie docelo-wej. Pakiet po enkapsulacji nosi nazwĊ pakietu rejestra-cyjnego PIM-SM (PIM-SM register packet). Gdy router spotkaĔ otrzyma taki pakiet rejestracyjny, odsyáa w kie-runku routera desygnowanego Ĩródáa wiadomoĞü przyáą-czenia.

Protokóá PIM-SM zostaá zaprojektowany w celu efektywnego przekazywania ruchu multicast do czáonków grup rozmieszczonych rzadko (sparse), tzn. w róĪnych regionach sieci (taki rodzaj grup wystĊpuje w sieciach WAN) [10]. Nieefektywne okazują siĊ zatem protokoáy wykorzystujące flooding w początkowej fazie budowania

drzewa dystrybucyjnego. Drzewo dystrybucyjne zakorzenione w punkcie spotkaĔ zapewnia poáączenia do wszystkich czáonków grupy, jednak stworzone drogi najczĊĞciej nie są optymalnymi dla danej topologii. Protokóá PIM-SM umoĪliwia zarówno przesyáanie pakietów poprzez te drzewa, jak i tworzenie nowych drzew zakorzenionych w punkcie nadawcy i charakteryzujących siĊ najkrótszymi, moĪliwymi ĞcieĪ-kami. Takie rozwiązanie ogranicza opóĨnienia w przeka-zywaniu pakietów od Ĩródáa do czáonków grupy oraz redukuje koncentracjĊ ruchu jedynie w obrĊbie RP (rende-zvous point).

W protokole PIM-SM najwaĪniejszą rolĊ odgrywają tzw. punkty spotkaĔ (rendezvous points) czyli routery wyko-rzystywane przez nadawców (do rozgáoszenia swej obec-noĞci), jak i odbiorców – aby uzyskaü informacje na temat nadawców w danej grupie multicast (rys. 3.2). Gdy uĪyt-kownik w danej podsieci wyrazi chĊü uczestnictwa w grupie multicast, router obsáugujący jego podsieü musi wysáaü wiadomoĞü z Īądaniem doáączenia (join message) do punktu spotkaĔ. Dokonuje tej procedury po otrzymaniu odpowiedniego komunikatu IGMP od uĪytkownika. PIM-SM, w przeciwieĔstwie do PIM-DM, nie przesyáa danych do wszystkich routerów (poza tymi, które odáączyáy siĊ od struktury drzewa dystrybucyjnego), ale ogranicza ich iloĞü, wysyáając pakiety jedynie do wczeĞniej przyáączo-nych routerów. Gdy topologia sieci tego wymaga, router

Wadą PIM-SM jest tworzenie tzw. wąskich gardeá w punktach spotkaĔ. Są one równieĪ potencjalnymi punkta-mi zagraĪającypunkta-mi integracji caáego drzewa w przypadku awarii [11].

3.5. HPIM

HPIM (Hierarchical Protocol-Independent Multi-cast) jest hierarchiczną wersją protokoáu PIM. Charakte-ryzuje siĊ hierarchizacją punktów spotkaĔ i przydziele-niem ich do róĪnych grup w zaleĪnoĞci od usytuowania w sieci oraz zakresu peánionych funkcji. Takie rozwiązanie zapobiega powstawaniu pĊtli przy transmisji pakietów oraz umoĪliwia rozdzielenie danych kontrolnych od da-nych aplikacji multicast [2].

3.6. CBT

Protokóá CBT (Core Based Tree) zostaá zaprojekto-wany specjalnie w celu rozwiązania problemu skalowal-noĞci w sieciach publicznych, takich jak Internet. CBT jest protokoáem niezaleĪnym od zaimplemen-towanych Rys. 3.2. Model sieci z wykorzystaniem protokoáu PIM-SM

(6)

protokoáów unicast – wykorzystuje istniejące tablice ro-utingu do tworzenia drzew dystrybucyjnych.

4. PODSUMOWANIE

Implementacja technologii multicast w sieciach da-lekiego zasiĊgu wiąĪe siĊ z potrzebą wyboru okreĞlonych narzĊdzi w postaci stosownego protokoáu routingu oparte-go o wydajny aloparte-gorytm. Podyktowane jest to przede wszystkim dynamiką tworzenia grup multicast. DuĪe znaczenie ma takĪe rozmieszczenie uĪytkowników w sieci, jej wielkoĞü i przewidywany rozwój. Operacje tra-sowania zaimplementowane w routerach są bardzo skom-plikowane, a poziom ich záoĪonoĞci wzrasta wraz z doáą-czaniem kolejnych podsieci.

UĪytkownik chcący doáączyü siĊ do grupy informuje lokalny router (z zaimplementowanym protokoáem CBT) wykorzystując komunikaty IGMP. Po otrzymaniu takiego komunikatu router CBT wysyáa wiadomoĞü z Īądaniem przyáączenia do kolejnego routera w kierunku do routera – rdzenia drzewa dystrybucyjnego, przypisanego danej grupie (rys. 3.3).

W artykule omówiono popularne protokoáy routingu w sieciach IP multicast pod kątem ich zastosowania w sieciach gĊstych (DVMRP, MOSPF, PIM-DM) oraz rzad-kich (PIM-SM, CBT). Z racji rozwoju sieci Internet, bĊ-dącej siecią rzadką, istnieje zapotrzebowanie na skalowal-ne protokoáy routingu uwzglĊdniające hierarchizacjĊ urzą-dzeĔ sieciowych (routing hierarchiczny) oraz techniki wspóádzielenia drzew dystrybucyjnych takie rozwiązania wdroĪone zostaáy w protokoáach HDVMRP, HPIM czy OCBT.

Rys. 3.3. Doáączanie czáonka grupy do drzewa CBT Router rdzeniowy odpowiada na komunikat join potwier-dzeniem przyáączenia do drzewa (acknowledge). Istnieje teĪ bardziej korzystne rozwiązanie, jeĞli miĊdzy routerem desygnowanym, a rdzeniowym istnieje urządzenie naleĪą-ce juĪ do drzewa CBT – wtedy takie urządzenie wysyáa wczeĞniej komunikat potwierdzający. Niemniej, kaĪdy z routerów poĞrednich, po otrzymaniu wiadomoĞci z Īąda-niem, przechodzi w chwilowy stanáączenia (transient join state). W wyniku tego stanu nastĊpuje zapisanie informa-cji o grupie multicast oraz numerów portów: wejĞciowego (przez który Īądanie zostaáo otrzymane) i wyjĞciowego (przez który Īądanie zostanie przesáane dalej). UmoĪliwi to przesáanie potwierdzenia tą samą drogą do nadawcy Īądania. Gdy w kierunku przeciwnym przesyáana jest wiadomoĞü potwierdzająca, routery poĞrednie zmieniają swój stan na aktywny, co wiąĪe siĊ z zapisaniem w pamiĊ-ci portu wejĞpamiĊ-ciowego i wyjĞpamiĊ-ciowego przy transmisji pa-kietów przeznaczonych dla danego czáonka grupy.

SPIS LITERATURY

[1] S. E. DEERING, Host extensions for IP multicasting, IETF, RFC 1112, August 1989.

[2] S. HAREZ AND D. KATZ, Administrative Domains and Routing Domains: A model for routing in the Internet, IETF, RFC 1136, December 1989. [3] E. DIJKSTRA, A note on two problems in connection

with graphs, Numerical Mathematics 1, (1959), 395-412.

[4] S. PAUL, Multicasting on the internet and its appli-cations, Kluwer Academic Publishers, 1998. [5] D. KOSIUR, IP multicasting: the complete guide to

interactive corporate networks, Wiley Computer Publishing, 1998.

W takim drzewie dla kaĪdej pary sąsiednich routerów wyróĪniamy: router dziecko (bliĪej odbiorcy) i router rodzic (bliĪej nadawcy). Po utworzeniu gaáĊzi routery poĞrednie periodycznie przesyáają komunikat echa do swojego rodzica. Na taki komunikat router rodzic odpo-wiada analogicznym komunikatem. Wymiana komunika-tów odbywa siĊ przy uĪyciu poáączenia unicast.

[6] W. FENNER, Internet Group Management Protocol, version 2, IETF, RFC 2236, November 1997. [7] D. WAITZMAN, C. PARTRIDGE AND S. E. DEERING,

Distance Vector Multicast Routing Protocol, IETF, RFC 1075, November 1988.

Ruch generowany przez protokóá CBT jest znacznie mniejszy niĪ w przypadku protokoáów pracujących w trybie gĊstym. Mniejsze są takĪe wymagania sprzĊtowe stawiane routerom. Niestety, punkty spotkaĔ (RP) mogą stanowiü wąskie gardáa w transmisji pakietów multicast, a ich awarie – niekorzystnie wpáywaü na integralnoĞü drze-wa dystrybucyjnego. Istnieje takĪe problem związany z umiejscowieniem w topologii drzew routerów rdzenio-wych (moĪliwa konfiguracja automatyczna lub rĊczna).

[8] J. MOY, Multicast Extensions to OSPF, IETF, RFC 1584, March 1994.

[9] A. ADAMS, J. NICHOLAS, W. SIADAK Protocol Independent Multicast - Dense Mode (PIM-DM), IETF, INTERNET DRAFT, February 2003.

[10] W. R. PARKHURST, Cisco Multicast Routing and Switching, McGraw-Hill, 1999.

[11] S. HAREZ AND D. KATZ, Protocol Independent Multicast – Sparse Mode (PIM-SM): Protocol Specification, IETF, RFC 2117, December 1989. 3.7. OCBT

OCBT (Ordered Core-Based Trees) jest wersją pro-tokoáu CBT, która wprowadza hierarchiĊ wĞród rdzeni obecnych w topologii sieci. Takie rozwiązanie zapewnia brak wystĊpowania pĊtli przy przesyáaniu pakietów oraz gwarantuje skoĔczony, maksymalny czas odtworzenia struktury po wystąpieniu báĊdu (awarii) w którymkolwiek z routerów.

Obraz

Updating...

Cytaty

Updating...

Powiązane tematy :