搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
AllinToyou
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
【Android studio】编译没有错误运行时闪退问题_编译android源码 闪退
2
Redis-缓存更新策略
3
Python程序开发——第四章 字典与集合_print(a[ 'name'])
4
Java基础语法——数组_java数组语法
5
快速入门nebula graph
6
在uniAPP中编写和低功耗蓝牙BLE通讯的程序-微信小程序-安卓app实测_uni.onblecharacteristicvaluechange
7
如何利用多层循环找出对称的3位数数字?_959对称数字
8
redis 和 memcached_memcached与redis区别
9
风控决策引擎——决策流构建实战_apache digester 规则引擎
10
关于微信小程序动态改变底部导航栏问题
当前位置:
article
> 正文
TCP拥塞控制(慢开始、拥塞避免、快重传、快恢复)_拥塞避免在传输轮次
作者:AllinToyou | 2024-05-19 20:32:33
赞
踩
拥塞避免在传输轮次
拥塞控制
:防止过多的数据注入网络中,这样可以使网络中的路由器或链路不至于过载。
什么是拥塞窗⼝?和发送窗⼝有什么关系呢?
拥塞窗⼝
cwnd
是发送⽅维护的⼀个的状态变量,它由网络的拥塞状态决定。
发送窗口
swnd
与接收窗口
rwnd
用于进行流量控制,引入拥塞窗口后,发送窗口的值为拥塞窗口与接收窗口中的最小值。
拥塞控制的算法:
慢开始、拥塞避免、快重传、快恢复
慢开始算法
的思路是:由于刚开始发送数据时对于网络的负荷情况并不清楚,如果立即把大量数据传入网络可能会引起拥塞,经验证明,较好的方法是从小到大增加发送窗口。因此使用慢开始算法后,每经过一个传输轮次,拥塞窗口值就加倍。
为防止拥塞窗口增长过大引起网络拥塞,需要设置一个慢开始门限,当拥塞窗口大于门限值后启动
拥塞避免算法
。此时拥塞窗口开始线性增长,也就是每轮加 1 。
这个过程中存在一些问题,当网络中出现超时,发送方会判断为网络拥塞,于是门限值减半,同时设置拥塞窗口为1,进入慢开始阶段。但是有时只是
个别报文段丢失
,实际上网络并没有拥塞,发送方迟迟收不到确认导致超时,就会导致发送方认为网络发生拥塞,因而影响传输效率。
因此需要采用
快重传算法
让发送方
尽可能早的知道发生了个别报文段的丢失
。它要求接收方不要等待自己发送数据时才进行捎带确认,而是要
立即发送确认
,即使收到了
失序的报文段
也要立即对已收到的报文段进行确认。比如接收方收到了数据包1、2,但是3号包在传输中丢失,直接收到了4号包,按照快重传算法接收方
必须立即发送对2号包的确认
,紧接着接收方收到567号包时也都发送对2号包的确认,快重传算法规定,发送方收到3个重复确认,就知道接收方没有收到3号报文,因此立即重传,这样就防止发送方误认为出现网络拥塞。使用快重传可以使网络的吞吐量增加约20%。
启动了快重传算法后,发送方知道现在只是丢失了个别报文,于是不启动慢开始,而是执行
快恢复
算法,发送方调整门限值为拥塞窗口的一半,同时设置拥塞窗口等于门限值(也就是原来的一半),并执行拥塞避免算法。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/AllinToyou/article/detail/594530
推荐阅读
article
PostgreSQL
可拔
插存储
引擎
表
定义机制...
Postgresql12开始支持
可拔
插存储
引擎
,即
可拔
插
表
访问方法。目前仅仅支持heap一种
表
访问方法。新增了pg_am...
赞
踩
article
u
niapp自定义
tabber
闪烁(
css
失效)_
u
-
tabbar
首次加载闪屏...
u
niapp自定义
tabber
css
失效_
u
-
tabbar
首次加载闪屏
u
-
tabbar
首次加载闪屏 ...
赞
踩
article
SpringBoot集成
slf4j
日志
和
logback
.
xml
配置
详解_
springboot
日志
配置
...
slf4j
,即(Simple Logging Facade for Java,简单门面
日志
)。它是对所有
日志
框架制定的一...
赞
踩
article
Pycharm
中提示
安装
matplotlib
失败
参考
解决办法
(不唯一)
_
matplotlib
安装
出错
...
为pycharm
安装
matplotlib
库错误提供一种解决思路。(偏方,仅供
参考
,个人尝试有效,可能不具有大众性、科学性...
赞
踩
article
技术速览|
Meta
Llama
2 下一代开源大型
语言
模型
_
llam2
最大支持输入...
Meta
Llama
2 旨在与 OpenAI 的 ChatGPT 和 Google Bard 等其他著名
语言
模型
对标,...
赞
踩
article
SpringBoot
用
slf4j
日志
及其
项目
配置
、MVC支持_
springboot
slf4j
...
SLF4J查了一下单词,他是Simple Logging Facade forJava)其实我觉得每次有专有名词,就查一...
赞
踩
article
系统
设计
流程概述_
系统
流程
设计
...
系统
设计
步骤计算指标File sizesTimeQPSDesign Gurus 的 6Step 六步解题法:九章总结的...
赞
踩
article
MATLAB
调用
colorbar
()
函数
给橘子图片添加垂直
颜色
条和水平
颜色
条
_
matlab
中colo...
笔者主要介绍如何用
MATLAB
的
colorbar
()
函数
给橘子图片添加垂直
颜色
条和水平
颜色
条
_
matlab
中colorb...
赞
踩
article
数据结构
:栈和
队列
_
queen
.
poll
...
栈和
队列
数据结构
栈(LIFO: Last in First Out)栈的特点:先进后出,后进先出的线性表栈的应用栈的实现...
赞
踩
article
NFC
入门介绍
_
nfc
编程...
NFC
介绍
_
nfc
编程
nfc
编程 缩写词
NFC
Near Field Communicati...
赞
踩
article
二叉树
的
先序、
中序
、
后序
遍历
超详解
_
前中
后序
遍历
二叉树
...
以上图为基础①前序
遍历
的
方式是:首先访问根节点,然后访问左子树,最后访问右子树。前序
遍历
序列:F C A D B E H...
赞
踩
article
详谈
线性表
中
带头
节点
与不
带头
结点
链表
_
线性表
带头
结点
与不
带头
结点
...
之前给别人讲解过
线性表
这一数据结构,发现很多人在引入
线性表
的控制头后就把控制头指针与不
带头
节点
链表
的
链表
头指针混淆了...
赞
踩
article
谈谈
tcp
慢
启动
与
拥塞
控制_
tcp
的
慢
启动
...
bbr 以 pacing 做
拥塞
控制,但对
慢
启动
机制并没有太大修正,反而完全适配了传统
慢
启动
,bbr startup 和...
赞
踩
article
文心
一言
可以
用来
论文
降重
吗_
文心
一言
降重
...
首先,将
论文
复制粘贴到
文心
一言
的文本框中,然后选择“
降重
”功能。接着,
文心
一言
会开始分析
论文
中的重复内容,并给出相应的修...
赞
踩
article
谷歌最强开源大模型亮相!
Gemini
技术下放,笔记本就能跑,可商用,以及
Llama
3 大模型安装使...
谷歌最强开源大模型亮相!
Gemini
技术下放,笔记本就能跑,可商用,以及
Llama
3 大模型安装使用,视频大模型 LL...
赞
踩
article
关于
python
爬虫中
chromedriver
的
路径
配置问题
_
chromedriver
放在
哪个
目录
下...
在以前
的
版本中可以将
chromedriver
直接
放在
项目
的
根
目录
然后向webdriver.Chrome函数传入’chro...
赞
踩
article
报错Non-
zero
exit
code
(
2
)...
报错原因:是因为pip版本的问题,导致第三方库包下载出错解决办法:降级pip版本在pychram底部的Terminal处...
赞
踩
article
银河
麒麟
共享桌面_
银河
麒麟
桌面共享...
银河
麒麟
,vnc,桌面共享_
银河
麒麟
桌面共享
银河
麒麟
桌面共享 目...
赞
踩
article
JVM
内存
模型
(JMM)...
Java程序把
内存
控制权利交给
JVM
虚拟机,一旦出现
内存
泄漏和溢出方法的问题,如果不了解虚拟机是怎样使用
内存
的,那么排查...
赞
踩
article
Altium
Designer
的
元件库
_
ad
库...
AD软件——
元件库
使用_
ad
库
ad
库
Altium
Desi...
赞
踩
相关标签
python
java
数据库
linux
vue
uni-app
前端
spring boot
logback
xml
slf4j
log
matplotlib
pip
pycharm
llama
语言模型
人工智能
自然语言处理
Meta
后端
SDI
matlab
开发语言
数据结构