关于TCP的问题

game_tree 2002-05-30 12:32:51

捕获到两个TCP包,从这两个包的内容看应该是顺序得到的,内容经过重新组包后也是正确的。但它们的TCP包头中的sequence number字段的值却相等(试过好几次),这和我设想的情况不同。

我觉得在非乱序的情况下,第2个包的sequence number应该等于第1个包的sequence number + 第一个包的TCP数据长度(不包含包头)。

顺便说一下,第一个TCP包的控制标志为ACK, 第二个TCP包的控制标志为ACK+PSH。

希望有高手能够指点一下。

...全文
30 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuying 2002-05-30
  • 打赏
  • 举报
回复
1. "在非乱序的情况下,第2个包的sequence number应该等于第1个包的sequence number + 第一个包的TCP数据长度(不包含包头)。 "
这是正确的。

2. "第一个TCP包的控制标志为ACK, 第二个TCP包的控制标志为ACK+PSH",说明这个报文是对接收到的报文的应答。
一个TCP报文中有两个序号,一个是发送的序号,一个是对接收到的报文应答的序号。如果是发送的序号重复,表明是没有收到对方对前面报文的应答,重发的报文;如果是应答序号重复,表明收到的报文的序号不是希望接收的序号或者没有收到报文,因此希望接收的报文序号不变,所以重复。

推荐<TCP/IP详解 卷I:协议> W.Richard Stenvens

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