Protokół IP multicast, zamiast wysyłać indywidualnie pakiety do poszczególnych miejsc przeznaczenia, wysyła tylko jeden pakiet do wszystkich odbiorców w grupie multicast (multicast group), która jest identyfikowana jednym adresem IP grupy (miejsca przeznaczenia). Routing IP typu multicast (routing IP multicast) powstał, ponieważ techniki unicast i broadcast okazały się niezdolne do zapewnienia odpowiedniej wydajności nowo powstających aplikacji. Adresacja multicast ma zastosowanie, gdy zachodzi potrzeba przekazania jednego datagramu IP do wielu hostów w warunkach dużego natężenia ruchu. Ma to miejsce na przykład w sytuacji rozpowszechniania obrazów wideo z jednego źródła do wielu odbiorców (miejsc przeznaczenia).
Protokół IP multicast (Internet Protocol multicast) jest techniką routingu, która pozwala kierować ruch IP z jednego lub wielu źródeł do wielu miejsc przeznaczenia.
Spis treści |
Protokół IGMP (Internet Group-Membership Protocol) jest podstawowym komponentem multicastu IP. Do tworzenia grup multicast protokół IGMP wykorzystuje adresy IP klasy D. Protokół IGMP został opisany w dokumencie RFC 1112. Host identyfikuje przynależność do grupy wysyłając komunikaty IGMP. Routery pod dyktando protokołu IGMP nadsłuchują komunikatów IGMP i regularnie wysyłają zapytania w celu rozróżnienia, które grupy w poszczególnych sieciach LAN są aktywne, a które nie.
Do identyfikacji grup multicast i zestawianie tras do nich można użyć jednego z wielu protokołów routingu. Może to być PIM (Protocol-Independent Multicast), DVMRP (Distance-Vector Multicast Routing Protocol) i MOSPF (Multicast Open Shortest Path Protocol).
W zależności od rodzaju ruchu protokół PIM pracuje w dwu trybach, dense (skupionym) i sparse (rzadkim).
Tryb dense używa algorytmu RPF (Reverse Path Flooding), który jest podobny do protokołu DVMRP. Istnieją jednak różnice, na przykład protokół PIM pracujący w trybie dense, w odróżnieniu od protokołu DVMRP, nie wymaga specjalnego protokołu unicast, może pracować z dowolnym protokołem tego typu używanym w sieci. Tryb sparse jest przeznaczony dla intersieci ze stosunkowo niewielką liczbą sieci LAN, ale wieloma strumieniami danych. Definiuje punkty spotkań, które później są używane jako punkty rejestracji w celu zapewnienia właściwego routingu pakietów.
Jeśli nadawca chce przesłać dane, to pierwszy router, licząc od źródła, wysyła dane do punktu spotkania. Gdy odbiorca chce odebrać dane, ostatni router od strony odbiorcy rejestruje się w punkcie spotkania. Po wykonaniu tych czynności strumień danych może przepłynąć od nadawcy do punktu spotkania i do odbiorcy. Routery uczestniczące w połączeniu optymalizują ścieżkę i automatycznie eliminują niepotrzebne skoki, nawet w punkcie spotkania.
DVMRP (Distance-Vector Multicast Routing Protocol) wykorzystuje technikę RPF i jest używany jako podstawowy protokół dla internetowego szkieletu multicast MBONE (multicast backbone).
Protokół DVMRP został zdefiniowany w dokumencie RFT 1075 i ma pewne wady. Protokół DVRMP ma złą opinię zwłaszcza z powodu kiepskiej skalowalności sieci, wynikającej z refloodingu, szczególnie w wersjach, w których nie zaimplementowano oczyszczania. Taki płaski mechanizm routingu unicast protokołu DVMRP wpływa na jego zdolności skalowania.
Działanie RPF polega na tym, że router w momencie otrzymania pakietu wysyła jego kopie do wszystkich ścieżek z wyjątkiem zwrotnej do źródła. Jeśli do routera jest przyłączona sieć LAN, która nie chce przyjąć określonej grupy multicast, to router w celu zatrzymania strumienia danych wysyła do źródła komunikat czyszczący.
W operacjach RPF protokołu DVMRP są używane techniki refloodingu i adresacji unicast. Podczas refloodingu routery DVMRP okresowo zalewają przyłączoną sieć w celu osiągnięcia nowego hosta. Mechanizm floodingu używa algorytmu, który bierze pod uwagę częstotliwość floodingu i wymagany czas dla nowej grupy multicast do przyjęcia strumienia danych. Technika unicast DVMRP jest używana do określenia, który interfejs prowadzi z powrotem do źródła strumienia danych. Choć technika ta nie występuje poza protokołem DVMRP, to podobna jest do użytej w protokole RIP, opartej na zliczaniu skoków. Środowisko unicast DVMRP pozwala na użycie innych ścieżek niż używanych w ruchu multicast.
MOSPF (Multicast Open Shortest Path First) jest rozszerzeniem protokołu OSPF. Wykorzystuje protokół routingu unicast, który wymaga zdobycia przez każdy router w sieci informacji o wszystkich dostępnych łączach.
Router protokołu MOSPF wylicza trasy ze źródła do wszystkich możliwych członków grupy dla określonej grupy multicast. Informacja o nich jest przechowywana w tablicach stanu łącz protokołu OSPF. Tak ustalone trasy dla każdej pary źródło-grupa multicast przechowuje do czasu wystąpienia zmian w topologii sieci.
MOSPF może pracować tylko w sieciach, które używają protokołu OSPF. Na podstawie analizy jego licznych implementacji można stwierdzić, że: