三次握手
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次
第一次握手:建立连接时, 客户端 发送 syn 包(syn=j)到 服务器 ,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(SynchronizeSequence Numbers)。
第二次
第二次握手 : 服务器 收到 syn 包,必须确认客户的SYN( ack =j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入 SYN_RECV 状态;
第三次
TCP建立连接的“三次握手”过程
![](http://up.2cto.com/2013/0608/20130608085026198.png)
四次挥手
连接终止协议(四次挥手)
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
(2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
(3) 服务器关闭客户端的连接,发送一个FIN给客户端。
(4) 客户端发回ACK
报文确认,并将确认序号设置为收到序号加1。
TCP 释放连接的“四次握手”过程。
![](http://up.2cto.com/2013/0608/20130608085033985.png)