Gateways and Tunnels

Gateways and Tunnels extend the communication of iceoryx2 across host boundaries by leveraging popular network communication middlewares and libraries. They can be run in separate processes, thereby isolating network communication from safety-critical code.

DDS App Legacy Host A · iceoryx2 Host B · iceoryx2 Participant Participant Gateway Tunnel Tunnel Gateway Participant Participant Shared Memory Shared Memory

Host-to-host Communication

Gateways

Gateways translate iceoryx2 payloads into data formats used by different network communication middlewares and libraries. In addition to extending the communication beyond a single host, this translation enables applications that are not using iceoryx2 to participate in the communication.

Tunnels

Tunnels propagate raw iceoryx2 payloads as-is between hosts running iceoryx2. By avoiding data transformation, tunnels minimize processing overhead and maintain the native iceoryx2 communication semantics across distributed systems.

Further Reading

Understand the Communication Model

Get familiar with the components involved with establishing communication.

Communication Model
Understand Shared Memory

Build an intuition for what shared memory communication entails.

Shared Memory
Explore the Tunnel Implementation

Analyse the tunnel implementation and the available communication mechanisms.

https://github.com/eclipse-iceoryx/iceoryx2/tree/main/iceoryx2-tunnel