DPlus, DExtra и DCS - что это и с чем это едят...

Moderator: BM Administration

User avatar
R3ABM
Posts: 3105
Joined: 08 Jun 2012, 07:43

DPlus, DExtra и DCS - что это и с чем это едят...

Post by R3ABM » 25 Jun 2012, 08:49

Это копия моего топика, назмещенного на форуме QRZ.ru - http://forum.qrz.ru/thread35264.html

В нашей среде многие, кто занимается или хочет заниматься D-STAR (даже на этом форуме) неоднократно спрашивают, что такое DPlus, DExtra и DCS, в чем их разница, зачем они нужны.
Как независимый разработчик, я "расковырял" эту тему в доль и поперек. Думаю, если рассказу вам "по верхам", вам пригодится и вопросы сами собой отпадут.

Со времен запуска первых репитеров D-STAR на ICOM RP-1C не существовало технологии рефлекторов для D-STAR.
Для покрытия этой проблемной области AA4RC разработал собственное ПО dplus, встраиваемое в ПО шлюза от ICOM. ПО dplus как раз и является оригинальной реализацией протокола DPlus.
DPlus - это надстройка над ICOM-омовским протоколом репитеров (DSVT), передающий принятый из эфира DV-поток между шлюзами и рефоекторами. Вся надстройка предназначена для покрытия следующих задач: реализация логического соединения (вы можете "законнектиться" в рефлектор, протокол DSVT не имеет таких возможностей), примитивная аутентификация/авторизация узла, поддержание соединения (пулинг, так как соединение является логическим). DPlus обеспечивает не только работу с рефлекторами, но и call-routing (так же доступный на DSVT).

Все это прекрасно, но DPlus немного сложноват и сильно завязан на инфраструктуру Trust Server. Таким образом, узлы, находящиеся вне инфраструтур US Trust (K5TIT), Multi-Trust не имеют доступа к общим ресурсам рефлекторов. Еще одной, не менее острой проблемой DPlus является закрытость кода утилиты dplus и отсутствие какой-либо документации на протокол (забегая вперед скажу, что отсутствие спецификаций - это проблема всех трех протоколов, да и большей части около-DSTAR-овских технологий).

Имея все эти проблемы в ходе разработки своего G2-Gateway с открытым кодом KI4LKF предложил новый протокол собственной разработки - DExtra. DExtra существенно "легче" DPlus, в нем отсутствует какая-либо завязка на Trust Server. То есть, узлы, работающие в DExtra не обязательно должны быть где-то зарегистрированы.

Появление ircDDB лишь укрепило позиции DExtra, DExtra используется для call-routing на узлах вне X-Turst/Multi-Trust.

Кем разработан DCS у меня точной информации нет, но я предполагаю, что это сделал DL1BFF. Не стоит питать иллюзий, DCS - это немного расширенная версия DExtra. Отличия всего два: сообщение ответа на пуллинг стало включать позывной рефлектора, что, в принципе, позволяет реализовывать несолько рефлекторов на одном сервере, да новый контейнер для передачи потока. DCS больше не испольует DSVT, заголовок и данные потока передаются в каждом сообщении (каждые 20 миллисекунд). Это позволяет начать транслировать передачу с середины без какого-либо сложного анализа (я имею ввиду разбор потока SlowData, ICOM-овские станции регулярно дублируют заголовок передачи в SlowData). Минус DCS - высокая перегруженность этого потока - на передачу фрейма из эфира в 12 байт по IP тратиться минимум 100 байт.

О практическом использовании DCS. К сожалению, в настоящий момент DCS используется только ограниченным числом программ и только для работы с рефлекторами. Это происходит потому, что 1) в ircDDB остуствует какая-либо информация о поддерживаемых узлами протоколах (определить необходимость передачи в DPlus возможно только обратившись к Trust-серверу), 2) DCS поддерживается только рефлекторами проекта xreflector.net, чей код является закрытым и не распостраняется 3) различия DCS и DExtra не существенны, нет значительных мотивов для перехода.

Вот так в кратце о протоколах. Если интересна тематика ircDDB - могу тут продолжить.
R3ABM / DL5ABM / ex. UB3ABM

User avatar
R3ABM
Posts: 3105
Joined: 08 Jun 2012, 07:43

