1. 程式人生 > 其它 >UDP 協議的優點和缺點

UDP 協議的優點和缺點

優點:
1、不需要建立連線(不需要三次握手)
2、簡單(傳輸開銷小,報文首部短)
3、快,吞吐效率高(不需要等、重傳,最多受限於頻寬和效能)
缺點:
不可靠(容易丟包)

UDP,全稱 User Datagram Protocol,中文名稱為使用者資料報協議,主要用來支援那些需要在計算機之間傳輸資料的網路連線。

UDP協議從問世至今已經被使用了很多年,雖然目前 UDP 協議的應用不如 TCP 協議廣泛,但 UDP 依然是一種非常實用和可行的網路傳輸層協議。尤其是在一些實時性很強的應用場景中,比如網路遊戲、視訊會議等,UDP 協議的快速能力更具有獨特的魅力。

UDP 是一種面向非連線的協議,面向非連線指的是在正式通訊前不必與對方先建立連線,不管對方狀態就直接傳送資料。至於對方是否可以接收到這些資料,UDP 協議無法控制,所以說 UDP 是一種不可靠的協議。

UDP 協議適用於一次只傳送少量資料、對可靠性要求不高的應用環境。

與TCP 協議一樣,UDP 協議直接位於 IP 協議之上。實際上,IP 協議屬於 OSI 參考模型的網路層協議,而 UDP 協議和 TCP 協議都屬於傳輸層協議。

因為 UDP 是面向非連線的協議,沒有建立連線的過程,因此它的通訊效率很高,但也正因為如此,它的可靠性不如 TCP 協議。

UDP 協議的主要作用是完成網路資料流和資料報之間的轉換在資訊的傳送端,UDP 協議將網路資料流封裝成資料報,然後將資料報傳送出去;在資訊的接收端,UDP 協議將資料報轉換成實際資料內容。

可以認為 UDP 協議的 socket類似於碼頭,資料報則類似於集裝箱。碼頭的作用就是負責友送、接收集裝箱,而 socket 的作用則是傳送、接收資料報。因此,對於基於 UDP 協議的通訊雙方而言,沒有所謂的客戶端和伺服器端的概念。

UDP 協議和 TCP 協議簡單對比如下:

TCP 協議:可靠,傳輸大小無限制,但是需要連線建立時間,差錯控制開銷大。

UDP 協議:不可靠,差錯控制開銷較小,傳輸大小限制在 64 KB以下,不需要建立連線。

相比較 TCP,UDP 是一種不可靠的網路協議,它在通訊例項的兩端各建立一個 socket,但這兩個 socket 之間並沒有虛擬鏈路,它們只是傳送、接收資料報的物件。

應用場景:
TCP:
    遠端控制
    郵件
    點對點傳輸
UDP:
    網路遊戲
    視訊傳輸
    DNS
    直播