UDP之上的可靠传输协议

时间:2017-04-13 10:55:27

标签: udp implementation network-protocols reliability mosh

UDP有一个很好的功能 - 它是无连接的。但它有许多不好的功能 - 数据包可能会丢失,多次到达,没有数据包序列 - 数据包2可以比1更快到达。如何保持良好并删除不良?是否有任何良好的实现在udp之上提供可靠的传输协议,以便我们仍然无连接但没有提到的问题。可以用它做的一个例子是mosh。

1 个答案:

答案 0 :(得分:1)

根据具体情况,你描述为坏的并不是很糟糕。 例如,UDP在实时流中被大量使用,传送确认和重发在这种情况下是无用的。

话虽如此,您可能希望了解一些实现:

ENet(http://enet.bespin.org/

RUDP(https://en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol

UDT(https://en.wikipedia.org/wiki/UDP-based_Data_Transfer_Protocol

我在嵌入式环境中工作:

CoAP(https://en.wikipedia.org/wiki/Constrained_Application_Protocol)也实现了很多这些功能,所以值得一看。

您不选择TCP的原因是什么?