TCP 协议
TCP 协议抓包分析
TCP 通信过程中 seq 和 ACK 值说明
TCP 连接通信过程中,client 和 server 端各自维护自己的
seq
。后面一个数据包的seq
是前面一个数据包的seq
加上前面一个数据包的大小。表示发送的字节位置。假如当前连接中,之前一个包
seq = 100
,其发送数据包大小为 0,则当前要发送的数据包的seq = 0
假如当前连接中,之前一个包
seq = 100
,其发送数据包大小为 20,则当前要发送的数据包的seq = 120
TCP 连接通信过程中,client 和 server 端要发送给对方的包的
ACK
的值为:收到的包的seq
+ 收到的包的Len
,此值告知发送方,接收方希望接收到的下一个包的序列号。假如接收方接收到了
seq = 100
,Len = 0
的包,接收方需要发送的ACK = 100 + 1
假如接收方接收到了
seq = 100
,Len = 20
的包,接收方需要发送的ACK = 100 + 20