1. 流量控制

1.1 定义

**流量控制:**让发送方的发送速率不要太快,要让接收方来得及接收

1.2 滑动窗口机制

****

2. 拥塞控制

2.1 定义

  • 拥塞:对网络中某一资源的需求超过了该资源的可用部分
  • 拥塞控制防止过多的数据注入到网络中,这样使得网络中的路由器或链路不致过载

区别:

  • 拥塞控制全局过程,涉及所有的主机和路由器
  • 流量控制端到端,只涉及两个主机

2.2 拥塞控制的作用

两种控制方法

  • 开环控制:力求避免拥塞,提前设计
  • 闭环控制: 基于反馈处理拥塞

2.3 拥塞控制的算法

拥塞窗口

  • 状态变量,动态变化
  • 大小取决于网络的拥塞程度

a. 慢开始——试试水多深

由小到大逐渐增加拥塞窗口数值

每经过一个传输轮次,拥塞窗口cwnd就加倍。

b. 拥塞控制——快爆炸了,得缓缓

超过慢开始门限,变线性增加

  1. 超过ssthresh: 加法增加,拥塞避免
  2. 超时:ssthresh=cwnd/2=12
  3. 拥塞避免
  4. 3-ACK 快重传:ssthresh-=cwnd/2=8
  5. 快恢复

c. 快重传——个别数据丢失

尽早知道个别数据包的丢失

d. 快恢复——不用小题大做

在快重传之后,不用重新慢开始,而是进行拥塞避免。

2.4 总结

四、TCP中的流量控制和拥塞控制相关推荐

  1. TCP中的流量控制和拥塞控制机制

    一. 流量控制 1. 流量控制和拥塞控制两者区别 流量控制:是端到端的控制,例如A通过网络给B发数据,A发送的太快导致B没法接收(B缓冲窗口过小或者处理过慢),这时候的控制就是流量控制,原理是通过滑动 ...

  2. javaEE 初阶 — 传输层 TCP 协议 中的流量控制与拥塞控制

    文章目录 1. 流量控制 2. 拥塞控制 TCP 工作机制: 确认应答机制 超时重传机制 连接管理机制 滑动窗口 1. 流量控制 流量控制是一种干扰发送的窗口大小的机制,滑动窗口,窗口越大,传输的效率 ...

  3. 详解TCP协议(四)——传输中的流量控制

    文章目录 一.流量控制是什么 二.理解TCP流量控制基础 2.1发送缓存与接收缓存 2.2TCP报文结构中接收窗口字段 2.3滑动窗口协议基础 三.综合应用层.套接字及滑动窗口协议的具体步骤 四.总结 ...

  4. c++tcp接收文件缓存多大合适_网易面经:深剖TCP协议的流量控制和拥塞控制,你懂了吗?...

    1.自我介绍+项目 2.RPC框架和普通http有什么区别和优势? 基于Tcp封装还是http封装的 3.rpc是长连接吗?如果要传输一个特别大的文件 底层还是基于流吗? Nio是一个什么IO模型? ...

  5. 【TCP/IP】流量控制和拥塞控制

    流量控制和拥塞控制 1.流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失.所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收.所以可以说,流量控制是发送 ...

  6. [TCP/IP] TCP如何实现流量控制和拥塞控制

    流量控制:数据的传送与接收过程当中很可能出现收方来不及接收的情况,这时就需要对发方进行控制,以免数据丢失.流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发 ...

  7. UDP(首部)和TCP(首部、三次握手、四次挥手、可靠传输、滑动窗口、流量控制、拥塞控制(慢开始、拥塞避免、快重传、快恢复))

    1.UDP 用户数据报协议 UDP(User Datagram Protocol): 是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部 ...

  8. 你还在为 TCP 重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了...

    每日一句英语学习,每天进步一点点: 来自:小林coding 前言 前一篇「硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题」得到了很多读者的认可,在此特别感谢你们的认可, ...

  9. 计算机网络:TCP滑动窗口的流量控制和拥塞控制

    1. 前言 最近在研究网络通信底层通信原理,所以不得不复习一波计算机网络传输控制协议.那么对于程序开发人员,了解底层网络通信原理,对于我们理解BIO.NIO网络通信十分重要.所以对于程序开发人员来说, ...

最新文章

  1. zabbix监控添加psql数据库和sql_server数据库模板
  2. JGG: 赵方庆、赵翔等开发高效捕获RNA病毒基因组的宏转录组建库测序新技术
  3. SAP MM 采购附加费在收货以及发票过账时候的会计分录
  4. lsb_release查看当前系统的发行版信息
  5. matlab里a1不能做变量,在matlab中将含有变量“w”的表达式存入矩阵元素,无法生成矩阵。哪里出问题了?...
  6. zookeeper:Too many connections 故障处理记录
  7. SLAM和三维重建中的SFM区别
  8. 图像处理:根据像素坐标及像素尺寸大小裁剪遥感影像
  9. Port Security (端口安全)
  10. 央视揭秘“微商传销”:通过朋友圈炫富发展下线
  11. 实习日志 (2021.09.13)
  12. [易飞]取消库位规格书
  13. 数字平原搭建赛博朋克风城市夜景
  14. safari对z-index的兼容性
  15. 城市快速路拥堵治理及一体化交通组织优化经验分享
  16. 泽塔云发布全新AI产品 持续引领超融合云计算创新
  17. 启动计算机 英语,电脑开机显示英文是怎么回事
  18. Android系统开机到Launcher启动流程分析
  19. 201709今日头条测试开发校招面经
  20. Android Studio 快捷键--MAC版详解

热门文章

  1. Qt编写的项目作品6-可视化大屏电子看板系统
  2. 记录Pytorch在Linux环境下安装出现的pillow相关问题解决
  3. 精选(63) 面试官:说一下的 dubbo 的工作原理?注册中心挂了可以继续通信吗?说说一次 rpc 请求的流程?
  4. IM即时通讯项目讲解(一)--实现类似qq微信表情面板无缝切换
  5. python商业数据分析_Python数据分析案例—商圈客流量特征分析
  6. 修改Discuz! X2标题、底部和Archiver页面的版权信息
  7. 【2019-游记】中山纪念中学暑期游Day3
  8. yum操作提示错误:There are no enabled repos.
  9. Object Removal by Exemplar-Based Inpainting 翻译
  10. 物联网之STM32开发一(基础知识)