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.

[参考译文] CC3235MODASF:TCP 通信延迟400ms

Guru**** 2539500 points
Other Parts Discussed in Thread: UNIFLASH, SIMPLELINK-CC32XX-SDK

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/945874/cc3235modasf-400ms-delay-for-tcp-retrasmittion

器件型号:CC3235MODASF
主题中讨论的其他器件:UNIFLASHSIMPLELINK-CC32XX-SDK

你好。

我已经为 SimpleLink 开发了 TCP 固件。

固件将 SimpleLink 配置为 WiFi Direct 客户端和 DHCP 寻址。

我已经为 Windows 10 PC 开发了 UWP c#软件。

软件使用 WiFi Direct 连接到 SimpleLink (将 PC 配置为组所有者)。

建立连接后、SimpleLink 会侦听 TCP 套接字。

PC 连接到此 TCP 套接字。

TCP 接受传入的 PC 连接后、 SimpleLink 会以最大速率以1kByte 的宽数据包传输(我有一个连续循环连续调用 sl_Send)。

有时、我观察到 PC 的"Socket.Receive"调用之间存在1..2...3秒的延迟。

我使用 Wireshark 来检查事情是什么。

问题是、有时(由于环境中的噪声:我在工厂中使用逆变器)

某些数据包丢失、Windows 10发送 DUP ACK (双工 ACK)以通知 SimpleLink 丢失。

请参见图像。

SimpleLink 重新传输此丢失的数据包-->好的!!!

但我发现 SimpleLink 在 ACK 后400ms 重新传输丢失的数据包:这对我的应用程序来说是个问题!! 请参见下图。

192.168.137.214是 SimpleLink。

192.168.137.1是我的 PC。

此400ms 延迟是可配置的?  我希望它低于10毫秒...

有人可以帮助我吗?

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

    您好、Mauro、

    您使用的是什么服务包? 遗憾的是、这是不可配置的、并且与 TCP 堆栈中的快速重试机制的实现有关。 在较新的 SP 中、我们做了一个修复、使其响应性更强。

    BR、

    Vince  

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

    新的快速实施有多长时间?

    月?

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

    它应在第三个重复的 Ack 之后触发。 您使用的是什么 SP?

    BR、

    Vince  

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

    我意识到我使用的是 SDK 4.10.00.07

    但我也安装了4.20.00.07... 只需将 COM_TI_SIMPLELINK_CC32XX_SDK_INSTALL_DIR 更改为4.20.00.07即可?

    对于新 的快速重试机制实现,我必须等待多长时间? 我们的公司主管计划将此产品投入市场六个月...

    是否可以使用测试版在实验室中对原型进行一些测试?

    它应在第三个重复的 Ack 之后触发。 ===>不,我看到#19之后的通信... 请参阅第一个帖子中的第二个图像  

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

    您好、Mauro、

    您将需要刷写服务包。 这是 SDK 中的一个文件、为我们的器件添加了错误修复/增强功能。 请在此处查看更多信息- https://dev.ti.com/tirex/explore/node?node=ABEoqU9o3snoxDcmIpW0EA__fc2e6sr__LATEST

    BR、

    Vince  

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

    还可以、但关于"快速传输机制"

    何时计划新的 SP?

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

    您好、Mauro、

    这些修复程序已纳入2020年初的 SP。 因此、如果您获取最新的 SP、您应该会看到改进。

    BR、

    Vince  

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

    好的、我理解不正确、

    明天早上、我将进行一些测试。

    我希望这能解决我的问题

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

    你好。

    今天上午、我将使用 UNIFLASH 更新 NWP Service Pack 文件、网址为

    SIMPLELINK-CC32XX-SDK_4.30.00.06

    推出日期:2020年 10月2日

    已从 https://www.ti.com/tool/download/SIMPLELINK-CC32XX-SDK 下载

    我开始测试、但我观察到数据包之间的延迟为100ms ... 400ms。

    我捕获到一种情况、即我观察到这种延迟。

    我看到 PC 识别未捕获的 TCP 段并启动 TCP 复制 ACK。

    我看到 SimpleLink 在#26个重复的 ACK 后通过 TCP 快速重新传输进行响应。 为什么不在#3个重复的 ACK 之后?

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

    您好、Mauro、

    只是为了确保我理解、现在的延迟是100ms? 它不立即发送数据包的原因与我们的内部 TCP 堆栈实现以及我们如何处理快速重新传输机制有关。 没有办法进一步改进这一点。

    BR、

    Vince  

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

    在之前的捕获中、PC 不接收两个连续的数据包。

    PC 开始传输 DUP ACKS、简单链路在100ms 后重新传输第一个丢失的数据包、但在400ms 后重新传输第二个丢失的数据包

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

    您好、Mauro、

    我认为这是有道理的。 第一个是 TCP 快速重新传输@ 100ms。 第二个是我们的默认 TCP 重试超时为400ms。 我们只会发送一个 TCP 快速重试、如果由于任何原因而失败、则将由400ms 的 TCP 重试超时控制。

    BR、

    Vince  

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

    好的...但在我们的开发组中看到 TCP 的这一问题、我们将改用 UDP 并尝试在应用层中实现 ACK 机制。

    我有一项建议/提议:

    为什么不提供为 TCP 启用10ms 重发计时器的方法?

    例如

    SlSockTcpUltraafast_t enableOption;
    enableOption.IsUltraafastEnabled = 1;

    SL_SetSockOpt (SD、SL_SOL_Socket、SL_SO_UltraFast、(_u8*)&enableOption、sizeof (enableOption));

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

    您好、Mauro、

    这必须处理我们的 TCP 堆栈实施、目前不可用。  我将向研发部门报告此功能请求

    BR、

    Vince  

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

    好的、请告诉我答案是什么