网络

TCP的三次握手

三次握手
第一次握手:客户端发请求连接:SYN包,(服务端你好,我的编号是1000,收到请回答)

第二次握手:服务器端回复SYN包+ACK包,可以连接(客户端你好,我的编号是2000,我已收到你的消息,并且给你的序号加1)

第三次握手:客户端回复收到的ACK包,连接建立(服务端你好,我已收到你发给我的1001编号,我已确认无误,我发送你的序号加1)

TCP四次挥手

挥手
第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送。

第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1。此时还可以数据传输

第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送。

第四次挥手:Client收到FIN后,接着发送一个ACK给Server,确认序号为收到序号+1,这时,客户端进入等待状态,要是服务器没有收到ACK+1,服务器就会返回信息给客户端说没收到,再发一次。如果客户端最后一次发了ACK+1之后立马断开连接,万一服务器没收到ACK+1,服务器就会一直进入等待状态