运输层 ---流量控制(使用滑动窗口)

  • 之前讲过,理想传输的一个重要条件就是发送方发多快接收方都能接收到。实际上是不可能实现的,只能可以通过流量控制来控制发送方发送数据的速率(控制要求由接收方提出)。

利用滑动窗口实现流量控制:在讲可靠传输时讲过
在这里插入图片描述

  • 其中rwnd指的是窗口大小,这里指B设置A的窗口的大小

可能会发生死锁

  • B向A发送了零窗口报文段后,B的接收缓存又有了一些空余,于是B向 A发送了rwnd=400的报文段。
  • 但这个报文段在传送过程丢失了。这时候A一直等待收到B发送的非零窗口的通知,而B也一直等待A发送的数据
  • 如果没有其它措施,这种互相等待的死锁局面将一直延续下去。
  • 为了解决这个问题,TCP为每一个连接设有一个持续计数器

持续计时器

  • TCP为每一个连接都设有一个持续计时器
  • 只要TCP连接的一方收到对方的零窗口通知(假如收到的是接收方),就启动这个持续计时器
  • 若计时器时间到期,发送方就发送一个零窗口探测报文段(1个字节),接收方就在确认这个探测报文段时给出现在的窗口值。
  • 若窗口仍然是零,则收到这个报文段的一方就重新设置持续计时器。(如果接收方窗口大小一直是零该怎么办???)
  • 若窗口不是零,则死锁的僵局就可以打破了

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值