如何保证网络上的数据传输?

时间:2017-03-29 16:44:28

标签: networking data-transfer

想象一下2台机器A和B.即使有网络故障,A想要确保B接收到数据包P,如何实现?

情景1:
1)A通过网络将P发送给B.
问题:如果网络在步骤1失败,B将不会收到P而A不会知道它。

情景2,确认:
1)A通过网络将P发送给B.
2)如果收到P,则B发回ACK 问题:如果网络在步骤2失败,A将不会收到ACK,因此A无法可靠地知道B是否收到了P.

确认ACK会反过来推动问题进一步发展。

1 个答案:

答案 0 :(得分:1)

这是一个已经研究多年的巨大问题。了解TCP协议,该协议保证数据将被传送或发送方(最终)知道传送可能已失败。

你可以在这里开始阅读:https://en.wikipedia.org/wiki/Transmission_Control_Protocol 但是网上有很多关于TCP的有用和有趣的网页。

或者您可以使用TCP并利用已经完成的工作。