Опубликовано 19.11.2015 в 10:21 | Сообщение #
2
Немного информации.
Сейчас активно происходит миграция радиолюбительских сетей на мультипротокольный сервер BrandMeister.
Что это дает? Вот цитата от разработчика этого ПО.
""
BrandMeister - это не сеть. Это изначально задуманный как "правильный" мультипротокольный коммутационный сервер. Коммутация производится на 3-м уровне стека протоколов - Call Control (чего нет в DMR Plus) - это общий базис для всех решений DMR, а вокруг драйверы протоколов различного оборудования и приложения. Помимо драйверов для разных репитеров есть драйверы сетей - cBridge, SmartPTT, DMR Plus. Присутствие в тех или иных сетях тут - вопрос лишь договоренностей, система позволяет, в принципе, подключиться куда угодно. Помимо этих протоколов есть и собственный - FastForward, позволяющий реализовать максимум из DMR и P2P.
Ну для начала, откуда слова "мастер-сервер". Подход Simulcast предписывает всем узлам (репитерам) находится в равнозначной сети. Но в таком случае конфигурация сильно осложняется: в кодплагах всех репитеров нужно прописывать адреса всех участников сети. Чтобы этого избежать, и у Motorola, и у Hytera, и у Radio Activity одному из участников сети вручную назначается роль координатора - мастера. То есть изначально, master - это координирующий сеть репитер.
Так как Торстен с Куртом (сеть DMR+)придумали строить сеть с жесткой иерархией без связей peer-to-peer, их сервер имитирует работу координационного репитера, забирая на себя весь трафик.
В BrandMeister мы наследовали терминологию, но не идеологию.
BrandMeister тоже не придерживается топологии peer-to-peer при работе с репитерами, Мы используем топологию "звезда". Причины просты:
1) мы коммутируем вызовы, а не просто ретранслируем. групповые вызовы рассылаются на репитеры по маршрутным листам, ровно как и частные - это повышает емкость сети
2) мы связываем разнородное оборудование, которое между собой в режиме peer-to-peer ну никак!
Драйверы оборудования обеспечивают соединение и специфичный транспортый уровень производителя: так, например, Hytera и G4KLX( самодельное оборудование для DMR) работают в терминах DMR Layer 2 - то есть в виде того набора бит, которые передаются в эфир, а Motorola - по большей части в Layer 3 - уже декомпозированным сообщениям (убрали interleaving, скорректировали ошибки по данным FEC, проверили контрольные суммы).
Некоторые драйверы в корне меняют протокольный стек - например, cBridge, и даже аудио-кодек - DExtra;
Так же у BrandMeister есть встроенные приложения - попугай, дата-стек. Задачей дата-стека является уйти от блоков данных DMR и прийти к сообщениям приладного уровня: TMS, ARS, RRS и т.д. Поверх него реализован шлюз APRS, шлюз IP, приложения по передаче SMS, телеметрии, GPS.
Отдельная фишка - концепция реестров маршрутных листов. когда приходит новый вызов мы проверяем валидность ID вызывающего, обновляем в реестрах информацию о его местоположении, строим список маршрутов (сети, репитеры, приложения), на которые нужно отдать вызов. Реестров - с десяток, в том числе - динамические подписки драйверов, скрипты LUA, кэш Memcached, база данных MySQL.
Принципиально BrandMeister не обрабатывает и не обновляет информацию в базах: BrandMeister - система реального времени и всякому хламу вроде интегрированного веб-сервера и бизнес-логике, которая может отработать в офлайне, тут не место. Все это вынесено во внешние процессы и может быть легко модифицировано. Интеграция - Mosquitto (MQTT), Memcached, MySQL. Автоматизация - через D=BUS и сигналы.
С помощью скриптов LUA можно делать совершенно чумовые вещи с маршрутами: например, переименовывать ID, делать автоматически маршруты по признаку региона, ну или делать динамические подписки на группы, действующие только ограниченное время. Все это доступно без модификации кода сервера, как управление конфигурацией.