Пересылка группового трафика
При помощи пересылки группового трафика маршрутизатор передает пакеты группового вещания в подсети, где имеются хосты, ожидающие групповой трафик, или в том направлении, где имеются хосты, ожидающие этот трафик. Предотвращается передача трафика группового вешания в подсети, где отсутствуют хосты, слушающие групповой трафик. Совершенно очевидно, что.пля выполнения этой операции маршрутизатор должен иметь соответствующие механизмы. Применительно к Windows Server 2003 поддержка операции пересылки группового трафика реализуется как на уровне сетевых интерфейсов, так и на уровне службы маршрутизации.
На уровне сетевых интерфейсов поддержка группового вещания реализуется в рамках стека протоколов TCP/IP. Процесс передачи группового трафика регламентируется специальным протоколом, являющимся частью данного стека – Internet Group Management Protocol (JGMP, Межсетевой протокол управления группой). В целом, компоненты стека протоколов TCP/IP реализуют следующие функции групповой пересылки:
- прослушивание группового трафика. Модуль стека протоколов TCP/IP прослушивает весь групповой трафик на всех сконфигурированных для этого интерфейсах, устанавливая сетевую плату в режим, в котором она способна принимать все пакеты, проходящие по локальной сети. Все групповые пакеты, полученные платой сетевого интерфейса, передаются на сетевой уровень для последующей обработки. Следует заметить, что в подобном режиме могут работать далеко не все сетевые платы;
- пересылка групповых пакетов на соответствующий интерфейс. После получения группового пакета TCP/IP обращается к таблице групповой пересылки, чтобы решить, на какой из интерфейсов направить данный пакет.
Приложения на компьютере, работающем под управлением Windows Server 2003, генерирующие групповой трафик, должны создавать IP-пакеты с соответствующим групповым IP-адресом, таким же, как IP-адрес получателя. Соответственно, приложения, получающие групповой трафик, должны сообщить модулю протокола TCP/IP, что они слушают весь трафик в ожидании указанного группового IP-адреса.
Помимо собственно передачи и получения группового трафика, каждый вовлеченный в этот процесс хост обязан выполнять регистрацию используемого группового адреса на локальном маршрутизаторе. Это необходимо для того, чтобы маршрутизатор обладал информацией о наличии в подсети хостов, прослушивающих определенный групповой адрес. В противном случае пакеты группового вещания не будут передаваться в данную подсеть.
Для работы механизма пересылки группового трафика маршрутизатор должен отвечать следующим требованиям:
- прослушивать весь групповой трафик во всех подсетях. Применительно к маршрутизатору под управлением Windows Server 2003 соблюдение этого требования реализуется на уровне сетевых интерфейсов. Принятие решения о пересылке пакетов группового вещания осуществляется компонентами стека протоколов TCP/IP на основании специальной таблицы групповой маршрутизации. Эта таблица содержит сведения о членах групп вещания, расположенных в прилегающих подсетях (т. е. подсетях, к которым маршрутизатор физически подключен посредством сетевых интерфейсов);
- после получения группового трафика пересылать пакет в подсети, в которых есть хосты, прослушивающие групповой трафик, или где присутствует маршрутизатор, имеющий информацию о прослушивающих узлах;
- прослушивать все подсети в ожидании специальных сообщений IGMP Host Membership Report (сообщение о членстве). Эти сообщения рассылаются членами групп вещания, объявляющими используемые ими групповые адреса. Маршрутизатор должен отслеживать групповые адреса, которые прослушиваются в прилегающих подсетях, и обновлять таблицу групповой маршрутизации;
- использовать специальный протокол групповой маршрутизации, чтобы извещать другие маршрутизаторы об обнаруженных членах групп вещания. Служба маршрутизации и удаленного доступа Windows Server 2003 не включает в себя реализации протокола групповой маршрутизации. Тем не менее, независимые фирмы-разработчики могут поставлять собственные реализации протокола маршрутизации, используя имеющийся API службы маршрутизации и удаленного доступа.
Применительно к Windows Server 2003 задача пересылки группового трафика решается посредством специального компонента маршрутизации протокола IGMP. Этот компонент реализован в рамках службы маршрутизации и удаленного доступа (Routing and Remote Access Service) и отвечает за отслеживание членства хостов в группе многоадресного вещания. Компонент маршрутизации IGMP прослушивает трафик в ожидании сообщений IGMP о членстве в локальных подсетях и собирает информацию в виде списка адресатов, идентификаторов сети и соответствующих групп.
Чтобы убедиться в том, что компьютеры прослушивают свой зарегистрированный групповой адрес, маршрутизатор периодически посылает запрос в каждую подсеть – ответом на запрос являются сообщения о членстве в группах. Если в одной сети находится несколько маршрутизаторов, то один маршрутизатор выбирается (методом "голосования") среди них для периодической рассылки всех запросов.
Компонент маршрутизации протокола IGMP, реализованный в рамках службы маршрутизации и удаленного доступа Windows Server 2003, нельзя рассматривать как протокол групповой маршрутизации.