TCP ACK和下一个数据包之间的延迟

时间:2014-05-31 00:26:13

标签: tcp ip tcpclient

我有一个带文件上传的简单HTML表单

<form action="...." enctype="multipart/form-data" method="post">
<input type="file" name="d">
<input type="submit" value="Send">
</form>

我注意到使用wireshark上传和调试时出现了奇怪的延迟。第一个数据包的ACK和第二个数据包的ACK之间有一个奇怪的2秒延迟。 知道为什么会这样吗? enter image description here

1 个答案:

答案 0 :(得分:0)

这是应用程序引入的延迟&amp;不是通过TCP堆栈。您可以看到应用程序最初推送长度为577的数据,可能是http标题&amp;在接近200ms后收到ACK,等于TCP延迟ACK超时&amp;它绝对没问题。之后,2秒是应用程序从系统读取文件所需的延迟。读取文件后,您可以看到它发送了更大的数据块,填充整个TCP段长度,即1514。 您需要检查文件系统或应用程序读取实际导致延迟的文件的方式。