重新组装 TCP 段

发布于 2024-10-08 04:07:04 字数 1459 浏览 7 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

顾忌 2024-10-15 04:07:04

SEQ 值以字节为单位计算,因此如果您收到带有 SEQ == 5 的 100 字节段,您就知道序列中的下一个段将具有 SEQ == 105

ACK 指示发送方期望从其对等方看到的下一个 SEQ 值。因此,您在多个数据包中看到相同 ACK 值的唯一原因是因为只有一侧正在传输。通过保持 ACK 相同,每次传输时,主机基本上表示它没有收到任何新内容。

SEQ values are counted in bytes, so if you receive a 100 byte segment with SEQ == 5, you know the next segment in the sequence will have a SEQ == 105.

The ACK indicates the next SEQ value that the sender expects to see from its peer. So the only reason you're seeing the same ACK value in multiple packets is because only one side is transmitting. By keeping the ACK the same, With each transmission, the host is basically saying it hasn't received anything new.

风苍溪 2024-10-15 04:07:04

序列号标识段中的第一个字节。作为连接建立的一部分,每个对等方为其将发送的第一个字节选择一个随机序列号。此后,下一个序列号是前一个序列号加上前一个段中的字节数。

我不明白你关于Wireshark是否使用Ack来重新组装段的问题。

The sequence number identifies the first byte in the segment. As part of connection establishment each peer picks a random sequence number for the first byte that it will send. Thereafter, the next sequence number is the previous sequence number plus the number of bytes in the previous segment.

I don't understand your question about whether Wireshark uses Ack to reassemble segments.

澉约 2024-10-15 04:07:04

我可能错了,
TCP 不负责重新组装 PDU。TCP 的工作是确保 tcp 段按顺序到达(seq、ack),它不关心上层协议。

例如,一个很长的 HTTP 响应(假设您是下载一些大文件),TCP 不知道(也不关心)请求的结尾在哪里,因为那是 HTTP 的工作

I might be wrong,
It is not up to TCP to reassemble the PDU..TCP's job is to make sure the tcp segments arrive in order(seq, ack), it does not care about the upper layer protocols..

e.g. a long HTTP response(suppose you are downloading some large file), TCP does not know (neither does it care) where the end of the request is, because that's HTTP's job

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文