TCP—慢启动简介

本系列文章是博主学习TCP协议以来的个人笔记。博主不能保证本文所述

内容绝对正确,所以请读者抱着怀疑的态度阅读本博客内的文字。如果读

者因本博客内的文字造成损失,本人无力负责。如果有任何谬误或者问题,

希望读者不吝赐教。

 

 

在广域网,TCP报文可能要经过多个路由器和速率较慢的链路。如果发送方一开始就向网络

发送多个报文段,则中间路由器的缓冲负担会立刻加重,很可能致使路由器缓存空间耗尽,
引发丢包。
举例说明:假设中间路由存储空间可以缓存3个报文段(这是作了简化的假设),发送端连续发
出了编号为1,2,3,4,5的报文段,中间路由可能来不及一次性全部转发,于是先将转发1和2,
缓存3,4,5,此时路由器存储空间耗尽。这时发送方又有新报文6,7到达,于是来不及转发的3,
4被丢弃,6,7被缓存,这样不可避免地导致了重传发生。

为了解决这一问题,TCP需要支持“慢启动”算法,该算法通过观察到新分组进入网络的速
率应该与另一端返回确认的速率相同而进行工作。
慢启动算法在发送方TCP增加了一个拥塞窗口,记为cwnd,它与通告窗口相互配合来完成
慢启动过程。
当TCP连接建立成功以后,开始阶段,cwnd为1个报文段。发送方每收到一个ack,cwnd都
会增加。收到第一个ack时,cwnd = 2;收到第2个ack时,cwnd = 4,如此这般以指数关系
增加,直到cwnd = 通告窗口或者发送报文的速率达到了网路的容量,中间路由器开始丢弃
分组,这就通知发送方拥塞窗口开得过大。
需要注意的是:
1.发送方发送上限是cwnd和通告窗口的最小值(单位是字节)。
2.cwnd以字节为单位,但是慢启动以报文段大小为单位进行增加
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值