第五章 运输层 ---TCP的流量控制与拥塞控制(重要)

5.4 TCP的流量控制

在这里插入图片描述
大写ACK是tcp报文段首部中的标志位,取值1表示这是一个TCP确认报文段。
小写ack是TCP报文段首部中的确认号字段。取值201表示201之前的数据已全部正确接收,希望收到后续数据.
rwnd代表接收窗口字段,代表接收窗口大小为300。
在这里插入图片描述

问题:若rwnd在过程中丢失了,发送方接收不到窗口大小,会造成死锁,如何解决?

在这里插入图片描述

在这里插入图片描述
当发送窗口被调控为0后,发送方启动持续计时器,若rwnd在过程中丢失了,等到持续计时器时间到了,会向接收方发送零窗口探测报文。若返回的rwnd仍为0,则重启持续计时器,但如果不是0,就可以打破死锁的局面。

问题:若rwnd本身已经是0了,要怎么接收零窗口探测报文并对其发回确认呢?

TCP规定,即使接收窗口为0,也必须接收零窗口报文段、确认报文段、紧急数据报文段。

问题:若零窗口探测报文丢失还能打破死锁吗?

可以,因为该报文有重传计时器。

例题

在这里插入图片描述

总结

在这里插入图片描述

5.5 TCP的拥塞控制

在这里插入图片描述

TCP四种拥塞算法

在这里插入图片描述

慢开始

cwnd<ssthresh时,使用该算法。
开始cwnd=1
传输轮次+1时,cwnd=1+1=2
传输轮次再次+1时,cwnd=2+2=4
以指数级增长,以此类推。
当慢开始门限值等于拥塞窗口值时改用拥塞避免算法。
在这里插入图片描述

拥塞避免

cwnd>=ssthresh时,使用该算法,cwnd不再以指数级增长,而是以线性加一的方式进行拥塞避免。
在这里插入图片描述
若部分报文段丢失,会导致超时重传,误认为产生了拥塞
在这里插入图片描述
需进行以下工作:
在这里插入图片描述
在这里插入图片描述
快重传算法可以提升传输速率。

快重传算法

在这里插入图片描述
例如,M3发送过程中丢失了,后面的数据报发送过去后发现不是按序到达的,会对M3进行重复确认,当连续三次发送方收到重复确认后立即重传M3报文,接收方接受后对收到的最后一个报文进行确认,告诉发送方这之前的所有报文均以接收完毕。
在这里插入图片描述

快恢复算法

在这里插入图片描述
在这里插入图片描述

例题

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

webfker from 0 to 1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值