TCP窗口控制

Posted joker D888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP窗口控制相关的知识,希望对你有一定的参考价值。

TCP窗口控制

核心内容

TCP通信开始时,并没有设置相同的慢启动阈值,而是与窗口的最大值相同。而是在超时重发时,才会设置为当时拥塞窗口的一半。

当拥塞窗口小于慢启动阈值时(慢开始),每收到一个ACK确认应答,拥塞窗口的值就加1,即随着每一轮包的往返,拥塞窗口会以指数级进行增长,当超过慢启动阈值时(拥塞避免),每收到一个ACK确认应答,拥塞窗口按照 (1个数据段的字节数/拥塞窗口(字节)*1 )个数据段字节数进行放大,即每一轮往返,拥塞窗口加1,呈线性增长。

当遇到超时重传时,拥塞窗口的值会重置为初始值(这个值可以认为是1个数据段,以太网的标准MSS值为1460字节,因此慢启动的初始值可以设置为4380字节即3MSS),慢启动阈值设置为当时窗口大小的一半。

当遇到重复确认应答(快速重传)时,慢启动阈值设置为当时窗口大小的一半(严格来说,是设置为“实际已发送但未收到确认应答的数据量”的一半),然后将窗口的大小设置为该慢启动阈值+3个数据段的大小(发送方收到三个重复的ACK报文,就表明有三个数据报文段已经离开了网络,可见现在网络中不是堆积了报文而是减少了三个报文段,因此拥塞窗口可以适当再扩大些)。

上述中的窗口为发送窗口,并不是某个名词的简称,实际的发送窗口为拥塞窗口和接收端通知窗口的较小值。

专业名词

便于理解,上述并没有使用专业名词,但仍需掌握。

慢启动阈值:ssthresh
拥塞窗口:cwnd
接收窗口:rwnd

以上是关于TCP窗口控制的主要内容,如果未能解决你的问题,请参考以下文章

TCP窗口控制

拥塞算法

TCP 拥塞控制

TCP核心概念-慢启动,ssthresh,拥塞避免,公平性的真实含义

TCP拥塞控制

TCP核心概念-慢启动,ssthresh,拥塞避免,公平性的真实含义