【计算机网络】湖科大微课堂笔记 p24-27 可靠传输的基本概念和实现机制

可靠传输的基本概念

在这里插入图片描述
在这里插入图片描述
总结:
在这里插入图片描述

可靠传输的实现机制

在这里插入图片描述

停止-等待协议SW

发送方发送数据,接收方判断是否误码:

  • 若没有误码,则接收数据并发送ACK,然后发送方就发送下一串数据。
  • 若误码,则丢弃数据并发送NAK,则发送方重传相同数据。

(因此发送方发送完数据不能立即删除其数据缓存。)
这样就实现了发送方发送什么,接收方就能接收到什么。

确认和否认判断是否误码。
在这里插入图片描述
不过实际情况会更加复杂:
超时重传的情况:发送方发送的数据在路途中丢失了。
在这里插入图片描述

确认丢失:接收方发送到确认数据丢失了,导致发送方超时重传,发送了重复的数据。
在这里插入图片描述
如何判断数据是否重复?给数据编号:
在这里插入图片描述
确认迟到:接收方发送的确认分组迟到而导致发送方重传,因此接收方会发送重复的确认分组:若没有对确认分组编号,那么发送方就会以为这是对下一个数据的确认。

因此对确认分组也要编号,当发送方收到重复的确认分组时,将其丢弃。
在这里插入图片描述
不过,数据链路层的点对点信道很少出现确认分组迟到的情况,因此可以不用给确认分组编号。

SW小结

在这里插入图片描述
SW的信道利用率:
TA一般远小于TD,可以忽略。
如果RTT远大于TD,则其信道利用率非常低。
在这里插入图片描述
举个例子:
紫色框是发送时延TD,橙色框是往返时间RTT。
在这里插入图片描述
一个例题:
在这里插入图片描述
解:
在这里插入图片描述

回退N帧协议GBN

引入:
在这里插入图片描述
回退N帧协议GBN,是在流水线传输的基础上,利用发送窗口来限制发送方可持续发送数据分组的个数。

举个例子:
无差错情况
已知发送窗口WT=5,接收窗口WR=1;

  1. 发送方将序号落在发送窗口内0-4号数据分组依次连续发送出去。
  2. 接收方按序接收它们。每接收一个,接收方就按序向前滑动一个位置,并给发送方发送针对所接受分组的确认分组。
  3. 0-4号确认分组经过互联网的传输正确到达了发送方。
  4. 发送方每接收一个确认分组,发送窗口就向前滑动一个位置。这样就有新的序号落入了发送窗口。
  5. 发送方可以从收到确认的分组从缓存中删除。
  6. 接收方可以把已接收的数据分组交付上层处理。

累计确认
在这里插入图片描述
这样,即使确认分组丢失,发送方也可能不必重传。

缺点:不能像发送方及时反映出接收方已经正确接收的信息。

误码
假设发送窗口内的数据序号为:5、6、7、0、1.
发送的时候5号数据出现误码。
接收方检测出误码后会将5号数据丢弃。此时接收窗口内数据编号为5,而接下来的6、7、0、1号数据与接收窗口内的序号不匹配,所以也会被丢弃。并对之前按序接收的最后一个数据分组进行确认(也就是确认4号及之前数据发送对了,发送的是ACK4),每丢弃一个数据分组,就发送一个ACK4.
发送方之前接收过ACK4,此时再接收,说明发送的数据误码了,就重传(5、6、7、0、1)。

在这里插入图片描述
如果WT超过取值范围,会出现什么情况
我们将WT取值为8,会发现:可能出现接收方无法分辨新旧分组的情况。(视频9:18-10:13 视频动图讲的很清晰)

GBN小结

在这里插入图片描述
在这里插入图片描述

一个练习:

解:
在这里插入图片描述

选择重传协议SR

在这里插入图片描述
工作原理:
在这里插入图片描述
收到0,1号数据,因为是正确且按序到达的,则接收窗口向前滑动:
收到3号数据,由于不是按序到达的,则不滑动。
只发送0、1、3号的确认分组。
在这里插入图片描述
发送方收到0、1、3号确认分组后,由于0、1是按序的,所以发送窗口向前滑动2格。
发送方可以把0、1号数据从缓存中删除,接收方可以把0、1号数据交付给上层处理。
由于4、5落入发送窗口中,所以4、5号数据也会发送出去。
发送方收到3号确认分组,由于它不按序,所以滑动窗口不会滑动。
在这里插入图片描述
接收方收到4、5号数据后,发送4、5的确认分组。
假设2号数据分组的超时重传计时器超时了,则会重传2号。
在这里插入图片描述
发送方收到4、5的确认分组,会标记,这样就不会超时重传。
发送方发送的2号到达接收方后,接收方发送一个2好确认分组,且此时接收窗口内的四个全都到达了,则接收窗口向后滑动4格。
在这里插入图片描述
发送方接收到2号数据分组的确认分组后,发送窗口向后移动4格。
然后又是新的4个数据的传输。
在这里插入图片描述
选择重传协议的发送窗口和接收窗口的尺寸问题
在这里插入图片描述
若发送窗口和接收窗口超过了他们的尺寸范围会发生什么
发送方发送0-4这5个数据,接收方收到后发送它们的确认分组,并且滑动窗口向后移动5格。
在这里插入图片描述
若0号的确认分组丢失了,发送方没有收到0号窗口的确认分组,则超时重传。
由于0号在接收方的接收窗口内,接收窗口会接受它。
但是,之前其实已经接收了0号数据了——也就是说:如果发送窗口和接收窗口的尺寸超过了取值范围,就会使接收方无法分辨新、旧数据分组,进而出现分组重复这种传输差错。
在这里插入图片描述

SR小结

在这里插入图片描述
一道相关题目:
在这里插入图片描述
解:
(竟然不用考虑3号帧)在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

karshey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值