1.拥塞窗口

发送方窗口的大小不仅取决于接收方,而且还取决于网络拥塞的情况。

发送方有2种信息:接收方通告的窗口大小和拥塞窗口的大小,实际的窗口大小事这两者中的最小者。

实际窗口大小 = min(rwnd,cwnd)

rwnd:接收窗口大小。

cwnd:拥塞窗口大小。

2.拥塞策略

TCP处理拥塞的一般策略基于3个阶段:慢速启动,拥塞避免和拥塞检测。

2.1.慢速启动:指数增长

TCP拥塞控制所使用的一种算法称为慢性启动(slow start),这种算法是基于这样的想法,它在开始时设置拥塞窗口大小(cwnd)
为一个最长段长度(MSS),每次接到一个确认时,窗口的大小就增加一个MSS值。窗口是慢速启动的,但是按指数规则增长。
下图说明了慢速启动的过程。(图中假设rwnd比cwnd大得多,这样发送方窗口大小永远等于cwnd,每段都是单独进行确认的)

Linux疑难杂症解决方案100篇(十三)-TCP中的拥塞控制相关推荐

  1. Linux疑难杂症解决方案100篇(十九)-什么是TCP协议中的“三次握手,四次挥手”?带你深入探讨下

    前言 以下是博主精心整理的专栏,需要的小伙伴可自行订阅. 深度学习100例全系列详细教程  深度学习算法原理介绍及应用案例 tensorflow从入门到精通100讲 深度学习框架TensorFlow的 ...

  2. Linux疑难杂症解决方案100篇(十二)-ubuntu中安装ftp服务器

    ubuntu安装ftp服务器 1. 安装vsftpd ~$ sudo apt-get install vsftpd ubuntu10.10自己装了,这步省略. 2. 配置vsftpd 修改vsftpd ...

  3. Linux疑难杂症解决方案100篇(五)-SHELL脚本中case语句的多种使用场景

    目录 掌握case语句的基本语法结构 掌握函数的定义及调用 掌握常用的正则表达式元字符含义 一.case语句 case语句为多重匹配语句 如果匹配成功,执行相匹配的命令 1. 语法结构 说明:patt ...

  4. Linux疑难杂症解决方案100篇(十一)-ubuntu crontab 详细规则及不执行时的解决方法

    LINUX系统中crontab命令详细用法: 如果发现您的系统里没有这个命令,请安装下面两个软件包. vixie-cron crontabs crontab 是用来让使用者在固定时间或固定间隔执行程序 ...

  5. Linux疑难杂症解决方案100篇(十四)-Linux scp 使用详解

    前言 一般情况,本地网络跟远程网络进行数据交抱,或者数据迁移,常用的有三种方法,一是ftp,二是wget /fetch 三是,rsync 大型数据迁移用rysync,其次用fetch/wget ,最次 ...

  6. Linux疑难杂症解决方案100篇(十八)-Linux 或 Windows 上实现端口映射

    前言 通常服务器会有许多块网卡,因此也可能会连接到不同的网络,在隔离的网络中,某些服务可能会需要进行通信,此时服务器经过配置就可以承担起了转发数据包的功能. 以下是我为大家准备的几个精品专栏,喜欢的小 ...

  7. Linux疑难杂症解决方案100篇(十五)-万字长文带你深入Linux 内核学习:环境搭建和内核编译

    一.linux内核学习之一:环境搭建--安装Debian7.3 本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基 ...

  8. Linux疑难杂症解决方案100篇(二十)-万字长文带你读懂正则表达式(建议收藏)

    前言 在学编程的过程中,我们可能听过正则表达式,但是不知道它是什么,我一开始听到正则表达式时,我在想正则表达式是啥?它用来干嘛的?学起来难不难的?. 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自 ...

  9. Linux疑难杂症解决方案100篇(十一)-常用Linux命令,助力工作更轻松便捷

    前言 linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心. 以下是我 ...

最新文章

  1. 宇宙膨胀背后的故事(卅三):宇宙之有生于无
  2. 在Fragment中实现百度地图,定位到当前位置(基于SDKv2.1.0)
  3. python初学者视频-python从入门到精通视频(全60集)
  4. 关于标准输入输出流和string类
  5. @SpringBootApplication
  6. python 数据库查询结果邮件提醒_python读取postgresql数据库并发送相关提醒邮件
  7. linux 外壳的概念,Linux 与 Linux 发行版的一些概念
  8. 电子学会图形化三级编程题解析含答案:冬天下雪了
  9. Unity编程-初级篇
  10. 如何在网页中插入视频
  11. Semantic-UI 的词语
  12. Python 学生管理系统+mysql+Flask
  13. Vue新建项目与npm使用.
  14. led数码显示控制plc实验_实验三led数码显示控制plc实验报告
  15. 嵌入式linux中断驱动,嵌入式Linux下硬件中断驱动程序的开发.pdf
  16. c语言二维数组对角线输出字符,输出二维数组对角线上的数 c语言 二维数组 对角线相加...
  17. 读书笔记--关于PPT的制作
  18. python输出菱形字符图案(含有空格)
  19. 安全工具之TrueCrypt
  20. FCKeditor 及 xhEditor 使用详解——HTML可视化编辑器

热门文章

  1. JS图表工具FusionCharts调整图表百分比大小
  2. 记录一些比较有趣的网站,来给自己的网站设计积累思想
  3. ip6tables 无法基于端口过滤IPv6 分片报文问题解决
  4. linux内核模块编译出现找不到include/generated/asm/unistd_32.h” 问题解决
  5. mysql 5.8 新特性_MySQL 5.4的新特性解析
  6. dirver时区_JDBD连接MySQL中的驱动与时区问题
  7. c语言调用系统当前时间的函数,c语言获取系统当前时间的函数,求讲解?
  8. efcore mysql autofac_Asp.NetCore3.1版本的CodeFirst与经典的三层架构与AutoFac批量注入
  9. 邮箱解决任务间资源共享问题
  10. C#中类的属性(Property)