tcp连接过程中的三次握手和四次挥手
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手握手建立连接 @第一次握手: 建立连接是,客户端A发送SYN包到服务器B,并进入SYN_SEND状态,等待B确认。 @第二次握手: 服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包,此时服务器B也进入SYN_RECV状态。 @第三次握手: 客户端A收到服务器B的SYN包,向服务器B发送确认包ACK,此包发送完毕客户端A和服务器B进入ESTABKISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。 (1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送。 (2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。 (3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A(。 (4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1 图2 TCP四次挥手关闭连接 1