一 什么是流量控制

就是在接收端拥堵的时候,发送端应减少报文段的发送;在接收端不拥堵的时候,可以恢复到正常的报文段的发送。是通过滑动窗口实现的,通过窗口来控制流量。

二 如何进行流量控制的

#1 发送端向接收端发送连接请求,接收端对请求进行确认,确认包里会告诉发送端它的接受窗口window是多大(能连续接收多少个字节),发送端后面就会根据这个window设置发送端自己的发送窗口大小

#2 当接收窗口来不及处理发送端报文段的时候,则会调整(缩小)window窗口,接收端此时根据接收端确认包里的window窗口动态调整(缩小)自己的发送窗口

#3 如果接收窗口已经不能处理任何发送端的报文段,如果发送端继续发送,这些数据段会被丢弃的,所以接收端会在确认包里设置window=0. 发送端收到确认报文,将自己发送窗口window设置为0,此发送端停止发送报文段

#4当接收端重新获取可用空间的时候,会给发送端传输一个窗口更新包,发送端收到之后,就会调整自己的window大小,然后继续向接收端发送窗口内的报文段

#5 如果接收端的窗口更新数据包丢失了,怎么办了?这时候陷入死锁状态,发送端等待接收端的更新请求,接收端等到发送端。

所以我们还在发送端设置了计时器,间歇性的查询接收端,强制要求接收端返回窗口大小,当计时器超时就会触发这个请求

网络协议:TCP流量控制相关推荐

  1. 网络协议-TCP和UDP最完整的区别介绍

    网络协议-TCP和UDP最完整的区别介绍 前言:为了方便后期翻看,公众号在慢慢整理所发文章,关于Java网络编程内容的文章,可以在菜单栏-文章整理-进阶篇模块中查看. TCP与UDP基本区别   1. ...

  2. 网络协议 TCP 数字编号和重传机制

    网络协议 TCP 数字编号和重发 1. TCP 的数字编号 2. TCP 确认机制的特点 2.1 TCP一次可发送多个数据包 2.2 仅对连续接收的数据段进行确认 2.3 不连续的数据将先缓存 3. ...

  3. 网络协议:TCP/IP协议,你看懂了吗?

    这样的TCP/IP协议,你看懂了吗? 本文章转载自https://blog.csdn.net/yulyu/article/details/69062288 精通 TCP/IP,熟练使用 Socket ...

  4. 网络分层,网络协议TCP/IP模型,OSI模型

    TCP\IP模型是多种协议的综合,4层模型(也有说5层的). 其中最重要的就是分层结构和主要协议. 1.应用层(SMTP,HTTP,FTP) 2.传输层(TCP,UDP) 3.网络互联层(IPv4,I ...

  5. 网络协议-TCP、IP协议和互联网协议群

    目录 TCP/IP协议群简介(互联网协议群)(Internet Protocol Suite) 应用层(Application)(合并简化了展示层,会话层) 传输层(Transport) 网络层(In ...

  6. 互联网协议 — TCP — 流量控制

    目录 文章目录 目录 TCP 流量控制 流量控制处理流程 TCP 流量控制 TCP 流量控制由滑动窗口(Sliding Window)技术支撑.Sender 根据 Receiver 返回 ACK 中包 ...

  7. 互联网协议 — TCP — 流量控制(网络质量保障)

    目录 文章目录 目录 TCP 的流量控制 当应用程序没有及时读取缓存时 服务端系统资源非常紧张时 窗口关闭 糊涂窗口综合症 TCP 的流量控制 发送方不能无脑的发数据给接收方,要考虑接收方处理能力.如 ...

  8. 网络协议 — TCP协议与HTTP协议

    HTTP HTTP协议是超文本传输协议(默认端口80),服务器传输超文本到本地浏览器的传送协议,HTTP是一个基于TCP/IP通信协议来传送数据的,HTTP就是客户端→服务端的数据传输. 大致工作流程 ...

  9. 网络协议 -- TCP协议(1)特性及协议首部

    一.TCP特性 尽管TCP和UDP都是用IP协议作为网络层,但TCP却提供和UDP完全不同的网络服务.TCP是面向连接的.稳定可靠的字节流服务.TCP首部的很多字段都是为了实现这2大特性而设计的. 在 ...

  10. 网络协议——TCP/IP协议

    简介: TCP(传输控制协议)和 IP(网际协议)是两个独立且紧密结合的协议,负责管理和引导数据报文在 Internet上的传输.二者使用专门的报文头定义每个报文的内容.TCP 负责和远程主机的连接, ...

最新文章

  1. R删除数据列基于dplyr包
  2. 洛谷P1119 灾后重建[Floyd]
  3. linux(ubuntu)~终端(terminal)shell操作指令
  4. 高效新思路!实例分割算法!腾讯、华科出品!入选ICCV 2021!
  5. 内卷到逆天!机器学习领域不读PhD,我配不配找工作?
  6. linux下python 2.4升级到 python 2.5
  7. EasyUI之Form load函数IE8下设置Radio或Checkbox的BUG
  8. 闪耀在UNIX传奇往事中的启示,UNIX见证者带你一览究竟
  9. 基本概念1 IC设计流程
  10. 深入Jetty源码之HttpGenerator
  11. 我与OTC的诸位大神
  12. JAVA-SE基础篇-位运算
  13. android 拦截qq消息,[Android] QNotified_v0.7.1-beta_QQ辅助增强XP模块【可屏蔽下拉小程序/屏蔽@全体/消息防撤回】...
  14. alsa声卡驱动一:声卡的创建
  15. 如何用邮编查询API快速开发
  16. SAP 报表设计器相关TCODE
  17. html实现图片裁剪,JavaScript html js图片切割系统,裁剪,图片处理
  18. 前端请求路径为何不能写成http://localhost:8080/**/** ?
  19. Axure软件的使用
  20. el-date-picker由中国时间转换成格林尼治时间

热门文章

  1. arcgis加载dwg显示一个点_DWG/DGN格式导入Arcgis;转化为shp格式;更改地理坐标;导入Google Earth...
  2. Java网络编程之Socket和ServerSocket详解
  3. python 艺术照片滤镜_Python实现PS滤镜Fish lens图像扭曲效果示例
  4. Go语言基础(一)——HelloWorld
  5. c c和java最大的区别是什么,“一般”和“一般”之间的区别是什么,类型在C ++和Java?...
  6. 2016年4月计算机组成原理试题答案,2019年4月成人自考计算机组成原理真题及答案解析...
  7. linux自动化处理excel,将ansible执行结果进行处理,变成excel,ansibleexcel
  8. tshark筛选、过滤特定ip的数据包
  9. python sklearn 绘制决策树模型的节点图
  10. 推荐系统学习(四)推荐系统学习资料(补充中...)