Надежный сервер Пулы ( RSerPool ) представляет собой компьютерный протокол рамка для управления и доступа к нескольким, координированным (объединенным) серверам . RSerPool - это стандарт IETF , который был разработан рабочей группой IETF RSerPool и задокументирован в RFC 5351, RFC 5352, RFC 5353, RFC 5354, RFC 5355 и RFC 5356.
Вступление
В терминологии RSerPool сервер обозначается как элемент пула (PE). В своем пуле он идентифицируется идентификатором элемента пула (PE ID), 32-битным числом. PE ID выбирается случайным образом при регистрации PE в своем пуле. Набор всех пулов обозначается как Handlespace . В более ранней литературе это может обозначаться как пространство имен. Это наименование было исключено, чтобы избежать путаницы с системой доменных имен (DNS). Каждый пул в пространстве дескрипторов идентифицируется уникальным дескриптором пула (PH), который представлен произвольным байтовым вектором. Обычно это имя пула в формате ASCII или Unicode, например «DownloadPool» или «WebServerPool».
У каждого дескриптора есть определенная область действия (например, организация или компания), обозначенная как Область действия. Явно целью RSerPool не является управление пулами глобального Интернета в рамках единого пространства дескрипторов. Благодаря локализации Operation Scopes пространство для ручек может оставаться «плоским». То есть PH не имеют никакой иерархии в отличие от системы доменных имен с ее верхним уровнем и субдоменами. Это ограничение приводит к значительному упрощению управления пространством ручек.
В рамках операции пространство дескрипторов управляется избыточными регистраторами пула (PR), также называемыми серверами ENRP или серверами имен (NS). PR должны быть избыточными, чтобы PR не превратился в единую точку отказа (SPoF). Каждый PR области операции идентифицируется своим идентификатором регистратора (PR ID), который представляет собой 32-битное случайное число. Необязательно гарантировать уникальность PR ID. PR содержит полную копию дескриптора области действия. PR области действия синхронизируют свое представление о пространстве дескрипторов с помощью протокола избыточности пространства дескрипторов конечной точки (ENRP ). В более старых версиях этого протокола используется термин протокол избыточности пространства имен конечной точки; это наименование было заменено, чтобы избежать путаницы с DNS , но аббревиатура была сохранена. Благодаря синхронизации пространства дескрипторов с помощью ENRP, PR области действия функционально равны. То есть, если какой-либо из PR выходит из строя, каждый другой PR может легко заменить его.
Используя протокол агрегированного доступа к серверу (ASAP), PE может добавить себя в пул или удалить его, запросив регистрацию или отмену регистрации из произвольного PR области действия. В случае успешной регистрации PR, выбранный для регистрации, становится Home-PR PE (PR-H). PR-H не только информирует другие PR об объеме операции о регистрации или отмене регистрации своих PE, но также контролирует доступность своих PE с помощью сообщений ASAP Keep-Alive. Сообщение подтверждения активности от PR-H должно быть подтверждено PE в течение определенного интервала времени. Если PE не отвечает в течение определенного тайм-аута, он считается мертвым и немедленно удаляется из пространства дескрипторов. Кроме того, ожидается, что ЧП будет регулярно перерегистрироваться. При перерегистрации PE также может изменить свой список транспортных адресов или информацию о своей политике.
Чтобы использовать службу пула, клиент, называемый в терминологии RSerPool « Пользователь пула» (PU), сначала должен запросить разрешение PH пула в список идентификаторов PE при произвольном PR области действия. Эта процедура выбора обозначается как Разрешение ручки. В случае, если запрошенный пул существует, PR выберет список идентификаторов PE в соответствии с политикой выбора членов пула , также просто обозначаемой как политика пула .
Возможными политиками пула являются, например, случайный выбор (случайный) или наименее загруженный PE (наименее используемый). Хотя в первом случае нет необходимости иметь какую-либо информацию о выборе (PE выбираются случайным образом), необходимо поддерживать актуальную информацию о нагрузке во втором случае выбора наименее загруженного PE. Используя соответствующую политику выбора, можно, например, равномерно распределить нагрузку запроса на PE пула.
После получения списка идентификаторов PE от PR, PU запишет информацию PE в свой локальный кэш. Этот кеш обозначается как кэш на стороне PU. Из своего кэша PU выберет ровно один PE - снова используя политику выбора пула - и установит соединение с ним, используя протокол приложения, например HTTP через SCTP или TCP в случае веб-сервера. Используя это соединение, используется услуга, предоставляемая сервером. В случае, если установление соединения не удается или соединение прерывается во время использования услуги, новый PE может быть выбран путем повторения описанной процедуры выбора. Если информация в кэше на стороне PU не устарела, идентификатор PE может быть напрямую выбран из кеша, минуя попытку запроса PR для разрешения дескриптора. После восстановления соединения с новым PE состояние сеанса приложения должно быть повторно создано на новом PE. Процедура, необходимая для возобновления сеанса, называется процедурой переключения при отказе и, конечно же, зависит от приложения. Например, для FTP- загрузки процедура переключения при отказе может означать сообщение новому FTP-серверу имени файла и позиции последних полученных данных. После этого FTP-сервер сможет возобновить сеанс загрузки. Поскольку процедура аварийного переключения в значительной степени зависит от приложения, она не является частью самого RSerPool, хотя RSerPool обеспечивает широкую поддержку для реализации произвольных схем аварийного переключения с помощью своих механизмов сеансового уровня.
Чтобы компоненты RSerPool могли настраиваться автоматически, PR могут сообщать о себе через многоадресную рассылку UDP через IP . Эти объявления могут быть получены PE, PU и другими PR, что позволяет им узнать список PR, доступных в настоящее время в области действия. Преимущество использования многоадресной IP-рассылки вместо широковещательной передачи состоит в том, что этот механизм также будет работать через маршрутизаторы (например, локальные сети, соединенные через VPN ), а объявления - в случае, например, коммутируемого Ethernet - будут слышны и фактически обрабатываются станциями. интересует эта информация. В случае, если многоадресная IP-рассылка недоступна, конечно, можно статически настроить адреса PR.
Реализации
Известны следующие реализации:
- RSPLIB проект в Университете Дуйсбург-Эссен (также эталонная реализация в IETF RSerPool РГ)
- Motorola
- Cisco
- Мюнстерский университет прикладных наук
Стандарты документов
RFC
- RFC 3237 - Требования к надежному объединению серверов в пул
- RFC 5351 - Обзор протоколов надежного пула серверов
- RFC 5352 - протокол агрегированного доступа к серверу (ASAP)
- RFC 5353 - протокол резервирования пространства обработки конечных точек (ENRP)
- RFC 5354 - Параметры сводного протокола доступа к серверу (ASAP) и протокола резервирования пространства обработки конечных точек (ENRP)
- RFC 5355 - Угрозы, создаваемые надежным пулом серверов (RSerPool), и требования к безопасности в ответ на угрозы
- RFC 5356 - Политики надежного пула серверов
- RFC 5525 - Определение модуля MIB для надежного пула серверов
Проекты рабочих групп
- Архитектура для надежного пула серверов
- Сравнение протоколов для надежного объединения серверов в пул
- Сопоставление TCP для расширенного режима надежного пула серверов
- Услуги, предоставляемые надежным пулом серверов
- Надежные расширения API сокетов для пула серверов
Другие проекты
- Вариант разрешения обработки для как можно скорее
- Политика наименьшего использования для надежного пула серверов
- Применимость надежного пула серверов для обмена информацией о потоках IP
- Применимость надежного пула серверов для распределенных вычислений в реальном времени
- Оценка надежного пула серверов (RSerPool)
- Применимость надежного пула серверов для мобильности конечных точек на основе SCTP
- Флаг предложения о захвате для сообщения об обновлении обработки ENRP
- Применимость надежного пула серверов (RSerPool) для пула ресурсов виртуальных сетевых функций (VNFPOOL)
- Идеи для следующего поколения инфраструктуры надежного пула серверов