TCP Transport for DDS
Written by Sumant Tambe
March 30, 2011
As a lot of you know, the DDS-RTPS interoperability protocol for DDS most frequently runs on top of UDP/IP. DDS implementations, RTI Data Distribution Service included, provide support for a number of other lower-level transport protocols. But UDP provides the greatest flexibility in terms of both reliability and timing, and it's the transport that the OMG mandates that vendors support in order to claim interoperability.
In some cases — like traversing wide-area networks — TCP support is really important. Network routers may not forward UDP packets at all, they may perform address translation, and/or they may require that "connections" be initiated first on one side of the network. That's why RTI has been shipping TCP transport support for a while now, both as a native transport for application-to-application communication and with RTI Routing Service as a means to federate DDS systems (which internally may be using another transport such as UDP or shared memory). Today, that layering of RTPS on top of TCP is RTI-specific.
At the OMG technical meeting just concluded in Arlington, VA, RTI and others provided initial proposals for standardization of an interoperable TCP transport for DDS. RTI's presentation in the OMG's MARS group is available for OMG members. This will be an exciting extension of DDS interoperability — which now includes five implementations with proven records; look for another post on this — to the wide-area network. It's still early — an RFP or RFC is yet to be issued — but expect to hear more in a couple of months.