史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 網路軟硬體架設技術文件
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-07-14, 02:52 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 軟體 - UDP協議簡介

UDP協議是英文UserDatagramProtocol的縮寫,即用戶資料報協議,主要用來支持那些需要在電腦之間傳輸資料的網路應用。包括網路視頻會議系統在內的眾多的客戶/服務器模式的網路應用都需要使用UDP協議。UDP協議從問世至今已經被使用了很多年,雖然其最初的光彩已經被一些類似協議所掩蓋,但是即使是在今天,UDP仍然不失為一項非常實用和可行的網路傳輸層協議。

  與我們所熟知的TCP(傳輸控制協議)協議一樣,UDP協議直接位於IP(網際協議)協議的頂層。根據OSI(開放系統互連)參考模型,UDP和TCP都屬於傳輸層協議。

  UDP協議的主要作用是將網路資料流量壓縮成資料報的形式。一個典型的資料報就是一個二進制資料的傳輸單位。每一個資料報的前8個字節用來包含報頭訊息,剩餘字節則用來包含具體的傳輸資料。

UDP報頭

UDP報頭由4個域組成,其中每個域各佔用2個字節,具體如下:

源連接阜號

目標連接阜號

資料報長度

校驗值

  UDP協議使用連接阜號為不同的應用保留其各自的資料傳輸通道。UDP和TCP協議正是採用這一機制實現對同一時刻內多項應用同時發送和接收資料的支持。資料發送一方(可以是客戶端或服務器端)將UDP資料報通過源連接阜發送出去,而資料接收一方則通過目標連接阜接收資料。有的網路應用只能使用預先為其預留或註冊的靜態連接阜;而另外一些網路應用則可以使用未被註冊的動態連接阜。因為UDP報頭使用兩個字節存放連接阜號,所以連接阜號的有效範圍是從0到65535。一般來說,大於49151的連接阜號都代表動態連接阜。

  資料報的長度是指包括報頭和資料部分在內的總的字節數。因為報頭的長度是固定的,所以該域主要被用來計算可變長度的資料部分(又稱為資料負載)。資料報的最大長度根據操作環境的不同而各異。從理論上說,包含報頭在內的資料報的最大長度為65535字節。不過,一些實際應用往往會限制資料報的大小,有時會降低到8192字節。

  UDP協議使用報頭中的校驗值來保證資料的安全。校驗值首先在資料發送方通過特殊的算法計算得出,在傳遞到接收方之後,還需要再重新計算。如果某個資料報在傳輸過程中被第三方篡改或者由於線路噪音等原因受到損壞,發送和接收方的校驗計算值將不會相符,由此UDP協議可以檢測是否出錯。這與TCP協議是不同的,後者要求必須具有校驗值。

UDPvs.TCP

  UDP和TCP協議的主要區別是兩者在如何實現訊息的可靠傳遞方面不同。TCP協議中包含了專門的傳遞保證機制,當資料接收方收到發送方傳來的訊息時,會自動向發送方發出確認消息;發送方只有在接收到該確認消息之後才繼續傳送其它訊息,否則將一直等待直到收到確認訊息為止。

  與TCP不同,UDP協議並不提供資料傳送的保證機制。如果在從發送方到接收方的傳遞過程中出現資料報的丟失,協議本身並不能做出任何檢測或提示。因此,通常人們把UDP協議稱為不可靠的傳輸協議。

  相對於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兩種協議的權衡之處。根據不同的環境和特點,兩種傳輸協議都將在今後的網路世界中發揮更加重要的作用
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
 



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 03:41 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1