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

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 >= cwnd
    bytes_acked -= cwnd
    cwnd += 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增长太激进,导致网络突发流量,引起拥塞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值