当前位置: 首页 > article >正文

计算机网络滑动窗口三种协议全解析:原理和应用!!!

一、流量控制、可靠传输与滑动窗口机制

二、停止等待协议(S-W)

数据帧丢失:发送方会启动”计时器“,如果超时就会自动重传

确认帧丢失:发送方接收不到,确认帧,计时器超时会自动重传,接收方会丢弃接收到的重复帧,并将重复帧的ACK返回

为什么一定要给帧编号呢?如果没有”帧序号“会发生什么?

接收方将无法判别”重复帧“

三、后退N帧协议(GBN)

数据帧丢失:发送窗口中间有数据帧丢失时,若第i号帧超时,则需要将i号帧及其之后的数据帧全部重传。当接收到窗口之外的数据帧时,若目前已经正确接收数据帧,则返回已经正确接收的最后一个帧的ACK(确认帧),若还没有接收到数据帧,则直接丢弃

确认帧丢失:若第i号帧超时,则需要将i号帧及其之后的数据帧全部重传。收到一个非法帧时,返回已经正确接收的最后一个帧的ACK

收到一个“非法帧”时,接收方会将此帧丢弃,并返回目前已接收最后一个正确帧的ACK_i,提醒发送方“后退”回i+1号帧重新发送

注意:“非法帧”包括落在接收窗口之外的帧检测出差错的帧

缺点:如果接收方接收帧的速度很慢,或在信道误码很高的情况下,可能会导致发送方的发送进度经常需要”后退“,传输效率低下

四、选择重传协议(SR)

数据帧丢失:每个帧发出时,设置“计时器”,哪个发送方未接收到ACK超时,就重传哪个

数据帧因差错而被丢弃:接收方接收的第i号数据帧检测出错误,接收方将其丢弃,给第i号发送方返回一个NAK(否认帧),第i号发送方接收到NAK后,发送方(窗口最左侧移动到第一个没有接收到ACK的位置)会重传数据帧,计时器也会重置

确认帧丢失:发送方没有接收到ACK(窗口最左侧移动到第一个没有接收到ACK的位置),发生超时重传,没有接收到ACK的重传,接收方哪个收到重复帧,返回其对应的ACK

五、三种协议的信道利用率分析

SW 协议的信道利用率

理想状态下,信道利用率为 U=T/(T+RTT+TA)

如果确认帧(TA)非常短,可以忽略不计。

信道利用率为 U=T/(T+RTT)

GBN、SR 协议的信道利用率

理想状态下,信道利用率为 U=NT/(TD+RTT+TA)

NTZT+RTT+TA,则最大信道利用率为 1

注意:信道利用率不可能超过 1


http://www.kler.cn/a/509869.html

相关文章:

  • QQ邮箱登录逆向
  • 抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版
  • 深度学习:大模型Decoding+MindSpore NLP分布式推理详解
  • 【PyCharm】连接Jupyter Notebook
  • 阿里云通义实验室自然语言处理方向负责人黄非:通义灵码2.0,迈入 Agentic AI
  • Vulnhub-Tr0ll靶机笔记
  • “AI智慧化服务系统:未来生活的智能管家
  • 数据可视化:让数据讲故事的艺术
  • PostgreSQL版本选择
  • VUE3 Vue Router 是官方的路由管理工具
  • 【机器学习实战入门】基于深度学习的乳腺癌分类
  • SpringBoot的Bean-中级-作用域
  • 恒比鉴相器(CFD)初探
  • [免费]SpringBoot+Vue小区物业管理系统(高级版)【论文+源码+SQL脚本】
  • Mysql--实战篇--mybatis cache(一级缓存,二级缓存,子查询主键主查询全部,查询条件加索引,覆盖索引等)
  • 技术晋升读书笔记—华为研发
  • 搭建一个基于Spring Boot的书籍学习平台
  • 机器学习经典无监督算法——聚类K-Means算法
  • LabVIEW桥接传感器数据采集与校准程序
  • vue项目创建与运行(idea)
  • 网络安全技术之网络安全
  • 三维扫描赋能文化:蔡司3D扫描仪让木质文化遗产焕发新生-沪敖3D
  • leetcode76-最小覆盖子串
  • 在 Web 应用中集成多种地图 API 的实现与管理
  • WinForm实现无边框拖动的两种方式
  • 三台 Centos7.9 中 Docker 部署 Redis 哨兵模式