Нужна ли многоадресная передача для связи на основе DDS?

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

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

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

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

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

1 ответ

Решение

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам