RTI Connext DDS Micro  Version 2.4.8
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Transport Configuration

Introduction

In RTI Connext DDS Micro a Network Input/Output (NETIO) interface is a software layer that may send and/or receive data from a higher and/or lower level locally, as well as communicate with a peer. A transport is a NETIO interface that is at the lowest level of the protocol stack. For example, the UDP NETIO interface is a transport.

A transport can send and receive on addresses as defined by the concrete transport. For example, the RTI Connext DDS Micro UDP transport can listen to and send to UDPv4 ports and addresses. In order to establish communication between two transports, the addresses that the transport can listen to must be determined and announced to other domain-participants that want to communicate with it. This document describes how the addresses are reserved and how these addresses are used by the DDS layer in RTI Connext DDS Micro.

While the NETIO interface is not limited to DDS, the rest of this document is written in the context of how RTI Connext DDS Micro uses the NETIO interfaces as part of the DDS implementation.

DDS Discovery Announcements

DDS uses a discovery protocol to determine how to reach other DDS domain participants. Each domain-participant announces information about itself, such as which locators other domain-participants must use to communicate with it. A locator is an address that consists of an address kind, a port number, and an address. Four locator types are defined:

It is important to note that a maximum of four locators of each kind can be sent in a domain-participant discovery message.

The locators in a domain-participant's discovery announcement is used for two purposes:

\li It informs other domain-participants where to send their discovery
    announcements to this domain-participant.
\li It informs the data-readers and data-writers in a other domain-participants
    where to send data to the data-readers and data-writers in this 
    domain-participant unless a data-reader or data-writer specifies its own
    locators.

If a data-reader or data-writer specifies their own locators, only user-traffic locators can be specified, then the exact same rules apply as for the domain-participant.

This document uses address and locator interchangeably. An address corresponds to the port and address part of a locator. The same address may exist as different kinds, in which case they are unique.

Transport Registration

Before a transport may be used for communication in RTI Connext DDS Micro, it must be registered and added to the discovery and user_traffic QoS policies. Please refer to Configuring Discovery and Transports for details.

It is important to keep in mind that although RTI Connext DDS Micro currently only supports one transport, UDP, it may support additional transports in the future.

Transport Addresses

Address reservation is the process to determine which locators should be used in the discovery announcement. Which transports and addresses to be used is determined as described in Configuring Discovery and Transports.

When a domain-participant is created it calculates a port number and tries to reserve this port on all addresses available in all the transports based on the registration properties. If the port cannot be reserved on all transports, then it release the port on all transports and tries again. If no free port can be found the process fails and the domain-participant cannot be created.

The number of locators which can be announced is limited to only the first four for each type across all transports available for each policy. If more than four are available of any kind these are ignored. This is by design, although it may be changed in the future. The order in which the locators are read is also not known, thus the four locators which will be used are not deterministic.

To ensure that all the desired addresses and only the desired address are used in a transport, follow these rules:


RTI Connext DDS Micro Version 2.4.8 Copyright © Tue Apr 12 2016 Real-Time Innovations, Inc