计算机网络 | 谈谈TCP的流量控制与拥塞控制
文章目录
- 一、TCP的流量控制
- 1、利用滑动窗口实现流量控制【⭐⭐⭐】
- 2、如何破解【死锁】局面❓
- 二、TCP的拥塞控制
- 1、拥塞控制的一般原理
- ① 解决网络拥塞的误区
- ② 拥塞控制与流量控制的关系【重点理解✔】
- 2、TCP的拥塞控制方法
- ① 接收窗口【rwnd】与拥塞窗口【cwnd】
- ② 慢开始和拥塞避免算法
- ③ 快重传和快恢复算法
- 三、总结与提炼
一、TCP的流量控制
1、利用滑动窗口实现流量控制【⭐⭐⭐】
对于滑动窗口,在上面也提到过了,在流量控制这一块,就要利用到这个滑动窗口的机制去实现两个主机之间的通信
[流量控制的目的]:让发送方的发送速率不要太快,要让接收方来得及接收
然后来说一下很重要的例子,要注意理解,与后面的三次握手紧密度非常之大
- 首先在建立连接的时候B就告诉了A:“我的接收窗口rwnd = 400”。表示主机B的接受窗口最多可以接收400B的大小,然后设置了一个100字节长的报文段,即
DATA = 100
,数据报文段序号的初始值设置为1,即seq = 1
- 然后一开始主机A就向B发送了100B的大小,第一个字节序号为1
- 然后再发100B,第一个字节序号为为101
- 但是在接下来的数据接收中,
A主机继续向B主机发送了从[201]开始的数据
,但在途中丢失了。此时主机B发现主机A没有再发送数据过来了,因此向它发送过去一个确认报文段 - 【ACK】是一个确认字段,我们在TCP的首部格式中有说到过,
只有当ACK = 1 时ack才有效
- 【ack】是表示当前主机希望收到的下一个数据的首字节号,即
确认字段的值
- 【rwnd】表示接收窗口,接收方主机B将此窗口设置为300,表示它只能接收300大小的数据字节,而且是从201开始到500的这段范围,也就限定了主机A的发送窗口从
400->300
- 因为前200个字节的数据主机B已经完全接收了,所以主机A将其发送窗口向前滑动200字节⛸,将首字节号设置为201B,窗口大小设置为300B。
- 但是因为主机A没有接收到主机B从201~300字节的数据的回应,便开始启动这一块的
超时计时器
- 接下去主机A就向主机B分别发送了301B - 400B以及401B - 500B的数据,此时接收窗口就满了。
- 但此时主机A发现前面201~300B的
超时计时器
时间到了,但是主机B还是没有发来相关的响应,于是重新发送了一次从201开始的这100个数据报文段,这也就是我们在上面讲到过的【超时重传】
- 然后接下去主机B就发送了一条确认说“前面的500B我已经全部收到,现在我的接受窗口大小变为100,下一次希望收到501B为初始字节的数据”那此时主机A就可以确认主机B已经全部收到了500B之前的所有数据,于是便会将自己的发送窗口后移300个B,到501B的位置
- 接下去主机A又发送过来符合的100B数据,于是主机B的接受窗口就满了。此时主机B就发送回一个确认报文说“前面的600B我已经全部收到,现在把你的发送窗口变为0,不要再发送数据了”
从上面就可以看出主机B实现了三次流量控制,第一次将主机A的发送窗口大小从400->300
,第二次从300->100
,第三次就是从100->0
,通过【rwnd】这个接收窗口的控制,就使得主机A的发送窗口呈现出一个动态变化的趋势,也就是我们前面在讲到窗口值是在动态变化的
2、如何破解【死锁】局面❓
- 但是主机A要何时才能继续向主机B发送数据呢❓
也就是当主机B重新发出一个新的窗口值为止
。B主机会在它的接收缓存中腾出一些地方,把缓存当中的数据[主机A发送过来的600B]
上交给了应用层后,它的接收缓存中就又可以有一些存储空间了 - 于是这个时候主机B就又会向主机A发送一个
rwnd = 400
的报文段,告诉它你现在可以将自己的发送窗口设置为400,并且开始发送数据了。但是这个报文段呢若是在传输的过程中丢失了(〃>目<),主机A就收不到,此时主机B一直在等待主机A发送新的数据过来,主机A呢也等待主机B发送一个报文段过来告诉自己可以发数据了,于是它们就开始了一段漫长的等待.<{=.... - 以上这个局面叫做【死锁】,是双方在数据传输过程中很可能会出现的一个现象
那要怎么去解决这个局面呢?
- TCP为每一个连接都设有一个【
持续计时器
】,当连接的一方收到对方的零窗口通知后,就会启动这个计时器。也就是当前的主机A,接下去呢它会发送一个【探测报文段】,这个报文段中会有1B的数据,发送过去之后若是接收方给出的窗口值依旧是0,那么主机A就会重新设置持续计时器。 - 在这个时候呢主机B可能已经收到了应用层的通告,可以继续接收数据了;如果不是零,那么死锁的僵局就可以打破了。
- 从上述
流量控制
就可以看出TCP真的是非常的严谨,很好得控制了每一次数据的传输o((>ω< ))o
二、TCP的拥塞控制
1、拥塞控制的一般原理
首先来看看什么叫做【拥塞】
【拥塞】:在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏
计算机网络 | 谈谈TCP的流量控制与拥塞控制相关推荐
- 计算机网络 拥塞控制和流量控制,简述TCP的流量控制与拥塞控制
1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收. 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小. 考虑一种特殊 ...
- TCP协议——流量控制和拥塞控制
** 一.流量控制 ** 1.1 什么是流量控制 Sender won't overflow receiver's buffer by transmitting too much, too fast. ...
- 传输层TCP(流量控制和拥塞控制)
转载自:https://blog.csdn.net/zgege/article/details/80445324 内容 关键字 流量控制 窗口大小,窗口扩大因子M,机理,窗口探测数据段 拥塞控制 拥塞 ...
- 简述TCP的流量控制与拥塞控制
1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收. 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小. 考虑一种特 ...
- 快速了解TCP的流量控制与拥塞控制
有关TCP你不能不知道的三次握手和四次挥手问题,点我跳转 流量控制 1. 滑动窗口 数据的传送过程中很可能出现接收方来不及接收的情况,这时就需要对发送方进行控制以免数据丢失.利用滑动窗口机制可以很方便 ...
- TCP协议--流量控制,拥塞控制,MSS
MSS MSS(Maximum segment size): 最大报文段长度.MSS应用于TCP协议中,代表的是单个TCP报文的可传输的最大数据长度.MSS的大小,和通信中的另一个参数MTU息息相关. ...
- 「 计算机网络 」TCP的粘包拆包问题
「 计算机网络 」TCP的粘包/拆包问题 参考&鸣谢 大病初愈,一分钟看懂TCP粘包拆包 雷小帅 TCP 的粘包拆包以及解决方案 一乐说 文章目录 「 计算机网络 」TCP的粘包/拆包问题 一 ...
- 计算机网络之TCP详解
计算机网络之TCP详解 前言:了解基本术语 一.TCP的三次握手和四次挥手 1. TCP的标志位 2. TCP的序列号和确认号 2.0 前言:作用 2.1 序列号(seq) 2.2 确认号(ack) ...
- 计算机网络:TCP滑动窗口的流量控制和拥塞控制
1. 前言 最近在研究网络通信底层通信原理,所以不得不复习一波计算机网络传输控制协议.那么对于程序开发人员,了解底层网络通信原理,对于我们理解BIO.NIO网络通信十分重要.所以对于程序开发人员来说, ...
最新文章
- Spring Boot 2.x基础教程:Spring Data JPA的多数据源配置
- ORA-03113: end-of-file on communication channel Process ID: 252 Session ID: 1 Serial number: 3
- SAP成都研究院DevOps那些事
- java遇上html,JAVA遇见HTML——JSP篇:JSP内置对象(上)
- Spark采用分区方式读取数据库时partitionColumn, lowerBound, upperBound, numPartitions的理解与验证
- 三、MySql 数据类型
- 从np.random.normal()到正态分布的拟合
- 用于UML前端展示的jsuml2插件
- meanShift算法用于目标跟踪的优缺点
- 360浏览器不弹出java窗口_360浏览器不弹出新窗口怎么办
- ant +design+vue中You may use special comments to disable some warnings. Use // eslint-disable-next-li
- 冬天别忘晒太阳[整理]
- 目前为止学习过的循环解析过程
- 面对封号潮,跨境收款如何做到不受牵连?
- 【模拟电子技术Analog Electronics Technology 5】——晶体三极管基极和集电极电阻有什么作用?
- linux internet的图标找不到了,桌面internet图标不见了的五种解决方法
- 等保测评指导书-MySQL
- 动态分析和静态分析最主要的区别是什么?
- keil软件里打钩了create .HEX file但还是生成不了.HEX的故障排除。
- 精锐教育宣布暂停营业,又一教培行业巨头倒下