网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

可靠的数据传输技术 RDT 2.1

更新时间:2026年03月27日   作者:spoto   标签(Tag):

RDT 2.1协议是……的后续版本。RDT 2.0在传输层进行数据传输时,可靠的数据传递仍然是一个重要的问题。不过,可靠性问题并不只存在于传输层,也存在于应用层。当使用可靠的协议来与不可靠的层进行通信时,可能会出现可靠性问题。例如,TCP是一种可靠的协议,但它是在IP这种不可靠的协议之上实现的。

RDT 2.0存在的致命缺陷,以及实施RDT 2.1的必要性

RDT 2.0协议能够处理在传输过程中出现的比特错误。该协议引入了正确认和负确认机制:当接收方接收到损坏的数据包时,会发送负确认;而在数据正常传输的情况下,则发送正确认。不过,当确认信息本身已经损坏时,该协议就无法正常工作了。RDT 2.1版本解决了这个问题。

处理损坏的确认信息的方法

  • 为了检测损坏的数据包并恢复该数据包,需要添加额外的校验位。这样做固然不错,但这样就需要额外的数据来处理这些数据包的头部信息。
  • 发送方重新发送了包含损坏的确认信息的数据。不过,这种方法会在接收端产生重复的数据包。这其实是一个缺陷,因为接收端并没有处理重复数据的机制。
  • 通过增加一个用于表示序列号的字段,接收方可以判断出所接收到的数据包是重复的数据包还是需要重新传输的数据包。

方法“3”似乎是可行的,因为它能够识别重复的数据包,同时所需的处理数据量也不大。RDT 2.1就采用了这种机制来处理重复的数据包。

有限状态机中的表示方式

发送方的有限状态机

可靠的数据传输(2.1):发送方的状态机

发送者有限状态机的工作原理

序列号的逻辑是:发送方交替发送序列号为“0”和“1”的数据包。这样,就可以追踪到同一数据包的连续传输过程。

国家1:在图的左上方,处于“等待0”的状态时,系统开始执行操作。此时,系统会等待来自上层应用程序层的消息。当该消息被传输到传输层后,系统会添加带有序列号“0”的传输层头部信息,然后将其发送到网络中。

国家2:(右上方)当数据包被发送到网络中后,它会进入下一个状态。如果接收到的确认信息存在错误,或者收到的是否定确认信息,那么数据包会被重新发送。否则,数据包就会继续进入下一个状态。

国家3还有State-4它们与1和2是相同的,不过它发送的是序列号为‘1’的数据包。

接收器的有限状态机

接收者有限状态机的运作方式

国家1(左图):如果它接收到损坏的数据包,那么它会发送否定确认,以请求重新发送该数据包。否则,如果它接收到序列号为‘1’的未损坏的数据包,那么它就会发送肯定确认。同样地,如果它接收到序列号为‘0’的未损坏的数据包,那么它就会进入下一个状态。

国家2(正确做法):如果它接收到损坏的数据包,那么它会发送否定确认,以请求重新发送该数据包。否则,如果它接收到序列号为‘0’的未损坏的数据包,那么它就会发送肯定确认。同样地,如果它接收到序列号为‘1’的未损坏的数据包,那么它就会进入下一个状态。

RDT 2.1的缺点:

  • 不存在重复的数据包管理情况。
  • 在存在数据包丢失的情况下的频道中,该功能无法正常工作。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料