TCP传输与拥塞避免


Spurious 重传:这是已经被确认过的数据再一次被重传。
快速重传:收到 3 次及以上次数的重复确认后,不等超时就做出的重传。
重传:超时计时器到点而触发的重传,这就是有名的超时重传。
重复确认:确认号重复的多个报文,重复确认是引发快速重传的原因。

一 TCP 拥塞控制

四个阶段:

慢启动;拥塞避免;快速重传;快速恢复

1 慢启动

slow start开始报文以一个较慢的速度启动,例如1个MSS,然后成倍数增长。实际上,也可能不是成倍数,决定因素是由客户端收到的ack。例如客户端发送2个MSS,按理说下一次传输应该是4个MSS,但是如果仅收到了1个MSS的ack确认报文,那下一次的传输报文应该是3个MSS。
慢启动终止的条件:
遇到了拥塞;
拥塞窗口增长到慢启动阈值。

2 慢启动阈值

是设定的特定值,慢启动达到该值后,行为成为拥塞避免,数据传输速度由之前的成倍数增长变为每过一个RTT,增长1个MSS。由之前的指数增长变为线性增长。

3 拥塞窗口

初始拥塞窗口
初始拥塞窗口从前是1个MSS,不过目前较为常见的是10个MSS,这是因为早期的互联网带宽受限,初始窗口比较谨慎,但这样达到最合适的传输速度比较慢,于是谷歌建议改为10.

4 拥塞避免

慢启动触发慢启动阈值后,即进入拥塞避免阶段,逐个RTT逐个MSS增加,直到触发了第一个拥塞点,拥塞窗口会立刻降低到初始拥塞窗口,而慢启动阈值会降低到第一个拥塞点的一半。 如图第2次Threshold=10是20的一半
在这里插入图片描述

5 快速重传

超时重传
一般来说tcp每发送一个报文就会携带一个计时器,一般为200ms,如果超过这个时间没有收到ack确认,那么发送方就会认为这个包丢失了,就会自动重传,也叫超时重传。不过如果每次都要等200ms,着实有点慢,所以有了快速重传。
快速重传
一但发送方收到了三个ack确认(对上一个包的确认,ack也可以理解为希望接收这个ack的接下来的包),那么发送方就不会再等200ms了,会立即发送数据给接收方

6 快速恢复

tcp传输之前遵循的是慢启动(指数增长)->拥塞避免(线性增长)->拥塞点->慢启动(指数增长)->拥塞避免(线性增长)如此反复,但是这样还是太慢了,所以在遇到拥塞点后,通过快速重传,起始点直接从降半(一种说法)的拥塞窗口开始进行拥塞避免增长。
在这里插入图片描述**TCP/IP详解卷一说法**收到三个重复ack后,拥塞窗口不再设置为1个mss,而是ssthresh+3*mss(ssthresh=slow start)

TPC/IP详解在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值