码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 流量控制&可靠传输机制&停止-等待协议


    注:最后有面试挑战,看看自己掌握了吗

    文章目录

    • 链路层
    • 流量控制
      • 和传输层的流量控制区别
    • 停止-等待协议
    • 为什么要有停止等待协议
      • 无差错情况
    • 滑动窗口协议
      • 后退N帧协议GBN
      • 选择重传协议SR
    • 可靠传输
    • 流量控制

    🍃博主昵称:一拳必胜客
    🌸博主寄语:欢迎点赞收藏关注哦,一起成为朋友一起成长;
     特别鸣谢:木芯工作室
    特别鸣谢:木芯工作室 、Ivan from Russia


    链路层

    流量控制

    1. 较高发送速度和较低接受能力的不匹配
    2. 流量控制也是数据链路层的一项重要工作

    和传输层的流量控制区别

    1. 传输层—端到端流量控制-------接收端发送给一个窗口公告
    2. 链路层------点对点流量控制,相连结点之间--------接受不下就不回复确认

    停止-等待协议

    1. 每发送完一个帧就停止发送,等待对方的确认,再确认后再发送下一个帧
    2. 效率低

    为什么要有停止等待协议

    1. 除了比特出差错,底层还会出现丢包问题

    无差错情况

    1. 发送0帧----------------回复ACK=0-------------确认帧0
    2. 发送1帧----------------回复ACK=1------------确认0帧

    滑动窗口协议

    1. 发送窗口-------连续的五六个帧组成发送窗口,连续发出去
    2. 等接收窗口接收到然后返回确认信息一个--------------发送窗口逐个往后滑动
    3. 其实 停止-等待---------------发送窗口为1的滑动窗口协议!

    后退N帧协议GBN

    1. 发送窗口>1 , 接收窗口=1
    2. 可不可以只传出错的帧?
    3. 解决办法:设置单个确认同时加大接收窗口,设置接收缓存,缓存乱序到达的帧
    4. 每个帧都有自己的计时器

    选择重传协议SR

    1. 发送窗口>1 , 接收窗口 >1
    2. 加上接收窗口
    3. -----------缓存--------收到且确认的
    4. 来者不拒(窗口内的帧)
    5. 一直到所有帧都被接受,这是才可以将一批帧按序号交付给上层(网络层)
    6. 然后向前移动窗口
    7. 超时重传
    8. 滑动窗口长度----------不大不小----发送窗口最好等于接收窗口
    9. 直冲传出错的真
    10. 接收方有缓存

    可靠传输

    1. 发送端发啥,接收端收啥
    2. 帧的丢失,重复--------接收端都要进行控制,把丢掉的帧,失去的帧恢复到正常状态

    流量控制

    1. 如果接收方收不下就不给确认-----------–滑动窗口--------------流量控制
    2. 发送方自动重传-------------------------------滑动窗口-------------可靠传输
  • 相关阅读:
    PGCCC|【PostgreSQL】PCM认证考试大纲#postgresql 认证
    Nacos、ZooKeeper和Dubbo的区别
    Flutter.源码分析.flutter/packages/flutter/lib/src/widgets/scroll_view.dart/ListView
    RFSoC应用笔记 - RF数据转换器 -07- RFSoC关键配置之RF-DAC内部解析(一)
    nacos服务端--切换数据源
    Spring application.properties
    数组与list的转化分析
    go语言 go mod生成
    【web-攻击验证机制】(3.2.2)验证机制设计缺陷:证书传输易受攻击、密码修改功能、忘记密码功能
    WeakHashMap 源码解析
  • 原文地址:https://blog.csdn.net/weixin_43796670/article/details/127896607
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号