【计算机网络】传输层 : TCP 拥塞控制 ( 慢开始 | 拥塞避免 | 快重传 | 快恢复 )
文章目录
- 一、TCP 拥塞控制
- 二、TCP 拥塞控制算法
- 三、慢开始 和 拥塞避免 算法
- 四、快重传 和 快回复 算法
一、TCP 拥塞控制
TCP 拥塞控制 :
① 拥塞出现表现 : 资源需求总和 大于 可用资源 ;
② 拥塞问题发展 : 网络中 资源 供应不足 -> 网络性能降低 -> 网络吞吐量随着负荷增加而降低
③ 拥塞控制 : 防止数据大量注入到网络中 , 降低整体网络中主机的发送速率 , 流量控制 是 降低一台主机的发送速率 ;
④ 流量控制 与 拥塞控制 : 流量控制 是 点到点 的问题 , 拥塞控制 是 全局性 问题 ;
二、TCP 拥塞控制算法
TCP 拥塞控制算法 :
- 慢开始
- 拥塞避免
- 快重传
- 快恢复
TCP 拥塞控制相关术语 :
① 单向传输 : 拥塞控制假定单向传输数据 , 发送方 向 接收方 发送 数据 , 接收方 向 发送方 回送 确认信息 ;
② 发送窗口 : 接收方 缓存空间 足够大 , 发送窗口大小 取决于 网络拥塞程度 ; 发送窗口大小 是 接收窗口 rwnd 和 拥塞窗口 cwnd 中的 较小的值 ;
③ 接收窗口 : 接收方 根据 接收缓存 设置 接收窗口 大小值 , 同时将该大小 告知发送方 , 可以反映接 收方容量 ;
④ 拥塞窗口 : 发送方 估算 网络拥塞程度 , 设置 合适的 拥塞窗口 值 , 反映当前 网络容量 ;
( 知道每个算法的原理 , 细节仅做了解 )
三、慢开始 和 拥塞避免 算法
坐标系说明 :
① 纵坐标 : 纵坐标 是 拥塞窗口 cnwd 大小 , 单位是 一个报文段 , 长度是一个最大报文段长度 MSS ;
- 如 : 纵坐标的 4 指的是 4 个 MSS , 8 指的是 8 个 MSS ;
② 横坐标 : 横坐标 是 传输轮次 ;
- 往返时延 : 一个传输轮次 是 发送一批报文段 , 并接收到它们的 确认信息 所花费的时间 ; 即 RTT ;
- 如 : 发送方 向 接收方 发送 N 个报文段 , 发送方 发送完毕后 , 接收到所有 N 个 报文段的确认信息 , 所花费的时间 , 就是 一个传输轮次 ;
- 报文段发送间隔 : 也可以理解成 发送方 开发发送一批 拥塞窗口 中的报文段 , 到 开始发送 下一批 拥塞窗口 报文段 的时间 ;
慢开始 和 拥塞避免 算法 :
① 慢开始 : 拥塞窗口 开始设置成 1 , 每隔一个 传输轮次 , 收到上一个报文段的确认报文后 , 拥塞窗口翻倍 , 即变为之前的 两倍 ;
② 慢开始门限值 ( ssthresh ) : 当 拥塞窗口 到达 慢开始门限值 ( ssthresh ) 初始值时 , 停止指数级增长 , 开始线性增长 ;
③ 拥塞避免 : 进入到 慢开始门限值 后 , 开始进行 拥塞避免算法 , 每个传输轮次 , 拥塞窗口 增加 1 ;
④ 网络拥塞 : 当 拥塞窗口 增加到一定值 , 检测到了 网络拥塞 , 此时瞬间将 拥塞窗口降为 1 ; 继续执行慢开始算法 , 新的 慢开始门限值 变为 网络拥塞时 的 拥塞窗口的 1/2 大小 ;
拥塞窗口改变时机 :
- 收到上一个报文段的确认报文后 , 拥塞窗口翻倍 ;
- 收到上一个报文段的拥塞信息后 , 拥塞窗口变为 1 ;
四、快重传 和 快回复 算法
快重传算法 : 收到 3 个冗余的 确认后 , 执行快重传算法 ;
示例 : 发送方 给 接收方 发送 1 2 3 4 5 , 五个报文 , 2 号报文丢失 , 如果收到 3 4 5 号报文 , 其中会携带期待 发送方 发送 2 号报文 , 此时触发 快重传 算法机制 , 在超时计时器到时之前 , 快速发送 丢失的 2 号 报文 ;
快回复算法 : 与 上面的 拥塞避免算法的 区别是 , 出现 网络拥塞 之后 , 拥塞窗口 不降为 1 , 而是降低到 慢开始门限值 , 即当前的 拥塞窗口大小的 1/2 , 然后线性增加 拥塞窗口 ;
【计算机网络】传输层 : TCP 拥塞控制 ( 慢开始 | 拥塞避免 | 快重传 | 快恢复 )相关推荐
- 传输层 TCP 拥塞控制(3):快速重传与快速恢复
当出现丢包的时候,我们将重新执行慢启动,此时意味着拥塞窗口大幅度下降发送速率也会大幅度下降,当丢包场景并不是很严重的时候,我们还可以采用快速重传,与快速恢复这样一个阶段. 为何会接收到一个失序数据段? ...
- 计算机网络 --- 传输层TCP协议
TCP协议的特点 TCP是面向连接(虚连接)的传输层协议. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的. TCP提供可靠交付的服务,无差错.不丢失.不重复.按序到达.可靠有序,不丢 ...
- 传输层 TCP 拥塞控制(2):拥塞避免
之前介绍的慢启动算法是以指数级别增加拥塞控制 拥塞避免 • 慢启动阈值 ssthresh(slow start threshold): • 达到 ssthresh 后,以线性方 ...
- 5.3.3 计算机网络传输层之TCP拥塞控制(慢开始与拥塞避免、快重传和快恢复)
文章目录 1.什么是拥塞控制? 2.拥塞控制与流量控制的区别 3.拥塞控制的4种算法 (1)慢开始与拥塞避免 (2)快重传和快恢复 1.什么是拥塞控制? 所谓拥塞控制,是指防止过多的数据注入网络,保证 ...
- 【计算机网络】传输层 : TCP 连接管理 ( TCP 连接建立 | 三次握手 | TCP 连接释放 | 四次挥手 )
文章目录 一.TCP 连接管理 二.TCP 连接建立 三.TCP 连接建立 相关报文段 字段 四.SYN 洪泛攻击 五.TCP 连接释放 一.TCP 连接管理 TCP 传输数据过程 : 建立连接 -& ...
- 5.3.1计算机网络传输层之TCP可靠传输
文章目录 0.前言 1.TCP可靠传输简介 2.序号 3.确认 4.重传 0.前言 再看此篇文章之前,得熟悉一下TCP首部报文等知识 计算机网络传输层之TCP协议(tcp协议特点.tcp报文段首部格式 ...
- 计算机网络-传输层(TCP流量控制)
rwin=10 表示窗口 rwin=0 表示发送窗口为0 表示不发生送 ACK=15表示发第15个包 ack=20 表示发送第20个包 TCP流量控制是通过 接收端告诉发送端 接收窗口多大来实现的. ...
- 计算机网络 - 传输层
一.传输层 为进程提供通用数据传输服务.由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议.运输层包括两种协议:传输控制协议 TCP,提供面向连接.可靠的数据传输服务,数据单位为报 ...
- 自顶向下计算机网络 传输层
自顶向下计算机网络学习 传输层 一.概述和传输层服务 1.1 传输层提供的服务 1.2传输层和网络层的关系 1.3 传输层协议 可靠的.保序的传输:TCP 不可靠.不保序的传输:UDP 二.多路复用与 ...
最新文章
- wpsarm64linux,WPS Office 2019 For Linux 11.1.0.9080版发布下载,附更新介绍和安装
- Android startActivityForResult的使用
- python语言编程环境-day02--编程语言的分类与Python开发环境的搭建
- 试试博客园的markdown编辑器
- Android拖拽详解
- 日常工作部门及体系相关单词
- 快速重置vuex数据 - Vue
- hmc如何进入aix系统_linux系统中如何进入退出vim编辑器,方法及区别
- 小甲鱼 OllyDbg 教程系列 (十二) : inline patch ( 内嵌补丁 ) 之 调用堆栈查找法
- Word2vec加TextRank算法生成文章摘要
- Mean Shift算法(2)在OpenCV上的实现目标跟踪——直方图反向投影
- 在Web应用程序中执行常见搜索场景的服务器端方法
- MySQL系统认识与使用-----最全MySQL应用
- Bugku MISC 再也没有纯白的灵魂
- astar插件下载 就行_PS模拟下雨插件下载 一键为照片添加下雨效果 小伙伴们收货啦...
- 01. 全彩RGB LED灯模块使用教程
- 互联网指标体系构建及分析方法
- STI、LOD与WPE概念:WPE效应对SPICE Model 的影响
- unity地面添加材质球_为Unity3D创建素材(1):图片、着色器、材质球
- drools规则引擎的在项目中的使用手记