Re: DPlus, DExtra и DCS - что это и с чем это едят...

Post by R3ABM » 25 Jun 2012, 12:19

Селективные вызовы в D-STAR - это и приимущество и недостаток.
Приимущество в том, что они есть, ровно как и в професианальных технологиях транкинговой связи (TETRA, например) и телефонной связи.
Недостаток - на репитерах D-STAR нет возможности разделять частоты (FDMA), а в рамках несущей - время (TDMA). Иными словами, при селективной передаче ресурс репитера монополизируется одним пользователем. Это, кстати, одна из причин, по которой крейне рекомендуется call-routing реализовывать на дуплексных репитерах.

Идея call-routing проста - ровно как в сотовой сети вы не знаете, к какому репитеру подключен ваш корреспондент, знаете лишь позывной близжайшего репитера. В новой станции ICOM ID-31 такая функциональность доведена до блеска - на флеш-карте станции храниться файл со списком репитеров, репитер выбирается по геопозиции, полученой со встроенного GPS-приемника.

При смене позиции ваша станция инициирует передачу на репитер (ну или вы сами нажимаете PTT), таким образом она регистрируется на репитере.

Я точно не знаю, как изначально появился call-routing на ID-RP1C, но эта фунция реализована в ПО RS-RP2C и ПО pdplus. В настоящий момент времени вся информация о регистрациях (в инфраструктуре ICOM) передается на Trust Server, доступ к которому жестко модерируется.

В ранних версиях ПО (generation 1 - G1) была реализована множественная репликация данных между узлами и это приводило к тому, что информация о регистрации узлов могла реплицироваться вплоть до пары часов.

