码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • TCP/IP(十三)滑动窗口


    一   滑动窗口

     通信双方要'读懂'对方的'反馈'信息,并进行'调整'

    TCP滑动窗口原理终于清楚了

    TCP Window Full 和 TCP Zero Window

    零窗口通知与窗口探测

    1. ++++++++++++++ "特殊的场景" ++++++++++++++
    2. 1、TCP Window Full 是站在'发送端'角度说的
    3. 特点: 表示发送端'不能再发数据'给对方,除非发送的数据包'得到ACK'响应
    4. 2、TCP zero window 是站在'接收端'角度来说的
    5. 特点: 是'接收端'接收窗口'满',自动告知'发送方'不能再发送数据给'自己'
    6. 3、TCP中的Window窗口
    7. 特点: TCP的'流量控制',窗口'起始于'确认序号字段指明的值,这个值是'接收端期望'接收的字节数

    ①   引入窗口概念的原因

    1. 图谱'解读'
    2. 传输方式'缺点':数据包的往返时间越'长',通信的效率就越'低'

    1. 引入: 窗口 'windows'
    2. 补充: 滑动窗口协议并'不是TCP特有'的

    操作系统 缓冲区(buffer)与缓存(cache)

    ②  累计确认

    1. 窗口大小: 就是指'无需等待 ACK确认应答',而可以'继续'发送数据的'最大 max'值
    2. 通俗: 在发送方的'能力范围内',我能'无脑'的发送'多少'数据

    ③  窗口大小由哪一方决定?

    1. 1、通常窗口的大小是由'接收方的窗口大小'来决定的
    2. 2、发送方发送的数据大小'不能超过'接收方的窗口大小,否则接收方就'无法正常接收'到数据

    ④  发送方的窗口

    1. 类比: 高速路的'收费站'为例
    2. ​1、还'未进入入口收费站'的车辆
    3. 2、已'进入收费站'但'未进入高速路'的车辆
    4. 3、在'高速公路上行驶'的车辆
    5. 4、到达'出口收费站'的车辆
    6. ​++++++++++++++++++ "分割线" ​++++++++++++++++++
    7. 重点: 体会'1'、'2'、'3'、'4'
    8. 细节: '发送'窗口包括'可用'窗口,明确二者的'概念'和'关系'
    9. 会续通过'wiresahrk'分析'WIndows'滑动窗口

    +++++++++++ "继续探究" +++++++++++

    ⑤  程序是如何表示发送方的四个部分的呢?

    1. '发送'窗口大小 = SND.WND
    2. '可用'窗口大小 = SND.WND -(SND.NXT - SND.UNA)

    ⑥  接收方的滑动窗口

    1. 对于'接受方滑动窗口',我们也可以把'数据包'看成'车辆',分类它们的'状态':
    2. 1、还'未到达出口收费站'的车辆:状态为Not Received
    3. 特点: 表示'还没有被接收'的数据
    4. 2、到达出口收费站但'未完成缴费'的车辆:状态为Received Not ACK
    5. 特点: 表示已经'被接受'但是'还没有回复' ACK
    6. 3、缴完费并'离开出口收费站'的车辆:状态为Received and ACK
    7. 特点: 表示已经'被接受并回复'了 ACK

    ​Zero Window是指TCP连接中'接收方'的'接收窗口'大小为'0'的情况

    ⑦  接收窗口和发送窗口的大小是相等吗?

    ⑧  滑动窗口小结

  • 相关阅读:
    【论文笔记】UniPAD: A Universal Pre-training Paradigm for Autonomous Driving
    Spring中Bean的作用域和生命周期
    ubuntu16 虚拟机单盘扩容
    优先级队列(堆)
    4. RxJava过滤操作符
    Mybatis简介(二)
    编写函数isprime(int a),用来判断自变量a是否为素数,若是素数,函数返回整数1,否则返回0
    python简易定时调度
    友菜友饭荣获“互联网最具投资价值品牌”殊荣,掀起私厨到家新时代
    【数智化人物展】同方有云联合创始人兼总经理江琦:云计算,引领数智化升级的动能...
  • 原文地址:https://blog.csdn.net/wzj_110/article/details/133788757
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号