美文网首页
TCP的慢启动、拥塞机制和滑动窗口

TCP的慢启动、拥塞机制和滑动窗口

作者: 看到这朵小fa了么 | 来源:发表于2020-11-12 14:53 被阅读0次

TCP和UDP的对比

1.面向连接可靠 / 无连接的不可靠
2.面向字节流的,无边界的,每次发送后可以分包发送,最后进行数据合并(透明的保证了数据的依次,可靠) / 面向报文的,有边界的,每次发送一个报文,不能合并(效率更高但是需要自己保证数据的依次可靠)
3.有流量控制和拥塞控制 / 无
4.全双工 / 一对一,一对多,多对一,多对多
5.慢 / 快

TCP的慢启动

由于TCP连接会随着时间进行自我调谐,起初会限制连接的最大速度,如果数据传输成功,会随着时间的推移提高传输速度,这就是TCP的慢启动,所以http性能的优化关键并不在于高带宽而是低延迟,多路复用就是让所有的数据流通用一个TCP连接,让高带宽真正的服务于http性能的提升。2.0中解决了这个问题。

HTTP Pipelining其实是把多个HTTP请求放到一个TCP连接中一一发送,而在发送过程中不需要等待服务器对前一个请求的响应;只不过,客户端还是要按照发送请求的顺序来接收响应!而在2.0中通过二进制流标识而不需要按照顺序来接受响应
https://www.ucloud.cn/yun/76567.html

TCP的拥塞机制

更多:https://www.cnblogs.com/liangyc/p/11628757.html
1、慢开始:设置一个“拥塞窗口cwnd”,该变量和接受窗口共同决定了发送者的发送窗口,开始从1开始指数2递增,当达到了设置的“慢开始门限ssthresh”,则可以根据情况来执行拥塞避免算法——每次经过一个往返时间RTT就给拥塞窗口+1,线性增长
2、快重传,快恢复:
每次发出一个包都设置一个定时器,在定时器结束还没有收到确认则表示该包丢失,需要进行重传,当然定时器是后置的手段,快重传是当发送方收到了三个一样的确认,就知道该包出现了错误,立即重传该包,这时也会设置一个重传定时器,如果收到确认则执行拥塞避免算法(此时执行快恢复,慢开始门限减半,cwnd设置为此时的门限值,高起点,线性增长),如果仍然超时则执行慢开始算法(慢开始门限设置为原来的一半,将cwnd设置为1,执行慢开始算法,低起点,指数增长))


超时重传是TCP协议保证数据可靠性的一个重要机制,其原理是在发送一个数据以后就开启一个计时器RTO,在一定时间内如果没有得到发送数据报的ACK报文,那么就重新发送数据,直到发送成功为止。这是数据包丢失的情况下给出的一种修补机制。一般来说,重传发生在超时之后,但是如果发送端接收到3个以上的重复ACK,就应该意识到,数据丢了,需要重新传递。这个机制不需要等到重传定时器溢出,所以叫做快速重传,而快速重传以后,因为走的不是慢启动而是拥塞避免算法,所以这又叫做快速恢复算法。

  • 收到三个重复的ACK是因为数据是传递是按序的,如果M1之后的M2丢失,服务端接受到M3M4M5都会返回M2的ACK
    快速重传和快速恢复旨在:快速恢复丢失的数据包。没有快速重传和快速恢复,TCP将会使用定时器来要求传输暂停。在暂停这段时间内,没有新的数据包被发送

TCP滑动窗口

滑动窗口进行流量控制,为了数据的不丢失,平衡不同设备之间的性能,需要接受方告知发送端它所拥有的缓存区大小,发送方根据这个数据来计算自己最多能发送的数据量,A发给B image.png

,为了防止B窗口的反馈信息空间rwnd丢失,会造成死锁,为了处理这种情况给A设置一个定时器,当时间到了则发送一个1字节的探测报文。

相关文章

  • 拥塞控制和流量控制

    滑动窗口的解释: 拥塞控制窗口+慢启动+拥塞控制算法=拥塞控制 TCP特性使得每个TCP连接可以得到均等的带宽。在...

  • TCP Tahoe协议

    TCP Tahoe协议是TCP最早的TCP拥塞控制版本,主要包括三个机制用于控制拥塞窗口:慢启动、拥塞避免和快速重...

  • TCP的流量控制与拥塞控制机制

    参考:滑动窗口TCP的流量控制和拥塞控制 1 流量控制 利用滑动窗口机制实施流量控制 TCP协议里窗口机制有2种:...

  • TCP的慢启动、拥塞机制和滑动窗口

    TCP和UDP的对比 1.面向连接可靠 / 无连接的不可靠2.面向字节流的,无边界的,每次发送后可以分包发送,最后...

  • 细说TCP的可靠传输、流量控制、拥塞控制

    目录 TCP如何实现可靠传输? TCP如何实现流量控制?(滑动窗口) TCP如何实现拥塞控制?(慢开始、拥塞避免、...

  • TCP/IP 协议(转)

    参考:TCP/IP 协议tcp窗口滑动以及拥塞控制解析TCP之滑动窗口(动画演示)

  • TCP 拥塞控制原理及改进

    TCP 的拥塞控制主要是这几个关键字: 慢启动和拥塞避免(拥塞窗口从 1开始指数增加,达到阈值后线性增加) 快速重...

  • 网络管理2

    一、孤儿连接 二、TCP超时重传 1.固定窗口 2.滑动窗口 三、拥塞控制 四、SP和DP 帧 TCP和IP 五、...

  • TCP那些事儿

    目录: TCP是什么TCP报文结构TCP连接过程TCP状态转移TCP流量控制 —— 滑动窗口TCP拥塞控制TCP可...

  • TCP的拥塞控制

    原帖:TCP拥塞控制-慢启动、拥塞避免、快重传、快启动 - CSDN博客 拥塞:即对资源的需求超过了可用的资源。若...

网友评论

      本文标题:TCP的慢启动、拥塞机制和滑动窗口

      本文链接:https://www.haomeiwen.com/subject/inkpbktx.html