1. 程式人生 > 其它 >TCP/IP三次握手和四次揮手

TCP/IP三次握手和四次揮手

TCP/IP協議是一個協議簇。裡面包括很多協議的,UDP只是其中的一個, 之所以命名為TCP/IP協議,因為TCP、IP協議是兩個很重要的協議,就用他兩命名了。

TCP/IP協議集包括應用層,傳輸層,網路層,網路訪問層。

TCP三次握手過程

第一次握手:主機A通過向主機B 傳送一個含有同步序列號的標誌位的資料段給主機B,向主機B 請求建立連線,通過這個資料段, 主機A告訴主機B 兩件事:我想要和你通訊;你可以用哪個序列號作為起始資料段來回應我。

第二次握手:主機B 收到主機A的請求後,用一個帶有確認應答(ACK)和同步序列號(SYN)標誌位的資料段響應主機A,也告訴主機A兩件事:我已經收到你的請求了,你可以傳輸資料了;你要用那個序列號作為起始資料段來回應我

第三次握手:主機A收到這個資料段後,再發送一個確認應答,確認已收到主機B 的資料段:"我已收到回覆,我現在要開始傳輸實際資料了,這樣3次握手就完成了,主機A和主機B 就可以傳輸資料了。

特點:沒有應用層的資料 ,SYN這個標誌位只有在TCP建立連線時才會被置1 ,握手完成後SYN標誌位被置0。

 

TCP建立連線要進行3次握手,而斷開連線要進行4次

第一次: 當主機A完成資料傳輸後,將控制位FIN置1,提出停止TCP連線的請求 ;

第二次: 主機B收到FIN後對其作出響應,確認這一方向上的TCP連線將關閉,將ACK置1;

第三次: 由B 端再提出反方向的關閉請求,將FIN置1 ;

第四次: 主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.。

 

由TCP的三次握手和四次斷開可以看出,TCP使用面向連線的通訊方式, 大大提高了資料通訊的可靠性,使傳送資料端和接收端在資料正式傳輸前就有了互動, 為資料正式傳輸打下了可靠的基礎。

名詞解釋

1、ACK 是TCP報頭的控制位之一,對資料進行確認。確認由目的端發出, 用它來告訴傳送端這個序列號之前的資料段都收到了。 比如確認號為X,則表示前X-1個數據段都收到了,只有當ACK=1時,確認號才有效,當ACK=0時,確認號無效,這時會要求重傳資料,保證資料的完整性。

2、SYN 同步序列號,TCP建立連線時將這個位置1。

3、FIN 傳送端完成傳送任務位,當TCP完成資料傳輸需要斷開時,,提出斷開連線的一方將這位置1。