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、启动“拥塞避免”算法(高起点,线性增长)

  

  执行如下图:

 

posted @   修心而结网  阅读(197)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示