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 不做錯誤糾正,隻是簡單把損壞消息段扔掉,或給應用程序提供警告信息。
另請參閱:
版權聲明: 本文為獨傢原創稿件,版權歸 樂數軟件 ,未經許可不得轉載。