問題1: 為什麼要三次握手?
答:三次握手的目的是建立可靠的通訊通道,說到通訊,簡單來說就是資料的傳送與接收,而三次握手最主要的目的就是雙方確認自己與對方的傳送與接收機能正常。
第一次握手:client什麼都不能確認;server確認了對方傳送正常
第二次握手:client確認了:自己傳送、接收正常,對方傳送、接收正常;server確認了:自己接收正常,對方傳送正常
第三次握手:client確認了:自己傳送、接收正常,對方傳送、接收正常;server確認了:自己傳送、接收正常,對方傳送接收正常
所以三次握手就能確認雙發收發功能都正常,缺一不可。
問題2:為什麼要傳送特定的資料報,隨便發不行嗎?
答:三次握手的另外乙個目的就是確認雙方都支援tcp,告知對方用tcp傳輸。
第一次握手:server 猜測client可能要建立tcp請求,但不確定,因為也可能是client亂髮了乙個資料報給自己
第二次握手:通過ack=j+1,client知道server是支援tcp的,且理解了自己要建立tcp連線的意圖
第三次握手:通過ack=k+1,server知道client是支援tcp的,且確實是要建立tcp連線
問題1: 為什麼要四次揮手?
答:根本原因是,一方傳送fin只表示自己發完了所有要發的資料,但還允許對方繼續把沒發完的資料發過來。
舉個例子:a和b打**,通話即將結束後,a說「我沒啥要說的了」,b回答「我知道了」,但是b可能還會有要說的話,a不能要求b跟著自己的節奏結束通話,於是b可能又巴拉巴拉說了一通,最後b說「我說完了」,a回答「知道了」,這樣通話才算結束。
問題2:為什麼雙方要傳送這樣的資料報?
答:和握手的情況類似,只是為了讓對方知曉自己理解了對方的意圖。
TCP三次握手 四次揮手
tcp 三次握手 tcp 連線是通過三次握手進行初始化的。三次握手的目的是同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。以下步驟概述了通常情況下客戶端計算機聯絡伺服器計算機的過程 1.客戶端向伺服器傳送乙個syn置位的tcp報文,其中包含連線的初始序列號x和乙個視窗大小 表示客戶端上用來...
TCP三次握手 四次揮手
服務端的tcp程序先建立傳輸控制塊tcb,準備接受客戶端程序的連線請求,然後服務端程序處於listen狀態,等待客戶端的連線請求,如有,則作出響應。1 客戶端的tcp程序也首先建立傳輸控制模組tcb,然後向服務端發出連線請求報文段,該報文段首部中的syn 1,ack 0,同時選擇乙個初始序號seq ...
TCP三次握手四次揮手
tcp transmission control protocol 傳輸控制協議 tcp是主機對主機層的傳輸控制協議,提供可靠的連線服務,採用三次握手確認建立乙個連線。位碼即tcp標誌位,有6種標誌 urg urgent緊急 ack acknowledgement 確認 psh push傳送 rst...