计算机网络 -可靠数据传输原理 -运输层

本文详细介绍了可靠数据传输的原理,包括rdt协议的不同版本,如rdt1.0的简单发送与接收,rdt2.0的停等协议及其处理比特差错的方式,rdt2.1解决ACK/NAK翻转的问题,以及rdt3.0引入的倒计时定时器来应对分组丢失。此外,还探讨了流水线传输协议,如回退N步(GBN)和选择重传协议的优缺点。
摘要由CSDN通过智能技术生成


需要注意的是,在rdt3.0之前的协议都是以分组肯定会到接收方为前提的。

一、可靠数据传输的小知识点

  1. 可靠运输(rdt)在发送端发送出去以及在接收端接收到的都是要经过不可靠运输(udt)。

二、可靠运输协议中的rdt协议

本段图片均来源于作者springtostring的文章

2.1 rdt1.0

这个协议其实就是完全相信信道不会出现丢失以及乱序。简单的发送方发出去以及接收方接收,接收方不会回复发送方是否收到。这种情况下,双方都不需要进行缓存,发送方接到上级请求之后就直接发送。
在这里插入图片描述

2.2 rdt2.0

在这个协议中他假设的是所有的分组都不会乱序的被接收方接收到。但他可以处理比特差错
而且他还有另外一个名字停等协议让人印象深刻。因为发送方发送一个分组之后就会等待接收方发出ACK分组的时候才会继续发下一个分组,如果等到NAK分组的话会重新发送刚才发送失败的分组,需要注意的是,如果一直接收不到ACK/NAK的话他就会一直等待。

2.2.1 rdt2.0如何处理比特差错?

引入ACK和NAK的报文对每一次接收方接到的报文进行回复。如果接收到比特没有差错的话,接收方会返回一个肯定确认;如果接收到的分组存在比特差错的话,接收方会返回一个否定确认。那我就要疑问了,**有没有否定不确认呢?**有,就是分组在路上丢失了,但在rdt2.0协议中不会讨论,我们在后面的协议中会进行说明。

ACK/NAK分组需要什么呢?

理论上ACK/NAK分组只需要一个字节就可以完成任务,1表示ACK,0表示NAK。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值