DPlus, DExtra и DCS - что это и с чем это едят...
Posted: 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 - могу тут продолжить.
В нашей среде многие, кто занимается или хочет заниматься 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 - могу тут продолжить.