【FastDDS】Layer Transport ( 01-overview )
传输层
传输层提供DDS实体之间的通信服务,负责通过物理传输实际发送和接收消息。DDS层将此服务用于用户数据和发现流量的通信。不过,DDS层本身独立于传输方式,它定义了一个传输API,并且可以在任何实现此API的传输插件上运行。这样一来,它就不受限于特定的传输方式,应用程序可以选择最适合其需求的传输方式,或者创建自己的传输方式。
eProsima Fast DDS已实现五种传输方式:
- UDPv4:基于IPv4的UDP数据报通信。如果没有给出特定的传输配置,新的域参与者会默认创建此传输(参见UDP传输)。
- UDPv6:基于IPv6的UDP数据报通信(参见UDP传输)。
- TCPv4:基于IPv4的TCP通信(参见TCP传输)。
- TCPv6:基于IPv6的TCP通信(参见TCP传输)。
- SHM:同一主机上运行的实体之间的共享内存通信。如果没有给出特定的传输配置,新的域参与者会默认创建此传输(参见共享内存传输)。
尽管进程内数据交付和数据共享交付不属于传输模块,但在某些设置下,它们也可用于在实体之间发送消息。下图展示了Fast DDS中不同传输方式的对比。
1. 传输API
- 1.1 传输描述符接口
- 1.2 传输接口
- 1.3 定位器