序列号seq:占32位,表示这个tcp包的序列号。tcp协议拼凑接收到的数据包时,根据seq来确定顺序
确认号ack:占32位,表示这个包的确认号。首先意味着已经收到对方了多少字节数据,其次告诉对方接下来seq要从ack确定的数值继续接力。
标志位:共6个,即URG、ACK、PSH、RST、FIN等。
SYN同步SYN表示进行一个连接请求 ACK确认位ACK=1确认有效ACK=O确认无效 ack确认号,客户端的序列号(seq)+1 seq序列号,序列号是随机生成的随机数
详细过程如图:
第─次:客户端主动给服务器发出请求,希望服务器能够响应,因此SYN=1建立一个连接请求,在随机生成一个序列号seq=x
第二次:服务器接收到了客户端发出的请求,并且做出响应,表明已经接收到了,因此,SYN=1表示建立一个新的连接,ACK=1表示确认接收到的东西有效,ack=x+1表示确认已经接收到了序列号因此+1,seq=y表示服务器向客户端发出的序列号
第三次:客户端接收到了服务器发送过来的响应,并且回复服务器我已经接收到了,因此.ACK=1表示再次建立个新连接,ack=y+1表示确认接收到了服务器的响应,因此+1,seq=x+1表示客户端将原本服务器产生的x+1传递给服务器,以便于确认客户端是否是同一个客户端