可靠数据传输(RDT)的原理

<aside> 💡

</aside>

Untitled

问题描述

Untitled

rdt1.0:在可靠信道上的可靠数据传输

rdt1.0的假设:

Untitled

发送方的行动:

  1. 接收上层服务数据单元
  2. 封装为本层的协议数据单元
  3. 发送给接收方

接收方的行动:

  1. 接收packet
  2. 解封装
  3. 通过层间接口交付给上层

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

<aside> 💡 引入 ack/nak

</aside>

rdt2.0的假设

Untitled


Untitled

FSM描述

Untitled

发送方:

  1. 接收上层数据
  2. 封装packet(并计算checksum)
  3. 通过下层接口将packet发送出去,等待接收方回应

  1. 接收接收方的回应,ack传新的,nak传老的
  2. 循环直至数据全部传输完成

接收方:

  1. 接收数据
  2. 如果数据没有corrupt,则解封装并传送给上层,发给发送方一个ack
  3. 如果数据corrupt,则发给发送方一个nak