Обратная связь
|
Групповая доставка информации в сети ATM Групповая доставка (мультивещание) — это наиболее эффективный способ передачи информации группе получателей. В протоколе IP поддержка групповой передачи осуществляется с помощью трех компонентов: группового адреса (адреса класса D), протокола управления группой (IGMP) и протоколов групповой маршрутизации (MOSPF, PIM и т. д.). Групповой адрес служит для указания принадлежности к определенной группе; протокол управления группой извещает маршрутизаторы о наличии членов групп в подключенных к ним подсетях; протоколы групповой маршрутизации осуществляют доставку дейтаграмм с групповым адресом членам группы.
Групповая адресация может быть реализована на двух уровнях модели OSI — канальном или сетевом. Протоколы канального уровня, например, Ethernet или FDDI, могут поддерживать единичную, широковещательную и групповую адресацию. Групповая адресация на канальном уровне позволяет получить дополнительные преимущества при доставке дейтаграмм с групповыми адресами. Для этого необходимо отображение группового адреса сетевого уровня в физический групповой адрес канального уровня, например МАС-адрес.
Как уже отмечалось, в технологии ATM существует эффективный механизм групповой передачи, так как ATM поддерживает двунаправленные виртуальные соединения точка-группа. К сожалению, этот метод не может быть реализован при использовании уровня адаптации AAL5: все кадры этого уровня, посылаемые определенному получателю через определенное соединение, должны быть получены им в порядке отправления, без смешивания ячеек, принадлежащих к различным кадрам. Иначе в результате сборки на стороне получателя не. будет реконструирован исходный кадр. По этой причине при использовании уровня адаптации AAL5 виртуальное соединение точка-группа может быть только однонаправленным.
При таком соединении формируется логическое дерево, состоящее из корня (отправителя данных) и листьев (получателей) (рис. 16.5). Когда из корня посылаются данные, они будут получены только листьями. Листья не могут посылать данные корню, так как корень, получая ячейки от разных листьев, не сможет правильно собрать поступающие ячейки в исходные кадры. Кроме того, листья не могут взаимодействовать друг с другом напрямую.
В спецификации UNI 3.1 указано, что корень отвечает за добавление листьев к дереву доставки и, следовательно, должен знать их АТМ-адреса. В новой спецификации UNI 4.0 определена возможность, позволяющая листьям самостоятельно подключаться к уже установленным виртуальным соединениям точка-группа. Однако однонаправленное соединение точка-группа, скорее всего, будет единственным методом, позволяющим поддерживать групповую передачу трафика в сетях ATM.
При разработке стандарта на классический IP в нем не был четко определен механизм групповой передачи данных. Это долгое время было существенным недостатком стандарта. Однако некоторое время спустя (в апреле 1995 года) в него были внесены добавления, определяющие групповую передачу. В основном, они основывались на методах групповой передачи, описанных в документе RFC 1112 в августе 1992 года: групповых серверах и перекрывающихся виртуальных соединениях точка-группа.
В первом методе отправитель посылает данные напрямую групповому серверу (Multicast Server, MCS) через виртуальное соединение точка-точка, который затем рассылает их всем членам группы через виртуальное соединение точка-группа (рис. 16.6).
Согласно второму методу, отправитель устанавливает виртуальное соединение точка-группа с членами группы-получателя. Если несколько устройств готовы передавать и получать данные для своей группы, то каждое из них должно установить виртуальное соединение, формируя смешанную (перекрывающуюся) топологию соединений (рис. 16.7).
Оба метода достигают одного и того же результата, но разными способами. Очевидно, установка множества виртуальных соединений требует дополнительных ресурсов на рабочих станциях и промежуточных коммутаторах ATM. Однако при этом достигается оптимальная производительность, так как доставка информации осуществляется напрямую, без посредников. С другой стороны, применение группового сервера упрощает администрирование. Кроме того, при этом требуется значительно меньшее количество виртуальных соединений. Недостатком применения группового сервера является некоторое снижение производительности, что неприемлемо для отдельных приложений. Выбор метода зависит от многих факторов, таких как доступность сетевых ресурсов, требования к производительности, безопасности, контролю и т. д.
В добавлениях к стандарту классического IP вводится понятие сервера разрешения группового адреса (Multicast Address Resolution Server, MARS), который может рассматриваться как сервер ATMARP, работающий с групповыми адресами. Вместо управления таблицей, содержащей записи о соответствии единичного IP- и АТМ-адреса, он управляет таблицей, описывающей групповые IP-адреса и соответствующие АТМ-адреса членов группы. Например, запись в таблице для устройств, принадлежащих к группе с IP-адресом 232.200.200.1, будет выглядеть следующим образом:
{232.200.200.1, АТМ-адрес 1, АТМ-адрес 2.... АТМ-адрес N}.
Если станция готова отправлять данные определенной группе, она устанавливает соединение с сервером MARS и формирует запрос MARS_REQUEST для этой группы. Если ни один член группы не зарегистрировался на сервере MARS, то он, в ответ на запрос, сформирует сообщение MARS_NAK. Если на сервере MARS уже зарегистрированы один или несколько членов этой группы, то дальнейшая работа сервера будет зависеть от метода доставки группового трафика.
В случае использования группового сервера сервер MARS вернет сообщение MARS_MULTI, которое содержит ссылки на один или несколько групповых серверов (так называемая карта серверов — server map), обслуживающих эту группу. Затем запрашивающая станция может установить виртуальное соединение точка-точка или точка-группа с одним или несколькими групповыми серверами и начать передачу информации (рис. 16.8). Использование нескольких групповых серверов целесообразно для распределения нагрузки в сети и повышения надежности.
В случае использования смешанных виртуальных соединений сервер MARS вернет сообщение MARS_MULTI, которое содержит ссылки на адреса устройств (карта хостов — host map), являющихся членами группы. Затем запрашивающая станция установит виртуальное соединение точка-группа с этими устройствами и начнет передавать информацию.
Наиболее сложной частью работы сервера MARS является составление списка устройств, входящих в группы. В документе RFC 1112 указано, что устройство, которое желает стать членом определенной группы, должно послать сообщение протокола IGMP. Это сообщение информирует все маршрутизаторы в локальной подсети о существовании в данной подсети устройства, желающего стать членом группы. Маршрутизаторы затем используют эту информацию для направления группового трафика в соответствующую подсеть, применяя групповые протоколы маршрутизации.
Маршрутизаторы так же активно участвуют в отслеживании состояния групп в подсети с помощью специального зарезервированного IP-адреса 224.0.0.1. Все устройства, получающие групповой трафик, должны быть членами группы с этим адресом. Маршрутизаторы периодически посылают опрашивающие сообщения протокола IGMP членам этой группы, а они в ответ должны указать, к каким группам принадлежат.
В классическом IP также вводится поддержка двух служебных виртуальных соединений точка-группа: ServerControlVC и ClusterControlVC. Первое связывает все групповые сервера, второе — все конечные системы (включая маршрутизаторы) в кластере. Под кластером понимается группа устройств, обслуживаемая сервером MARS.
Перед тем как сервер MARS сможет предоставить карты серверов или хостов, он должен их сформировать. Каждый групповой сервер сначала должен сам зарегистрироваться на сервере MARS, используя сообщение MARS_MSERV. По этим сообщениям сервер MARS сформирует список АТМ-адресов серверов, которые обслуживают определенные группы, и будет высылать его в ответ на запрос MARS_REQUEST от станций. Сервер MARS добавляет зарегистрированный групповой сервер к ServerControlVC. Групповые сервера получают список устройств, которые хотят принимать данные по определенному групповому адресу, с помощью посылки обычного запроса MARS_REQUEST. Сервер MARS определит, что информацию запрашивает групповой сервер и возвратит соответствующий список клиентов, на основании которого групповой сервер сможет установить виртуальное соединение точка-группа.
Любое устройство может зарегистрироваться как член определенной группы с помощью посылки сообщения MARS_JOIN серверу MARS. Таких сообщений может быть послано несколько, так как устройство может принадлежать к нескольким группам. Сервер MARS сохранит АТМ-адрес устройства, пославшего этот запрос, в списке, ассоциирующимся с определенной группой, который затем может быть выслан по соответствующему запросу. Кроме того, устройство, пославшее сообщение, добавляется в качестве листа к виртуальному соединению ClusterControlVC. Для информирования сервера MARS о том, что станции больше не требуется получать информацию, адресованную определенной группе, она должна послать сообщение MARS_LEAVE.
Широковещание — это разновидность групповой передачи данных, при которой все устройства в сети (подсети) являются членами группы. Широковещательный адрес — это 255.255.255.255. Сервер MARS может эффективно поддерживать широковещательную передачу, так как централизованный процесс регистрации позволяет любому устройству подключаться к широковещательной группе, а использование сообщений MARS_MULTI позволяет значительно уменьшить загрузку сети с помощью информирования о множестве членов группы одним сообщением. Кроме того, групповой сервер может уменьшить количество виртуальных соединений, необходимых для поддержки широковещания, до одного.
|
|