3次握手:建立TCP需要3次握手才能建立, 先Client端發送連接要求報文,Server段接受連接后回復ACK報文,并為這次連接分配資源。Client端接收到ACK報文后也向Server段產生ACK報文,并分配資源,這樣TCP連接就建立
4次揮手:設Client端發起中斷連接要求,也就是發送FIN報文。Server端接到FIN報文后,意思是說"我Client端沒有數據要發給你了",但是如果你還有數據沒有發送完成,則沒必要急著關閉Socket,可以繼續發送數據。所以你先發送ACK,"告知Client端,你的要求我收到了,但是我還沒準備好,請繼續你等我的消息"。這個時候Client端就進入FIN_WAIT狀態,繼續等待Server真個FIN報文。當Server端肯定數據已發送完成,則向Client端發送FIN報文,"告知Client端,好了,我這邊數據發完了,準備好關閉連接了"。Client端收到FIN報文后,"就知道可以關閉連接了,但是他還是不相信網絡,怕Server端不知道要關閉,所以發送ACK落后入TIME_WAIT狀態,如果Server端沒有收到ACK則可以重傳。“,Server端收到ACK后,"就知道可以斷開連接了"。Client端等待了2MSL后仍然沒有收到回復,則證明Server端已正常關閉,那好,我Client端也能夠關閉連接了。Ok,TCP連接就這樣關閉了!