长沙网站免费建站,快速排名上,如何利用网站策划做好网站建设,云南建设网站公司TCP拥塞控制
TCP拥塞控制的三种方式#xff1a;
慢启动、拥塞避免、快速恢复
慢启动
当一条TCP连接开始时#xff0c;cwnd的值是一个很小的MSS值#xff0c;这使得初始发送速率大约为MSS/RTT。
在慢启动状态#xff0c;cwnd的值以1个MSS开始并且每当传输的报文段首次被…TCP拥塞控制
TCP拥塞控制的三种方式
慢启动、拥塞避免、快速恢复
慢启动
当一条TCP连接开始时cwnd的值是一个很小的MSS值这使得初始发送速率大约为MSS/RTT。
在慢启动状态cwnd的值以1个MSS开始并且每当传输的报文段首次被确认就增加一个MSS直
到出现超时或者丢包现象。
每增加一个MSS的长度就会多发送一个MSS长度的报文段。
因此慢启动状态下发送速率是以指数形式增加的。
例如
一个MSS/RTT的速率被记作一个α。
则第一次传输后为2α。2的一次方
第二次传输后为4α。2的二次方
第三次传输后为8α2的三次方 慢启动的结束也是很有意思的
如果存在一个拥塞则TCP发送方将cwnd重新置为1并重新开始慢启动过程。
并且将第二个状态变量ssthresh“慢启动阈值”设置为cwnd/die
第二种方式是
速率直接与ssthresh相关联即检测到拥塞的时候ssthresh就减少一半当到达或者超过
ssthresh时结束慢启动并且TCP转移到拥塞避免模式。
最后一种方式
检测到三个亢余ACKTCP就执行一种快速重传并且进入到快速恢复状态。
拥塞避免
一旦进入拥塞避免状态cwnd的值大约为上一次遇到阻塞的值的一半。
这也导致TCP无法通过一个RTT就将cwnd的值翻倍而时每个RTT只将cwnd的值增加一个MSS
而不是像慢启动一样进行指数形式增长。
拥塞避免的结束和慢启动差不太多如果出现超时cwnd的值被置为1个MSS。
丢包出现ssthresh的值被置为cwnd的一半。
快速恢复
在快速恢复中对于引起TCP进入快速恢复状态的缺失报文段对收到的每个亢余ACKcwnd增
加一个MSS。最终当对丢失报文段的最后一个ACK到达时TCP在降低cwnd后进入拥塞避免状态。
但是如果出现超时快速恢复在执行如同在慢启动和拥塞避免中相同的动作后迁移到慢启动状态。
总结
TCP拥塞控制在每个RTT时间内cwnd线性加性增加1MSS然后出现三个亢余ACK事件时
cwnd减半乘性减。
因此TCP拥塞控制通常被称为“加性增、乘性减。”
下面是TCP拥塞控制造成的一种“锯齿”行为。