有损信道上的可靠数据传输

时间:2010-11-11 10:48:41

标签: data-transfer reliability

假设您在两个对等体之间已经存在不可靠的有损信道。您可以建议哪些方法可靠地传输数据而且没有性能损失?底层协议也不是TCP(已经可靠)。 (我使用有损通道来概括问题。)

(AFAIK,有些方法如RDT(rfc-908),Go Back-N。)

3 个答案:

答案 0 :(得分:1)

http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Reliable_transmission

因为有人已经解决了这个问题,并且有一个库(TCP / IP)或者十个以现有的每种语言来处理它。

这是一个哲学问题吗?

答案 1 :(得分:0)

没有性能损失通常意味着减少对反向信道的依赖,从接收方向发送方发送ACK。这通常意味着使用数据报并使用某种形式的前向纠错(FEC)的自定义协议。请注意,FEC是一种滑动比例,通常会显着降低性能,因为根据定义,您可以预先发送额外的冗余数据,以便接收方不必要求它。

http://en.wikipedia.org/wiki/Forward_error_correction http://udt.sourceforge.net/

答案 2 :(得分:0)

正如Steve-o所说,FEC和Kdansky建议Retransmission,是很好的起点。重传的主要瓶颈是往返时间,这导致接收丢失数据包的延迟。但是,FEC是一个完全不同的主题,适用于数据包级别。正如Steve-o再次提到的那样,瓶颈会成为生成冗余流所带来的带宽开销。虽然看起来很简单,但是不同的FEC方案,如Parity FEC,Reed-Solomon,Turbo码,Raptor Q等......根据它们的参数对延迟,带宽开销等有不同的影响。 (主要是用于生成冗余流的编码率)