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、启动“拥塞避免”算法(高起点,线性增长)
执行如下图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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语句:使用策略模式优化代码结构