TCP三次握手过程:
在建立一个TCP连接时,需要客户端和服务器总共发送三个包。主要作用时确认双方的接受和发送能力是否正常。
①主机向服务器发送一个syn报文,首部的同步位SYN=1
②服务器收到syn报文后,以自己的syn报文作回应。
③主机收到SYN报文后,发送一个ACK报文,表示说到来自主机的SYN报文,此时双方建立连接。
四次断开过程:
1 主机A发送断开TCP断开连接请求的报文,其中报文中包含seq序列号,是由发送端随机生成的,并且将报文中FIN字段设置为1,表示需要断开TCP连接
2 主机B会回复A发送的TCP断开请求报文,其中包含seq序列号,是由回复端随机生成的,而且会产生ACK确认字段,ack确认号字段的数值是在A发过来的seq序列号基础上加1进行回复,以便A收到信息时,知晓自己的TCP断开请求已经得到了验证
3 主机B在回复完A的TCP断开请求后,不会马上进行TCP连接的断开,主机B会先确定断开前,所有传送到A的数据是否已经传送完毕,一旦确认传送数据完毕,就会将回复报文的FIN字段设置为1,并产生随机seq序列号,ACK确认字段,ack确认号值是在A发过来的seq序列号基础上加1进行回复
4 主机A收到主机B的TCP断开请求后,会回复主机B的断开求情,生ACK确认字段,会使自己的seq序列号加1表示,和ack字段,ack确认号字段会在主机B的TCP断开求情的seq基础上加1,从而完成主机B请求的验证回复。
在TCP的协议报头中有两个字段:序列号和确认序列号。这两个字段来保证确认应答机制的。