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.
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.
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
发布评论
评论(3)
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 aSEQ == 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.
序列号标识段中的第一个字节。作为连接建立的一部分,每个对等方为其将发送的第一个字节选择一个随机序列号。此后,下一个序列号是前一个序列号加上前一个段中的字节数。
我不明白你关于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.
我可能错了,
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