计算机网络:可靠传输工作协议(停止等待协议、连续ARQ、多帧滑动窗口)

本文讲解了计算机网络中如何实现可靠传输的工作协议

一、可靠传输

我们首先要知道,什么是可靠传输。
可靠传输是指,在传输过程中,要保证数据传输的可靠性,包括帧丢失重传的解决。

最简单的可靠传输方法: 停止等待协议
在这里插入图片描述
简单来说就是:

  • 我给你写了一封信,寄出去(存在丢失的可能),只有确认你收到回信我才继续写信
  • 你收到信,寄给我一封“已收到”(存在丢失的可能
  • 如果我收到“已收到”,则继续邮寄下一封信
  • 如果出现我寄出的信丢失,有两种方法进行确定,一是超时后,你邮寄给我“未收到”的信,我进行重发;二是我规定一个时间没收到你的回信我就重发。

可以看出,这种方法效率非常低下,但是可靠性确实是得到了保证,接下来我们需要对其加以改善,如果网络这样的话,太慢了。

二、流水线传输

在计算机组成原理中我们学到过,指令的执行可以使用流水线来提高CPU利用率,这里我们也可以利用流水线思想提高计算机网络的利用率。
在这里插入图片描述
对于可靠性的问题,就要看下面的协议进行解决了。

三、连续ARQ协议 / GBN协议

3.1 实现原理

和流水线一样,发送方可以连续发送数据,出现错误的话,返回出错的地方重新发送出错之后的所有帧(回退N帧)。

采用否认帧的方式:
在这里插入图片描述
采用超时重传的方式:

在这里插入图片描述

3.2 GBN缺陷

  1. 回退N帧效率低下,很多帧需要重传
  2. 需要对帧进行编号,进一步加大系统开销

四、滑动窗口

以上三种方法,都有一个共同点,就是发送方可以传输一个或多个数据,但是接收方只能接收一个帧。

针对这种情况,可以进行进一步优化:在发送方和接收方都维持一个窗口。

  • 发送方:维持一个固定长度的窗口,只有收到一个最左边的确认帧才对窗口进行右移。
  • 接收端:收到数据帧的发送序号落入接收窗口内, 才允许将该数据帧收下,否则一律丢弃。

在这里插入图片描述
特点:

  1. 如果接收窗口大小是1,则退回了GBN协议。
  2. 如果接收窗口和发送窗口大小都是1,则退回了停止等待协议。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小子挺不错

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

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

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

打赏作者

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

抵扣说明:

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

余额充值