淺述傳輸層通信協議中的TCP和UDP
在網絡通信協議中,我們的傳輸層通信協議包括TCP協議,UDP協議等等。那么針對這兩方面的協議我們來進行一個說明。首先是對TCP協議的分析,相信這個協議大家是比較熟悉的。好了,不多贅述,還是請大家瀏覽下文吧。
傳輸層通信協議1:TCP協議的分析
傳輸控制協議TCP是TCP/IP協議棧中的傳輸層協議,它通過序列確認以及包重發機制,提供可靠的數據流發送和到應用程序的虛擬連接服務。與IP協議相結合,TCP組成了因特網協議的核心。它是一種面向連接的、可靠的傳輸層協議[4]。TCP協議是為了在主機實現高可靠性包交換的傳輸協議,在計算機網絡中用途很廣泛。
由于大多數網絡應用程序都在同一臺機器上運行,計算機上必須能夠確保目的地機器上的軟件程序能從源地址機器處獲得數據包,以及源地址計算機能收到目的計算機正確的回復,這是通過使用TCP的“端口號"完成的。網絡IP地址和端口號相結合成為唯一的標識,我們稱之為“套接字"或“端點"。TCP在端點間建立連接或虛擬電路進行可靠通信[5]。
傳輸層通信協議2:UDP協議的分析
UDP協議是英文UserDatagramProtocol的縮寫,即用戶數據報協議,主要用來支持那些需要在計算機之間傳輸數據的網絡應用。包括網絡視頻會議系統在內的眾多的客戶/服務器模式的網絡應用都需要使用UDP協議。UDP協議從問世至今已經被使用了很多年,雖然其最初的光彩已經被一些類似協議所掩蓋,但是即使是在今天,UDP仍然不失為一項非常實用和可行的網絡傳輸層協議[8]。與我們所熟知的TCP(傳輸控制協議)協議一樣,UDP協議直接位于IP(網際協議)協議的頂層。根據OSI(開放系統互連)參考模型,UDP和TCP都屬于傳輸層協議。
UDP協議是一個簡單的面向數據報的傳輸層協議,他不提供可靠性:即只把應用程序傳給IP層的數據發送出去,但是并不能保證他們能到達目的廣播和多播是基于UDP協議的兩種消息發送機制。廣播數據即從一個工作站發出,局域網內的其他所有工作站都能收到它。IP協議下,多播是廣播的一種變形:IP多播要求將對收發數據感興趣的所有主機加入到一個特定的組。
傳輸層通信協議3:UDP協議的應用
既然UDP是一種不可靠的網絡協議,那么還有什么使用價值或必要呢?其實不然,在有些情況下UDP協議可能會變得非常有用。因為UDP具有TCP所望塵莫及的速度優勢。雖然TCP協議中植入了各種安全保障功能,但是在實際執行的過程中會占用大量的系統開銷,無疑使速度受到嚴重的影響。反觀UDP由于排除了信息可靠傳遞機制,將安全和排序等功能移交給上層應用來完成,極大降低了執行時間,使速度得到了保證。
關于UDP協議的最早規范是RFC768,1980年發布。盡管時間已經很長,但是UDP協議仍然繼續在主流應用中發揮著作用。包括視頻電話會議系統在內的許多應用都證明了UDP協議的存在價值。因為相對于可靠性來說,這些應用更加注重實際性能,所以為了獲得更好的使用效果(例如,更高的畫面幀刷新速率)往往可以犧牲一定的可靠性(例如,會面質量)。這就是UDP和TCP兩種協議的權衡之處。根據不同的環境和特點,兩種傳輸協議都將在今后的網絡世界中發揮更加重要的作用。