Первый и основной Trust Server был создан командой K5TIT и, как ясно из позывного, находится в штате Техас, США.
Многим радиолюбителям за пределами США не нравилось, что информация о их местоположении "сливается" в Штаты, что привело к организации X-Trust / Multi-Trust. На самом деле краеугольным камнем тут является не то, что техническая площадка находится в Техасе, а что она удалена и при ее недоступности (авария на площадке, проблемы на каналах связи) страдают все узлы D-STAR, на которых предоставляется call-routing.
В общем, в Европе появился свой независимый X-Trust, "общения" с которым у US-Trust небыло.
Для решения вновь появившейся проблемы немцы из Georg Simon Ohm University of Applied Sciences (DB0FHN) предложили свою разработку - ircDDB.
Своей идеей реализации ircDDB обязан ботнетам (http://ru.wikipedia.org/wiki/%D0%91%...BD%D0%B5%D1%82) - для передачи команд используется старая, как весь Интернет, технология IRC.
IRC - это не что иное, как чат-сервер с функцией релея, благодаря которой сервера можно масштабировать горизонтально, разнеся географически. Одна группа серверов в Штатах, другая в Европе - все они объеденены группой чатов.
Каждый репитер/шлюз является ботом в чате dstar. Практически при каждой новой передаче шлюз передает информацию о маршруте другим ботам через сервера IRC.
Информация передается внутри географических регионов и реплицируется на уровне опорных узлов ircDDB. Таким образом обеспечивается высокая производительность и надежность решения. Хранение операционных данных о маршрутах производится локально на узлах. Таким образом становится понятна вторая часть названия системы DDB - distributed database (распределенная база данных).

Я умеренно употребил слово "боты", потому как получателем сообщения о факте передачи (heard) является не весь чат-канал, а боты-серверы ircDDB (ircddbd).
Задачами ircddbd являются:
- кэширование таблиц маршрутизации позывных и видимости
- обработка входящих сообщений heard
- подготовка статистики для чат-канала статистики
- нотификация всех узлов в канале об изменении таблиц маршрутизации и видимости

При регистрации станций ircddbd сразу сообщает всем узлам, на каком репитере зарегистрирована станция. А при изменениях таблицы репитеров - нотифицирует все узлы о ее изменении.
Задача управления и раздачи списка узлов решается штатным функционалом серверов IRC - все узлы являются пользователями IRC.

Теперь о связи Trust и ircDDB. Всем узлам, базирующимся на ПО RS-RP2C предлагается установить ircDDB Add-on, подключающий эти узлаы к ircDDB. Таким образом ircDDB покрывает маршрутные таблицы всех Trust-сетей.

Как это работает на практике?
Вы нажимаете PTT на вашей станции. Она отправляет заголовок передачи на репитер. В свою очередь ПО репитера/узла информирует серверных ботов ircDDB о регистрации вашей станции на узле. Таким образом все репитеры, поключеные к ircDDB узнают, с каким репитером вы работаете.
Далее, вы делаете селективный вызов через репитер. ПО шлюза по локальной копии маршрутных таблиц определяет, на каком репитере зарегистрирован ваш корреспондент, позывной и IP-адрес шлюза и отправляет VoIP-поток на этот узел.
Вот так вот происходит QSO.
R3ABM / DL5ABM / ex. UB3ABM

User avatar
R3ABM
Posts: 3105
Joined: 08 Jun 2012, 07:43

Re: DPlus, DExtra и DCS - что это и с чем это едят...

Post by R3ABM » 27 Jun 2012, 08:16

Узел (node) - это комплекс автоматической радиопередающей станции.

Если рассматривать оригинальное решение от ICOM (ID-RP2 D-Star Repeater System), то узел состоит из следующих компонентов: модулей дуплексных репитеров (ID-RP2D, ID-RP2V - для DD и DV режимов в диаппазоне 23 см, ID-RP2L - для транка в диаппазоне 10 ГГц, ID-RP2000V и ID-RP4000V для режима DV в диаппазонах 70 см и 2 м), контроллера репитеров ID-RP2C и шлюза, реализуемого на компьютере с ПО RS-RP2.
Любые компоненты в этом списке, кроме RP2C, опциональны. Транкинговых репитеров может быть подключено до двух штук.
Функционально каждый модуль репитера реализует дуплексный прием и передачу сигнала, а также модуляцию (встроенный GMSK модем).
Контроллер обеспечивает селекцию вызова и его повторение на любом из модулей, то есть маршлутизацию внутри узла.
Как мы знаем, каждый модуль имеет свой порт на контроллере - A - DV на 23 см, B - DV на 70 см, C - DV на 2 м, D - DD на 23 см.
Вы их указываете в маршруте на станции в полях REP1, REP2 - входной модуль и выходной модуль.
Так же на контроллере есть зарезервированная буква для IP-транспорта - G. Весь трафик на модуль G отправляется по IP на ПО шлюза.

Шлюз, в свою очередь, обеспечивает "шлюзование" трафика в IP-мире - взаимодействует с другими шлюзами, с Trust Server, скрывая топологию дальнейшего маршрута вашей передачи от вас.

Теперь перейдем к "нашим баранам" - не-ICOM-овском решении. Наш узел состоит минимум из АФУ, радиостанции, GMSK-модема и компьютера с ПО.
Функцию модуля репитера у нас выполняет одна-две радиостанции в связке с GMSK-модемом. Функция контроллера при этом разделяется между микроконтроллером на GMSK-модеме и ПО репитера (управление передачей, формирование IP-пакетов), ПО шлюза (маршрутизация между модулями узла в таком решении возлагается на шлюз) на компьютере.

Для начала давайте все рассмотрим на примере ПО узлов от G4KLX и KI4LKF Оба комплекта ПО от G4KLX и от KI4LKF явно реализуют функции интерфейса репитера и шлюза в виде разных программ. Вы используете ту программу репитера, которая наиболее подходит вам - одна работает с ICOM-овскими контроллерами, другая с сатошевсками GMSK-модемами, тертья - с DV-RPTR, четвертая реализует репитер на звуковой карте, ну и так далее. Программа репитера отвечает только за передачу на радиоинтерфейсе. За маршрутизацию отвечает ПО шлюза.

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

Теперь давайте про симплекс поговорим. Симплекс нисколько не отменяет факта того, что узел реализует функцию репитера. На симплексном узле реализуется "режим попугая" (parrot repeating) - каждая передача в рамках несущей ретранслируется после ее приема.

Ну и, наконец, про ircDDB. Регистрироваться в ircDDB симплексным узлам никто не запрещал. Главное ограничение в регистрации вы знаете - это наличие выделенного на вашу автоматическую цифровую станцию позывного. Нет выделенного позывного - нет доступа к ircDDB. Но данный факт никак не запрещает "общаться" с другими узлами через рефлектор.
R3ABM / DL5ABM / ex. UB3ABM

User avatar
R3ABM
Posts: 3105
Joined: 08 Jun 2012, 07:43

Re: DPlus, DExtra и DCS - что это и с чем это едят...

Post by R3ABM » 27 Jun 2012, 08:17

DSVT - это "родной" протокол ПО ICOM RS-RP2C для передачи потока DV в IP-сетях.
Он часто упоминается как "протокол RP2C" или "протокол ICOM", внутреннее название протокола в ICOM нам неизвестно. DSVT - это его сигнатура (частая практика - называть протоколы по их сигнатурам)

Trust Server - прямой перевод с английского означает "доверенный сервер". Я попозже подробнее отпишусь тут на эту тему. Но если в кратце, то что сервер, которому доверяют все узлы и с помощью него обеспечиваются доверительные связи между всеми узлами.

US Trust - это доверительный сервер, развернутый в США, с помощью которого обеспечивается обмен трафиком в американском сегменте D-STAR. Присутствие US Trust выражено очень явно, так как в США репитеры преимущественно основываются на оборудовании ICOM.

Multi-Trust - так же немецкая инициатива по развертыванию множества доверительных серверов. С 2011 года инициатива свернута в пользу ircDDB. Таким образом сейчас есть только два доверительных сервера - американский и немецкий.

G2-Gateway - это общее название второй версии ПО ICOM RS-RP2C и оборудования репитеров второго поколения. Ключевым отличием ПО от первого является механизм обмена данными по роутингу, а оборудования - модульная организация шлюза в виде компонентов для 19" стойки. Репитер первого поколения ID-RP1C был моноблочным.

Reflector - отражатель. В применении к УКВ-репитерам - групповая конференция, объединяющая несколько репитеров. Связь, как правило, производится через Интернет. D-STAR тут не исключение.

xreflector.net - немецкая площадка, на которой размещаются все сервера рефлекторов стандарта DCS и какое-то количество рефлекторов стандарта DExtra (XRF). ПО (dextra-ng) закрытое и не распостраняется.

Подобно EchoLink рефлекторы в D-STAR имеют некоторую семантику позывного, и так же как в EchoLink-е рефлектор можно слинковать (подключить) с тем или иным рефлектором. В настоящий момент, размещенные на xreflector.net рефлекторы разделены по географическому и языковому критериям. На некоторых рефлекторах производится авторизация по позывному шлюза.
R3ABM / DL5ABM / ex. UB3ABM

User avatar
UA5AA
Posts: 904
Joined: 21 Jul 2012, 23:57
Location: Moscow
Contact:

Re: DPlus, DExtra и DCS - что это и с чем это едят...

Post by UA5AA » 30 Jul 2012, 16:06

...МОЖНО ПОПОДРОБНЕЕ ПОЯСНИТЬ, - ЧТО ОЗНАЧАЕТ ИНДЕКС "G" ПОСЛЕ ПОЗЫВНОГО УЗЛА ? С ЧЕМ ЭТО ЕДЯТ?
"Лучшее ПВО - это наши танки на их аэродроме"
Евгений.

User avatar
R3ABM
Posts: 3105
Joined: 08 Jun 2012, 07:43

Re: DPlus, DExtra и DCS - что это и с чем это едят...

Post by R3ABM » 30 Jul 2012, 21:39

И снова мы уходим в ретроспективу :) Рассматриваем архитектуру узла ICOM RP2C:

