可靠数据传输协议演变流程

可靠数据传输:传输数据比特不会损坏、丢失,有序发送接收

可靠传输协议的发展
rdt1.0:
rdt1.0是基于理想情况下的协议,假设所有信道都是可靠的,没有比特位的翻转,没有数据包的丢失与超时,所以rdt1.0的传输功能就是 发送方发送数据,接收方接受数据。

rdt2.0:
在有比特差错的情况下 进行可靠数据传输
采用自动重传请求协议:差错检测、接收方反馈(肯定确认ACK,否定确认NAK)、重传。
也被成为停等协议:当发送方处于等待ACK或NAK时,不能从上层获得更多数据
rdt2.1:
考虑ACK或NAK受损
发送方对数据分组编号,接收方只要检查序号。
rdt2.2:
不使用NAK,采用ACK,0 ACK,1来表示接受的状态

rdt3.0:比特交替协议(分组序号在0和1之间交替)
解决具有比特差错和丢包的问题
解决发送方接收不到响应:数据分组或接收方对该分组的ACK丢失
发送方选择一个时间值判定发生丢包,进行重传

协议运行中应用到技术:检验和(检验差错),序号(分组标记),定时器(解决数据丢失),肯定和否定分组

rdt3.0由于以停等方式运行,在RTT时间段内,网络处于空闲状态,而RTT时间段比较长,使得利用率十分的低。解决办法是:允许发送方发送多个分组不用等待确认 叫做流水线
进而引出了:回退N步、选择重传(增加序号范围,增加缓存,解决流水线的差错恢复)

回退N步:
1、N指的是发送未确认和可用于发送的序号数量
2、GBN发送方响应的三种类型:
上层的调用:
要检查发送窗口是否已满(是否有N个已发送但未被确认的分组),未满则发送,满了就
等会,或者缓存。
收到一个ACK:
采用累计确认
超时事件:
回退N步 名字的来源。出现丢失和时延长的分组,超过定时器的时限,则重传所有已发
送但还未被确认过的分组,使用一个定时器
3、接收是按序号顺序接收,不按序就重发

选择重传:
由于GBN容易引起大量重传,降低效率。由此产生SR
SR通过让发送方仅重传那些它怀疑在接收方出错(丢失或受损)的分组,避免不必要的重传。SR接收方确认一个正确接收的分组不管其是否按序,失序将被缓存。超时发送方重传
。重传后再将缓存交付。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值