tcp三次握手与四次分手
三次握手A主机请求B主机
A主机 先发 syn=1 ,seq=a 给B主机 A主机进入SYN_SENT状态
B主机收到后发送 syn=1 ACK=1 seq=b ack=a+1 给A主机 B主机此时服务器进入SYN_RECV状态;
A主机收到后发送ACK=1 seq=a+1 ,ack=b+1 给B主机 客户端和服务器进入ESTABLISHED(TCP连接成功)状态
syn=1 表示请求连接包 seq=a 表示本机的第几个数据包,即本机的数据包序列号 ACK=1表示确认包 ack=a+1 表示响应对方主机的第几个数据包
四次挥手
主机A发送断开TCP连接请求的报文,其中报文中包含seq序列号,是有发送端随机生成的,并且还将报文中FIN字段的值设为1,表示需要断开TCP连接。
主机B会回复A发送的TCP断开请求报文,其中包含seq序列号,是由恢复段随机生成的,而且会产生ACK字段,ACK字段的数值,是在A发送过来的seq序列号基础上加1进行回复的,以便A收到信息时,知晓自己的TCP断开请求已得到了验证。
在主机B回复完A的TCP断开请求后,不会马上就进行TCP连接的断开,主机B先会确认确保断开前,所有传输到A的数据是否已经传输完毕,一旦确认传输完毕就会将回复报文的FIN字段置为1,并产生随机seq序列号。
主机A收到主机B的TCP断开请求后,会回复主机B 的断开请求,包含随机生成的seq字段和ack字段,ack字段会在主机B的TCP断开请求的seq的基础上加1,从而完成主机B请求的验证回复。
草都可以从石头缝隙中长出来更可况你呢