|
樓主 |
發表於 2006-7-27 19:48:45
|
顯示全部樓層
Originally posted by ﹏糖◎糖╴B▼ at 2006-7-27 07:41 PM:
-口-
咩係udp呀??=.=
電腦的數據分udp(User Datagram Protoco) 同tcp (Transmission Control Protocol)
用戶數據報協議 (User Datagram Protoco, UDP)是一個簡單的面向數據報的傳輸層(transport layer)協議,IETF RFC 768是UDP的正式規範。
在TCP/IP模型中,UDP為網路層(network layer)以下和應用層(application layer)以上提供了一個簡單的介面。UDP只提供數據的不可靠交付,它一旦把應用程序發給網路層的數據發送出去,就不保留數據備份(所以UDP有時候也被認為是不可靠的數據報協議)。UDP在IP數據報的頭部僅僅加入了復用和數據校驗(欄位)。
UDP首部欄位由4個部分組成,其中兩個是可選的。各16-bit的源埠和目的埠用來標記發送和接受的應用進程。因為UDP不需要應答,所以源埠是可選的,如果源埠不用,那麼置為零。在目的埠後面是長度固定的以位元組為單位的長度域,用來指定UDP數據報包括數據部分的長度,長度最小值為8 (octets)。首部剩下地16-bit是用來對首部和數據部分一起做校驗和的,這部分是可選的,但在實際應用中一般都使用這一功能。
由於缺乏可靠性,UDP應用一般必須允許一定量的丟包、出錯和複製。有些應用,比如TFTP,如果需要則必須在應用層增加根本的可靠機制。但是絕大多數UDP應用都不需要可靠機制,甚至可能因為引入可靠機制而降低性能。流媒體Streaming media、實時多媒體遊戲和voice over IP (VoIP)就是典型的UDP應用。如果某個應用需要很高的可靠性,那麼可以用傳輸控制協議Transmission Control Protocol來代替UDP。
由於缺乏擁塞避免和控制機制,需要基於網路的機制來減小因失控和高速UDP流量負荷而導致的擁塞崩潰效應。換句話說,因為UDP發送者不能夠檢測擁塞,所以像使用包隊列和丟棄技術的路由器這樣的網路基本設備往往就成為降低UDP過大通信量的有效工具。數據報擁塞控制協議Datagram Congestion Control Protocol (DCCP)設計成通過在諸如流媒體類型的高速率UDP流中增加主機擁塞控制來減小這個潛在的問題。
典型網路上的眾多使用UDP協議的關鍵應用一定程度上是相似的。這些應用包括域名系統Domain Name System (DNS)、簡單網路管理協議simple network management protocol (SNMP)、動態主機配置協議Dynamic host configuration protocol (DHCP)和路由信息協議Routing Information Protocol (RIP)等等。
=====================================================
傳輸控制協議(Transmission Control Protocol,TCP)是一種面向連接的、可靠的、基於位元組流的運輸層通信協議,通常由IETF的RFC 793說明。在簡化的電腦網路OSI模型中,它完成傳輸層所指定的功能。
在網際網路協議族中,TCP層是位於IP層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。
應用層向TCP層發送用於網間傳輸的、用8位位元組表示的數據流,然後TCP把數據流分割成適當長度的報文段(通常受該電腦連接的網路的數據鏈路層的最大傳送單元(MTU)的限制)。之後TCP把結果包傳給IP層,由它來通過網路將包傳送給接收端實體的TCP層。TCP為了保證不發生丟包,就給每個位元組一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然後接收端實體對已成功收到的位元組發回一個相應的確認(ACK);如果發送端實體在合理的往返時延(RTT)內未收到確認,那麼對應的數據(假設丟失了)將會被重傳。TCP用一個校驗和函數來檢驗數據是否有錯誤;在發送和接收時都要計算校驗和 |
|