关于多播传输速率与可靠性之间的矛盾

来源:互联网 发布:理财收益计算器 软件 编辑:程序博客网 时间:2024/03/29 10:11
 
原本打算在消息中间件中使用多播提高传输速率,现在发现好像有几个问题:
1. 多播底层实现协议是UDP,UDP是基于数据报的,无连接的,不可靠的,因此多播也是不可靠的。如何实现可靠多播,应该类似于如何实现可靠UDP,所以就可以针对UDP讨论问题,这种想法对否。
2. 多播不可靠,一种表现在,接收端不能够收到发送端发送的所有数据包,即丢包,暂时不用考虑乱序。如何防止不丢包呢?
第一种解决方案,降低发送数据包的速率,这样就可以认为丢包的概率降低了,此方案叫做不完全可靠;
第二种解决方案,接收端反馈一些信息,告诉发送端它的接收情况,以此来保证可靠传输,理论上可以实现完全可靠。但是发送端和接收端需要信息交互,一定会占用一定的带宽,这样在网络带宽不足而导致丢包,再加上可靠机制,增加接收端和发送端的信息交互,网络带宽更会少,恶性循环,将不堪重负。所以此时只能流量控制,降低发送端的发送速率,然后差错恢复,但是这不就是TCP擅长做的吗,我们应该相信TCP做的更好。所以我们应该使用TCP来追求高速高可靠数据传输。
 
原创粉丝点击