用戶數據報協議(UDP)是 ISO 參考模型中一種無連接的傳輸層協議,提供面向操作的簡單不可靠信息傳送服務。UDP 協議直接工作于IP協議的頂層。UDP 協議端口不同于多路應用程序,其運行是從一個單個設備到另一個單個設備。
大多數網絡應用程序都是在相同的機器上運行。計算機上必須能確保目的地的正確軟件應用程序從源地址處獲得數據包,以及源計算機上的正確應用程序的回復獲得選擇路經。這一過程是通過使用 UDP 的“端口號”完成的。例如,如果一個工作站希望在站128.1.123.1上使用域名系統,它就得對欲連接的站128.1.123.1的包進行尋址操作并在 UDP 頭插入目標端口號53。源端口號確定被請求域名服務的本地機的應用程序,同時需要對所有由目的站生成的響應包進行尋址。UDP 端口的詳細介紹可以參照相關文章。
與 TCP 不同,UDP 并不提供數據傳送的可靠機制、流控制以及錯誤恢復功能等。由于 UDP 比較簡單,UDP 頭包含很少的字節,比 TCP 消耗少。
UDP 適用于不需要 TCP 可靠機制的情形,如:高層協議或應用程序提供錯誤和流控制的情況。 UDP 是傳輸層協議,應用于個別應用層協議,包括網絡文件系統(NFS)、簡單網絡管理協議(SNMP)、域名系統(DNS)以及簡單文件傳輸系統(TFTP)。
協議結構
|
Source Port — 16位。源端口是可選字段。當使用時,它表示發送程序的端口,同時它還被認為是沒有其它信息的情況下需要被尋址的答復端口。如果不使用,設置值為0。
Destination Port — 16位。目標端口在特殊因特網目標地址的情況下具有意義。
Length — 16位。該用戶數據報的八位長度,包括協議頭和數據。長度最小值為8。
Checksum — 16位。IP 協議頭、UDP 協議頭和數據位,最后用0填補的信息假協議頭總和。如果必要的話,可以由兩個八位復合而成。
Data — 包含上層數據信息。