【计算机网络】TCP流量控制和拥塞控制

一、TCP流量控制

所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。

1、利用滑动窗口实现流量控制

注:每个报文段为 100 字节长,而数据报文段序号的初始值设置为 1。

在箭头上面大写 ACK表示首部中的确认位 ACK,小写 ack 表示字段的值。只有 ACK = 1 时,确认号字段才有意义。

从上图,可以看出接收方的主机 B 进行了三次流量控制。第一次把窗口减小到 rwnd = 300,第二次减小到 rwnd = 100,最后减小到 rwnd = 0,即不允许发送方在发送数据了。这种发送方暂停发送将持续到主机 B 重新发出一个新的窗口值为止。


2、持续计时器

考虑存在一种情况:在图中,B 向 A 发送的带有新的接收窗口值的报文段丢失, A 一直等待 收到 B 的发送的非零窗口的通知,而 B 也一直等待 A 发送的数据。如果没有其他措施,这种相互等待的死锁局面将会一直延续下去。

为了解决这个问题,TCP 为每个连接设有一个持续计时器。

(1)只要 TCP 连接的一方收到对方的零窗口通知,就启动持续计时器。

(2)若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带 1 字节的数据),而对方就在确认这个探测报文段时给出了现在的窗口值。

(3)如果窗口值仍然为零,那么收到这个报文段的一方就重新设置持续计时器。如果窗口不是零,那么死锁的僵局就可以打破了。

3、必须考虑效率传输

可以用同的机制来控制TCP报文段的发送时机。例如:

(1)第一种机制:TCP维持一个变量,它等于最大报文段长度 MMS。只要缓存中存放的数据达到 MSS 字节时,就组装成一个 TCP 报文段发送出去。

(2)第二种机制:由发送方的应用进程指明要求发送报文段,即 TCP 支持的推送(PUSH)操作。

(3)第三种介质:发送方的一个计时器期限

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值