Image

Узел состоит из нескольких моулей репитеров (A-D), контроллера и шлюза (G). Любой модуль кроме контроллера является опциональным.
Поля RPT1 и RPT2 в настройках вызова нужны только контроллеру для определения маршрута вызова в пределах узла.
Соответственно,
1) при установке RPT1:UA5AA__C RPT2:UA5AA__B вы говорите контроллеру, что хотите сделать кросбандовый вызов в пределах модулей репитера (Radio 1 -> UA5AA__C -> UA5AA__B -> Radio 2),
2) при установке RPT1:UA5AA__C RPT2:UA5AA__G вы говорите контроллеру, что хотите сделать вызов через модуль С на шлюз G, при этом дальнейший маршрут шлюз определяет самостоятельно (Radio 1 -> UA5AA__C -> UA5AA__G -> RV3ADJ_G -> RV3ADJ_B -> Radio 2)

В вашем WinDV ПО реализует внутри себя репитер, контроллер и шлюз. Тем не менее данное правило следует соблюдать.
R3ABM / DL5ABM / ex. UB3ABM

User avatar
UA5AA
Posts: 904
Joined: 21 Jul 2012, 23:57
Location: Moscow
Contact:

Re: DPlus, DExtra и DCS - что это и с чем это едят...

Post by UA5AA » 30 Jul 2012, 23:06

