当前位置: 代码迷 >> 综合 >> TCP协议栈:RFC3465-拥塞控制中的ABC算法
  详细解决方案

TCP协议栈:RFC3465-拥塞控制中的ABC算法

热度:4   发布时间:2024-01-25 06:40:22.0

1.背景

根据RFC2581,拥塞避免和慢启动中的cwnd的增长与ACK的数量相关,而RFC3465把cwnd的增长修改为与ACK的字节数相关。

 

2.拥塞避免阶段

总目标是,在一个RTT,cwnd增加一个SMSS。

2.1 RFC2581的方法

//收到ACK
cwnd += 1/cwnd

2.2 RCF3465的方法

bytes_acked变量存储被确认的字节数。

//收到ACK
bytes_acked += ACKed 字节数
if bytes_acked >= cwndbytes_acked -= cwndcwnd += SMSS

 

3. 慢启动阶段

3.1 RFC2581的方法

//收到ACK
cwnd += 1*SMSS

3.2 RFC3465的方法

//收到ACK
cwnd += min(ACKed的字节数,L)

通常 L = 2*SMSS,但是在RTO之后,L=SMSS。设置L不超过2*SMSS,是为了不让cwnd增长太激进,导致网络突发流量,引起拥塞。