This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/TDA2:NDK 2_24_02_31 TCP 缓慢启动

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/679667/rtos-tda2-ndk-2_24_02_31-tcp-slow-start

器件型号:TDA2

工具/软件:TI-RTOS

大家好!

我们想知道源文件中的缓慢启动条件:

VISION_SDK_02_12_01_00\ti_componels\networking\NDK_2_24_02_31\packages/ti\NDK\STACK_tcp_tcpout.c

我们可能已经理解了第一个缓慢启动条件的含义:

pt->snd_una=pt->snd_max

因此、这意味着最后发送的 TCP 报头(未确认的段内)内的序列号等于当前窗口最后一段的序列号。

如果我对此不正确、请更正我。

另一个条件如下:

 PT->t_tidle >(pt->t_trtx<2)

我们想知道这些节拍计数:t_tidle 和 t_trtx、确切地说、这是什么。

我们观察到了 snd_cwnd 值、它在整个通信过程中保持了最大值(65535)。

在我们降低路由器的带宽后、我们注意到 snd_cwnd 有时会降低。

此外、我们在慢启动 IF 语句中添加了一些打印内容、并且我们没有注意到真正的慢启动条件发生了任何情况。

我们还注意到、此 TCP 不会在数据传输开始时执行缓慢启动、但会立即设置最大16位窗口大小。

触发缓慢启动的最佳方法是什么?

提前感谢、
Marko

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Marko、您好!

    请给我们一些时间来讨论您的问题。 我已要求我们的 NDK 专家进行评论、他将检查可能出现的问题并告知您。  

    由此给您带来的不便、我们深表歉意。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Marko、

    堆栈中没有缓启动机制的配置。 遗憾的是、我们根本不需要员工详细介绍实施细节。 如果您发现此功能有问题(从黑盒的角度来看)、请包括测试用例(以及说明)。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Todd、

    在漫长的测试过程中、我们注意到缓慢启动条件从未得到满足、因此我们怀疑这种机制存在一些功能错误。 不过,经过另外几次实验,我们成功地触发了缓慢的启动。 我们观察了 cwnd 值、实际上它被设置为一个 MSS、从而证明了它的功能。

    此致、
    Marko Gostovic