tcp首部的序号包含首部吗?

tcp首部有一个序号。是本数据段发送的第一个字节的编号。

这里的第一个字节,指的是源端口的低8位,还是高8位?还是指的数据部分的前8位??

参考GPT和自己的思路:首先,TCP首部中的序号是指数据部分的第一个字节的编号,而不是源端口的低8位或高8位。因此,这个序号不包含首部,只包含数据部分的前8位。需要注意的是,序号的单位是字节而不是位。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/355566
  • 你也可以参考下这篇文章:TCP延迟应答和捎带应答及“粘包问题“和TCP异常
  • 除此之外, 这篇博客: TCP可靠性传输是怎么是实现的?中的 首先我会问连接管理,重发控制,确认应答等机制还不能保证可靠性传输吗?为什么还需要窗口控制? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    事实上前面提到的几个机制可以保证传输的可靠性,但是一条一条信号的发,显然效率太低了。我们现实生活中批处理被应用于方方面面,考虑一次传输一批信号也是常规套路,那一次发多少呢?一次发多少,需要接收方根据能一次收多少决定。

    • 接收方怎么通知发送方自己能接受的数据大小?
      TCP在建立连接时,TCP首部字段中包含了接收方将能接受的数据大小,发送到发送者,确定了窗口值的大小。但是这个窗口值在传输过程中并不是恒定值,会在超时重传或者重复应答时根据一定的策略改变窗口值,之后的拥塞控制会详细描述。

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^