1. 程式人生 > >UDP、TCP、RTP三種協議的總結

UDP、TCP、RTP三種協議的總結

UDP協議是英文UserDatagramProtocol的縮寫,即使用者資料報協議,主要用來支援那些需要在計算機之間傳輸資料的網路應用。包括網路視訊會議系統在內的眾多的客戶/伺服器模式的網路應用都需要使用UDP協議。UDP協議從問世至今已經被使用了很多年,雖然其最初的光彩已經被一些類似協議所掩蓋,但是即使是在今天,UDP仍然不失為一項非常實用和可行的網路傳輸層協議。與我們所熟知的TCP(傳輸控制協議)協議一樣,UDP協議直接位於IP(網際協議)協議的頂層。根據OSI(開放系統互連)參考模型,UDPTCP都屬於傳輸層協議。
    UDP
協議的主要作用是將網路資料流量壓縮成資料報的形式。一個典型的資料報就是一個二進位制資料的傳輸單位。每一個數據報的前
8個位元組用來包含報頭資訊,剩餘位元組則用來包含具體的傳輸資料。2UDP協議結構    UDP報頭由4個域組成,其中每個域各佔用2個位元組,具體如下:源埠號 、目標埠號 、資料報長度 和校驗值
    UDP
協議使用埠號為不同的應用保留其各自的資料傳輸通道。UDPTCP協議正是採用這一機制實現對同一時刻內多項應用同時傳送和接收資料的支援。資料傳送一方(可以是客戶端或伺服器端)將UDP資料報通過源埠傳送出去,而資料接收一方則通過目標埠接收資料。有的網路應用只能使用預先為其預留或註冊的靜態埠;而另外一些網路應用則可以使用未被註冊的動態埠。因為UDP報頭使用兩個位元組存放埠號,所以埠號的有效範圍是從
065535。一般來說,大於49151的埠號都代表動態埠。資料報的長度是指包括報頭和資料部分在內的總的位元組數。因為報頭的長度是固定的,所以該域主要被用來計算可變長度的資料部分(又稱為資料負載)。資料報的最大長度根據操作環境的不同而各異。從理論上說,包含報頭在內的資料報的最大長度為65535位元組。不過,一些實際應用往往會限制資料報的大小,有時會降低到8192位元組。
    UDP
協議使用報頭中的校驗值來保證資料的安全。校驗值首先在資料傳送方通過特殊的演算法計算得出,在傳遞到接收方之後,還需要再重新計算。如果某個資料報在傳輸過程中被第三方篡改或者由於線路噪音等原因受到損壞,傳送和接收方的校驗計算值將不會相符,由此
UDP協議可以檢測是否出錯。這與TCP協議是不同的,後者要求必須具有校驗值。