




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、UDP 概述1、UDP 是一種基本的通信協(xié)議,只在發(fā)送的報文中增加了端口尋址和可選的差錯檢測功能。2、UDP 不是一種握手信息協(xié)議,不能確認接收到的數(shù)據(jù)或交換其他流量控制信息。3、UDP 是一種非連接協(xié)議,計算機在使用 UDP 發(fā)送報文之前,不要求遠程已聯(lián)網(wǎng)或指定的目的端口可用于通信。正因為如此,將 UDP 稱為不可靠協(xié)議,即如果只使用UDP,則發(fā)送方不知道目的主機何時是否接收到報文。4、定義 UDP 的文檔是 RFC0768:UserDatagramProtacal。在標準 STD0006 中也獲得通過。5、使用 UDP 發(fā)送報文的計算機將報文置于 UDP 數(shù)據(jù)報中。UDP 數(shù)據(jù)報由報頭
2、及其后面包含報文的報文組成。6、發(fā)送計算機將 UDP 數(shù)據(jù)報置于 IP 數(shù)據(jù)報的數(shù)據(jù)字段中。在以太網(wǎng)中,IP 數(shù)據(jù)報存放在以太網(wǎng)幀的數(shù)據(jù)字段中。接收到以太網(wǎng)幀后,目的計算機網(wǎng)絡(luò)棧將 UDP 數(shù)據(jù)報的數(shù)據(jù)部分傳遞給數(shù)據(jù)報報頭指定的端口或進程。7、 UDP 的大多數(shù)功能不如 TCP,所以 UDP 的實現(xiàn)要簡單些, 更適合于特定的應(yīng)用場合。 如果需要, 則可在使用 UDP進行通信時自定義握手協(xié)議。例如:接收接口在接收到報文之后,將返回包含確認代碼或其他請求信息的響應(yīng)。如果發(fā)送方在合理的時間內(nèi)沒有接收到響應(yīng)信息,就會重新發(fā)送報文。但是,如果應(yīng)用程序需要的不僅僅是最基本的握手或流量控制,則應(yīng)該考慮使用
3、TCP 而不是 UDP 進行重構(gòu)。8、UDP 有一個 TCP 沒有的功能,就是可將報文發(fā)送到多個目的主機,包括向局域網(wǎng)內(nèi)所有的 IP 地址以廣播方式發(fā)送,或者向指定的 IP 地址以組播方式發(fā)送。對于 TCP 而言,廣播和組播都不現(xiàn)實,因為源主機必須與所有目的主機握手。二、UDP 報頭UDP 報頭由 4 個字段組成,后面緊接著是要傳輸?shù)臄?shù)據(jù)。1、源端口號:源端口號標識發(fā)送報文的計算機端口或進程。長度 2 字節(jié),可選,如果接收進程不需要知道發(fā)送數(shù)據(jù)報的進程,則該字段可置為 0。2、目的端口號:目的端口號標識接收報文的目的主機端口或進程。2 字節(jié)。3、數(shù)據(jù)報長度:指整個數(shù)據(jù)報的長度,以字節(jié)為單位,包
4、括報頭,最大值為 65535o 該字段為 2 字節(jié)。4、UDP 檢驗和:是根據(jù) UDP 數(shù)據(jù)報和偽報頭計算得到的差錯檢測值,可選,該字段偽為 2 個字節(jié)。偽報頭包含源和目的 IP 地址,以及來自 IP 數(shù)據(jù)報報頭的協(xié)議值。IP 數(shù)據(jù)報在網(wǎng)絡(luò)中傳送時包含 UDP 數(shù)據(jù)報。偽報頭并不會在網(wǎng)絡(luò)中傳送,校驗和中所包含的偽報頭內(nèi)容可以避免目的端錯誤地接收錯誤路由的數(shù)據(jù)報。校驗和值的計算方法和 IP 報頭檢驗和的計算方法類似。僅在局域網(wǎng)內(nèi)部傳輸報文不需要 UDP 校驗和,因為以太網(wǎng)幀的校驗和已經(jīng)提供了差錯控制。而對于那些需要通過不同的、也許未知網(wǎng)絡(luò)傳輸?shù)膱笪亩裕r灪涂梢宰屇康闹鳈C能檢測到錯誤數(shù)據(jù)。三、
5、UDP 數(shù)據(jù)1、一個 UDP 數(shù)據(jù)報最大可達到 65535 個字節(jié),且報頭為 8 字節(jié),因此一個數(shù)據(jù)報最多可以攜帶 65527個字節(jié)的數(shù)據(jù)。2、實際上,源計算機常將數(shù)據(jù)報限制在較短的長度內(nèi)。使用較短的數(shù)據(jù)報的一個原因是,過大的數(shù)據(jù)報可能不適合目的主機的接收緩沖器大?。换蛘咭驗榻邮諗?shù)據(jù)的應(yīng)用程序可能需要特定長度的報文。3、較短數(shù)據(jù)報也許更高效。當大的數(shù)據(jù)報經(jīng)過不同能力的網(wǎng)絡(luò)時,網(wǎng)絡(luò)協(xié)議可能會將數(shù)據(jù)報拆分為報片,要求目的主機將這些報片重組。所有數(shù)據(jù)都會到達目的主機,但一般來說,在源主機處拆分數(shù)據(jù),然后在目的主機處重組,會比依賴 IP 進行這項工作更高效。4、IP 標準要求主機能接收最大長度為 57
6、6 字節(jié)的數(shù)據(jù)報。沒有可選項的 IP 報頭長度為 20 字節(jié),UDP報頭為 8 字節(jié),因此一個最大長度為 548 字節(jié)且沒有 IP 選項的 UDP 數(shù)據(jù)報不經(jīng)過拆分便可到達目的主機。UDPB議簡介域源端口是可選域,當其有意義時,它指的是發(fā)送進程的端口,這也就假定了在沒有其它信息的情況下,返回信息應(yīng)該向什么地方發(fā)送。如果不使用它,則在此域中填0。目的端口在有特定的目的網(wǎng)絡(luò)地址時有意義。長度指的是此用戶數(shù)據(jù)報長度的八進制表示。(這表明最小的數(shù)據(jù)報長度是8。)校驗碼有16位,是對IP頭,UDP頭和數(shù)據(jù)中信息包頭的數(shù)位取反之和再取反得到的。包頭從概念上說是在UDP頭信息之前的,它包括有源地址,目的地地
7、址,所使用的協(xié)議和UDP長度。這些信息使信息不能被錯誤地接收。這個校驗過程781516232431源地址目的地址0|協(xié)議|UDP長度-斗-TCP 中使用的過程一致。如果計算出的校驗碼為零,它將被全零發(fā)送。全零的校驗值意味著發(fā)送者未產(chǎn)生校驗碼。用戶接口用戶接口應(yīng)該允許創(chuàng)建新的接收端口,在接收端口的接收操作有:應(yīng)該返回一個八進制數(shù)說明源端口和源地址,允許數(shù)據(jù)報傳送,指定數(shù)據(jù),源和目標端口和目的地地址。IP 層接口UDP 模塊必須能夠決定源和目標的網(wǎng)絡(luò)地址,而且必須能夠從包頭中得知所使用的協(xié)議。一個可能的接口方式是返回整個數(shù)據(jù)報,包括接收操作返回的包頭。這樣的接口還應(yīng)該允許 UDP 向 IP 傳送完
8、整的帶包頭的數(shù)據(jù)報用于傳送。由 IP 來確定一致性并計算校驗碼。協(xié)議應(yīng)用此協(xié)議的最主要的用途是網(wǎng)際名稱服務(wù)器和小文件傳輸協(xié)議。協(xié)議號在 IP 中使用它時,它的協(xié)議號是 17(八進制中是 21)。UDP 協(xié)議的標題結(jié)構(gòu)UDP 信息包由UDP標題和數(shù)據(jù)組成。UDP的標題結(jié)構(gòu)如圖15-21所示,它由5個域組成:源端端口(SourcePort)、目的地端口(DestinationPort)、用戶數(shù)據(jù)包的長度(Length)和檢查和(Checksum)。其中,前4個域組成UDP標題(UDPheader),每個域由4個字節(jié)組成;檢查和域占據(jù)2個字節(jié),它用來檢測傳輸過程中是否出現(xiàn)了錯誤;用戶數(shù)據(jù)包的長度包括
9、所有5個域的字節(jié)數(shù)。源端端口(SourcePort)用畫搭包的長底(Length)目的地端口(DestinationPort)檢查和(Checksum)數(shù)據(jù)(Date)UDP 信息包的標題結(jié)構(gòu)檢查和的詳細計算可在 RFC1071 中找到,現(xiàn)舉一例說明使用檢查和檢測錯誤的道理。例如,假設(shè)從源端 A 要發(fā)送下列 3 個 16 位的二進制數(shù):word1,word2 和 word3到終端 B,檢查和計算如下:word10110011001100110word20101010101010101word30000111100001111sum=word1+word2+word311001010110010
10、10檢查和(sum 的反碼)0011010100110101從發(fā)送端發(fā)出的 4個(word1,2,3以及檢查和)16位二進制數(shù)之和為 1111111111111111,如果接收端收到的這 4 個 16 位二進制數(shù)之和也是全“1”,就認為傳輸過程中沒有出差錯。許多鏈路層協(xié)議都提供錯誤檢查,包括流行的以太網(wǎng)協(xié)議,讀者也許想知道為什么 UDP 也要提供檢查和。 其原因是鏈路層以下的協(xié)議在源端和終端之間的某些通道可能不提供錯誤檢測。雖然 UDP 提供有錯誤檢測,但檢測到錯誤時,UDP不做錯誤校正,只是簡單地把損壞的消息段扔掉,或者給應(yīng)用程序提供警告信息。讀者也可能會問,收發(fā)兩端的兩個進程是否有可能通過
11、 UDP 提供可靠的數(shù)據(jù)傳輸?答案是可以的。但必需要把確認和重傳措施加到應(yīng)用程序中,應(yīng)用程序不能指望 UDP 來提供可靠的數(shù)據(jù)傳輸。UDP 協(xié)議的幾個特性(1) UDP 是一個無連接協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接,當它想傳送時就簡單地去抓取來自應(yīng)用程序的數(shù)據(jù),并盡可能快地把它扔到網(wǎng)絡(luò)上。在發(fā)送07逐15162331端,UDP 傳送數(shù)據(jù)的速度僅僅是受應(yīng)用程序生成數(shù)據(jù)的速度、計算機的能力和傳輸帶寬的限制;在接收端,UDP 把每個消息段放在隊列中,應(yīng)用程序每次從隊列中讀一個消息段。(2) 由于傳輸數(shù)據(jù)不建立連接,因此也就不需要維護連接狀態(tài),包括收發(fā)狀態(tài)等,因此一臺服務(wù)機可同時向多個客戶機傳輸
12、相同的消息。(3) UDP 信息包的標題很短,只有 8 個字節(jié),相對于 TCP 的 20 個字節(jié)信息包的額外開銷很小。(4) 吞吐量不受擁擠控制算法的調(diào)節(jié),只受應(yīng)用軟件生成數(shù)據(jù)的速率、傳輸帶寬、源端和終端主機性能的限制。雖然 UDP 是一個不可靠的協(xié)議,但它是分發(fā)信息的一個理想?yún)f(xié)議。例如,在屏幕上報告股票市場、在屏幕上顯示航空信息等等。UDP 也用在路由信息協(xié)議RIP(RoutingInformationProtocol)中修改路由表。在這些應(yīng)用場合下,如果有一個消息丟失,在幾秒之后另一個新的消息就會替換它。UDP 廣泛用在多媒體應(yīng)用中,例如,ProgressiveNetworks 公司開發(fā)的
13、 RealAudio 軟件,它是在因特網(wǎng)上把預(yù)先錄制的或者現(xiàn)場音樂實時傳送給客戶機的一種軟件,該軟件使用的RealAudioaudio-on-demandprotocol 協(xié)議就是運行在 UDP 之上的協(xié)議, 大多數(shù)因特網(wǎng)電話軟件產(chǎn)品也都運行在 UDP 之上。pageUDP 協(xié)議簡介 UDP 協(xié)議是英文 UserDatagramProtocol 的縮寫,即用戶數(shù)據(jù)報協(xié)議,主要用來支持那些需要在計算機之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會議系統(tǒng)在內(nèi)的眾多的客戶/服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用都需要使用 UDPW、議 oUDP議從問世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但是即使
14、是在今天,UDP 仍然不失為一項非常實用和可行的網(wǎng)絡(luò)傳輸層協(xié)議。與我們所熟知的 TCP(傳輸控制協(xié)議)協(xié)議一樣,UDP議直接位于 IP(網(wǎng)際協(xié)議)協(xié)議的頂層。根據(jù) OSI(開放系統(tǒng)互連)參考模型,UD 所口 TCP 都屬于傳輸層協(xié)議。UDP 協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)報的形式。一個典型的數(shù)據(jù)報就是一個二進制數(shù)據(jù)的傳輸單位。每一個數(shù)據(jù)報的前 8 個字節(jié)用來包含報頭信息,剩余字節(jié)則用來包含具體的傳輸數(shù)據(jù)。0UDP 報頭UDP 報頭由 4 個域組成,其中每個域各占用 2 個字節(jié),具體如下:源端口號目標端口號數(shù)據(jù)報長度校驗值UDP 協(xié)議使用端口號為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道。UD
15、 濟口 TCP協(xié)議正是采用這一機制實現(xiàn)對同一時刻內(nèi)多項應(yīng)用同時發(fā)送和接收數(shù)據(jù)的支持。數(shù)據(jù)發(fā)送一方(可以是客戶端或服務(wù)器端)將 UDP 數(shù)據(jù)報通過源端口發(fā)送出去,而數(shù)據(jù)接收一方則通過目標端口接收數(shù)據(jù)。有的網(wǎng)絡(luò)應(yīng)用只能使用預(yù)先為其預(yù)留或注冊的靜態(tài)端口;而另外一些網(wǎng)絡(luò)應(yīng)用則可以使用未被注冊的動態(tài)端口。因為UDP 報頭使用兩個字節(jié)存放端口號,所以端口號的有效范圍是從 0 到 65535o 一般來說,大于 49151 的端口號都代表動態(tài)端口。數(shù)據(jù)報的長度是指包括報頭和數(shù)據(jù)部分在內(nèi)的總的字節(jié)數(shù)。因為報頭的長度是固定的,所以該域主要被用來計算可變長度的數(shù)據(jù)部分(又稱為數(shù)據(jù)負載)。數(shù)據(jù)報的最大長度根據(jù)操作環(huán)境
16、的不同而各異。從理論上說,包含報頭在內(nèi)的數(shù)據(jù)報的最大長度為 65535 字節(jié)。不過,一些實際應(yīng)用往往會限制數(shù)據(jù)報的大小,有時會降低到 8192 字節(jié)。UDP 協(xié)議使用報頭中的校驗值來保證數(shù)據(jù)的安全。校驗值首先在數(shù)據(jù)發(fā)送方通過特殊的算法計算得出,在傳遞到接收方之后,還需要再重新計算。如果某個數(shù)據(jù)報在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發(fā)送和接收方的校驗計算值將不會相符,由此 UDP 協(xié)議可以檢測是否出錯。這與 TCP 協(xié)議是不同的,后者要求必須具有校驗值。UDPvs.TCPUDP 和 TCP 協(xié)議的主要區(qū)別是兩者在如何實現(xiàn)信息的可靠傳遞方面不同。TCP協(xié)議中包含了專門的傳遞保證
17、機制,當數(shù)據(jù)接收方收到發(fā)送方傳來的信息時,會自動向發(fā)送方發(fā)出確認消息;發(fā)送方只有在接收到該確認消息之后才繼續(xù)傳送其它信息,否則將一直等待直到收到確認信息為止。與 TCP 不同,UDP 協(xié)議并不提供數(shù)據(jù)傳送的保證機制。如果在從發(fā)送方到接收方的傳遞過程中出現(xiàn)數(shù)據(jù)報的丟失,協(xié)議本身并不能做出任何檢測或提示。因此,通常人們把 UDP 協(xié)議稱為不可靠的傳輸協(xié)議。相對于 TCP 協(xié)議,UDPW、議的另外一個不同之處在于如何接收突法性的多個數(shù)據(jù)報。不同于 TCP,UDP 并不能確保數(shù)據(jù)的發(fā)送和接收順序。 例如, 一個位于客戶端的應(yīng)用程序向服務(wù)器發(fā)出了以下 4 個數(shù)據(jù)報D1D22D333D4444但是 UDP 有可能按照以下順序?qū)⑺邮盏臄?shù)據(jù)提交到服務(wù)端的應(yīng)用:D333D1D4444D22事實上,UDP議的這種亂序性基本上很少出現(xiàn),通常只會在網(wǎng)絡(luò)非常擁擠的情況下才有可能發(fā)生。UDP 協(xié)議的應(yīng)用也許有的讀者會問,既然 UDP 是一種不可靠的網(wǎng)絡(luò)協(xié)議,那么還有什么使用價值或必要呢?其實不然,在有些情況下 UDP 協(xié)議可能會變得非常有用。因為UDP 具有 TCP 所望塵莫及的速度優(yōu)勢。雖然 TCP 協(xié)議中植入了各種安全保障功能,但是在實際執(zhí)行的過程中會占用大量的系統(tǒng)開銷,無疑使速度受到嚴重的影響。反觀 UDP 由于排除了信息可靠
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 青春偶像劇群眾演員薪酬結(jié)算及權(quán)益保障協(xié)議
- 跨境合作生物醫(yī)藥臨床試驗數(shù)據(jù)傳輸與商業(yè)秘密保護協(xié)議
- 抖音公司內(nèi)部晉升及人才引進合同
- 跨國語音識別技術(shù)租賃與國際教育合作平臺建設(shè)合同
- 高端醫(yī)療設(shè)備與AI算法集成項目合作協(xié)議
- K12素質(zhì)教育項目招生代理獨家合作協(xié)議
- 抖音短視頻平臺積分積分權(quán)益保障及合作商家協(xié)議
- 礦山提升機租賃與設(shè)備租賃合同終止及結(jié)算服務(wù)合同
- 虛擬貨幣挖礦風險投資與收益分成協(xié)議
- 跨界私人飛機應(yīng)急滑梯充氣裝置租賃及保險服務(wù)合同
- 廣東省2024年高考物理試題(附答案解析)
- 中國南水北調(diào)集團新能源投資有限公司招聘筆試題庫2024
- 圍手術(shù)期深靜脈血栓預(yù)防的術(shù)中護理
- 工程項目成本管理的案例分析
- TD/T 1044-2014 生產(chǎn)項目土地復(fù)墾驗收規(guī)程(正式版)
- 敬畏生命-道德與法治市公開課一等獎省賽課微課金獎?wù)n件
- 知識圖譜智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 2024年高考體育單招考試政治重點知識點歸納總結(jié)(復(fù)習必背)
- 高血壓與青光眼的關(guān)系
- 數(shù)字經(jīng)濟對廣東省經(jīng)濟影響研究
- 2024年上海銀聯(lián)數(shù)據(jù)服務(wù)有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論