Reliable multicast protocol что это

Обновлено: 05.07.2024

Scalable Надежной Multicast протокол является надежной основой для групповой легковесных сессий и обрамления на уровне приложений. Алгоритмы этой структуры эффективны, надежны и хорошо масштабируются как для очень больших сетей, так и для очень больших сеансов. Wb, инструмент распределенной доски, разработанный и реализованный Макканном и Якобсоном, является первым приложением, основанным на платформе Scalable Reliable Multicast.

Содержание

Протокол RMP (многоадресный) зачем нужен? Обясните пожалуйста.

В кратце, это один из протоколов широковещательной (мультикаст) передачи данных. В качестве примера, представь себе, видео трансляцию, и вот сервер отправляет тебе, единственному клиенту, поток данных, это подключение занимает некоторый объем сетевого подключения ( как правильно не мальенький, в зависимости от качества передаваемой информации) . А теперь представь, что вас 5, а то 105, или даже 10005! Так вот именно для таких ситуаций предусмотренны широковещательные трансляции, когда сервер шлет поток данных всем подрят (по адресному диапозону, специально существующему для этих целей) , и клиенты не осуществляют взаимное подключение с сервером трансляции, а просто подхватывает поток данных.

А если еще проще, представь, что на улице ты стоишь и говоришь со своим знакомым, всё сказаное тобой предназначается только ему, и слышит это только он. А если ты начнешь кричать все тоже самое во все горло, то услышат это уже все вокруг - это и будет примером широковещательной передачи информации :)

Многоадресные передачи и надёжность сети

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

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

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

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

Существует и другой путь, получивший название локального восстановления, основанный на так называемом "ограничении", при котором запросы на ретрансляцию распространяются лишь по заданной части сети.

Классификация и сравнение протоколов

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

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

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

Системы на базе получателей различаются между собой способом организации получателей и тем, как созданная организационная структура используется для рассылки пакетов. Это может быть бессистемное "облако" получателей, древовидная структура, корнем которой служит отправитель, либо кольцевая схема. Структурная организация получателей способна оказать огромное влияние на масштабируемость протокола - в наибольшей степени масштабируемы бессистемные "облака" получателей, в наименьшей - кольцевые структуры.

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

Когда упорядочиванием пересылки пакетов занимается отправитель (второй уровень), протокол поддерживает последовательность передачи данных каждому получателю. Однако и здесь нет никаких гарантий, что пакеты от различных отправителей будут приняты получателем в должном порядке.

Промежуточные получатели снижают трафик обратной связи


Промежуточные получатели могут восстанавливать пакеты, утраченные другими

получателями их области. Если промежуточный получатель не находит у себя

требуемого пакета (область А), он посылает запрос другому промежуточному

получателю ( область Б).

Гарантировать последовательность приема пакетов всеми получателями способен лишь полностью упорядоченный протокол (третий уровень), который основан на глобальных правилах.

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

Сегодня все они базируются на пяти протоколах: протоколе на базе кольцевых структур под названием RMP (Reliable Multicast Protocol - надежный протокол мультивещания), двух протоколах на базе бессистемных "облаков" - MFTP (Multicast File Transfer Protocol - протокол многоадресной передачи файлов) и SRM (Scalable Reliable Multicast - масштабируемое надежное мультивещание), а также двух протоколов на базе древовидных структур - RMTP (Reliable Multicast Transport Protocol - надежный транспортный протокол мультивещания) и PGM (Pragmatic Group Multicasting - практичное мультивещание в практических группах).

Протоколы RMP, SRM и RMTP включены в комплект разработки приложений, выпущенный фирмой Globalcast Communications, которая открыла доступ к ним посредством одного-единственного интерфейса прикладного программирования.

Представители Globalcast Communications считают, что протокол RMP в наибольшей степени пригоден для тиражирования серверов и баз данных. Подходит он и для доставки информации в реальном масштабе времени, причем обслуживаемая группа может содержать до сотни членов. Протокол SRM рассматривается как средство потоковой трансляции мультимедийных передач и проведения видеоконференций с участием тысяч получателей, а протокол RMTP планируется использовать для пересылки файлов и данных в реальном масштабе времени на тысячи приемных компьютеров.

Фирма Lucent Technologies, предложившая протокол RMTP, производит сейчас бета-тестирование e-cast, приложения под Windows, специально предназначенного для пересылки файлов. Проблему многоадресной передачи файлов решает и корпорация Starburst Communications, заложившая в основу своих проектов разработанный ею же протокол MFTP. Продукты этой корпорации уже используются крупными компаниями для обмена финансовой информацией и отчетами инвентаризации, а также для обновления ПО через наземные и спутниковые линии связи.

Новейший протокол надежного мультивещания под названием PGM разработан совместно фирмами TIBCO и Cisco Systems. Как и другие протоколы этого класса, он представлен в Целевую группу инженерной поддержки Интернета (IETF) для утверждения в качестве стандарта. Фирма TIBCO уже использует протокол PGM в своей линии продуктов TIBnet (они предназначены для публикации данных и абонентской подписки на них в разнообразных приложениях, в первую очередь финансовых).

Надежная групповая доставка данных

