好的,所以我有这个家庭作业的问题,我得到'Host X'发送'Host Z'一个数据包并且Seq = 46和Ack = 87并且有效负载/数据='你好?
从那里我得到:从主机 Z 发送到主机 X 的数据包,有效载荷 =“离开”,最后一个数据包从主机 X 发送到主机 Z,数据 =“否!”
作业是找出最后两个数据包的 Seq 和 Ack 的值是多少。我知道握手已经结束,所以它不仅仅是将 1 添加到 Seq 并将其放入下一个数据包的 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)
我相信这就是全部,我上面的内容是正确的,但是如果我做错了什么,请告诉我。再次感谢大家。