SYN
位置爲1,Sequence Number
爲x;而後,客戶端進入SYN_SEND
狀態,等待服務器的確認;SYN
報文段。服務器收到客戶端的SYN
報文段,須要對這個SYN
報文段進行確認,設置Acknowledgment Number
爲x+1(Sequence Number
+1);同時,本身本身還要發送SYN
請求信息,將SYN
位置爲1,Sequence Number
爲y;服務器端將上述全部信息放到一個報文段(即SYN+ACK
報文段)中,一併發送給客戶端,此時服務器進入SYN_RECV
狀態;SYN+ACK
報文段。而後將Acknowledgment Number
設置爲y+1,向服務器發送ACK
報文段,這個報文段發送完畢之後,客戶端和服務器端都進入ESTABLISHED
狀態,完成TCP三次握手。
Sequence Number
和Acknowledgment Number
,向主機2發送一個FIN
報文段;此時,主機1進入FIN_WAIT_1
狀態;這表示主機1沒有數據要發送給主機2了;FIN
報文段,向主機1回一個ACK
報文段,Acknowledgment Number
爲Sequence Number
加1;主機1進入FIN_WAIT_2
狀態;主機2告訴主機1,我已經知道你沒有數據要發送了;FIN
報文段,請求關閉鏈接,同時主機2進入CLOSE_WAIT
狀態;FIN
報文段,向主機2發送ACK
報文段,而後主機1進入TIME_WAIT
狀態;主機2收到主機1的ACK
報文段之後,就關閉鏈接;此時,主機1等待2MSL後依然沒有收到回覆,則證實Server端已正常關閉,那好,主機1也能夠關閉鏈接了。