UDP協議詳解

2021-10-03 10:26:35 字數 1242 閱讀 4176

udp協議

udp即使用者資料報協議,是一種無連線的傳輸層協議,提供面向訊息的簡單不可靠資訊傳送服務。

報頭udp報頭占用8個位元組,分別是2個位元組長的源和目的埠號,以及2個位元組長的資料報長度和2個位元組長的校驗和

udp和tcp的校驗和都是基於包頭和資料本身,udp在計算校驗和時會加上12位元組的偽頭部(包含ip的資料報的資訊)

tcp和udp的區別

tcp面向連線,udp無連線,即傳送資料之前不需要建立連線

tcp提供可靠的傳輸服務,即通過tcp傳輸的資料是無差錯,不丟失,不重複,且按序到達,udp盡最大努力交付資料,不保證一定可靠

tcp通過校驗和,重傳,序號,滑動視窗,確認應答等實現可靠傳輸,而udp沒有這些機制

udp實時性好,工作效率高,適用於對高速傳輸和實時性有較高的通訊或廣播通訊(udp有資料就傳送,沒有nagle等優化演算法),udp沒有擁塞控制,即便網路擁塞也不會降低源主機的傳送速率

tcp只能是一對一,端到端的通訊,而udp支援多播和廣播

tcp是基於位元組流的協議,udp是基於資料報的協議(發乙個收乙個)

tcp和udp的應用場景

tcp注重的是可靠性,而udp則注重的是實時性,如果對於傳送的資料要求保證可靠性,不能出錯或者丟失,則用tcp,而如果要求資料有實時性,則用udp

tcp一般用於可靠性要求高的應用,比如http,ftp檔案傳輸等

udp廣播和組播(多播)

廣播,即乙個主機將資料傳送給整個廣播網路中的所有主機,當主機收到訊息後根據埠號來決定是否使用此廣播資訊(即廣播中還是包含接收者的埠號,如果主機某些埠號不可用,則會丟棄此廣播),廣播會帶來廣播網路中某些主機不必要的負載,因為廣播會傳送給所有主機(雖然主機可以通過埠號來過濾掉)

組播,雖然有廣播,可以將資料傳送給廣播域內的所有主機,但是這樣無疑會增加不需要廣播的主機的負擔,所以考慮使用組播,需要接收資料的各個主機都加入乙個多播組,乙個主機可以隨時加入或者離開多播組,乙個主機也可以屬於乙個或者多個多播組。源主機將單個分組傳送乙個組播位址(就是個路由器,多播組維護在路由器中),該組播位址標識一組主機,然後網路(路由器)把該資料報給分組中的每個主機都拷貝乙份組播的好處在於,減輕了網路的負載,提高了網路利用率,減輕了傳送者的負擔,但是組播不提供可靠的服務

udp如何實現其可靠性

udp本身不實現可靠性,但是可以在應用層為其實現可靠性,即還是用確認機制,超時重傳等機制

幾種常見的基於udp且實現了可靠性機制的應用層協議

rudp /rtp/udt等

UDP協議詳解

udp user data protocol 協議 使用者資料報協議 它是乙個傳輸層協議 16位udp長度 用於指定整個udp資料報的長度 它決定了乙個udp協議的資料data長度不能大於64k 8 頭部長為8 否則傳送失敗 當資料長度大於64k 8時,就需要使用者在應用層進行資料分包,將資料分成乙...

詳解UDP協議

運輸層位於網路層之上,網路層提供了主機之間的邏輯通訊 而運輸層為執行在不同主機上的應用程序之間提供了邏輯通訊。從應用程式角度看,通過邏輯通訊,執行不同程序的主機好像直接相連一樣。應用程序使用運輸層提供的邏輯通訊功能來傳送報文,無需考慮承載這些報文的物理基礎設施的細節,就像我們知道的透明傳輸。udp是...

TCP IP詳解之 UDP協議

第11章 udp協議 udp首部 udp的檢驗和是可選的,而tcp的檢驗和是必須的 udp的檢驗和是端到端的檢驗和。由傳送端計算,由接收端驗證 儘管udp的檢驗和是可選的,但總是推薦被使用 ip分片 解釋幾個術語 ip資料報 指ip層端到端的傳輸單元 在分片之前和重新組裝之後 ip分組 指在ip層和...