TCP协议seq,ack理解

通过分析TCP报文数据,可以得出以下结论:

seq表示本次发送数据的偏移量,ack表示回复已经接收到的数据量。
seq可以防止乱序,重复数据等功能,ack可以回复已经接受数据,下次对端发送从ack出偏移位置处发送,防止数据丢失。

比如建立后,客户端seq=1,ack=1,服务端seq=1,ack=1

客户端发送4字节:客户端seq=1,ack=1,len=4
客户端在发送4字节:客户端seq=5,ack=1,len=4

服务端回复ack:服务端:seq=1,ack=9,len=0
服务端发送4字节数据:seq=1,ack=9,len=4
服务端在发送4字节:seq=5,ack=9,len4

客户端回复ack:seq=9,ack=9,len=0
客户端发送4字节数据:seq=13,ack=9,len=4

你可能感兴趣的:(网络协议)