Групповые маршрутизаторы
В предыдущем подразделе мы познакомились с тем, как работает протокол IGMP на периферии сети, между маршрутизатором и соединенным с ним хостом, позволяя маршрутизатору определить, какой групповой трафик он должен получать для своих хостов. Теперь мы можем перейти к рассмотрению самих групповых маршрутизаторов: как они должны выбирать маршруты для пакетов, пересылаемых друг другу, чтобы гарантировать, что каждый маршрутизатор получит предназначенный ему групповой трафик?
Рисунок 4.47 призван проиллюстрировать проблему групповой маршрутизации. Рассмотрим группу рассылки в предположении, что любой маршрутизатор, у которого есть присоединившийся к группе хост, может как посылать, так и принимать трафик, адресованный этой группе. Хосты, являющиеся членами группы рассылки, показаны на рисунке темными. Непосредственно соединенные с ними маршрутизаторы также показаны темными. Как видно из рисунка, принимать групповой трафик нужно не всем маршрутизаторам, а только тем, чьи хосты являются членами группы рассылки, то есть маршрутизаторам А, В, Е и F.
Маршрутизаторам С и D не нужен групповой трафик, так как присоединенные к маршрутизатору D хосты не являются членами группы рассылки, а у маршрутизатора С вообще нет непосредственно присоединенных хостов.
Цель групповой маршрутизации заключается в том, чтобы построить дерево, связывающее все маршрутизаторы, присоединенные хосты которых относятся к данной группе рассылки. При этом групповые пакеты будут направляться по этому дереву от отправителя ко всем хостам, входящим в дерево группы рассылки.
Разумеется, дерево может содержать маршрутизаторы, не имеющие хостов, относящихся к данной группе рассылки (например, как видно из рисунка, невозможно связать маршрутизаторы А, В, Е и F в дерево, не включив в него маршрутизатор С или D).
На практике для построения дерева групповой маршрутизации применяются два подхода, отличающиеся тем, используется ли общее дерево для нескольких отправителей или для каждого отправителя создается специальное дерево.