Ruch multicast w sieci
- Kamil Folga,
- 14.12.2012, godz. 09:00
W przypadku jednego segmentu sieciowego przesyłanie ruchu multicast jest relatywnie proste. Nadawca określa adres IP celu, a hosty w sieci decydują, czy chcą odebrać dane. Adres multicastowy IP identyfikuje sesję transmisji. Wszyscy odbiorcy w grupie multicast są identyfikowani za pomocą jednego adresu IP. Ruch IPv4 multicast wykorzystuje klasę adresacji D (od 224.0.0.0 do 239.255.255.255, niektóre z adresów są zarezerwowane).
Sprawa komplikuje się, gdy ruch multicast wykracza poza jeden segment sieci fizycznej i pakiety multicast są przesyłane przez routery. Wszystkie urządzenia biorące udział w przesyłaniu ruchu multicast, takie jak serwery, hosty, routery czy przełączniki muszą koordynować tę operację. Dla pełnego obrazu warto podzielić technologie pracujące w sieci dostępowej operatora oraz technologie sieci szkieletowej.
Dostęp multicast w sieci operatora
W sieci dostępowej operatora konieczna jest opcja zarządzania ruchem multicast. Do tego celu najczęściej jest wykorzystywany protokół IGMP (Internet Group Management Protocol). Występuje on w trzech wersjach: 1, 2 lub 3. Różne urządzenia będą obsługiwać różne jego wersje, przy czym najczęściej stosowane to 2 i 3. Protokół IGMP pozwala odbiorcom zgłosić chęć odbierania określonej grupy multicast. Zgłoszenia są wysyłane do najbliższego routera brzegowego obsługującego daną sieć multicast.
Pewne ulepszenie w tej kwestii wprowadziła druga wersja protokołu IGMP. Różnica polega na możliwości wprowadzenia ograniczeń w przyłączaniu i odłączaniu się od grupy multicastowej. Z kolei w IGMPv3 wprowadzono opcję filtrowania źródeł. Umożliwia ona hostom zgłaszanie zainteresowania odbiorem strumieni wyłącznie z określonego źródła.
Ze względu na wydajność sieci istotny byłby mechanizm, która pozwoliłby wysyłać strumienie nie do wszystkich hostów w sieci, ale wyłącznie do tych zainteresowanych. Oferuje to protokół IGMP Snooping, obsługiwany w nowszych przełącznikach. Umożliwia on inteligentne przekazywanie pakietów multicastowych do hostów, które chcą odbierać ten ruch. W ten sposób nie rozsyłamy pakietów multicast na wszystkie porty w określonej sieci VLAN. IGMP Snooping sprawdza pakiety przesyłane przez sieć, przechwytując informacje. Potrafi pasywnie nasłuchiwać komunikatów IGMP (Query, Report oraz Leave), które są przesyłane między routerami IP multicast oraz hostami, i w ten sposób uczyć się grup multicastowych. Potem następuje automatyczna konfiguracja portów przełącznika lub VLAN-ów i w efekcie ruch multicastowy jest wysyłany wyłącznie na odpowiednie porty przełącznika. IGMP Snooping nie generuje żadnych dodatkowych informacji i znacząco redukuje ruch multicast przechodzący przez przełączniki.