Основные протоколы интернет

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

Разбить на страницы
Показывать лекцию целиком

Протокол IP может быть включен в два типа связи: одноадресная передача и групповая передача. Одноадресная передача — связь между одним передатчиком и одним приемником. Это непосредственная связь. Однако некоторые процессы иногда должны посылать то же самое сообщение большому количеству приемников одновременно. Это называется рассылка по многим адресам, которая является связью "один ко многим". Групповая передача имеет много приложений. Например, множество биржевых маклеров могут одновременно быть информированы относительно изменений в курсе акций, или туристические агенты могут быть информированы относительно отмены поездки. Некоторые другие приложения включают дистанционное обучение и видео по требованию.

Протокол управления группами Интернета (IGMP) — один из необходимых (но не достаточный, как мы увидим) протоколов, которые включаются в групповую передачу. IGMP взаимодействует с протоколом IP. Рисунок 7.1 показывает типы сообщений IGMP.

Групповое управление

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

IGMP не протокол маршрутизации групповой передачи; это — протокол, который управляет членством группы. В любой сети есть один или более маршрутизаторов групповой рассылки пакетов, которые распределяют пакеты, рассылаемые по многим адресам хостов или других маршрутизаторов. Протокол IGMP дает информацию маршрутизаторам групповой рассылки о состоянии членства хостов (маршрутизаторов), подключенных к сети.

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

Сообщения IGMP

У IGMP существует две версии. Мы обсуждаем IGMPv2. IGMPv2 имеет три типа сообщений: запрос, отчет о членстве и сообщение об уходе. Есть два типа сообщений запроса, общий и специальный (рис. 7.1).

(рис 7.1) Типы сообщений IGMP

Формат сообщения

Рисунок 7.2. показывает формат IGMP (версия 2) сообщения.

(рис 7.2) Формат сообщения IGMP

Тип. Это поле на 8 бит определяет тип сообщения, как показано в таблице 7.1. Значения типов приведены и в шестнадцатеричной, и в двоичной системе обозначений.

Поле типов IGMP
Тип Значение
Общий или специальный запрос 0x11 или 00010001
Отчет о членстве 0x16 или 00010110
Отчет о выходе из группы 0x17 или 00010111

Максимальное время ответа. Это поле на 8 бит определяет время, в пределах которого на запрос нужно ответить. Это значение — десятые доли секунды; например, если значение — 100, оно соответствует 10 с. Значение является отличным от нуля в сообщении запроса, оно установлено на ноль в других двух типах сообщения. Мы вскоре увидим его использование.

Контрольная сумма. Это поле на 16 бит, несущее контрольную сумму. Контрольная сумма вычислена по 8-байтовому сообщению.

Адрес группы. Значение этого поля — "0" для общего сообщения запроса. Значение определяет groupid (адрес групповой рассылки группы) в специальном запросе, сообщении членства и сообщениях ухода.

Операции IGMP

IGMP работает локально. Маршрутизатор групповой рассылки, который подключается к сети, имеет список адресов групповой рассылки групп по крайней мере с одним известным членом в этой сети.

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

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

Объединение групп

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

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

Рисунок 7.3. показывает сообщение о членстве, посланное хостом или маршрутизатором.

(рис 7.3) Отчет о членстве

Протокол требует, чтобы сообщение о членстве было послано дважды, одно за другим в течение нескольких моментов. Таким путем, если первое потеряно или повреждено, второе заменит его.

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

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

