TCP实现可靠数据传输原理

可靠数据传输协议(Reliable data transfer protocol)。在可靠数据传输协议的下层协议也许是不可靠的。就实现可靠传输的目的而言,我们直接将较低层直接视为不可靠的点对点信道。在本文中,考虑底层信道模型越来越复杂,我们会不断开发一个可靠的数据传输协议。我们将要考虑当底层信道能够损坏比特或丢失整个分组时需要什么样的协议

rdt1.0: 经过完全可靠的信道

rdt2.0: 经过具有比特差错的信道

  • 检查比特差错: 校验和
  • 请求重传分组:ACK和NAK

ACK和NAK也可能引入比特差错而损坏,如何解决

  1. 收到含糊不清的ACK和NAK,发送方直接重传分组
  2. 如果接收方接受到了分组,发送方重传,信道引入冗余分组,接收方如何确定冗余分组
  3. 发送方为每个分组添加序号

rdt3.0: 经过具有比特差错的丢包信道