用戶數據報協議—UDP
用戶數據報協議 (UDP)是傳輸層協議。UDP是Internet協議族的一部分,簡稱UDP/IP族。與 TCP 不同,它是一種不可靠且無連接的協議。因此,無需在數據傳輸之前建立連接。UDP 有助于在網絡上建立低延遲且耐丟失的連接。UDP 使進程能夠進行通信。
UDP 標頭
UDP 標頭是8 字節固定且簡單的標頭,而 TCP 標頭可能從 20 字節到 60 字節不等。前 8 個字節包含所有必要的標頭信息,其余部分由數據組成。UDP端口號字段每個長度為16位,因此端口號的范圍定義為0到65535;端口號 0 被保留。端口號有助于區分不同的用戶請求或進程。
- 源端口:源端口是一個2字節長的字段,用于標識源的端口號。
- 目的端口: 2字節長的字段,用于標識目的數據包的端口。
- 長度:長度是UDP的長度,包括報頭和數據。它是一個 16 位字段。
- 校驗和:校驗和是 2 字節長的字段。它是 UDP 報頭、來自 IP 報頭的信息的偽報頭和數據的補碼和的 16 位補碼,在末尾填充零八位字節(如果需要)以形成 2 的倍數八位位組。
注意:與 TCP 不同,UDP 中不強制執行校驗和計算。UDP 不提供錯誤控制或流量控制。因此,UDP 依賴于 IP 和 ICMP 來進行錯誤報告。UDP 還提供端口號,以便可以區分用戶請求。
UDP的應用:
- 當數據大小較小時用于簡單的請求-響應通信,因此對流量和錯誤控制的關注較少。
- 它是一種適合多播的協議,因為 UDP 支持數據包交換。
- UDP 用于一些路由更新協議,如 RIP(路由信息協議)。
- 通常用于實時應用程序,不能容忍接收到的消息各部分之間的不均勻延遲。
- UDP廣泛應用于在線游戲中,低延遲和高速通信對于良好的游戲體驗至關重要。游戲服務器經常向客戶端發送小而頻繁的數據包,而 UDP 非常適合這種類型的通信,因為它快速且輕量級。
- IPTV、網絡廣播、視頻會議等流媒體應用都使用UDP來傳輸實時音視頻數據。在這些應用程序中可以容忍某些數據包的丟失,因為數據是連續流動的并且不需要重傳。
- VoIP(互聯網協議語音)服務,例如 Skype 和 WhatsApp,使用 UDP 進行實時語音通信。如果由于擁塞控制導致數據包延遲,語音通信中的延遲會很明顯,因此使用 UDP 來確??焖俑咝У臄祿鬏?。
- DNS(域名系統)也使用 UDP 來處理其查詢/響應消息。DNS 查詢通常很小并且需要快速響應時間,這使得 UDP 成為適合此應用程序的協議。
- DHCP(動態主機配置協議)使用 UDP 為網絡上的設備動態分配 IP 地址。DHCP 消息通常很小,并且數據包丟失或重傳引起的延遲對于此應用程序通常并不重要。
- 以下實現使用 UDP 作為傳輸層協議:
- NTP(網絡時間協議)
- DNS(域名服務)
- 啟動、DHCP。
- NNP(網絡新聞協議)
- 當天報價協議
- TFTP、RTSP、RIP。
- 應用層可以通過UDP來完成一些任務——
- 追蹤路線
- 記錄路線
- 時間戳
- UDP 從網絡層獲取數據報,附加其標頭,然后將其發送給用戶。所以,它的工作速度很快。
- 實際上,如果去掉校驗和字段,UDP 就是一個空協議。
- 減少對計算機資源的需求。
- 當使用組播或廣播進行傳輸時。
- 實時數據包的傳輸,主要在多媒體應用中。
UDP的優點:
1.速度:UDP比TCP更快,因為它沒有建立連接和確??煽繑祿魉偷拈_銷。
2. 更低的延遲:由于沒有建立連接,因此延遲更低,響應時間更快。
3、簡單性:UDP比TCP有更簡單的協議設計,更容易實現和管理。
4. 廣播支持:UDP 支持向多個接收者廣播,這對于視頻流和在線游戲等應用非常有用。
5. 更小的數據包大?。篣DP 使用比 TCP 更小的數據包大小,可以減少網絡擁塞并提高整體網絡性能。
UDP的缺點:
1. 不可靠:UDP不保證數據包的傳送或傳送順序,這可能導致數據丟失或重復。
2.無擁塞控制:UDP沒有擁塞控制,這意味著它可以以可能導致網絡擁塞的速率發送數據包。
3. 無流量控制:UDP 沒有流量控制,這意味著它可能會用無法處理的數據包淹沒接收方。
4.容易受到攻擊:UDP容易受到拒絕服務攻擊,攻擊者可以用UDP數據包淹沒網絡,使網絡不堪重負并導致崩潰。
5. 有限的用例:UDP 不適合需要可靠數據傳輸的應用程序,例如電子郵件或文件傳輸,而更適合可以容忍某些數據丟失的應用程序,例如視頻流或在線游戲。
UDP 偽標頭:
- 使用偽標頭的目的是驗證 UDP 數據包已到達其正確的目的地
- 正確的目的地由特定機器和該機器內的特定協議端口號組成
UDP偽頭詳細信息:
- UDP 標頭本身僅指定協議端口號。因此,為了驗證發送機器上的目標 UDP,會計算涵蓋目標 IP 地址以及 UDP 數據包的校驗和。
- 在最終目的地,UDP 軟件使用從攜帶 UDP 消息的 IP 數據包標頭獲得的目的地 IP 地址來驗證校驗和。
- 如果校驗和一致,則數據包一定已到達預期的目標主機以及該主機內的正確協議端口。
用戶界面:
用戶界面應允許創建新的接收端口、在接收端口上返回數據八位位組以及源端口和源地址的指示的接收操作,以及允許發送數據報的操作,指定數據、源和要發送的目標端口和地址。
IP接口:
- UDP 模塊必須能夠確定源和目標互聯網地址以及互聯網標頭中的協議字段
- 一種可能的 UDP/IP 接口將返回整個互聯網數據報,包括整個互聯網標頭,以響應接收操作
- 這樣的接口還允許 UDP 將帶有標頭的完整互聯網數據報傳遞到 IP 進行發送。IP 將驗證某些字段的一致性并計算互聯網標頭校驗和。
- IP接口允許UDP模塊與協議棧的網絡層交互,協議棧負責通過網絡路由和傳送數據。
- IP 接口通過提供對底層 IP 協議的訪問,為 UDP 模塊提供了一種與網絡上其他主機進行通信的機制。
- UDP 模塊可以使用 IP 接口在 IP 路由和尋址機制的幫助下通過網絡發送和接收數據包。
- IP 接口提供了一個抽象級別,允許 UDP 模塊與網絡層交互,而無需直接處理 IP 路由和尋址的復雜性。
- IP 接口還處理 IP 數據包的分段和重組,這對于可能超過網絡允許的最大數據包大小的大數據傳輸非常重要。
- IP 接口還可以提供附加服務,例如對服務質量 (QoS) 參數和安全機制(例如 IPsec)的支持。
- IP 接口是互聯網協議簇的重要組成部分,因為它支持互聯網上主機之間的通信,并允許數據包在網絡上無縫傳輸。
- 12-12
- 11-20
- 10-20
-
10-17
? 什么是魯棒性
- 09-18
- 09-18
- 09-14
- 09-14