UDP (User Datagram Protocol) 用戶數據報協議


UDP 是 User Datagram Protocol 的縮寫,中文譯為 "用戶數據報協議"。

UDP 是 OSI (Open System Interconnection 開放係統互聯) 參考模型中的一種是輕量、不可靠、麵嚮數據報的無連接協議。

UDP 協議是 IP 協議與上層協議的接口,UDP 協議適用端口分彆運行在不同 (或同一) 設備中的多個應用程序。

采用 UDP 協議,包括:BOOTP、DNS、NFS、SNMP、TFTP;常用 UDP 端口:53 (DNS)、69 (TFTP)、161 (SNMP)。

主要特徵


在發送端,UDP 傳送數據的速度僅僅受應用程序生成數據的速度、計算能力和傳輸帶寬的限製;在接收端,UDP 把每個消息段放在隊列中,應用程序每次從隊列中讀一消息段。

UDP 發送方對應用程序提交的報文,在添加首部後就嚮下交付給 IP 層;既不拆分也不閤並,因此,應用程序需要選擇閤適的報文大小。

UDP 主要用於不要求按順序到達的傳輸,分組傳輸順序的檢查與排序由應用層完成,提供麵嚮事務的簡單不可靠信息傳送服務。

UDP 可以用於 RIP (Routing Information Protocol 路由信息協議) 以修改路由錶;若一消息丟失,另一新消息會替換它。

許多應用隻支持 UDP (如:多媒體數據流、在屏幕上報告股票市場、顯示航空信息、等),不産生任何額外數據,即使知道有破壞包也不進行重發。

當強調傳輸性能而不是傳輸的完整性時 (如:音頻和多媒體應用),UDP 是最佳選擇;當數據傳輸時間很短,以至於此前的連接過程成為整個流量主體的情況下,UDP 也是最佳選擇。

報文格式


UDP 報頭由 4 個部分組成,每個部分占 2 個字節 (共 8 個字節,而 TCP 是 20個字節),包括源端口號、目標端口號、數據報長度、校驗值。

UDP 端口可用從 0 到 65535,大於 49151 的端口為動態端口。

數據報長度是指包括報頭和數據部分在內的總字節數;由於報頭長度固定,所以數據報長度主要用來計算可變長度的數據部分。

數據報的最大長度從屬操作係統,理論上講,包含報頭在內的數據報最大長度為 65535 字節;但實際應用往往限製數據報大小,有時會降低到 8192 字節 (數據部分長度還是不要超過 512 字節)。

校驗值用於校驗數據報在傳輸過程中,是否被第 3 方篡改、或由於綫路噪音等原因被損壞。

雖然 UDP 有提供錯誤檢測,但檢測到錯誤時 UDP 不做錯誤糾正,隻是簡單把損壞消息段扔掉,或給應用程序提供警告信息。

另請參閱:

版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。

內容錶

  1. 主要特徵
  2. 報文格式

上一話題

UART 通用異步收發器

下一話題

UDP 廣播

快速搜索