несколько портов используются в UDP-транспорте RTI connext DDS?

В чем преимущество использования нескольких портов в UDP-транспорте RTI connext DDS, тогда как только один порт используется в TCP/IP RTI connext DDS??


person Praveen Rathode    schedule 24.11.2017    source источник


Ответы (2)


Сопоставление портов UDP определяется Спецификацией проводного протокола взаимодействия OMG RTPS DDS (http://www.omg.org/spec/DDSI-RTPS/), Модель для конкретной платформы (PSM): UDP/IP.

Есть несколько преимуществ/требований, оправдывающих использование разных портов для обнаружения и трафика данных. Наиболее актуальными являются:

  • Дифференциация трафика: использование разных портов упрощает идентификацию разных типов трафика. Это полезно как для отладки (например, с помощью wireshark), так и для применения другой обработки к обнаружению и трафику пользовательских данных.
  • Параллелизм: используя несколько портов, можно распараллелить обработку и создание трафика обнаружения и пользовательских данных. Это имеет решающее значение в некоторых средах, которые имеют строгие требования к задержке для трафика пользовательских данных.

Конструкция RTI Connext TCP Transport соответствует этим двум требованиям, но имеет дополнительное требование:

  • Поддержка NAT. Транспорт TCP должен легко настраиваться в средах NAT.

RTI Connext TCP Transport поддерживает режим, в котором открывается только один серверный порт для приема всех подключений (на настроенном server_bind_port), необходимых для связи двух Участников. Таким образом, он совместим со средами NAT, где только участник, использующий сервер RTI TCP, имеет общедоступный адрес и порт. Затем участники, использующие клиенты RTI TCP, просто откроют соединения с этим сервером.

Обратите внимание, что даже если RTI TCP Transport открывает только один серверный порт/сокет, сервер использует этот сокет только для приема соединений. RTI TCP Transport по-прежнему открывает разные соединения для обработки каждого вида и направления трафика (входящее/исходящее обнаружение, входящие/исходящие пользовательские данные). Требование параллелизма по-прежнему выполняется.

Что касается дифференциации трафика, RTI TCP Transport добавляет дополнительные заголовки к RTPS-трафику, чтобы его можно было легко идентифицировать в сети.

Обратите внимание, что это относится к RTI, так как в настоящее время нет спецификации для модели OMG TCP PSM, тем не менее, в настоящее время она находится в разработке OMG.

person Jose M. Lopez-Vega    schedule 27.11.2017
comment
Большое спасибо... Кстати, я новичок в стандартах промежуточного программного обеспечения RTI OMG DDS. Не могли бы вы объяснить мне, в чем разница между метаданными пользователя и метаданными обнаружения? - person Praveen Rathode; 28.11.2017

Не могу ответить на вопросы о "преимуществе". Однако я могу объяснить, почему это делается именно так, а вы можете судить сами.

Методология анонимного однорангового обнаружения UDP определена в стандарте таким образом. Стандарт определяет, как получаются номера портов для данного Участника по заданному адресу. Поскольку это предусмотрено стандартом, DDS поставщика А может немедленно найти DDS поставщика Б.

Не существует аналогичного TCP-аналога стандарту, определенному UDP. В конце концов, они будут, но на данный момент каждый поставщик, желающий предоставить TCP-транспорт, может делать это по своему усмотрению. Это означает, что по большей части метод продавца-А не будет работать с методом продавца-Б, поэтому они не будут видеть друг друга.

Кстати, именно поэтому транспорты с общей памятью также несовместимы с поставщиками.

Транспорт RTI Connext TCP/IP использует один порт для обнаружения. После этого он использует любые эфемерные порты, созданные для сокетных соединений между одноранговыми узлами.

person rip...    schedule 25.11.2017