TCP/IP 能否在没有 UDP 的情况下在客户端之间有效地进行多播

TCP/IP 能否在没有 UDP 的情况下在客户端之间有效地进行多播

我有一个高带宽应用程序,其中服务器要在千兆网络上以 ~300Mb/s 的速率生成数据。除了 UDP 之外,还有其他方法可以通过可靠的传输机制向 1 到 10 个客户端进行多播吗?

此应用程序与流媒体视频非常相似,因为流的连续性比可靠性更重要。当前应用程序速度稍慢,使用 UDP 结合其自身的错误检查,客户端知道丢弃数据块。

是否有任何硬件选项可以让可靠的 TCP/IP 流传输到多个客户端?

是否有任何协议可以隧道传输数据流并支持前向纠错?如果服务器/客户端仍然可以将其视为普通套接字,那就太好了。

只是想想一定有比自己开发 UDP 多播解决方案更好的方法。

请注意,对于我的特定应用程序,服务器和客户端可以位于同一子网中。不过,我对所有答案/选项都感兴趣。

谢谢。

答案1

多播,根据定义,使用UDP。如果您的流确实像视频,那么您就不想尝试重新发送丢失的数据包——这只会扰乱视频流。

但是,如果所有数据包都必须到达目的地,那么您需要某种消息摘要来跟踪丢失的数据并“带外”重新发送任何丢失的数据包。或者,实用通用多播可能就是您正在寻找的——尽管这仍然是一个实验协议。

答案2

确保您的交换机支持组播管理协议否则,大多数交换机将无法恢复广播,并且 300Mb/s 的广播流量可能会给您的网络带来很多问题。

您可能还想阅读IGMP 侦听

相关内容