手机版 欢迎访问it开发者社区(www.mfbz.cn)网站

当前位置: > 开发

【TCP-IP详解卷一:协议】ch22 TCP的坚持定时器

时间:2021/5/21 16:40:26|来源:|点击: 次

目录

      • 1. 引言
      • 2. 糊涂窗口综合症
        • 2.1 定义
        • 2.2 解决方法
      • 3. 小结

1. 引言

ACK传输并不可靠,因为TCP不对ACK报文段进行确认,只确认那些包含数据的ACK报文段。
如果一个ACK丢失了,双方就有可能陷入死锁而使连接终止。为了防止这种情况发生,发送方使用坚持定时器周期性地向接收方查询窗口大小是否增加,这些从发送方发出的报文段称为窗口探查

2. 糊涂窗口综合症

2.1 定义

指的是发送端应用进程产生数据很慢、或接收端应用进程处理接收缓冲区数据很慢,或二者兼而有之,就会使应用进程间传送的报文段很小,特别是有效载荷很小,极端情况下,有效载荷可能只有1个字节,传输开销有40字节(20字节的IP头+20字节的TCP头) 这种现象。
简单来说就是少量的数据通过连接进行交换,而非满长度的报文段。

2.2 解决方法

  1. 接收方不通告一个比当前窗口大的窗口,除非可以增加一个报文段大小或接收方缓存空间的一半
  2. 发送方只有当满足以下条件之一1)可以发送一个满长度报文段;2)可以发送至少是接收方通告窗口大小一半的报文段;3)可以发送任何数据且不希望接收ACK 时才会发送数据

3. 小结

  1. 连接的一方需要发送数据但对方已通告窗口大小为0时需要设置TCP的坚持定时器,不断探查已关闭的窗口。
  2. TCP避免通告小的窗口大小或发送小的报文段。

Copyright © 2002-2019 某某自媒体运营 版权所有