码农知识堂 - 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. 发送方自动重传-------------------------------滑动窗口-------------可靠传输
  • 相关阅读:
    uniapp项目+SSM实现的安卓的掌上校园系统
    (二)k8-集群创建
    CMake Cookbook by Eric
    上周热点回顾(9.5-9.11)
    安装Fedora 36 Server
    学js的第十七天
    【JavaScript 逆向】Protobuf 协议之万方数据平台正逆分析
    数据库设计的酸(ACID)碱(BASE)原则
    RN:Error: /xxx/android/gradlew exited with non-zero code: 1
    Postgresql运维信息(一)
  • 原文地址:https://blog.csdn.net/weixin_43796670/article/details/127896607
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号