RTI Secure Wan Transport  Version 6.0.1
 All Data Structures Functions Variables Typedefs Enumerations Groups Pages
WAN Transport

Modules

 WAN Server
 How to run the RTI WAN Server.
 
 Configure WAN Transport with Property QoS Policy
 Predefined strings that can be used to configure the WAN Transport plugin through the Property QoS Policy of the DomainParticipant.
 
 WAN Transport C API Reference
 Basic types and macros provided by RTI Connext for use in the WAN Transport-Plugin interface.
 

Detailed Description

The basic problem to overcome in a WAN environment is that messages sent from an application on a private local-area network (LAN) appear to come from the LAN's router address, and not from the internal IP address of the host running the application. This is due to the existence of a Network Address Translator (NAT) at the gateway. This does not cause problems for client-server systems because only the server needs to be globally addressable; it is a problem for systems with peer-to-peer communication models, such as DDS.

In order to resolve the problem of communication across NAT boundaries, the WAN Transport implements a UDP hole-punching solution for NAT traversal [draft-ietf-behave-p2p-state]. This solution uses a rendezvous server, which provides the ability to discover public addresses, and to register and lookup peer addresses based on a unique WAN ID. This server is based on the STUN (Session Traversal Utilities for NAT) protocol [draft-ietf-behave-rfc3489bis], with some extensions. Once information about public addresses for the application and its peers has been obtained, and connections have been initiated, the server is no longer required to maintain communication with a peer. However, if communication fails, possibly due to changes in dynamically-allocated addresses, the server will be needed to reopen new public channels.

The following figure shows the RTI WAN transport architecture

WAN_transport.png
RTI WAN Transport Architecture

Multicast communication is not supported by the WAN transport. If the multicast_enabled property is set to 1, the transport will return an error message.

To use the WAN Transport, the following parameters must be set:

These additional parameters may be needed:

In order to enable security, NDDS_Transport_WAN_Property_t::enable_security must be set, as well as all required fields in NDDS_Transport_WAN_Property_t::tls. Information about how to configure these parameters can be found in Secure Transport.

WAN locators

The WAN transport does not use simple IP addresses to locate peers. A WAN transport locator consists of a WAN ID, which is an arbitrary 12-byte value, and a bottom 4-byte value that specifies a fallback local IPv4 address.

The anatomy of a WAN locator is illustrated below:

WAN_locator.bmp
RTI WAN Locator

The address is a 128-bit address in IPv6 notation.

The "wan://" part specifies that the address is for the WAN transport.

The next part, "::1", specifies the top 12 bytes of the address to be 11 zero bytes, followed by a byte with value 1 (this corresponds to the peer's WAN ID).

The last part, "10.10.1.150" refers to the peers local IPv4 address, which will be used if the peers are on the same local network.

A DomainParticipant using the WAN transport will have to initialize the DDS_DiscoveryQosPolicy::initial_peers QoS with the WAN locator addresses corresponding to the peers to which it wants to connect to. The value of DDS_DiscoveryQosPolicy::initial_peers can be set using the environment variable NDDS_DISCOVERY_PEERS or the NDDS_DISCOVERY_PEERS configuration file.

Refer to the RTI Core Libraries and Utilities User's Manual for further information.


RTI Secure Wan Transport Version 6.0.1 Copyright © Sun Nov 17 2019 Real-Time Innovations, Inc