UDP協議的基本概述
我們常說的UDP協議,也就是用戶數據報協議。那么它定義用來在互連網絡環境中提供包交換的計算機通信的協議。此協議默認認為網路協議(IP)是其下層協議。此協議提供了向另一用戶程序發送信息的最簡便的協議機制。此協議是面向操作的,未提供提交和復制保護。如果應用程序要求可靠的數據傳送應該使用傳輸控制協議(TCP)。UDP協議的另外一個不同之處在于如何接收突法性的多個數據報。不同于TCP,UDP并不能確保數據的發送和接收順序。例如,一個位于客戶端的應用程序向服務器發出了以下4個數據報:
D1
D22
D333
D4444
但是UDP有可能按照以下順序將所接收的數據提交到服務端的應用:
D333
D1
D4444
D22
事實上,UDP協議的這種亂序性基本上很少出現,通常只會在網絡非常擁擠的情況下才有可能發生。
UDP協議的應用
也許有的讀者會問,既然UDP是一種不可靠的網絡協議,那么還有什么使用價值或必要呢?其實不然,在有些情況下UDP協議可能會變得非常有用。因為UDP具有TCP所望塵莫及的速度優勢。雖然TCP協議中植入了各種安全保障功能,但是在實際執行的過程中會占用大量的系統開銷,無疑使速度受到嚴重的影響。反觀UDP由于排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應用來完成,極大降低了執行時間,使速度得到了保證。
關于UDP協議的最早規范是RFC768,1980年發布。盡管時間已經很長,但是UDP協議仍然繼續在主流應用中發揮著作用。包括視頻電話會議系統在內的許多應用都證明了UDP協議的存在價值。因為相對于可靠性來說,這些應用更加注重實際性能,所以為了獲得更好的使用效果(例如,更高的畫面幀刷新速率)往往可以犧牲一定的可靠性(例如,會面質量)。這就是UDP和TCP兩種協議的權衡之處。根據不同的環境和特點,兩種傳輸協議都將在今后的網絡世界中發揮更加重要的作用.