TCP拥塞

Posted yuecmz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP拥塞相关的知识,希望对你有一定的参考价值。

拥塞控制与流量控制之间的关系

  • 拥塞控制
  • 是一个全局做
  • 流量控制
    - 点对点,两个计算机之间的

吞吐量-负载关系

吞吐量=实际传过去的
负载=总的

拥塞控制的一般原理

  • 拥塞控制方案使不等式不再成立
  • -对资源
  • 拥塞控制很难设计

开环控制闭环控制

  • 开环控制方法
    - 预先考虑相关因素
  • 闭环控制是基于反馈环路的概念。属于闭环控制的有以下几种措施
    -监测网络拥塞在何时何处发生

几种拥塞控制的几种方法

1.慢开始和拥塞避免

  • 发送方维持一个拥塞窗口cwnd,取决于网络拥塞程度,会动态变化
  • 发送方让自己的发送窗口等于拥塞窗口 <=
  • 原则:不拥塞则增大,拥塞则减少。
  • 如何知道拥塞?闭环控制

慢开始算法原理

  • 开始发送数据时,大量注入网络,可能引起拥塞
  • 所以,刚刚开始时先设置拥塞窗口cwnd=1,即设置最大报文段MSS=1

传输轮次

  • 使用慢开始后,每经过一个传输轮次,cwnd就加倍
  • 一个传输轮次所经历的时间就是往返时间RTT
  • 慢开始并不慢

设置慢开始门限状态变量ssthresh

  • ssthresh用法:
    - cwnd<ssthresh,使用慢开始算法
    - cwnd>ssthresh,停止

乘法减小 multiplicative decrease

  • 是指不论慢开始阶段还是拥塞避免极端,只要超时一次,就把门限值*0.5

加法增加

  • 收到对所发报文段的确认后,只增加一个MSS

快重传和快回复

  • 发送方只要连续收到 三个重复却就应当立即重传
  • 三个重复的+一个原来的,一共发送了4个
    快恢复
    1.当发送端收到三个重复确认时,就执行“乘法减少”
    发送窗口上限值
发送窗口的上限值=Min[rwnd,cwnd]

主动队列管理AQM

  • 先进先出FIFO
  • 尾部丢弃策略
  • 全局同步现象
  • 主动队列管理Active Queue Management

随机早期检测










以上是关于TCP拥塞的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出 BPF TCP 拥塞算法实现原理

TCP拥塞控制

TCP拥塞控制

TCP拥塞控制算法

TCP拥塞控制算法之NewReno和SACK

常见的tcp拥塞控制有哪几种算法