Надежная групповая доставка данных (RGDD) - это форма многоадресной рассылки, при которой объект должен быть перемещен из единственного источника в фиксированный набор приемников, известных до начала передачи. Такая доставка может потребоваться для различных приложений: распределенная файловая система Hadoop (HDFS) реплицирует любой фрагмент данных два дополнительных раза на определенные серверы, репликация виртуальной машины на несколько серверов может потребоваться для горизонтального масштабирования приложений, а также может потребоваться репликация данных на несколько серверов. для балансировки нагрузки, позволяя нескольким серверам обслуживать одни и те же данные из своих локальных кэшированных копий. Такая доставка часто встречается в центрах обработки данных из-за множества серверов, которые обмениваются данными во время выполнения сильно распределенных приложений.

RGDD также может происходить в центрах обработки данных и иногда называется передачей от точки к многоточкам (P2MP) между центрами обработки данных. Такие передачи доставляют огромные объемы данных из одного центра обработки данных в несколько центров обработки данных для различных приложений: поисковые системы периодически распространяют обновления индекса поиска (например, каждые 24 часа), приложения социальных сетей перемещают новый контент во многие места кеширования по всему миру (например, YouTube и Facebook) , а службы резервного копирования делают несколько географически разнесенных копий для повышения отказоустойчивости. Чтобы максимизировать использование полосы пропускания и сократить время завершения массовых передач, было предложено множество методов для выбора деревьев многоадресной пересылки.

Надежность

Точное значение надежности зависит от конкретного экземпляра протокола. Минимальное определение надежной многоадресной рассылки - это возможная доставка всех данных всем членам группы без принудительного выполнения какого-либо конкретного порядка доставки . Однако не все надежные протоколы многоадресной рассылки обеспечивают такой уровень надежности; многие из них по-разному торгуют эффективностью в обмен на надежность. Например, в то время как TCP возлагает ответственность за надежность передачи на отправителя, протоколы многоадресной рассылки NAK перекладывают ответственность на получателей: отправитель никогда не знает наверняка, что все получатели на самом деле получили все данные. RFC-2887 исследует пространство проектирования для массовой передачи данных, с кратким обсуждением различных вопросов и некоторыми намеками на возможные различные значения слова " надежный" .

Обзор

Надежная многоадресная рассылка - Reliable multicast

Надежность многоадресной передачи является любым компьютерной сетью протокола , который обеспечивает надежную последовательность пакетов нескольких получателей одновременно, что делает его пригодным для таких применений, как мульти-приемник передача файлов .

Виртуальная синхронность

Современные системы, такие как Spread Toolkit , Quicksilver и Corosync, могут достигать скорости передачи данных 10 000 многоадресных рассылок в секунду или более и могут масштабироваться до больших сетей с огромным количеством групп или процессов.

Большинство распределенных вычислительных платформ поддерживают одну или несколько из этих моделей. Например, все широко поддерживаемые объектно-ориентированные платформы CORBA поддерживают транзакции, а некоторые продукты CORBA поддерживают репликацию транзакций в модели сериализуемости с одной копией. «CORBA отказоустойчивые объекты стандарта» основан на виртуальной модели синхронности. Виртуальная синхронизация также использовалась при разработке отказоустойчивой архитектуры Нью-Йоркской фондовой биржи, французской системы управления воздушным движением, системы AEGIS ВМС США, архитектуры репликации бизнес-процессов IBM для WebSphere и архитектуры Microsoft Windows Clustering для корпоративных серверов Windows Longhorn .

Системы, поддерживающие виртуальную синхронизацию

Виртуальная синхронизация впервые была поддержана Корнельским университетом и получила название «Инструментарий Isis». Самая последняя версия Корнелла , Vsync, была выпущена в 2013 году под названием Isis2 (название было изменено с Isis2 на Vsync в 2015 году после террористической атаки в Париже экстремистской организацией под названием ISIS), с периодическими обновлениями и исправлениями с тех пор. . Самая последняя стабильная версия - V2.2.2020; он был выпущен 14 ноября 2015 г .; выпуск V2.2.2048 в настоящее время доступен в виде бета-версии. Vsync нацелен на крупные центры обработки данных, поддерживающие облачные вычисления .

Другие такие системы включают систему Horus, систему Transis, систему Totem, систему IBM под названием Phoenix, распределенную систему управления ключами безопасности под названием Rampart, «систему Ensemble», систему Quicksilver , «проект OpenAIS», его производную Corosync. Cluster Engine и ряд продуктов (включая упомянутые ранее IBM и Microsoft).

Составные части

Он состоит из трех основных компонентов: многоадресной рассылки, надежности и масштабируемости.

Многоадресная рассылка

Он предоставляет эффективные средства для передачи данных нескольким сторонам. Одна копия пакета проходит по любому данному сетевому каналу и дублируется в точках ветвления сети.

Надежность

Он основан на политике обнаружения потерь и повторной передачи. Поскольку надежность, ориентированная на отправителя, может привести к срыву ACK, она использует надежность на основе получателя. Он не фокусируется на каком-либо конкретном заказе доставки.

Масштабируемость

СОДЕРЖАНИЕ

Обзор

Масштабируемая надежная многоадресная передача в значительной степени основана на модели групповой доставки, которая является центральным элементом протокола многоадресной IP- рассылки. Он пытается следовать основным принципам проектирования протокола управления передачей / Интернет-протокола (TCP / IP). Для этого требуется только базовая модель IP- доставки с возможным дублированием и переупорядочиванием пакетов, что обеспечивает надежность на сквозной основе. Алгоритмы в Scalable Reliable Multicast динамически регулируют свои параметры управления на основе наблюдаемой производительности в рамках сеанса, например, протокол управления передачей, адаптивно устанавливая таймеры или окна управления перегрузкой.

Читайте также: