在計算機網路課上專門學過三次握手和四次揮手的意義,有點淡忘了,特地去複習了一些,在這裡做一些記錄。
三次握手的話,在網上看到一組很有意思的,在這裡放一下,
總的來說,三次握手還是為了應對複雜的網路環境,為了做到通暢的連線和不浪費網路資源。
三次握手:
1、客戶需要連線伺服器,先發出一次請求告訴伺服器,想要連線
2、伺服器接收到請求,同意連線,告訴客戶端同意,並發回同意的響應
3、客戶端再對伺服器的同意的響應進行響應,正式正式開始連線
如果說程式設計兩次握手會出現什麼樣的錯誤,
1、客戶端想要連線伺服器,對伺服器發起請求
2、伺服器同意連線,並發回同意的響應
如果這個時候,沒有三次握手,伺服器同意的響應在網路上丟包了,客戶端會認為伺服器拒絕了請求,而伺服器則一直在等待客戶端發來的資料。
再談談四次揮手,伺服器和客戶端雙方都可以提出斷開連線。為什麼是四次揮手,首先是因為tcp連線是全雙工的,什麼是全雙工,大概就是,客戶端和伺服器雙方可以同時進行資料傳輸。
四次揮手:
1、當客戶端想要斷開連線時,首先發出斷開連線的請求
2、伺服器在受到客戶端發來的請求時,首先斷開自己的讀連線,並給客戶端乙個反饋,客戶端受到並關閉自己的寫信道。
3、伺服器在傳送一條確認,客戶端在收到後關閉自己的讀通道,並給出乙個返回
4、伺服器在受到後關閉自己的寫信道
其實自己也是第一次接觸讀通道、寫信道這種說法,這樣子我覺得可能更加的細節一點,因為這樣,四次握手少一次都會少關閉乙個通道,但實際中不太清楚是不是還分讀通道和寫信道。
另外一種就是我們上課學習的一種
原來看到乙個很好的例子可以解釋上圖中為什麼是四次揮手而不是三次,這個例子一下子記不太清,等想起來了再補充到這裡。
TCP三次握手 四次揮手理解
tcp三次握手建立連線 第一次握手 客戶端傳送給伺服器一段連線請求報文,等待伺服器回應 第二次握手 伺服器收到報文,並傳送給客戶端乙個確認報文,等待客戶端回應 第三次握手 客戶端收到新報文 再傳送給伺服器乙個確認報文,完成三次握手 tcp四次揮手斷開連線 第一次揮手 客戶端傳送一段結束請求報文,等待...
TCP三次握手 四次揮手
tcp 三次握手 tcp 連線是通過三次握手進行初始化的。三次握手的目的是同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。以下步驟概述了通常情況下客戶端計算機聯絡伺服器計算機的過程 1.客戶端向伺服器傳送乙個syn置位的tcp報文,其中包含連線的初始序列號x和乙個視窗大小 表示客戶端上用來...
TCP三次握手 四次揮手
服務端的tcp程序先建立傳輸控制塊tcb,準備接受客戶端程序的連線請求,然後服務端程序處於listen狀態,等待客戶端的連線請求,如有,則作出響應。1 客戶端的tcp程序也首先建立傳輸控制模組tcb,然後向服務端發出連線請求報文段,該報文段首部中的syn 1,ack 0,同時選擇乙個初始序號seq ...