6. Transport LayerΒΆ

The transport layer provides communication services between DDS entities, being responsible of actually sending and receiving messages over a physical transport. The DDS layer uses this service for both user data and discovery traffic communication. However, the DDS layer itself is transport independent, it defines a transport API and can run over any transport plugin that implements this API. This way, it is not restricted to a specific transport, and applications can choose the one that best suits their requirements, or create their own.

eProsima Fast DDS comes with five transports already implemented:

  • UDPv4: UDP Datagram communication over IPv4. This is the default transport created on a new DomainParticipant if no specific transport configuration is given (see UDP Transport).

  • UDPv6: UDP Datagram communication over IPv6 (see UDP Transport).

  • TCPv4: TCP communication over IPv4 (see TCP Transport).

  • TCPv6: TCP communication over IPv6 (see TCP Transport).

  • SHM: Shared memory communication among entities running on the same host (see Shared Memory Transport).

Although it is not part of the transport module, intraprocess data delivery is also available to send messages between entities within the same process.