Однако когда маршрутизатор групповой рассылки получает сообщение о выходе, он не может немедленно произвести чистку этой группы от ее списка, потому что сообщение исходит только из одного хоста или маршрутизатора; могут быть другие хосты или маршрутизаторы, которые все еще интересуются этой группой. Чтобы удостовериться в этом, маршрутизатор посылает специальное сообщение запроса и вставляет групповой идентификатор (адрес групповой рассылки), связанный с группой. Маршрутизатор отводит заданное время ответа для любого хоста или маршрутизатора. Если в это время не получен сигнал интерес (сообщение членства), маршрутизатор предполагает, что нет никаких законных членов в сети, и производит чистку группы от своего списка. Рис. 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(рис 7.6) Пример 1Сообщение запроса было получено за время "0"; случайное время задержки (в десятых долях секунды) для каждой группы дано рядом с адресом группы. Покажите последовательности сообщений отчета о членстве.
Решение
События возникают в такой последовательности:
  • Время 12: таймер для 228.42.0.0 в хосте A истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом, включая хост B, который отменяет свой таймер для 228.42.0.0.
  • Время 30: таймер для 225.14.0.0 в хосте A истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом, включая хост С, который отменяет свой таймер для 225.14.0.0.
  • Время 50: таймер для 251.70.0.0 в хосте C истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом.
  • Время 70: таймер для 230.43.0.0 в хосте истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом, включая хост A, который отменяет свой таймер для 230.43.0.0.
  • Обратите внимание, что, если бы каждый хост послал отчет о каждой группе в его списке, было бы семь отчетов; с этой стратегией посылаются только четыре отчета.

    Маршрутизатор запроса

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

    Инкапсуляция

    Сообщение инкапсулируется в дейтаграмму IP, которая сама является инкапсулированной в кадр (рис. 7.7).

    (рис 7.7) Пакет инкапсуляции пакета IGMP

    Есть несколько проблем, связанных с таким формированием пакета, которые мы здесь должны обсудить. Сперва рассмотрим проблему на уровне IP и затем — на уровне звена передачи данных.

    IP-уровень

    На уровне IP нас касаются три поля: поле протокола, поле времени жизни (time of live –TTL), адрес IP пункта назначения.

    Поле протокола

    Значение поля для протокола IGMP равно 2. Каждый пакет IP несет это значение в поле протокола, доставляющего данные IGMP.

    TTL-поле (поле времени жизни)

    Когда сообщение инкапсулировано в дейтаграмме IP, значение TTL должно быть "1". Оно необходимо, потому что область IGMP – это локальная сеть LAN. Ни одно сообщение IGMP не должно идти вне LAN. Значение TTL равное "1" гарантирует, что сообщение не покинет LAN, поскольку это значение уменьшается к нулю следующим маршрутизатором и, следовательно, пакет удаляется.

    IP-адреса пункта назначения

    Таблица 7.2 показывает IP-адрес пункта назначения для каждого типа сообщения.

    IP-адрес пункта назначения
    Тип IP адрес пункта назначения
    Запрос 224.0.0.1 Все системы этой подсети
    Отчет о членстве Множественный адрес группы
    Отчет об уходе 224.0.0.2. Все маршрутизаторы подсети

    Сообщение запроса – это групповая передача, использующая групповой адрес 224.0.0.1. Все хосты и все маршрутизаторы получают это сообщение.

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

    Сообщение-отчет об уходе – групповая передача использует адрес групповой передачи 224.0.0.2 (все маршрутизаторы на этой подсети) так, чтобы маршрутизаторы получили этот тип сообщения. Хосты также получают это сообщение, но игнорируют его.

    Уровень звена данных

    На уровне сети IGMP-сообщение инкапсулируется в IP-пакет и рассматривается как IP-пакет. Однако поскольку IP-пакет имеет адрес IP многоадресной рассылки, протокол ARP не может найти соответствующий физический адрес MAC (media access control), чтобы отправить пакет на уровне звена данных. Что происходит затем, зависит от того, действительно ли основной уровень звена данных поддерживает физические адреса многоадресной рассылки.

    Физическая поддержка многоадресной рассылки

    Большинство ЛВС поддерживает физическую адресацию многоадресной рассылки. Ethernet — один из них. Физический адрес Ethernet (MAC-адрес) — шесть октетов (48 бит) длины. Первые 25 бит в адресе Ethernet — 0000000100000000010111100 — идентифицируют физический адрес многоадресной рассылки для TCP/IP протокола. Остающиеся 23 бита могут использоваться, чтобы определить группу. Чтобы конвертировать IP в адрес многоадресной рассылки в адрес Ethernet, маршрутизатор многоадресной рассылки извлекает наименее существенные 23 бита класса D IP-адреса и вставляет их в физический адрес Ethernet, рассылающего сообщения по многим адресам (рис. 7.8).

    (рис 7.8) Физический адрес, отображающий класс D Ethernet

    Однако идентификатор группы класса D — IP-адрес 28 бит длиной, который подразумевает, что 5 бит не используются. Это означает, что 32 (25) адреса групповой рассылки на уровне IP относятся к единственному адресу групповой рассылки. Другими словами, отображение "многие к одному" вместо "один к одному". Если 5 крайних левых бит идентификатора группы класса D адреса — не все нули, хост может получить пакеты, которые действительно не принадлежат группе, в которую он входит. По этой причине хост должен проверить адрес и удалить любой пакет, который не принадлежит ему.

    Поддержка не физической групповой рассылки

    Большинство сетей широкого пользования (WANs) не поддерживает физическую адресацию групповой рассылки. Чтобы посылать пакет групповой рассылки через эти сети, используется процесс, названный туннелированием. При туннелировании пакет групповой рассылки инкапсулируется в однонаправленном пакете и посылается через сеть, где он появляется с другой стороны как пакет групповой рассылки (рис. 7.9).

    (рис 7.9) Тунелирование

    Организация IGMP

    Мы можем показать, как IGMP может обрабатывать посылку и получение IGMP-пакетов через нашу упрощенную версию организации IGMP.

    (рис 7.10) Блок-схема модулей IGMP

    Таблица группы

    Таблица группы дает информацию об адресе групповой рассылки, который принадлежит как минимум одному члену группы. Таблица имеет четыре поля: состояние, номер интерфейса, адрес группы и количество ссылок ( таблица 7.3).

    Таблица группы
    Состояние Интерфейс № Групповой адрес Количество ссылок
    ................. ................. ................. .................
    ................. ................. ................. .................
    ................. ................. ................. .................
  • Состояние. Это поле определяет состояние входа. Оно может иметь одно из следующих значений: СВОБОДНО, ЗАДЕРЖКА или НЕАКТИВЕН. Если состояние СВОБОДНО, нет ни одного процесса, покидающего эту группу. Если состояние ЗАДЕРЖКА, отчет должен быть послан для этого входа, когда таймер закончится. Если состояние НЕАКТИВЕН, нет ни одного таймера, который отмечает работу этого входа.
  • Номер интерфейса. Это поле определяет интерфейс, с помощью которого передается и получается пакет групповой рассылки.
  • Адрес группы. Это адрес групповой рассылки, который определяет группу.
  • Счетчик ссылок. Это число процессов, состоящих на данный момент в группе. Каждый раз, когда процесс присоединяется к группе, счетчик ссылок увеличивается на единицу. В каждый момент времени, когда процесс уходит из группы, счетчик ссылок уменьшается на единицу. Когда это значение является нулевым, состояние изменяется на СВОБОДНО.
  • Таймеры

    Каждый вход в таблице в состоянии ЗАДЕРЖКА имеет таймер, чтобы управлять посылкой отчетов о передаче. Каждый таймер имеет случайно выбранное время, чтобы предотвратить всплеск пакетов при обновлении отчетов. Когда наступает время окончания таймера, активизируется модуль вывода, передается сигнал, по которому создается отчет.

    Модуль объединения в группу

    Алгоритм работы модуля объединения групп IGMP показан на рис. 7.11. Процесс, который хочет присоединиться к группе, обращается к этому модулю. Модуль ищет таблицу группы, чтобы найти вход с тем же самым адресом групповой рассылки. Если такой вход найден, модуль увеличивает перечень ссылок, чтобы показать, что еще один процесс присоединился к этой группе. Если адрес групповой рассылки не найден, модуль создает новый вход и увеличивает счетчик ссылок на один. В этом случае модуль связывается с модулем вывода и с уровнем звена передачи данных. Он передает модулю вывода сигнал "передать извещение о членстве" и уровню звена передачи данных — сигнал "обновлять таблицу конфигурации" так, чтобы этот тип пакета групповой рассылки мог бы быть получен.

    (рис 7.11) Алгоритм работы модуля объединения групп IGMP

    Модуль выхода из группы

    Алгоритм работы модуля выхода из группы IGMP показан на рис. 7.12. Процесс, который хочет покинуть группу, вызывает этот модуль. Модуль ищет таблицу группы, чтобы найти вход с тем же самым адресом групповой рассылки. Если такой вход найден, модуль уменьшает на единицу счетчик ссылок. Если значение счетчика равняется нулю, состояние изменяется на СВОБОДНО и передается сообщение об уходе.

    (рис 7.12) Алгоритм работы модуля модуль выхода из группы IGMP

    Модуль входа

    Входной модуль вызывается в соответствии с сообщением IGMP. Если сообщение — запрос, модуль запускает таймер для каждого входа в таблице группы с состоянием НЕ АКТИВНЫЙ и изменяет это состояние на ЗАДЕРЖКИ. Чтобы сделать это, модуль генерирует случайное число между нолем и максимальным временем задержки и создает таймер со временем окончания, равным этому случайному числу. Генерация случайного числа требуется для того, чтобы модуль вывода посылал отчеты в разное время, предотвращая перегрузку.

    Если полученное сообщение — отчет о членстве, модуль проверяет соответствующий вход в его таблице. Если он найден и состояние ЗАДЕРЖКА, это означает, что другой хост на сети послал отчет о членстве для всей этой группы, и нет никакой необходимости в этом хосте, чтобы послать другой отчет. Модуль отменяет таймер и изменяет состояние на НЕАКТИВНО. Напомним, что хосты не получают сообщения о выходе.

    (рис 7.13) Алгоритм работы модуля входа IGMP

    Модуль вывода

    Модуль вывода вызывается сигналом таймера или запросом на объединение группы, или сигналом выхода из группы. Он тогда ищет соответствующий вход и, если состояние ЗАДЕРЖКА, модуль создает отчет и посылает его. Затем сбрасывает состояние в НЕАКТИВНО.

    (рис 7.14) Алгоритм работы модуля вывода IGMP

    Краткие итоги

  • Групповая передача — посылка одного и того же сообщения более чем в один приемник одновременно.
  • Протокол управления группами Интернета помогает маршрутизаторам групповой рассылки создавать и модифицировать список лояльных членов, имеющих отношение к интерфейсам маршрутизатора.
  • Три типа сообщения IGMP – это сообщение запроса, отчет о членстве и сообщение о выходе из группы.
  • IGMP работает локально.
  • Хост или маршрутизатор могут иметь членство в группе.
  • Хост обслуживает список процессов, которые имеют членство в группе.
  • Маршрутизатор обслуживает список groupids, который показывает членство в группе для каждого интерфейса.
  • Маршрутизатор или хост посылают отчет о членстве для присоединения к группе.
  • Маршрутизатор или хост посылают сообщение о выходе из группы.
  • Маршрутизатор посылает общее сообщение запроса, чтобы контролировать членство группы.
  • Отсроченная стратегия ответа предотвращает ненужный трафик на ЛВС.
  • Сообщение IGMP инкапсулируется в дейтаграмме IP.
  • Большинство ЛВС, включая локальную сеть на основе протокола CSMA-CD, поддерживает физическую адресацию групповой рассылки.
  • Сети широкого назначения (WANs), которые не поддерживают физическую адресацию групповой рассылки, могут использовать процесс, называемый "туннелирование", чтобы посылать пакеты групповой рассылки.
  • Организация IGMP может содержать таблицу группы хоста, набор таймеров и четыре программных модуля — модуль ввода, модуль вывода, модуль объединения группы и модуль выхода из группы.
  • Таблица группы содержит информацию о каждой группе групповой рассылки, членом которой является хост.
  • Таймеры управляют посылкой отчетов от хоста к маршрутизаторам групповой рассылки.
  • Модуль объединения группы добавляет и модифицирует входы в таблице группы.
  • Модуль выхода из группы удаляет и модифицирует входы в таблице группы.
  • Входной модуль обрабатывает поступающие сообщения IGMP.
  • Модуль вывода создает отчеты IGMP.
  • Задачи и упражнения

  • Почему сообщению не требуется IGMP (Межсетевой протокол управления группами), чтобы перемещаться вне его собственной сети?
  • Список маршрутизатора групповой рассылки содержит четыре группы (W, X, Y и Z). Есть три хоста на LAN. Хост A имеет трех лояльных членов, принадлежащих группе W, и одного лояльного члена, принадлежащего группе X. Хост B имеет двух лояльных членов, принадлежащих группе W, и одного лояльного члена, принадлежащего группе Y. Хост C не имеет процессов, принадлежащих какой-либо группе. Покажите сообщения IGMP, которые применяются для отслеживания этих групп.
  • Адрес групповой рассылки для группы — 231.24.60.9. Каков его адрес локальной сети Ethernet на 48 бит для LAN, использующий TCP/IP?
  • Если маршрутизатор в своей групповой таблице имеет 20 входов, сколько периодических запросов он должен передать — 20 различных запросов или только один?
  • Если хост хочет продолжить членство в пяти группах, сколько IGMP-сообщений отчета о членстве он должен передать — пять или только один?
  • Маршрутизатор с адресом IP 202.45.33.21 и физическая локальная сеть Ethernet с адресом 234A4512ECD2 посылают общее сообщение запроса IGMP. Покажите сообщение.
  • Инкапсулируйте сообщение упражнения 6 в пакет IP. Заполните все поля.
  • Инкапсулируйте сообщение упражнения 7 в кадре локальной сети Ethernet. Заполните все поля.
  • Хост с адресом IP 124.15.13.1 и физическим адресом локальной сети Ethernet 4A224512E передает IGMP-сообщение извещения о членстве группы с групповым идентификатором (groupid) 228.45.23.11. Покажите сообщение.
  • Инкапсулируйте сообщение упражнения 26 в пакете IP. Заполните все поля.
  • Инкапсулируйте сообщение упражнения 27 в кадр локальной сети Ethernet. Заполните все поля.
  • Маршрутизатор на сети локальной сети Ethernet получил пакет IP групповой рассылки с групповым идентификатором 226.17.18.4. Когда хост проверяет свою групповую таблицу группы для групповой рассылки, он находит адрес. Покажите, как маршрутизатор передает этот пакет получателям, формируя IP-пакет в кадре локальной сети Ethernet. Покажите весь кадр локальной сети Ethernet. Исходящий адрес IP маршрутизатора — 185.23.5.6, и его исходящий физический адрес — 4A224512E1E2. Нуждается ли маршрутизатор в действиях по протоколу ARP?
  • Что, если маршрутизатор в упражнении 12 не может найти в своей таблице групповой идентификатор (groupid)?
  • Повторите упражнение 12 с физической сетью, которая не поддерживает физическую адресацию групповой рассылки.
  • Хост с адресом IP 114.45.7.9 получает запрос IGMP. Когда он проверяет его таблицу группы, он не находит ни одного входа. Какое действие должен предпринять хост? Должен ли он передать какие-либо сообщения? Если ДА, то покажите все поля пакета.
  • Хост с адресом IP 222.5.7.19 получает запрос IGMP. Когда он проверяет свою таблицу маршрутизации, он находит в своей таблице два входа: 227.4.3.7 и 229.45.6.23. Какие действия должен предпринять хост? Должен ли он передать какие-либо сообщения? Если ДА, то покажите все поля пакета.
  • Хост с адресом IP 186.4.77.9 получает запрос от процесса, чтобы присоединиться к группе с групповым идентификатором (groupid) 230.44.101.34. Когда хост проверяет его таблицу группы, он не находит вход для этого идентификатора (groupid). Какие действия должен предпринять хост? Должен ли он передать какие-либо сообщения? Если ДА, то покажите все поля пакета.
  • Повторить упражнение 17 с хостом, который нашел вход в его таблице.
  • Маршрутизатор с адресом IP 184.4.7.9 получает отчет от хоста, который хочет присоединиться к группе с групповым идентификатором (groupid) 232.54.10.34. Когда маршрутизатор проверяет свою групповую таблицу, он не находит вход для этого идентификатора (groupid). Какие действия должен предпринять маршрутизатор? Должен ли он передать какие-либо сообщения? Если ДА, то покажите все поля пакета.
  • Повторите упражнение 19 с маршрутизатором, нашедшим вход в его таблице.
  • Маршрутизатор передает запрос и получает только три отчета о групповом идентификаторе (groupids) — 225.4.6.7, 225.32.56.8 и 226.34.12.9. Когда проверяется его таблица маршрутизации, он находит пять входов: 225.4.6.7, 225.11.6.8, 226.34.12.9, 226.23.22.67 и 229.12.4.89. Какие действия он должен предпринять?
  • Содержание IGMP-сообщения в шестнадцатеричной системе обозначений:
    11 00 EEFF 00 00 00 00

    Дайте ответы на следующие вопросы:

  • Какой тип сообщения?
  • Чему равна контрольная сумма?
  • Чему равен групповой идентификатор (groupid)?
  • Содержание IGMP-сообщения в шестнадцатеричной системе обозначений:
    16 00 F9 CO E1-2A 13 14

    Дайте ответы на следующие вопросы:

  • Какой тип сообщения?
  • Чему равна контрольная сумма?
  • Чему равен групповой идентификатор (groupid)?
  • Есть ли ошибка в следующем шестнадцатеричном представлении IGMP сообщения:
    11 00 AO 11 E1-2A 13 14
  • Есть ли ошибка в следующем шестнадцатеричном представлении IGMP сообщения:
    7 00 AO 11 00 00 00 00
  • Сколько адресов групповых рассылок может быть поддержано для протокола IP в локальной сети Ethernet?
  • Сколько адресов групповой рассылки может быть поддержано в соответствии с протоколом IP?
  • Какой размер адресного пространства будет потерян, когда преобразуют адрес IP групповой рассылки к адресу групповой рассылки локальной сети Ethernet?
  • Заменить следующие IP-адреса групповой рассылки на адреса групповой рассылки локальной сети Ethernet. Сколько из них совпадает с адресом локальной сети Ethernet?
  • 224.18.72.8 ;
  • 235.18.72.8 ;
  • 237.18.6.88 ;
  • 224.88.12.8.
  • Изменить описание блок-схемы модулей IGMP, чтобы она была применима к маршрутизатору.
  • Дополнительный материал для прохождения тестирования к лекции, Вы можете скачать здесь.

    Страницы:

    Протокол IP может быть включен в два типа связи: одноадресная передача и групповая передача. Одноадресная передача — связь между одним передатчиком и одним приемником. Это непосредственная связь. Однако некоторые процессы иногда должны посылать то же самое сообщение большому количеству приемников одновременно. Это называется рассылка по многим адресам, которая является связью "один ко многим". Групповая передача имеет много приложений. Например, множество биржевых маклеров могут одновременно быть информированы относительно изменений в курсе акций, или туристические агенты могут быть информированы относительно отмены поездки. Некоторые другие приложения включают дистанционное обучение и видео по требованию.

    Протокол управления группами Интернета (IGMP) — один из необходимых (но не достаточный, как мы увидим) протоколов, которые включаются в групповую передачу. IGMP взаимодействует с протоколом IP. Рисунок 7.1 показывает типы сообщений IGMP.

    Групповое управление

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

    IGMP не протокол маршрутизации групповой передачи; это — протокол, который управляет членством группы. В любой сети есть один или более маршрутизаторов групповой рассылки пакетов, которые распределяют пакеты, рассылаемые по многим адресам хостов или других маршрутизаторов. Протокол IGMP дает информацию маршрутизаторам групповой рассылки о состоянии членства хостов (маршрутизаторов), подключенных к сети.

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

    Сообщения IGMP

    У IGMP существует две версии. Мы обсуждаем IGMPv2. IGMPv2 имеет три типа сообщений: запрос, отчет о членстве и сообщение об уходе. Есть два типа сообщений запроса, общий и специальный (рис. 7.1).

    (рис 7.1) Типы сообщений IGMP

    Формат сообщения

    Рисунок 7.2. показывает формат IGMP (версия 2) сообщения.

    (рис 7.2) Формат сообщения IGMP

    Тип. Это поле на 8 бит определяет тип сообщения, как показано в таблице 7.1. Значения типов приведены и в шестнадцатеричной, и в двоичной системе обозначений.

    Поле типов IGMP
    Тип Значение
    Общий или специальный запрос 0x11 или 00010001
    Отчет о членстве 0x16 или 00010110
    Отчет о выходе из группы 0x17 или 00010111

    Максимальное время ответа. Это поле на 8 бит определяет время, в пределах которого на запрос нужно ответить. Это значение — десятые доли секунды; например, если значение — 100, оно соответствует 10 с. Значение является отличным от нуля в сообщении запроса, оно установлено на ноль в других двух типах сообщения. Мы вскоре увидим его использование.

    Контрольная сумма. Это поле на 16 бит, несущее контрольную сумму. Контрольная сумма вычислена по 8-байтовому сообщению.

    Адрес группы. Значение этого поля — "0" для общего сообщения запроса. Значение определяет groupid (адрес групповой рассылки группы) в специальном запросе, сообщении членства и сообщениях ухода.

    Операции IGMP

    IGMP работает локально. Маршрутизатор групповой рассылки, который подключается к сети, имеет список адресов групповой рассылки групп по крайней мере с одним известным членом в этой сети.

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

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

    Объединение групп

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

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

    Рисунок 7.3. показывает сообщение о членстве, посланное хостом или маршрутизатором.

    (рис 7.3) Отчет о членстве

    Протокол требует, чтобы сообщение о членстве было послано дважды, одно за другим в течение нескольких моментов. Таким путем, если первое потеряно или повреждено, второе заменит его.

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

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

    Однако когда маршрутизатор групповой рассылки получает сообщение о выходе, он не может немедленно произвести чистку этой группы от ее списка, потому что сообщение исходит только из одного хоста или маршрутизатора; могут быть другие хосты или маршрутизаторы, которые все еще интересуются этой группой. Чтобы удостовериться в этом, маршрутизатор посылает специальное сообщение запроса и вставляет групповой идентификатор (адрес групповой рассылки), связанный с группой. Маршрутизатор отводит заданное время ответа для любого хоста или маршрутизатора. Если в это время не получен сигнал интерес (сообщение членства), маршрутизатор предполагает, что нет никаких законных членов в сети, и производит чистку группы от своего списка. Рис. 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(рис 7.6) Пример 1Сообщение запроса было получено за время "0"; случайное время задержки (в десятых долях секунды) для каждой группы дано рядом с адресом группы. Покажите последовательности сообщений отчета о членстве.
    Решение
    События возникают в такой последовательности:
  • Время 12: таймер для 228.42.0.0 в хосте A истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом, включая хост B, который отменяет свой таймер для 228.42.0.0.
  • Время 30: таймер для 225.14.0.0 в хосте A истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом, включая хост С, который отменяет свой таймер для 225.14.0.0.
  • Время 50: таймер для 251.70.0.0 в хосте C истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом.
  • Время 70: таймер для 230.43.0.0 в хосте истекает, и посылается отчет о членстве, который получается маршрутизатором и каждым хостом, включая хост A, который отменяет свой таймер для 230.43.0.0.
  • Обратите внимание, что, если бы каждый хост послал отчет о каждой группе в его списке, было бы семь отчетов; с этой стратегией посылаются только четыре отчета.

    Маршрутизатор запроса

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

    Инкапсуляция

    Сообщение инкапсулируется в дейтаграмму IP, которая сама является инкапсулированной в кадр (рис. 7.7).

    (рис 7.7) Пакет инкапсуляции пакета IGMP

    Есть несколько проблем, связанных с таким формированием пакета, которые мы здесь должны обсудить. Сперва рассмотрим проблему на уровне IP и затем — на уровне звена передачи данных.

    IP-уровень

    На уровне IP нас касаются три поля: поле протокола, поле времени жизни (time of live –TTL), адрес IP пункта назначения.

    Поле протокола

    Значение поля для протокола IGMP равно 2. Каждый пакет IP несет это значение в поле протокола, доставляющего данные IGMP.

    TTL-поле (поле времени жизни)

    Когда сообщение инкапсулировано в дейтаграмме IP, значение TTL должно быть "1". Оно необходимо, потому что область IGMP – это локальная сеть LAN. Ни одно сообщение IGMP не должно идти вне LAN. Значение TTL равное "1" гарантирует, что сообщение не покинет LAN, поскольку это значение уменьшается к нулю следующим маршрутизатором и, следовательно, пакет удаляется.

    IP-адреса пункта назначения

    Таблица 7.2 показывает IP-адрес пункта назначения для каждого типа сообщения.

    IP-адрес пункта назначения
    Тип IP адрес пункта назначения
    Запрос 224.0.0.1 Все системы этой подсети
    Отчет о членстве Множественный адрес группы
    Отчет об уходе 224.0.0.2. Все маршрутизаторы подсети

    Сообщение запроса – это групповая передача, использующая групповой адрес 224.0.0.1. Все хосты и все маршрутизаторы получают это сообщение.

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

    Сообщение-отчет об уходе – групповая передача использует адрес групповой передачи 224.0.0.2 (все маршрутизаторы на этой подсети) так, чтобы маршрутизаторы получили этот тип сообщения. Хосты также получают это сообщение, но игнорируют его.

    Уровень звена данных

    На уровне сети IGMP-сообщение инкапсулируется в IP-пакет и рассматривается как IP-пакет. Однако поскольку IP-пакет имеет адрес IP многоадресной рассылки, протокол ARP не может найти соответствующий физический адрес MAC (media access control), чтобы отправить пакет на уровне звена данных. Что происходит затем, зависит от того, действительно ли основной уровень звена данных поддерживает физические адреса многоадресной рассылки.

    Физическая поддержка многоадресной рассылки

    Большинство ЛВС поддерживает физическую адресацию многоадресной рассылки. Ethernet — один из них. Физический адрес Ethernet (MAC-адрес) — шесть октетов (48 бит) длины. Первые 25 бит в адресе Ethernet — 0000000100000000010111100 — идентифицируют физический адрес многоадресной рассылки для TCP/IP протокола. Остающиеся 23 бита могут использоваться, чтобы определить группу. Чтобы конвертировать IP в адрес многоадресной рассылки в адрес Ethernet, маршрутизатор многоадресной рассылки извлекает наименее существенные 23 бита класса D IP-адреса и вставляет их в физический адрес Ethernet, рассылающего сообщения по многим адресам (рис. 7.8).

    (рис 7.8) Физический адрес, отображающий класс D Ethernet

    Однако идентификатор группы класса D — IP-адрес 28 бит длиной, который подразумевает, что 5 бит не используются. Это означает, что 32 (25) адреса групповой рассылки на уровне IP относятся к единственному адресу групповой рассылки. Другими словами, отображение "многие к одному" вместо "один к одному". Если 5 крайних левых бит идентификатора группы класса D адреса — не все нули, хост может получить пакеты, которые действительно не принадлежат группе, в которую он входит. По этой причине хост должен проверить адрес и удалить любой пакет, который не принадлежит ему.

    Поддержка не физической групповой рассылки

    Большинство сетей широкого пользования (WANs) не поддерживает физическую адресацию групповой рассылки. Чтобы посылать пакет групповой рассылки через эти сети, используется процесс, названный туннелированием. При туннелировании пакет групповой рассылки инкапсулируется в однонаправленном пакете и посылается через сеть, где он появляется с другой стороны как пакет групповой рассылки (рис. 7.9).

    (рис 7.9) Тунелирование

    Организация IGMP

    Мы можем показать, как IGMP может обрабатывать посылку и получение IGMP-пакетов через нашу упрощенную версию организации IGMP.

    (рис 7.10) Блок-схема модулей IGMP

    Таблица группы

    Таблица группы дает информацию об адресе групповой рассылки, который принадлежит как минимум одному члену группы. Таблица имеет четыре поля: состояние, номер интерфейса, адрес группы и количество ссылок ( таблица 7.3).

    Таблица группы
    Состояние Интерфейс № Групповой адрес Количество ссылок
    ................. ................. ................. .................
    ................. ................. ................. .................
    ................. ................. ................. .................
  • Состояние. Это поле определяет состояние входа. Оно может иметь одно из следующих значений: СВОБОДНО, ЗАДЕРЖКА или НЕАКТИВЕН. Если состояние СВОБОДНО, нет ни одного процесса, покидающего эту группу. Если состояние ЗАДЕРЖКА, отчет должен быть послан для этого входа, когда таймер закончится. Если состояние НЕАКТИВЕН, нет ни одного таймера, который отмечает работу этого входа.
  • Номер интерфейса. Это поле определяет интерфейс, с помощью которого передается и получается пакет групповой рассылки.
  • Адрес группы. Это адрес групповой рассылки, который определяет группу.
  • Счетчик ссылок. Это число процессов, состоящих на данный момент в группе. Каждый раз, когда процесс присоединяется к группе, счетчик ссылок увеличивается на единицу. В каждый момент времени, когда процесс уходит из группы, счетчик ссылок уменьшается на единицу. Когда это значение является нулевым, состояние изменяется на СВОБОДНО.
  • Таймеры

    Каждый вход в таблице в состоянии ЗАДЕРЖКА имеет таймер, чтобы управлять посылкой отчетов о передаче. Каждый таймер имеет случайно выбранное время, чтобы предотвратить всплеск пакетов при обновлении отчетов. Когда наступает время окончания таймера, активизируется модуль вывода, передается сигнал, по которому создается отчет.

    Модуль объединения в группу

    Алгоритм работы модуля объединения групп IGMP показан на рис. 7.11. Процесс, который хочет присоединиться к группе, обращается к этому модулю. Модуль ищет таблицу группы, чтобы найти вход с тем же самым адресом групповой рассылки. Если такой вход найден, модуль увеличивает перечень ссылок, чтобы показать, что еще один процесс присоединился к этой группе. Если адрес групповой рассылки не найден, модуль создает новый вход и увеличивает счетчик ссылок на один. В этом случае модуль связывается с модулем вывода и с уровнем звена передачи данных. Он передает модулю вывода сигнал "передать извещение о членстве" и уровню звена передачи данных — сигнал "обновлять таблицу конфигурации" так, чтобы этот тип пакета групповой рассылки мог бы быть получен.

    (рис 7.11) Алгоритм работы модуля объединения групп IGMP

    Модуль выхода из группы

    Алгоритм работы модуля выхода из группы IGMP показан на рис. 7.12. Процесс, который хочет покинуть группу, вызывает этот модуль. Модуль ищет таблицу группы, чтобы найти вход с тем же самым адресом групповой рассылки. Если такой вход найден, модуль уменьшает на единицу счетчик ссылок. Если значение счетчика равняется нулю, состояние изменяется на СВОБОДНО и передается сообщение об уходе.

    (рис 7.12) Алгоритм работы модуля модуль выхода из группы IGMP

    Модуль входа

    Входной модуль вызывается в соответствии с сообщением IGMP. Если сообщение — запрос, модуль запускает таймер для каждого входа в таблице группы с состоянием НЕ АКТИВНЫЙ и изменяет это состояние на ЗАДЕРЖКИ. Чтобы сделать это, модуль генерирует случайное число между нолем и максимальным временем задержки и создает таймер со временем окончания, равным этому случайному числу. Генерация случайного числа требуется для того, чтобы модуль вывода посылал отчеты в разное время, предотвращая перегрузку.

    Если полученное сообщение — отчет о членстве, модуль проверяет соответствующий вход в его таблице. Если он найден и состояние ЗАДЕРЖКА, это означает, что другой хост на сети послал отчет о членстве для всей этой группы, и нет никакой необходимости в этом хосте, чтобы послать другой отчет. Модуль отменяет таймер и изменяет состояние на НЕАКТИВНО. Напомним, что хосты не получают сообщения о выходе.

    (рис 7.13) Алгоритм работы модуля входа IGMP

    Модуль вывода

    Модуль вывода вызывается сигналом таймера или запросом на объединение группы, или сигналом выхода из группы. Он тогда ищет соответствующий вход и, если состояние ЗАДЕРЖКА, модуль создает отчет и посылает его. Затем сбрасывает состояние в НЕАКТИВНО.

    (рис 7.14) Алгоритм работы модуля вывода IGMP

    Краткие итоги

  • Групповая передача — посылка одного и того же сообщения более чем в один приемник одновременно.
  • Протокол управления группами Интернета помогает маршрутизаторам групповой рассылки создавать и модифицировать список лояльных членов, имеющих отношение к интерфейсам маршрутизатора.
  • Три типа сообщения IGMP – это сообщение запроса, отчет о членстве и сообщение о выходе из группы.
  • IGMP работает локально.
  • Хост или маршрутизатор могут иметь членство в группе.
  • Хост обслуживает список процессов, которые имеют членство в группе.
  • Маршрутизатор обслуживает список groupids, который показывает членство в группе для каждого интерфейса.
  • Маршрутизатор или хост посылают отчет о членстве для присоединения к группе.
  • Маршрутизатор или хост посылают сообщение о выходе из группы.
  • Маршрутизатор посылает общее сообщение запроса, чтобы контролировать членство группы.
  • Отсроченная стратегия ответа предотвращает ненужный трафик на ЛВС.
  • Сообщение IGMP инкапсулируется в дейтаграмме IP.
  • Большинство ЛВС, включая локальную сеть на основе протокола CSMA-CD, поддерживает физическую адресацию групповой рассылки.
  • Сети широкого назначения (WANs), которые не поддерживают физическую адресацию групповой рассылки, могут использовать процесс, называемый "туннелирование", чтобы посылать пакеты групповой рассылки.
  • Организация IGMP может содержать таблицу группы хоста, набор таймеров и четыре программных модуля — модуль ввода, модуль вывода, модуль объединения группы и модуль выхода из группы.
  • Таблица группы содержит информацию о каждой группе групповой рассылки, членом которой является хост.
  • Таймеры управляют посылкой отчетов от хоста к маршрутизаторам групповой рассылки.
  • Модуль объединения группы добавляет и модифицирует входы в таблице группы.
  • Модуль выхода из группы удаляет и модифицирует входы в таблице группы.
  • Входной модуль обрабатывает поступающие сообщения IGMP.
  • Модуль вывода создает отчеты IGMP.
  • Задачи и упражнения

  • Почему сообщению не требуется IGMP (Межсетевой протокол управления группами), чтобы перемещаться вне его собственной сети?
  • Список маршрутизатора групповой рассылки содержит четыре группы (W, X, Y и Z). Есть три хоста на LAN. Хост A имеет трех лояльных членов, принадлежащих группе W, и одного лояльного члена, принадлежащего группе X. Хост B имеет двух лояльных членов, принадлежащих группе W, и одного лояльного члена, принадлежащего группе Y. Хост C не имеет процессов, принадлежащих какой-либо группе. Покажите сообщения IGMP, которые применяются для отслеживания этих групп.
  • Адрес групповой рассылки для группы — 231.24.60.9. Каков его адрес локальной сети Ethernet на 48 бит для LAN, использующий TCP/IP?
  • Если маршрутизатор в своей групповой таблице имеет 20 входов, сколько периодических запросов он должен передать — 20 различных запросов или только один?
  • Если хост хочет продолжить членство в пяти группах, сколько IGMP-сообщений отчета о членстве он должен передать — пять или только один?
  • Маршрутизатор с адресом IP 202.45.33.21 и физическая локальная сеть Ethernet с адресом 234A4512ECD2 посылают общее сообщение запроса IGMP. Покажите сообщение.
  • Инкапсулируйте сообщение упражнения 6 в пакет IP. Заполните все поля.
  • Инкапсулируйте сообщение упражнения 7 в кадре локальной сети Ethernet. Заполните все поля.
  • Хост с адресом IP 124.15.13.1 и физическим адресом локальной сети Ethernet 4A224512E передает IGMP-сообщение извещения о членстве группы с групповым идентификатором (groupid) 228.45.23.11. Покажите сообщение.
  • Инкапсулируйте сообщение упражнения 26 в пакете IP. Заполните все поля.
  • Инкапсулируйте сообщение упражнения 27 в кадр локальной сети Ethernet. Заполните все поля.
  • Маршрутизатор на сети локальной сети Ethernet получил пакет IP групповой рассылки с групповым идентификатором 226.17.18.4. Когда хост проверяет свою групповую таблицу группы для групповой рассылки, он находит адрес. Покажите, как маршрутизатор передает этот пакет получателям, формируя IP-пакет в кадре локальной сети Ethernet. Покажите весь кадр локальной сети Ethernet. Исходящий адрес IP маршрутизатора — 185.23.5.6, и его исходящий физический адрес — 4A224512E1E2. Нуждается ли маршрутизатор в действиях по протоколу ARP?
  • Что, если маршрутизатор в упражнении 12 не может найти в своей таблице групповой идентификатор (groupid)?
  • Повторите упражнение 12 с физической сетью, которая не поддерживает физическую адресацию групповой рассылки.
  • Хост с адресом IP 114.45.7.9 получает запрос IGMP. Когда он проверяет его таблицу группы, он не находит ни одного входа. Какое действие должен предпринять хост? Должен ли он передать какие-либо сообщения? Если ДА, то покажите все поля пакета.
  • Хост с адресом IP 222.5.7.19 получает запрос IGMP. Когда он проверяет свою таблицу маршрутизации, он находит в своей таблице два входа: 227.4.3.7 и 229.45.6.23. Какие действия должен предпринять хост? Должен ли он передать какие-либо сообщения? Если ДА, то покажите все поля пакета.
  • Хост с адресом IP 186.4.77.9 получает запрос от процесса, чтобы присоединиться к группе с групповым идентификатором (groupid) 230.44.101.34. Когда хост проверяет его таблицу группы, он не находит вход для этого идентификатора (groupid). Какие действия должен предпринять хост? Должен ли он передать какие-либо сообщения? Если ДА, то покажите все поля пакета.
  • Повторить упражнение 17 с хостом, который нашел вход в его таблице.
  • Маршрутизатор с адресом IP 184.4.7.9 получает отчет от хоста, который хочет присоединиться к группе с групповым идентификатором (groupid) 232.54.10.34. Когда маршрутизатор проверяет свою групповую таблицу, он не находит вход для этого идентификатора (groupid). Какие действия должен предпринять маршрутизатор? Должен ли он передать какие-либо сообщения? Если ДА, то покажите все поля пакета.
  • Повторите упражнение 19 с маршрутизатором, нашедшим вход в его таблице.
  • Маршрутизатор передает запрос и получает только три отчета о групповом идентификаторе (groupids) — 225.4.6.7, 225.32.56.8 и 226.34.12.9. Когда проверяется его таблица маршрутизации, он находит пять входов: 225.4.6.7, 225.11.6.8, 226.34.12.9, 226.23.22.67 и 229.12.4.89. Какие действия он должен предпринять?
  • Содержание IGMP-сообщения в шестнадцатеричной системе обозначений:
    11 00 EEFF 00 00 00 00

    Дайте ответы на следующие вопросы:

  • Какой тип сообщения?
  • Чему равна контрольная сумма?
  • Чему равен групповой идентификатор (groupid)?
  • Содержание IGMP-сообщения в шестнадцатеричной системе обозначений:
    16 00 F9 CO E1-2A 13 14

    Дайте ответы на следующие вопросы:

  • Какой тип сообщения?
  • Чему равна контрольная сумма?
  • Чему равен групповой идентификатор (groupid)?
  • Есть ли ошибка в следующем шестнадцатеричном представлении IGMP сообщения:
    11 00 AO 11 E1-2A 13 14
  • Есть ли ошибка в следующем шестнадцатеричном представлении IGMP сообщения:
    7 00 AO 11 00 00 00 00
  • Сколько адресов групповых рассылок может быть поддержано для протокола IP в локальной сети Ethernet?
  • Сколько адресов групповой рассылки может быть поддержано в соответствии с протоколом IP?
  • Какой размер адресного пространства будет потерян, когда преобразуют адрес IP групповой рассылки к адресу групповой рассылки локальной сети Ethernet?
  • Заменить следующие IP-адреса групповой рассылки на адреса групповой рассылки локальной сети Ethernet. Сколько из них совпадает с адресом локальной сети Ethernet?
  • 224.18.72.8 ;
  • 235.18.72.8 ;
  • 237.18.6.88 ;
  • 224.88.12.8.
  • Изменить описание блок-схемы модулей IGMP, чтобы она была применима к маршрутизатору.
  • Дополнительный материал для прохождения тестирования к лекции, Вы можете скачать здесь.

    Вернуться к учебному плану