RX65N 系列 以太网如何延迟ACK回复

使用RX65N芯片的以太网功能。

导入了 T4 driver 包,加入了TCP的功能。

应用上使用了ModbusTCP协议作并为从站设备。

在wireshark抓包的时候。发现当主站发起 modbus请求后,

MCU立刻回复了一条ACK响应请求。

想问有没有什么办法不发这条ACK回去,而是等40ms后或者TCP回信(Windows 10式样)的时候带上这条ACK,用于减小网络负荷。

0.3为MCU 0.228为Modbus主站

上图

①03收到PSH后,立刻单独回复了ACK,一段时间后回复了PSH(应用)

②228收到PSH后,没有单独回复ACK,而是跟着后一条报文(应用)携带ACK

同上

① 同上

②228收到PSH后,没有发新的报文(应用),此时过了40ms, 单独回复了ACK。

Parents
  • RX Smart Configurator中并不提供控制ACK延迟的参数。

    ACK是TCP协议栈中实现的,ACK延迟由协议栈内部自动控制,因此不在Smart Configurator中提供相关的控制接口。

    FreeRTOS+TCP/IP协议遵循TCP协议规范,其中包含了延迟确认(Delayed ACK)机制。根据TCP规范,接收端会通过延迟发送ACK的方式来进行优化,以减少ACK的数量和带宽开销。

    但是,具体的ACK延迟受到较多因素的影响,如:数据报文段大小,网络拥塞程度等。

    如需手动设置调整ACK延迟时间,可考虑修改FreeRTOS+TCP源码,在适当的位置插入延迟确认的逻辑。

    需格外注意的是:此操作需要对TCP/IP协议栈的内部实现有较深理解,并在修改后评估带来的风险。

Reply
  • RX Smart Configurator中并不提供控制ACK延迟的参数。

    ACK是TCP协议栈中实现的,ACK延迟由协议栈内部自动控制,因此不在Smart Configurator中提供相关的控制接口。

    FreeRTOS+TCP/IP协议遵循TCP协议规范,其中包含了延迟确认(Delayed ACK)机制。根据TCP规范,接收端会通过延迟发送ACK的方式来进行优化,以减少ACK的数量和带宽开销。

    但是,具体的ACK延迟受到较多因素的影响,如:数据报文段大小,网络拥塞程度等。

    如需手动设置调整ACK延迟时间,可考虑修改FreeRTOS+TCP源码,在适当的位置插入延迟确认的逻辑。

    需格外注意的是:此操作需要对TCP/IP协议栈的内部实现有较深理解,并在修改后评估带来的风险。

Children
No Data