Dynamic TCP Transport

A dynamic TCP (DTCP) transport bus establishes a set of TCP connections dynamically, decoupling the transport definitions from specific hosts and ports. You can use dynamic TCP transports to easily specify a variety of communication topologies. A DTCP transport can be server-based or peer-to-peer.

Note: Dynamic TCP is an easy and flexible way to configure many topologies. (For backward compatibility, FTL software continues to support static TCP transport definitions; see Static TCP Transport.)

Modes and Transport Groups

A dynamic TCP transport definition specifies one of the following modes:
  • Mesh Endpoints form a full mesh.
  • Listen Endpoints establish a bus by listening for connections within a transport group.
  • Connect Endpoints establish a bus by connecting to all listening endpoints within a transport group.

Mesh

A dynamic TCP mesh uses a single transport definition to establish a bus composed of individual TCP pair connections. However, all the details of those pair connections are transparent to the administrator. The application and the realm service automatically and dynamically arrange those details: listening end, connecting end, host, and port.

Listen and Connect

You can build other dynamic TCP topologies by defining a listening end and a connecting end, and linking them with a common transport group name.

You can use these two definitions to implement any number of application endpoints. They establish a bus composed of TCP pair connections between every connecting endpoint and every listening endpoint. However, all the details of those individual pair connections are transparent to the administrator. The applications and the realm service automatically and dynamically arrange the hosts and port numbers.

Messages can potentially flow in either direction along each pair connection. The terms listen and connect refer only to the TCP connection protocol, and do not affect message communication.

You can use a pair of listen and connect definitions to assemble topologies such as such as pair connection, hub-and-spoke, and asymmetric multicast. (For diagrams of these topologies, see Hub-and-Spoke and Asymmetric Multicast Topologies.)

Configuring only two transport definitions can dramatically simplify a bus with several endpoints. (In contrast, the same topology could require many static TCP transport definitions, which are tightly coupled to specific IP addresses.)

Scope of Dynamic TCP

A dynamic TCP bus is limited to applications that connect to a local cluster of FTL server processes. That is, client applications of a satellite FTL server cannot participate in a dynamic TCP bus with client applications of the primary FTL server.

However, such applications can still communicate through a transport bridge that connects the otherwise separate dynamic TCP buses that form at different locations. For an example, see Bridges among Dynamic TCP Meshes.