TCP和UDP相关问题(重点)——8.TCP的拥塞控制怎么实现的?

在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就会变坏,比如在高速公路上行驶的车辆,如果一时期内涌入了太多的车辆,道路将变得拥堵,交通状况变差。网络中也是一样,若出现拥塞而不进行控制,那么网络的吞吐量就会随着负荷的增大而急剧下降

为了进行拥塞控制,TCP发送方要维持一个**拥塞窗口(cwnd)**的状态变量,拥塞窗口的大小取决于网络的拥塞程度,动态变化。拥塞控制的四种算法为:慢开始、拥塞避免、快重传、快恢复。

  • 慢开始:由小到大逐渐增大拥塞窗口,cwnd初始值为1,每经过一个传播轮次,成二倍增加。

  • 拥塞避免:当cwnd的值到达慢启动阈值时,开始拥塞避免算法,每经过一个传播轮次,cwnd+1。

  • 快重传与快恢复 :当个别的报文段丢失时,不能坐以待毙,快重传算法就是可以让发送方尽快知道个别报文段的丢失,尽快重传,而不是一直等超时重传器超时再重传。发送方要一直探测,一旦收到三个重复的确认 ,立刻进行重传。重传后知道只是丢失了部分的报文段,而不是严重到拥塞的程度,所以就会执行快恢复的算法。快恢复算法将慢开始门限 (ssthresh)和拥塞窗口 (cwnd)同时调整到当前拥塞窗口的一半 ,而直接开始进行拥塞避免算法 。也有的快恢复算法是再调大一下拥塞窗口(cwnd)的值

相关推荐
apihz10 小时前
台风实时与历史详情查询免费 API 接口完整教程
android·开发语言·tcp/ip·dubbo·台风·天气预报
阿米亚波11 小时前
【EVE-NG 实战】防火墙基础(VLAN · VRRP · NAT · ACL · 静态路由)
运维·网络·笔记·网络协议·计算机网络·网络安全·运维开发
tiantianuser12 小时前
NVME-oF IP 设计2 :设计之前的调研!
网络·网络协议·rdma·roce v2·nvme of
飞花绫13 小时前
嵌入式 TCP/UDP 双通道架构:为什么控制与发现要分离
tcp/ip·架构·udp
2401_8734794013 小时前
如何识别代理IP和伪装流量?用IP情报工具三步穿透住宅代理伪装
网络·数据库·网络协议·tcp/ip·ip
STDD13 小时前
Traefik 中间件深度配置:限流、认证、IP 白名单与错误页面定制
网络协议·tcp/ip·中间件
曾令胜15 小时前
HTTP协议基础总结
网络·网络协议·http
ShineWinsu15 小时前
对于Linux:基于UDP实现简单聊天室功能
linux·c++·面试·udp·笔试·进程·简单聊天室
sdghterhd1 天前
WebSocket 快速入门教程(附示例源码)
网络·websocket·网络协议
IpdataCloud1 天前
AI生成的Avalon恶意框架怎么防?用IP离线库识别模块化C2通信
运维·人工智能·网络协议·tcp/ip·ip