C/C++教程

TCP拥塞控制机制

本文主要是介绍TCP拥塞控制机制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

what

  拥塞控制机制:控制发送方发送数据速率,使其和网络环境一致。

 

机制:

  发送方维护一个“拥塞窗口”变量cwnd,它和接收方共同决定发“送窗口”swnd的大小。

 

  慢启动:发送方刚开始发送数据时,不会一次将大量的数据注入网络,而是先发1个字节,当收到ACK后,再发2个字节,依次类推,按照2的指数级增长。直到达到一个阈值ssthresh(慢启动门限),然后慢启动结束,即不在2的指数级增长。

  拥塞避免:当发送数据大小大于“慢启动门限”后,就开始以线性速率增长。例如:每次往返(RTT)数据报涨2个字节。

  快速重传:发送方收到1个ACK后,后续连续收到多个相同的ACK,例如:3个。就确认对于的数据包丢失,不用等到丢失包的ACK超时,就启动数据包重发。由于不用等超时,所以更快,就叫快速重传。

  快速恢复:发现3次重复的ACK后,发送方就将:a、ssthresh(慢启动门限)减半;b、发送窗口cwnd设置为减半后的ssthresh值;c、启动“拥塞避免”算法(高起点,线性增长)

  

  执行如下图:

 

这篇关于TCP拥塞控制机制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!