一文带你看流水线协议、回退N步以及选择重传

本文介绍了流水线协议如何提高数据传输效率,以及回退N步(GBN)和选择重传(SR)协议的工作原理。GBN允许发送多个分组但会因累积确认导致不必要的重传,而SR则通过仅重传丢失的分组优化了这一问题。同时,文章探讨了这两个协议的FSM描述、序号管理和存在的问题。
摘要由CSDN通过智能技术生成

写在前面:这里是小王成长日志,一名普通在校大学生,想成学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人,平时博客内容主要是一些学习笔记,项目实战笔记,一些技术的探究和自己的一些思考。欢迎大家关注,你们的每一个评论点赞关注我都会仔仔细细去看的。有任何问题欢迎交流,我会尽我所能帮助大家的,共创CSDN美好环境。

自学计算机网络系列,这几天正在整理笔记,如果有错,还请各位大佬指正

1.rdt 3 . 0 的不足

  • 之前我们聊了rdt(reliable data transfer)可靠数据传输的三个版本,讨论了如何处理比特差错和丢包的情况,如果不太清楚,可以回去看看-RDT三个版本

  • 在最后我们提出了RDT功能正确但性能并不让所有人满意的问题,其源头在于其是一个停等协议,这样的一个停等协议严重浪费了网络资源(在等的信号发送过程中)

  • 所以我们自然而然就想要寻找一份新的协议或者尝试弥补rdt协议的缺憾.考虑一下流水线协议 :我们一次传输多个分组,因此接收方回复的ACK报文也是一次多个,提高了效率

  • 停等协议与流水线协议的比较(图例)
    在这里插入图片描述

2.流水线技术对可靠数据传输协议带来的影响

  • 1.为了防止冗余分组,在rdt协议中我们为每个分组附加上序号1或0,而在流水线协议中,因为一次性发送多个分组,所以必须增加序号范围

    • 因为在每个输送中的分组必须有唯一的序号
    • 在也可能有多个待接收确认报文
  • 2.协议的发送方和接收方两端必须缓存多个分组

    • 至少应该缓存哪些已发送待还没有被确认的分组
  • 3.所需序号范围和对缓冲的要求取决于数据传输协议如何处理丢失、损坏及延时过大的分组 。

  • 4.解决流水线的差错回复(分组发生比特差错或者直接丢包)的两种基本方法

    • 回退 N 步 (Go- Back- N,GBN)
    • 选择重传 (Selective Repeat. SR)

3.回退N步(Go- Back- N,GBN,滑动窗口协议)

  • 在回退 N 步 (GBN) 协议中,允许发送方发送多个分组(当有多个分组可用时)而不需等待确
  • 47
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 47
    评论
评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值