IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP的拥塞控制 -> 正文阅读

[网络协议]TCP的拥塞控制

?TCP的拥塞控制

拥塞:在网络中对某一个资源的需求量超过了该资源所能提供的最大部分

解决拥塞的四种算法

1、相关参数说明

1.1发送方会维护一个叫拥塞窗口cwnd的状态变量,其值取决于网络的拥塞成都程度,并且动态变化。

1.2拥塞窗口的维护原则:只要网络没有出现拥塞,则拥塞窗口的值就可以在大些,反之就减小一些

1.3判断网络拥塞的依据:没有收到应当到达的确认数据报文段序号(发生了超时重传)

1.4发送方把拥塞窗口作为发送数据的窗口,即swnd==cwnd

1.5维护一个慢开始的门限变量 ssthresh:

当cwnd < ssthresh时,使用慢开始算法

当cwnd>ssthresh时,停止使用慢开始算法,改为使用拥塞避免算法

当cwnd ==ssthresh时,慢开始算法和拥塞避免算法都可以使用

慢开始算法

是指向网络中注入的数据报文段少,并不是指拥塞窗口的增长速率。

实现过程:刚开始发送方会发送一个字节的数据报文段给接收方,接收方成功接受并且给发收方发送了确认报文段,接下来拥塞窗口(=发送窗口)就行按照指数增长,并按照窗口值大小发送相应大小的数据报文段给接收方,接收方收到后发给送确认报文段给发送方,按照指数一直增长直到拥塞窗口值到达了慢开始的门限值,即ssthresh时,之后执行拥塞避免算法。

拥塞避免算法

拥塞避免算法不是指能够完全避免拥塞,而是在该阶段拥塞窗口的值按照线性增长的形式,这样使网络不容易出现拥塞。

实现过程:慢开始算法结束后执行拥塞避免算法,在该阶段拥塞窗口值按照线性增长的形式进行,当拥塞窗口的值到达一定的数值时,发送方发送的数据发生了超时重传,此时判断网络出现了拥塞,接下来下执行两步操作,第一、拥塞窗口的门限值更新为发生拥塞时的窗口值的一半。第二、把拥塞窗口值减小到1,重新执行慢开始算法。

快重传算法

让发送尽快知道丢失的数据报文段,并且尽快进行重传该数据报文段,而不是等超时计时器超时后在进行重传。

使用目的:在网络中,有时个别数据报文段会丢失,但是网络并没有发生拥塞,这就会导致发送方超时重传,而误认为网络发生了拥塞。进而进行把拥塞窗口值减小到1,重新开始了慢开始算法,这样就大大的降低了传输数据的效率,而使用快重传就会解决这个问题。

实现过程:接收方收到发送方发送的数据报文段后要立即确认 ,当接收方收到了乱序的数据报文段时,也要对丢失数据报文段的前一个数据报文段进行重复确认,在发送方一旦收到三个连续的重复确认,就会把相应的数据报文段进行重传

快恢复算法

就是在快重传结束之后,此时的门限值减半,但是并没有执行慢开始算法,而是直接进行快恢复算法,即就是把拥塞窗口改为执行快重传时拥塞窗口的一半,然后执行拥塞避免算法。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-25 08:28:41  更:2021-11-25 08:28:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:51:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码