【问题标题】:TCP RENO MSS, Sender Window, Threshold and Receiver windowTCP RENO MSS、发送方窗口、阈值和接收方窗口
【发布时间】:2018-12-28 19:23:49
【问题描述】:

我很难理解当发送方从接收方收到三重重复 ACK 时会发生什么,以及发生超时时会发生什么。

到目前为止,我的理解是:

在三次重复 ACK 上:(1) 将阈值设置为发送方窗口大小的一半,(2) 将接收方窗口大小设置为 1 MSS

除了重传之外,我不确定当超时发生时会发生什么。

我正在解决下面列出的这个问题。如果有人可以帮助我确认发生三重 ACK 以及发生超时时会发生什么,将不胜感激。

假设一个 TCP 连接有一个 24 kB 的初始阈值和一个 最大段大小 (MSS) 为 4 kB。接收者通告窗口是 40 KB。假设所有的传输尝试都是成功的,除了一个 收到三重重复 ACK(对于先前传输的相同 数据)在第 7 次传输和传输超时 数字 12。第一次传输尝试是数字 0。找到大小 发送方前 18 次传输的拥塞窗口 尝试(编号 0-17)假设发送方的 TCP 实现是 使用慢启动拥塞控制方案

Trans. #    Sender wnd. (kb)    Threshold (kb)  Receiver wnd. (kb)
0   4   24  40
1   8   24  40
2   16  24  40
3   24  24  40
4   28  24  40
5   32  24  40
6   4   16  40
7   8   16  40
8   12  16  40
9   16  16  40
10  20  16  40
11  24  16  40
12          40
13          40
14          40
15          40
16          40
17          40

【问题讨论】:

    标签: tcp ip transport


    【解决方案1】:

    对于未来的读者,TCP Reno的正确答案如下:

    在三次重复 ACK 时,阈值设置为发送方窗口大小的一半,发送方窗口大小减半。

    超时时,阈值设置为发送方窗口大小的一半,发送方窗口重置为 1 MSS 并使用慢启动。

    对于 TCP Tahoe:

    在三次重复 ACK 时,阈值被发送到发送方窗口大小的一半,并且发送方窗口大小重置为 1 MSS。然后使用慢启动,直到发送者达到阈值。

    超时后,Tahoe 和 Reno 执行相同的功能。

    正确答案:(对于 TCP Reno)

    Trans. #    Sender wnd. (kb)    Threshold (kb)  Receiver wnd. (kb)
    0   4   24  40
    1   8   24  40
    2   16  24  40
    3   24  24  40
    4   28  24  40
    5   32  24  40
    6   36  24  40
    7   40  24  40 <- tripple duplicate ack after attempting to transmit 
    8   20  20  40 
    9   24  20  40
    10  28  20  40
    11  32  20  40
    12  36  20  40 <- timeout after attempting to transmit 
    13   4  18  40
    14   8  18  40
    15  16  18  40
    16  18  18  40
    17  22  18  40
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 2011-03-26
      • 1970-01-01
      • 2015-08-31
      相关资源
      最近更新 更多