tcp三次握手與四次揮手

2021-08-02 20:01:21 字數 625 閱讀 6669

建立連線為什麼是三次握手呢?

假設是兩次握手:如果a向b傳送連線請求,由於網路問題,在規定時間內b沒有收到,此時,a會重新傳送連線請求,這次的連線成功了,資料也傳送完了,連線也關閉了。然後,這時候a原先發的連線請求,已經失效的報文段b收到了。b會誤以為a重新請求連線。這時因為是兩次握手,所以b收到後,已經建立連線,一直等待a發來資料。這樣b的資源就浪費了。

如果是三次握手,就不會出現這種情況。就算b收到a之前發的連線請求,b會向a傳送確認,如果a沒有響應,b就知道a沒有建立連線,不會傳送報文段了。

釋放連線,為什麼是四次揮手呢?

a想b傳送fin=1,表示a的資料傳送完了,要關閉連線,b收到後,向a做出應答,表示b知道了,但是b有可能還有資料沒傳送完。在b資料傳送完了,b向a傳送fin=1,表示b資料也傳送完了,可以關閉連線了;a收到後,向b傳送應答。在最後一次,會建立乙個等待時間計數器保證b會正常關閉連線。

Tcp三次握手與四次揮手

tcp三次握手 四次揮手 在tcp ip協議中,tcp協議提供可靠的連線服務,採用三次握手建立乙個連線。第一次握手 建立連線時,客戶端傳送syn包 syn j 到伺服器,並進入syn send狀態,等待伺服器確認 syn 同步序列編號 synchronize sequence numbers 第二次...

TCP三次握手與四次揮手

也許三次握手你會經常聽到,但你知道三次握手的真正意義嗎,為什麼需要三次握手呢?首先我們必須明白tcp是面向連線的協議,無論哪乙個方向在傳送資料之前,都必須先在雙方之間建立連線。這一點與udp協議是不一樣的,udp在傳送資料報之前是不需要建立連線的。建立tcp連線的過程中,通訊的雙方需要互相發報文進行...

tcp三次握手與四次揮手

一.tcp三次握手 簡述 a傳送乙個請求給b,b發回確認,然後a再加以確認,來回共3次 1 第一次握手 客戶端傳送syn包 syn x 到伺服器,並進入syn send狀態,等待伺服器確認。2 第二次握手 伺服器收到syn包之後,必須確認客戶的syn ack x 1 同時自己也傳送乙個syn syn...