假设你在两个对等点之间已经有一个不可靠的有损信道。您可以推荐哪些方法来可靠地传输数据,同时又不会造成性能损失?此外,底层协议也不是TCP (它已经是可靠的)。(我使用有损通道来概括这个问题。)
( AFAIK,一些方法存在,如RDT (rfc-908),返回-N。)
发布于 2010-11-11 18:51:27
http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Reliable_transmission
因为已经有人解决了这个问题,并且有一个或十个库(TCP/IP)可以用现有的每种语言来解决这个问题。
这是一个哲学问题吗?
发布于 2011-02-20 11:03:05
无性能损失通常意味着减少对从接收方发送ACK到发送方的反向信道的依赖性。这通常意味着使用数据报和使用某种形式的前向纠错(FEC)的自定义协议。请注意,FEC是一种滑动扩展,通常会显著影响性能,因为根据定义,您会抢先发送额外的冗余数据,以便接收方不必请求它。
http://en.wikipedia.org/wiki/Forward_error_correction http://udt.sourceforge.net/
发布于 2012-10-18 06:17:41
正如Steve-o所说,FEC和Kdansky建议的重传是很好的起点。重传的主要瓶颈是往返时间,这会导致接收丢失数据包的延迟。然而,FEC是一个完全不同的主题,并且适用于分组级别。正如Steve-o再次说的那样,瓶颈变成了您通过生成冗余流而导致的带宽开销。虽然这看起来很简单,但不同的FEC方案,如奇偶校验FEC,里德-所罗门,Turbo码,Raptor Q等...根据参数的不同,对延迟、带宽开销等有不同的影响。(主要取决于用于生成冗余流的编码率)
https://stackoverflow.com/questions/4153597
复制相似问题