拥塞控制


拥塞控制

拥塞控制是一种用来调整传输控制协议(TCP)连接单次发送的分组数量(单次发送量,在英文文献和程序代码中常叫做cwnd)的算法。它通过增减单次发送量逐步调整,使之逼近当前网络的承载量。如果单次发送量为1,此协议就退化为停等协议。单次发送量是以字节来做单位的;但是如果假设TCP每次传输都是按照最大报文段来发送数据的,那么也可以把数据包个数当作单次发送量的单位,所以有时我们说单次发送量增加1也就是增加相当于1个最大报文段的字节数。

算法[编辑]

拥塞控制假设分组的丢失都是由网络繁忙造成的。拥塞控制有三种动作,分别对应主机感受到的情况:

  1. 收到一条确认。这很好,表明当前的单次发送量小于网络的承载量。
  2. 收到三条对同一分组的确认,即三条重复的确认。单次发送量往往大于3,例如发送序号为010203040的5条长度为10字节的分组,其中序号20的丢了,则返回的确认是10202020。3个20就是重复的确认。
  3. 对某一条分组的确认迟迟未到,即超时。例如发送序号为010203040的5条长度为10字节的分组,其中序号30的丢了,则返回的确认是10203030。这才只有两条重复确认。然而刚刚说过,单次发送量往往大于3,所以超时更可能是因为不止一条分组或确认丢失而引起的,这说明网络比上一情况中的更加繁忙。

当主机收到一条新确认,此时可以增加单次发送量。若当前单次发送量小于倍增阈限(在英文文献和程序代码中常叫做ssthresh),则单次发送量加倍(乘以2),即指数增长;否则单次发送量加1,即线性增长

当主机收到三条重复的确认——单次发送量减半,倍增阈限等于单次发送量。(进入线性增长期)

当主机探测到超时——倍增阈限=单次发送量÷2,单次发送量=1。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值