TCP三次握手/四次挥手

来源:互联网 发布:深入浅出java pdf 编辑:程序博客网 时间:2024/05/17 22:55

一,三次握手

TCP使用三次握手建立一个连接:

第一次握手:客户端发送SYN包至服务器,并进入SYN_SENT状态,等待服务器确认

第二次握手:服务器收到客户端的SYN包,发送一个ACK,同时发送自己的SYN,此时服务器进入SYN_RCVD状态

第三次握手:客户端接收到服务器发送的SYN+ACK后,进入ESTABLISHED状态,并发送服务器SYN包的确认ACK,服务器接收到客户端ACK后,进入ESTABLISHED状态

当客户端和服务器都进入ESTABLISHED状态后,客户端和服务器之间就可以开始双向传递数据了

二,四次挥手

TCP使用四次挥手关闭一个连接:

第一次挥手:主动关闭方发送一个FIN并进入FIN_WAIT1状态

第二次挥手:被动关闭方接收到主动关闭方发送的FIN并发送ACK,此时被动关闭方进入CLOSE_WAIT状态;主动关闭方收到被动关闭方的ACK后,进入FIN_WAIT2状态

第三次挥手:被动关闭方发送一个FIN并进入LAST_ACK状态

第四次挥手:主动关闭方收到被动关闭方发送的FIN并发送ACK,此时主动关闭方进入TIME_WAIT状态,经过2MSL时间后关闭连接;被动关闭方收到主动关闭方的ACK后,关闭连接

1 0
原创粉丝点击