在三次握手之后,我对TCP数据包中的ACK和SEQ号感到困惑。我认为ACK编号是下一个预期的SEQ编号。因此,当我在Wireshark中分析TCP连接时,它显示
TCP SYN with SEQ=0
TCP SYN ACK with SEQ 0, ACK=1 (clear, server expects SEQ 1 in next packet)
TCP ACK with SEQ 1, ACK=1 (clear, sender expects SEQ 1 in next packet)
HTTP Request: TCP PSH ACK with SEQ 1, ACK=1
最后一
我有一个TCP服务器,它侦听传入的客户端,然后每秒向它发送一个数据包。我想知道,SYN/ACK数据包是否只在初始连接时发送,所以看起来是这样的:
<client connect>
SYN
ACK
DATA
DATA
DATA
<client disconnect>
或者它是随每个包一起发送的,就像这样?
<client connect>
SYN
ACK
DATA
SYN
ACK
DATA
SYN
ACK
DATA
<client disconnect>
另外,如果是第一种情况,如果长时间保持连接打开,UDP比TCP有什么好处吗?