四層應用之UDP協議
在網絡應用中,我們集中介紹第四層的介紹。那么針對大多數應用來說,我們都會涉及到第四層的TCP和UDP協議。所以,針對這兩個協議的文章內容也是比較多的。那么本文主要將誒少一下兩者的關系以及工作方式。
用戶數據報協議(UDP)
需要最小的網絡開銷且不需要對丟包或失序數據包進行檢測的應用程序可以使用UDP。UDP也支持多播,在使用TCP時這是不可能的。大部分DNS查詢和流媒體使用UDP。使用UDP協議的應用程序仍然可以處理重傳丟失的數據包或對失序的數據包重新排序,但是必須由應用程序自身對它們進行處理,應用程序開發人員需要付出更多的努力進行開發。
![]() |
傳輸控制協議(TCP)
需要檢測和重新發送丟失或損壞數據包的應用程序使用TCP。使用TCP要求應用程序在可以傳輸數據前先建立一個連接。具體過程是客戶端先發送一個SYN數據包請求一個連接,服務器使用SYN/ACK數據包響應,然后客戶端通過ACK數據包確認連接。對于臨時(shortlived)連接,要求在發送應用程序數據前進行這些數據包交換,會導致TCP比UDP協議慢。大部分應用程序,包括電子郵件和Web瀏覽,都使用TCP。
一個服務器上通常會有多個不同的服務在監聽入站連接。為了讓Windows能夠把入站通信轉發給正確的應用程序,入站網絡請求中包含了一個端口號。例如,在默認情況下DNS請求使用的端口號是53。因此,當Windows收到帶有端口號53的數據包時,會將其傳送到DNS Server服務。