IGMP
Кінцеві користувачі, які хочуть одержувати пакети багатоадресної розсилки, повинні мати можливість повідомити найближчим маршрутизаторам про своє бажання стати членом групи багатоадресної розсилки й одержувати пакети, призначені цій групі. Міжмережевий протокол керування групами - Internet Group Management Protocol (IGMP) - використовується для підтримки членства в групі багатоадресної розсилки. IGMP також використовується для узгодження роботи декількох маршрутизаторів багатоадресної розсилки, що виробляється шляхом вибору одного маршрутизатора в якості "ведучого". Цей маршрутизатор відслідковує членство в групах багатоадресної розсилки, що мають активних членів у мережі. IGMP використовується для визначення, чи повинен маршрутизатор передавати в підключені до нього підмережі прийняті пакети чи ні. Маршрутизатор, прийнявши пакет групового розсилання, перевіряє по його джерелу, є чи хоча б один член групи багатоадресної розсилки, що зробив запит на прийом цих пакетів. Якщо так, то пакет просувається. Якщо не існує жодного члена групи багатоадресної розсилки, то пакет відкидається.
IGMP версій 1 і 2 Користувачі, які бажають одержувати пакети групового розсилання, повинні мати можливість приєднуватися до груп багатоадресної розсилки і залишати їх. Це досягається використанням протоколу IGMP.
Нижче приведені коди типів протоколу IGMP:
Тип Значення +---------------------------------------------------------------------------+ 0x11 Запит на членство (якщо групова адреса дорівнює 0.0.0.0) 0x11 Запит на членство у визначеній групі (якщо є присутнім групова адреса) 0x16 Відповідь про приналежність групі (версія 2) 0x17 Залишити групу (версія 2) 0x12 Відповідь про приналежність групі (версія 1) +---------------------------------------------------------------------------+
Маршрутизатори використовують IGMP для керування членством у групах многоадресной розсилання: - Користувачі посилають IGMP-відповіді для приєднання до групи. - IGMP версії 1 не має явного повідомлення "залишити групу". Члену групи призначається таймер, і якщо значення таймера минає до одержання відповіді, то користувач видаляється з групи. - IGMP версії 2 надає окреме повідомлення "залишити групу". Користувач посилає дане повідомлення маршрутизату багатоадресної розсилки, коли хоче залишити групу (у IGMP версії 2). - Маршрутизатор періодично посилає IGMP-запити (по груповій адресі усіх вузлів підмережі: 224.0.0.1), щоб довідатися, чи існують члени яких-небудь груп у його підмережах. Якщо від конкретної групи не приходить відповідь, то маршрутизатор вважає, що в мережі немає членів даної групи, і не передає її трафик.
Поле TTL повідомлення-запиту встановлюється в 1, тому запити не передаються в інші підмережі. IGMP версії 2 пропонує кілька додатків до IGMP версії 1, таких як вибір єдиного "ведучого" маршрутизатора для кожної мережі, окреме повідомлення "залишити групу" і запити, специфічні для конкретної групи багатоадресної розсилки.
У якості "ведучого" вибирається маршрутизатор з найменшою IP-адресою. Окреме повідомлення "залишити групу" додано для зменшення часу чекання і для того, щоб маршрутизатор міг опитувати конкретні групи багатоадресної розсилки й одержувати відповіді користувачів про приналежність цій групі.