📜  可靠数据传输 (RDT) 1.0

📅  最后修改于: 2022-05-13 01:57:03.063000             🧑  作者: Mango

可靠数据传输 (RDT) 1.0

RDT 1.0 在完全(完美)可靠的渠道上工作。为了在层上构建可靠的数据传输协议,我们首先采用通过完全可靠的通道传输数据的简单案例,RDT 1.0 是一个简单的协议。这种数据传输是通过使用 FSM(有限状态机)来显示的,该 FSM 由发送方和接收方的 FSM 分别组成。在 RDT 1.0 中,发送者和接收者各有一个状态,这里的箭头表示协议从一种状态到另一种状态的转换。



发送方:
RDT 很简单,它从上一层的段中获取数据,它删除段头并使用 make_pkt 以数据包的形式制作数据,并使用 udt_send 将数据包发送到通道(不可靠的数据传输)。



接收方
RDT 通过 rdt_rcv (packet) 从底层通道接收数据包,使用 extract(packet, data) 从数据包中移除数据,并将数据向上传递到上层。 rdt_rcv (packet) 事件来自过程调用,即来自协议较低层的 rdt_rcv() 包。

在该协议中,数据单元和数据包之间没有区别,在这种情况下,所有数据包以统一的方式从发送方流向接收方,因此接收方不需要反馈来告诉发送方是否接收到数据包.