TCP/IP协议卷学习---TCP部分(十一 慢启动)

1 慢启动存在原因
发送方一开始便向网络发送多个报文段,直至达到接收方通告的窗口大小为止。当发送方和接收方处于同一个局域网时,这种方式是可以的。但是如果在发送方和接收方之间存在多个路由器和速率较慢的链路时,就有可能出现一些问题。一些中间路由器必须缓存分组,并有可能耗尽存储器的空间。
“慢启动 (slow start) ”算法。该算法通过观察到新分组进入网络的速率应该与另一端返回确认的速率相同而进行工作。

2 拥塞窗口
拥塞窗口 (congestion window) ,记为cwnd,当与另一个网络的主机建立 T C P连接时,拥塞窗口被初始化为 1个报文段(即另一端通告的报文段大小) 。每收到一个 A C K,拥塞窗口就增加一个报文段( c w n d以字节为单位,但是慢启动以报文段大小为单位进行增加) 。发送方取拥塞窗口与通告窗口中的最小值作为发送上限。拥塞窗口是发送方使用的流量控制,而通告窗口则是接收方使用的流量控制。
发送方开始时发送一个报文段,然后等待 A C K。当收到该 A C K时,拥塞窗口从1增加为2,即可以发送两个报文段。当收到这两个报文段的 A C K时,拥塞窗口就增加为 4。这是一种指数增加的关系。当拥塞窗口过大也就是发送过快时,中间路由器开始丢弃分组。这就通知发送方它的拥塞窗口开得过大,之后通过超时与重传(后面章节)来处理。

3 成块数据的吞吐量
下面两张图模拟了拥塞窗口不断增加的例子,在时间3 1及其后续时间,发送方和接收方之间的管道 ( p i p e ) 被填满。此时不论拥塞窗口和通告窗口是多少,它都不能再容纳更多的数据。每当接收方在某一个时间单位从网络上移去一个报文段,发送方就再发送一个报文段到网络上。但是不管有多少报文段填充了这个管道,返回路径上总是具有相同数目的 A C K。这就是连接的理想稳定状态。
在这里插入图片描述
在这里插入图片描述
4 带宽时延乘积
capacity (bit) = bandwidth(b/s) × round-trip time ( s )
capacity:网络容量
bandwidth:带宽,每秒发送bit数量
round-trip time:RTT时延,指的是数据来回的时间
如果接收端窗口大小小于网络容量,则会出现拥塞,需要减慢发送速度。反之,则不会出现拥塞,可以加快发送速度。
因此想要提升网速,除了提高带宽之外,尽量减少RTT以及提高接收端通告窗口大小也可以提升网速。

5 紧急方式
T C P提供了“紧急方式 (urgent mode) ” ,它使一端可以告诉另一端有些具有某种方式的 “紧急数据”已经放置在普通的数据流中。另一端被通知这个紧急数据已被放置在普通数据流中,由接收方决定如何处理。
可以通过设置TCP首部中的两个字段来发出这种从一端到另一端的紧急数据已经被放置在数据流中的通知。URG比特被置 1,并且一个16bit的紧急指针被置为一个正的偏移量,该偏移量必须与TCP首部中的序号字段相加,以便得出紧急数据的最后一个字节的序号。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值