Нужна ли многоадресная передача для связи на основе DDS? - PullRequest
0 голосов
/ 30 августа 2018

У меня есть конфигурация, в которой 3 приложения работают на 3 разных виртуальных машинах, и они должны взаимодействовать через DDS, то есть протокол RTPS. Конфигурация выглядит следующим образом:

  1. Функции ADAS на основе ROS2
  2. Инструмент моделирования
  3. Функции машинного обучения на основе Python / Tensorflow

Все 3 должны быть на разных виртуальных машинах.

С нашей стороны невозможно разрешить многоадресную передачу для виртуальной машины MS AZURE и нашей сети. Вот несколько вопросов:

  1. Можно ли по-прежнему общаться через DDS?
  2. Если да, то через UNICAST, т.е. одноранговое соединение?
  3. Является ли использование связи DDS в этом случае полезным, если у меня уже есть возможность базового программирования сокетов UDP?
  4. Не могли бы вы подумать о каких-либо ограничениях / дальнейших проблемах при использовании DDS для такой конфигурации?

1 Ответ

0 голосов
/ 30 августа 2018

Можно ли по-прежнему общаться через DDS?

Да, это так. Из коробки участники DDS используют многоадресную рассылку только для обнаружения других участников DDS при запуске. Этот механизм обнаружения может быть настроен несколькими способами. Объяснение того, как этого добиться, см. В этой статье базы знаний сообщества RTI: Настройте RTI Connext DDS, чтобы не использовать Multicast .

.

Если да, через UNICAST, т.е. одноранговое соединение?

Да, при настройке без многоадресной передачи все коммуникации осуществляются по одноадресной передаче UDP, одноранговая, без установления соединения.

Является ли использование связи DDS в этом случае полезным, если у меня уже есть возможность базового программирования сокетов UDP?

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

Если вы спрашиваете о преимуществах использования DDS по сравнению с UDP, я думаю, что это требует нового вопроса. Ответ будет довольно обширным: -)

Не могли бы вы подумать о каких-либо ограничениях / дальнейших проблемах при использовании DDS для такой конфигурации?

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

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

...