tcp的三次握手和四次揮手和udp的區別

2021-09-12 19:17:20 字數 995 閱讀 6531

三次握手:

​ 客戶端傳送鏈結syn請求給服務端,服務端收到請求,返回客戶端乙個ack和syn以及序列號 表示可以鏈結

客戶端在傳送ack和序列號給服務端

為什麼需要三次握手

​ 因為首先第一次握手,是客戶端給服務端傳送的請求,一定不能少,第二次是服務端返回給客戶端的,也不能少表示服務端成功接受了客戶端的請求,而最後一次客戶端傳送給服務端的ack代表你客戶端已經收到了服務端傳送的資料,這樣的握手才是穩定的鏈結

四次揮手:

​ 客戶端傳送fin請求斷開鏈結給服務端,服務端收到請求傳送ack給客戶端,

之後服務端在傳送fin和ack給客戶端,客戶端收到之後在傳送ack給服務端

為什麼需要四次揮手

​ 因為客戶端在請求斷開鏈結的時候,服務端傳送給客戶端的資料不一定都傳送完,

所以在客戶端請求fin之後,服務端返回ack,然後等待資料都傳送完之後,在傳送fin和ack

為什麼四次揮手的時候最後要等待2msl客戶端才關閉

因為在給服務端傳送最後的ack的時候,我們必須認為網路是不穩定的,如果服務端沒有接受到ack

就會一直傳送fin請求給客戶端,所以在客戶端要有等待如果這個時候在收到fin,說明之前的沒傳送成功,在重新傳送

tcp和udp區別

tcp是基於連線,udp是無連線的不安全的

tcp對資源要求多,udp要求少

tcp速度慢,udp速度快(較好的實時性)

tcp需要建立三次握手

tcp通過校驗和,重傳控制,序號標識,滑動視窗、確認應答實現可靠傳輸

tcp 是資料有序可靠的到達

tcp是連線是點到點的

但是udp 支援一對一,一對多,多對多

udp是盡力而為的服務,資料到達是無序的可能丟包

udp沒有擁塞控制等機制

tcp首部20位元組開銷小,udp8個位元組開銷小

tcp 四次揮手 TCP的三次握手和四次揮手

三次握手 第一次握手 客戶端傳送syn包 syn x 到伺服器,並進入syn send狀態,等待伺服器確認 第二次握手 伺服器收到syn包,必須確認客戶的syn ack x 1 同時自己也傳送乙個syn包 syn y 即syn ack包,此時伺服器進入syn recv狀態 第三次握手 客戶端收到伺服...

TCP三次握手和四次揮手

一 tcp三次握手 three way handshake 1 tcp三次握手的作用 三次握手的目的是連線伺服器指定埠,建立tcp連線,並同步連線雙方的序列號和確認號並交換 tcp 視窗大小資訊。在socket程式設計中,客戶端執行connect 時,將觸發三次握手。2 tcp三次握手過程 第一步 ...

TCP三次握手和四次揮手

三次握手 四次揮手 需四次揮手原因 由於tcp的半關閉特性,tcp連線時雙全工 即資料在兩個方向上能同時傳遞 因此,每個方向必須單獨的進行關閉。這個原則就是 當一方完成它的資料傳送任務後就能傳送乙個fin來終止這個方向上的連線。當一端收到乙個fin後,它必須通知應用層另一端已經終止了那個方向的資料傳...