TCP拥塞控制 (四种算法)

引言

TCP拥塞控制,有以下四种算法:

  • 慢开始算法
  • 拥塞避免算法
  • 快重传机制(冗余ACK)---> 快恢复算法

一、区分"TCP拥塞控制" 和 "TCP流量控制"

  • 流量控制:控制端到端的数据发送量,是"局部的"

比如下图中,A和D相互发送数据,要做流量控制

  • 拥塞控制:控制整个网络 中每台主机的数据发送量,降低路由器负载,是"全局的"

比如下图中,整个网络的数据传输,要做拥塞控制

二、如何判断网络拥塞?

  • 发出的每个报文段,都能顺利地收到ACK确认一一不拥塞
  • 发出的报文段未能按时收到ACK,引发超时重传一一严重拥塞
  • 收到冗余ACK,引发快重传一一有点拥塞

1. 如果检测到网络拥塞怎么办?

  • 迅速减少发送的数据量
  • 严重拥塞就迅速缩小拥塞窗口
  • 有点拥塞就适当缩小拥塞窗口
相关推荐
九英里路1 小时前
protobuf快速上手
网络·c++·中间件·json·谷歌·序列化·protobuf
测试界的小码农4 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
艺杯羹5 小时前
1Panel 装好后 ufw 仍是 inactive:一次服务器安全盲区复盘
服务器·数据库·安全·网络安全·系统架构·实战·1panel
女神下凡7 小时前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽7 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
爱和冰阔落12 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall13 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
无奈笑天下1 天前
银河麒麟上nproc命令教程详解
linux·运维·服务器
我不会插花弄玉1 天前
6.传输层协议UDP【由浅入深-网络】
网络·网络协议·udp
火云代理1 天前
更换网络后为什么会退出登录?分清 IP、Cookie 与会话的关系
服务器·网络·网络协议·tcp/ip·php·ip