gpt4 book ai didi

networking - TCP 序列号

转载 作者:可可西里 更新时间:2023-11-01 02:36:00 25 4
gpt4 key购买 nike

为什么我们需要TCP头中的序列号和下一个序列号字段?

下面是使用 wireshark 捕获的数据包中的 TCP header 。

TCP Header from a packet captured using wireshark

最佳答案

首先,Wireshark 中 [brackets] 中的字段是计算字段 - 它们不在数据包中。 Wireshark 显示的下一个序列号字段就是这样一个字段。 Wireshark 通过获取“序列号”字段并将其添加到数据包的有效负载大小来计算。毫不奇怪,这两个数字之间的差异是 1430——一个常见的 TCP 负载大小。

TCP 中的序列号以字节为单位 - 它们基本上表示,此数据包的有效负载插入 TCP 流中的哪个字节位置。

“已确认”序列号显示我确认已收到多少字节。

由于TCP是双向的,每一端都要声明

  1. 它传输的字节应该在流中的什么地方
  2. 我收到了你发送给我的字节数。

因此,每个 TCP 数据包都有两个引用序列号的字段 - “序列号”字段和“确认号”字段。

如果没有“序列号”字段,接收端将无法判断数据包是否按顺序接收。如果没有“确认号”字段,发送端将不知道他的某些数据包是否已被丢弃并且接收方从未收到过它们。

关于networking - TCP 序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33044730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com