..."повторение - мать учения". Артем большое спасибо за разъяснение тут, да и вообще на этом сайте...просто "отдыхаю". Ну что не спросишь - на все есть обстоятельный ответ, а не отписка...как бывало ранее в других местах.
А мои вопросы, а точнее ответы на них наверное кому -то и другому сгодятся.
"Лучшее ПВО - это наши танки на их аэродроме"
Евгений.

User avatar
R3ABM
Posts: 3105
Joined: 08 Jun 2012, 07:43

Более подробно про Dplus

Post by R3ABM » 30 Aug 2012, 13:10

Должен констатировать, что общее недопонимание сообществом D-STAR (особенно его европейской/германской частей) задач, возложеных на Dplus, а также закрытость протокола и нежелание AA4RC раскрывать детали сильно хоронят это решение в старом свете. В Америке от остается доминирующим.
Поскольку сейчас я начал сильно "копать" под репитеры ICOM, у меня настало некоторое прояснение. Ему посвещается этот пост.
В отличие от Dextra, где брэнд формировался "по накатаной дорожке" (как альтернатива Dplus), название Dplus в себе несет вполне отпределенный смысл - это улучшеный D-STAR. Среди приследуемых задач не только и не столько организация белого пятна в виде непредусмотренных JARL рефлекторов (по изначальной идее их заменяют зональные вызовы, десять лет назад акценты не ставились в пользу транспорта VoIP). Бизнес-модель AA4RC строиться вокруг DV "Blue" Dongle и DV-AP "red" Dongle. Как вы видите, он неполохо на этом зарабатывает. То есть бизнес во круг возможности удаленного доступа к шлюзам.
Давайте пойдем от техники. Dplus - это утилита, устанавливаемая на платформу шлюза D-STAR (RS-RP2C).
На сервере US Trust (а Trust Server - это такой же шлюз RS-RP2C, как и все остальные) программа лезет в базу данных шлюза (Posgres), "вытягивает" оттуда список шлюзов и рефлекторов. И это функция номер один, которую мы видим в DVTool. Программа также аутентифицирует позывной, сирийный номер донгла и может еще проверить пароль - от этого зависят права доступа. Почему так - объяснение простое: протокол репликации RS закрыт и не меет функций для работы с доглами. Так что это единственный способ получить список по запросу.
На шлюзах Dplus перехватывает трафик между контроллером и ПО шлюза (dsgwd). Все что проходит с общим вызовом программа отправляет в прилинкованый рефлектор, а так же подключенным донглам. Еще в донглы уходят адресованные им селективные вызовы. Трафик в обратную сторону отдается не контроллеру напрямую, а через интерфейс g2 в dsgwd, таким образом обеспечивется слажженость компонентов.
Не хочу сейчас рисовать новых картинок. Для визуального понимания описанного вы можете посмотреть вот на эту картинку, хоть она описывает и совершенно иное. :)
R3ABM / DL5ABM / ex. UB3ABM

User avatar
UA5AA
Posts: 904
Joined: 21 Jul 2012, 23:57
Location: Moscow
Contact:

Re: Более подробно про Dplus

Post by UA5AA » 30 Aug 2012, 19:40

...tnx, но я не увидел особых преимуществ DPLUS, или это в качестве общеобразовательного понимания....
"Лучшее ПВО - это наши танки на их аэродроме"
Евгений.

User avatar
R3ABM
Posts: 3105
Joined: 08 Jun 2012, 07:43

Re: Более подробно про Dplus

Post by R3ABM » 30 Aug 2012, 20:09

UA5AA wrote:...tnx, но я не увидел особых преимуществ DPLUS, или это в качестве общеобразовательного понимания....
Это для понимания. Нам оно не нужно :)
R3ABM / DL5ABM / ex. UB3ABM

Post Reply

Return to “Технические аспекты D-STAR”