Modern distributed systems often need to connect and share information across separate networks. DDS Router is a cross-platform application developed by eProsima and powered by Fast DDS that allows users to create a communication bridge that connects two DDS networks that otherwise would be isolated. It’s a simple, reliable tool that helps systems on different local area networks (LANs) share information as if they were on the same network.
How the DDS Router Works
DDS Router is an application that internally runs Participants. Each one of these Participants is a communication interface, a “door” to a specific DDS network configuration. These Participants allow the application to connect to different DDS networks simultaneously. Every time one of these Participants receives a message from the DDS network to which they are connected, they will forward the data and the source of this message to the other Participants. Each Participant is uniquely identified by a Participant Name in a DDS Router execution and has a predefined Participant Kind that specifies the internal general functionality of the Participant.
Cross-LAN Communication
The DDS Router enables communication between DDS networks in separate LANs. Each LAN requires a DDS Router instance configured to connect to its local DDS network and communicate over a wide area network (WAN). The DDS Router deployed will communicate with each network using DDS over WAN, and it will reroute every message received in LAN to the remote DDS Router. Once the remote Router receives data, it will transmit it to the local networks to which it is connected. This way, both DDS networks will behave like they belonged to the same LAN.
Scalability with Discovery Server
Using eProsima's Discovery Server, the DDS Router supports dynamic discovery over non-multicast networks. This allows multiple DDS Routers to connect via a centralized discovery mechanism, forming a distributed and scalable DDS network. Thus, any DDS Router connected to the same Discovery Servers will work as a standard DDS node, publishing and subscribing on the shared DDS topics. This creates an unlimited and highly scalable decentralized and distributed DDS network.
NAT Traversal with UPnP
One of the main challenges that a P2P connection in WAN poses is communicating two networks behind NATs. NAT is an IP address translation mechanism whereby one address space is converted to another address space different from the first. The vast majority of NATs convert a single public IP address into a private IP address space. This implies a difficulty, or even an impossibility in certain types of NAT, to communicate two nodes behind different NATs without specific router configurations.
In order to overcome this problem, the DDS Router integrates Universal Plug and Play (UPnP) protocols. UPnP allows the router to:
- Open ports dynamically for external communication.
- Maintain network security by closing ports when they are no longer needed.
- Centralize WAN access management to a single DDS Router instance per LAN.
DDS Router in the AML-IP Framework
The DDS Router is a key component of the AML-IP Agent Node, responsible for managing communication within and between LANs.
The main benefits of using the DDS Router are the following. It greatly facilitates the configuration of WAN communication, making it unnoticed for an AML user. It leverages eProsima Fast DDS Discovery Server, which automatically creates a Discovery Server in client mode to share its discovery information and to get other nodes’ information from an AML-IP Discovery Node.
Data Flow in AML-IP
The following figure shows two DDS Domain Participants that comprise the AML-IP Agent Node and the communication process in a WAN scenario. This figure also shows how the AML-IP Agent Node acts as a central connection node in a LAN to connect AML-IP Algebraic nodes in WAN. On the left side, it can be seen that AML-IP Algebraic nodes internal to a LAN (Algebraic Node1 and Algebraic Node2) discover each other and in turn automatically discover the Agent Node1 present in their LAN (blue dots line).
Once these nodes have been discovered, the Algebraic Node1 and Algebraic Node2 start the AML data transfer phase within the LAN in case they are both matched, i.e. both are working under the same topic. Furthermore, all data to be published is also transmitted to Agent Node1, which acts as a data broker. At this point in the communication, the Agent Node1 node knows the AML-IP Algebraic nodes internal to its LAN, and all the data they publish outside the LAN are transmitted to it. Then, to find out if there are more AML-IP Algebraic Nodes in the WAN, the Agent Node1 node uses its Discovery Server client, referred to as FastDDSParticipant2 in this case, to initiate the discovery process of other AML-IP Agent Nodes and AML-IP Algebraic nodes in the WAN.
Conclusion
The eProsima DDS Router is a practical tool for bridging DDS networks across LANs and WANs. By simplifying dynamic discovery, addressing NAT traversal, and offering a range of Participant types, the DDS Router makes it easy to build scalable and distributed communication systems. By integrating it with the AML-IP Agent Node, the users can focus on what matters—building and running their systems—without worrying about network logistics.
Users can dive into more details about this topic in the DDS Router Documentation to get started.
By
MORE INFORMATION:
To learn more about AML, click here.
For any questions about ALMA please contact










This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 952091.