gpt4 book ai didi

握手后的 TCP : seq ack homework

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

好的,所以我有这个作业问题,我知道“主机 X”向“主机 Z”发送了一个数据包,Seq=46 和 Ack=87,有效负载/数据 =“你好?”

从那里我得到:一个从主机 Z 发送到主机 X 的数据包,有效负载='Go away',最后一个数据包从主机 X 发送到主机 Z,数据='No!'

作业是找出最后两个数据包的 Seq 和 Ack 的值。我知道握手已经结束,所以它不仅仅是将 Seq 加 1 并将其放入下一个数据包的 Ack 中那么简单。我在某处读到,当接收到有效载荷时,接收者会发出一个等于 1 + 有效载荷字节长度的 Ack。如果那是正确的,我将如何将这些字符串转换为字节? Seq 会发生什么?这仍然是直接从先前的数据包 Ack 中抓取的吗?

非常感谢大家。

假设每个字符等于一个字节,我将继续回答我的问题,如果我错了希望有人能纠正我。

我假设我得到的 Seq 和 Ack 是握手后的第一次传输,所以:

X->Z Seq=45 Ack=NULL
X<-Z Seq=86 Ack=46
X->Z Seq=46 Ack=87

X->Z Seq=46 Ack=87 data='Hello?' (6 bytes)
X<-Z Seq=87 Ack=52 data='Go away' (7 bytes)
X->Z Seq=52 Ack=94 data='No!' (3 bytes)

我相信这就是全部,我上面的内容是正确的,但如果我做错了什么,请告诉我。再次感谢大家。

最佳答案

我会推荐安装 wireshark,然后玩。您可以查看各个 TCP 段、标志和数据。一段时间后,您就会了解它是如何工作的。

我认为你的答案是正确的,你也可以像这样添加标志和 len 以帮助理解。

X->Z [SYN]      Seq=45
X<-Z [SYN, ACK] Seq=86 Ack=46
X->Z [ACK] Seq=46 Ack=87

X->Z [ACK] Seq=46 Ack=87 Len=6 data='Hello?'
X<-Z [ACK] Seq=87 Ack=52 Len=7 data='Go away'
X->Z [ACK] Seq=52 Ack=94 Len=3 data='No!'

请注意至少还有一个序列,即使应用层没有做任何其他事情也是如此。

关于握手后的 TCP : seq ack homework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11292810/

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