Опубликован: 11.08.2008 | Уровень: специалист | Доступ: платный
Лекция 7:

Межсетевой протокол управления группами (IGMP)

< Лекция 6 || Лекция 7: 123456 || Лекция 8 >

Выход из группы

Когда хост определяет, что ни один процесс не интересуется заданной группой, он посылает сообщение об уходе. Точно так же, когда маршрутизатор видит, что ни одна из сетей, подключенных к его интерфейсам, не интересуется заданной группой, он посылает сообщение о выходе этой группы.

Однако когда маршрутизатор групповой рассылки получает сообщение о выходе, он не может немедленно произвести чистку этой группы от ее списка, потому что сообщение исходит только из одного хоста или маршрутизатора; могут быть другие хосты или маршрутизаторы, которые все еще интересуются этой группой. Чтобы удостовериться в этом, маршрутизатор посылает специальное сообщение запроса и вставляет групповой идентификатор (адрес групповой рассылки), связанный с группой. Маршрутизатор отводит заданное время ответа для любого хоста или маршрутизатора. Если в это время не получен сигнал интерес (сообщение членства), маршрутизатор предполагает, что нет никаких законных членов в сети, и производит чистку группы от своего списка. Рис. 7.4. показывает механизм выхода из группы.

Отчет о выходе из группы

Рис. 7.4. Отчет о выходе из группы

Контроль членства

Хост или маршрутизатор могут присоединиться к группе, посылая сообщения о членстве. Они могут оставить группу, посылая сообщения ухода из группы. Однако посылка этих двух типов сообщений недостаточна. Рассмотрим ситуацию, в которой есть только один хост, заинтересованный в группе, но хост закрыт или удален из системы. Маршрутизатор групповой рассылки никогда не получит сообщение об уходе из группы. Как это обрабатывается? Маршрутизатор групповой рассылки ответственен за контроль всех хостов или маршрутизаторов в LAN, чтобы видеть, хотят ли они продолжить членство в группе.

Маршрутизатор периодически (по умолчанию каждые 125 с.) посылает общее сообщение запроса. В этом сообщении фигурирует группа с адресным полем, установленным на 0.0.0.0. Это означает, что это запрос для продолжения членства — для всех групп, в которых состоит не только один хост.

Маршрутизатор ожидает ответ для каждой группы в его списке группы; могут ответить даже новые группы. Сообщение запроса имеет максимальное время ответа 10 с. (значение поля — фактически 100, но оно выражается в десятых долях секунды). Когда хост или маршрутизатор получают общее сообщение запроса, они отвечают отчетом о членстве, если интересуются группой. Однако если есть общий интерес (два хоста, например, интересуются одной той же самой группой), посылается только один ответ для этой группы, чтобы избежать ненужного трафика. Это называется отсроченным ответом. Обратите внимание, что сообщение запроса должно посылаться только одним маршрутизатором (обычно он называется маршрутизатором запроса), чтобы также предотвратить ненужный трафик. Рассмотрим коротко эту проблему. Рисунок 7.5. показывает механизм запроса.

Сообщение общего запроса

Рис. 7.5. Сообщение общего запроса

Отсроченный ответ

Чтобы предотвратить ненужный трафик, IGMP использует отсроченную стратегию ответа. Когда хост или маршрутизатор получают сообщение запроса, они не отвечают немедленно; они задерживают ответ. Каждый хост или маршрутизатор использует случайное число, чтобы создать таймер, который истекает между 1 и 10 секундами. Время истечения может быть с шагом в 1 секунду или меньше. Таймер установлен для каждой группы в списке. Например, таймер для первой группы может закончиться через 2 секунды, но таймер для третьей группы может закончиться через 5 секунд. Каждый хост или маршрутизатор ждет, пока не истек его таймер, перед посылкой сообщения отчета о членстве. В течение этого времени ожидания, если таймер другого хоста или маршрутизатора для той же самой группы закончится раньше, то хост или маршрутизатор посылают отчет о членстве.

Отчет является широковещательным, ждущий хост или маршрутизатор получают отчет и знают, что нет никакой нужды посылать двойной отчет для этой группы; таким образом, станция ожидания отменяет соответствующий таймер.

Пример 1

Представьте, что на сети есть три хоста, как это показано на рис. 7.6.
Пример 1

Рис. 7.6. Пример 1
Сообщение запроса было получено за время "0"; случайное время задержки (в десятых долях секунды) для каждой группы дано рядом с адресом группы. Покажите последовательности сообщений отчета о членстве.
Решение
События возникают в такой последовательности:
  1. Время 12: таймер для 228.42.0.0 в хосте A истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом, включая хост B, который отменяет свой таймер для 228.42.0.0.
  2. Время 30: таймер для 225.14.0.0 в хосте A истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом, включая хост С, который отменяет свой таймер для 225.14.0.0.
  3. Время 50: таймер для 251.70.0.0 в хосте C истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом.
  4. Время 70: таймер для 230.43.0.0 в хосте истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом, включая хост A, который отменяет свой таймер для 230.43.0.0.
Обратите внимание, что, если бы каждый хост послал отчет о каждой группе в его списке, было бы семь отчетов; с этой стратегией посылаются только четыре отчета.
< Лекция 6 || Лекция 7: 123456 || Лекция 8 >
Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Мария Архипова
Мария Архипова
Александр Гордеев
Александр Гордеев
Казахстан, Алматы, ТУРАН
Александр Даниленко
Александр Даниленко
Россия, Москва, 797, 1993