TCP 和 UDP 的區別

2021-09-28 20:26:58 字數 954 閱讀 8928

前言

前端的面試中經常問的 tcp 和 udp 的區別,網上也有好多內容,比如

tcp 和 udp 的區別

之前也因為面試的原因了解過一下,但是面試官又問了為什麼 tcp 是可靠傳輸,一下就露餡了,說不出來了,然後這兩天就仔細了解了一下這方面的內容,還專門訂閱了極客時間的趣談網路協議,因此,這篇文章主要基於趣談網路協議和自己的理解。

1. udp

udp 就像乙個小孩子,特別簡單,有如下三個特點

因為 udp 是"小孩子",所以處理的是一些沒那麼難的專案,並且就算失敗的也能接收。基於這些特點的話,udp 可以使用在如下場景中

udp 的主要應用場景

基於 udp 的幾個例子

實時遊戲。遊戲的特點也是實時性比較高,在這種情況下,採用自定義的可靠的 udp 協議,自定義重傳策略,能夠把產生的延遲降到最低,減少網路問題對遊戲造成的影響

物聯網。一方面,物聯網領域中斷資源少,很可能知識個很小的嵌入式系統,而維護 tcp 協議的代價太大了;另一方面,物聯網對實時性的要求也特別高。比如 google 旗下的 nest 簡歷 thread group,推出了物聯網通訊協議 thread,就是基於 udp 協議的

還有一些,但是寫的太多了也記不住,所以主要記住這幾個就夠了

2. tcp

通過對 tcp 頭的解析,我們知道要掌握 tcp 協議,應該重點關注以下問題:

1、順序問題

2、連線維護

3、流量控制

4、擁塞控制

總結及面試問題

tcp 和 udp 的區別

什麼是面向連線,什麼是面向無連線

在互通之前,面向連線的協議會先建立連線,如 tcp 有三次握手,而 udp 不會

tcp 為什麼是可靠連線

tcp 的順序問題,丟包問題,流量控制都是通過滑動視窗來解決的,擁塞控制時通過擁塞視窗來解決的

TCP和UDP的區別

tcp transimission control protocol 傳輸控制協議 和udp user datagram protocol 是傳輸層的兩種實現版本!它們之間提供基本的服務又各有所長。因此,根據對特定服務質量的要求,應用層軟體單元可以選擇通過傳輸層的tcp版本或者udp版本來傳輸資料。...

TCP和UDP的區別

tcp和udp都是傳輸層的協議,他們的區別主要如下 1 tcp,全名 傳輸控制協議 是面向連線的,也就是說在傳送方和接收方在傳送資料之前,必須通過三次握手建立連線,相當於現實生活中的打 功能,必須先撥號,接通後才能說話,udp,全名 使用者資料報協議 是無連線的,其中一方向向另一方傳送資料時不需要建...

TCP和UDP的區別

tcp transmission control protocol,傳輸控制協議 是基於連線的協議,也就是說,在正式收發資料前,必須和對方建立可靠的連線。乙個tcp連線必須要經過三次 對話 才能建立起來,其中的過程非常複雜,我們這裡只做簡單 形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三...